Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 23rd February 2022, 03:17   #61  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
You are not getting it because you are getting false n matches. With:
Code:
CTelecineNew(bob=true,nt=0,write=true)
I get all 2s with default thr60i.

Also, thanks for TDeint
Ceppo is offline   Reply With Quote
Old 23rd February 2022, 04:45   #62  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by Ceppo View Post
You are not getting it because you are getting false n matches. With:
Code:
CTelecineNew(bob=true,nt=0,write=true)
I get all 2s with default thr60i.
perfect,
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 23rd February 2022, 19:22   #63  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
real.finder:
I want to add ex_vinverse but I don't have the "ex_" functions. They are not in the link you provided. Can you give me a link to those functions?
Ceppo is offline   Reply With Quote
Old 23rd February 2022, 19:50   #64  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by Ceppo View Post
real.finder:
I want to add ex_vinverse but I don't have the "ex_" functions. They are not in the link you provided. Can you give me a link to those functions?
sure https://github.com/Dogway/Avisynth-S...r/ExTools.avsi
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 23rd February 2022, 20:35   #65  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
v1.0.7
- Added VFR to CFR support to CDecimateNew.
- Fixed VFR file grammar.
- Added mode parameter to CTelecineNew. (mode=1 is ex_vinverse).

For the CFR clip:
https://www.mediafire.com/file/glpca...toCFR.mkv/file

Code:
CDecimateNew(error=false,iClip=iClip3(0))
iClip3 will interpolate 30/60fps to 24fps.
Ceppo is offline   Reply With Quote
Old 23rd February 2022, 21:34   #66  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
thanks for the new update, this is a good idea for peoples who don't want vfr

Quote:
Originally Posted by Ceppo View Post
I can't do HBD, I need a sample plugin like invertneg that handles HBD, otherwise, I need to look at the API to understand, and is kind a lot of work since I need to learn a lot of new things
what about https://github.com/pinterf/Average/c...d4816cda1296df since it https://forum.doom9.org/showthread.p...43#post1864943

and as update for this case https://forum.doom9.org/showthread.p...70#post1964470 nt=0 make some frames with only move mouth have interlaced combs
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 23rd February 2022, 22:19   #67  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
That's a good filter to study. Thanks a lot!

Quote:
and as update for this case https://forum.doom9.org/showthread.p...70#post1964470 nt=0 make some frames with only move mouth have interlaced combs
The ancient "mouth problem". I have an idea to fix that, but I'm not going to add that before adding the other 3 matching modes. So before I try this new method some time will pass. ATM you can use a nt parameter to fix the mouth. Then give a quick look at the txt file and fix the sections which don't have all consecutive 2s due to false n matches.

EDIT:
I get a 100fps drop using mode=1, shouldn't it be faster? How is going for you?

Last edited by Ceppo; 23rd February 2022 at 22:23.
Ceppo is offline   Reply With Quote
Old 23rd February 2022, 23:20   #68  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by Ceppo View Post
EDIT:
I get a 100fps drop using mode=1, shouldn't it be faster? How is going for you?
not always since the dll may has asm code, anyway the point of ex_vinverse is the HBD and quality in general
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 24th February 2022, 07:57   #69  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
v1.0.8
- Added mode=2 and mode2thr paramater in CTelecineNew.
- Fixed CTelecineNew(bob=true,inputTxt=true) bug.
- Minor speed up for mode=0/1. From 250 fps to 280fps.

Example of mode=2 for moire effect.
https://www.mediafire.com/file/vc6gk...mode2.mkv/file

Code:
#CFieldSofter()
#CTelecineNew(mode=2,write=true)
CTelecineNew(inputTxt=true)
CDecimateNew()
Ceppo is offline   Reply With Quote
Old 24th February 2022, 09:31   #70  |  Link
kedautinh12
Registered User
 
Join Date: Jan 2018
Posts: 2,153
With github account, you can update your script to this sever
kedautinh12 is offline   Reply With Quote
Old 24th February 2022, 10:23   #71  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
I will do that in the future. I want to remove all the junk code first.
Ceppo is offline   Reply With Quote
Old 26th February 2022, 21:27   #72  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
v1.0.9
- Added mode=3 and mode=4 to CTelecineNew.
- Added CDegrain.
- Added CSharpen.

Now I'm on the mouth problem.
Ceppo is offline   Reply With Quote
Old 26th February 2022, 22:08   #73  |  Link
Milardo
Registered User
 
Join Date: Nov 2008
Posts: 137
Quote:
Originally Posted by Ceppo View Post
All filters are for YV12 8bit videos!

The plugins in CTools.avsi are not necessary. They are short and self explanatory.
You can mod/delete them if you want unless is stated so in the file.

Syntax=>

CSharpen(clip "blur", int "nt", bool "Sqrt")
CDegrain(int "radius", int "nt", int "thr", clip "dClip")
CTelecineNew(float "sstr", int "nt", bool "bob", bool "write", bool "inputTxt", float "thr60i", int "nt60i", float "mode2thr")
CDecimateNew(bool "isBob", bool "error", bool "heuristic", clip "iClip")
CPostProcessing(float "thr", float "thr2", float "sstr", int "ntC", int "ntM", bool "isBob", clip "edeint", clip "edeint2")

CDuplicate(float "thr", int "nt", clip "dClip", bool "write")
CFieldDuplicate(float "thr", float "thr2", int "nt", clip "dClip", bool "write", bool "inputTxt")
CDropFrame()
CReplaceFrame()
CInterpolate(float "thr", int "nt", clip "dClip", clip "iClip", bool "write", bool "inputTxt")
CTelecine(int "thr", int "thr2", int "blkthr", int "blksize", int "mode", int "metric", int "nt", bool "sse", clip "edeint", clip "edeint2", bool "write", bool "inputTxt", bool "match")
CTelecine2(int "thr", int "thr2", int "blkthr", int "blksize", int "mode", int "metric", int "nt", bool "sse", clip "edeint", clip "edeint2", bool "write", bool "inputTxt")
CFieldDeBlend(float "thr", int "nt", clip "dClip", bool "prev", bool "bob")
CDecimate(bool "CTelecine", bool "CDuplicate")
CDecimate2()
CSceneChange(bool "write")
CSetPattern(int "start", int "end", bool "CCCCC", bool "NNCCC", bool "CNNCC", bool "CCNNC", bool "CCCNN", bool "NCCCN")
CGuessPattern()
CFieldDifference(int "mode", int "nt", bool "sse", bool "write", clip "dClip")

v1.0.9
Hi, I read the readme.txt file, but

what does "CInterpolate" actually do?

Is this some sort of something like SVP? If so, can you provide a sample avs file how to use it exactly?
Milardo is offline   Reply With Quote
Old 26th February 2022, 22:14   #74  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
Quote:
Hi, I read the readme.txt file, but

what does "CInterpolate" actually do?

Is this some sort of something like SVP? If so, can you provide a sample avs file how to use it exactly?
Sorry, the name is misleading. It takes a MFlowInter clip (iClip parameter) from mvtools2 and replace frames that are duplicate with respect to the previous frame but are not duplicate with respect to the following frame. This is meant to smooth the motion of bobbed clip or 24fps anime while preserving the original animations (true 24/60fps).
Ceppo is offline   Reply With Quote
Old 26th February 2022, 22:19   #75  |  Link
Milardo
Registered User
 
Join Date: Nov 2008
Posts: 137
Quote:
Originally Posted by Ceppo View Post
Sorry, the name is misleading. It takes a MFlowInter clip (iClip parameter) from mvtools2 and replace frames that are duplicate with respect to the previous frame but are not duplicate with respect to the following frame. This is meant to smooth the motion of bobbed clip or 24fps anime while preserving the original animations (true 24/60fps).
Ok. When you say smooth, it has nothing to do with motion interpolation though right? Even if one has 24 fps video source?
Milardo is offline   Reply With Quote
Old 26th February 2022, 22:32   #76  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
Quote:
Ok. When you say smooth, it has nothing to do with motion interpolation though right? Even if one has 24 fps video source?
It takes the interpolated frame from MFlowInter, so a duplicate in the way a said above will be replaced with the interpolated frame, so the motion will be smoother (as long interpolation artifacts allow that).

Try:
Code:
src = last
super = MSuper()
backvec = MAnalyse(super,blksize=64,overlap=32,lambda=1000*64,isb=true,delta=1)
iClip = MCompensate(super,backvec,time=50)
CInterpolate(iClip=iClip)
last
On an anime clip @ 24fps. To see what I mean.
Ceppo is offline   Reply With Quote
Old 26th February 2022, 23:57   #77  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
real.finder:
I was thinking maybe CDegrain can be used to replace TemporalSoften in QTGMC, something like :
Code:
CDegrain(3,10,240,dClip=ex_reduceFlicker(3,true))
The QTGMC_KeepOnlyBobShimmerFixes function should work better on that.
Ceppo is offline   Reply With Quote
Old 27th February 2022, 00:18   #78  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by Ceppo View Post
real.finder:
I was thinking maybe CDegrain can be used to replace TemporalSoften in QTGMC, something like :
Code:
CDegrain(3,10,240,dClip=ex_reduceFlicker(3,true))
The QTGMC_KeepOnlyBobShimmerFixes function should work better on that.
the one who updating QTGMC now is Dogway not me https://forum.doom9.org/showthread.php?t=182881 so I think it's better to post there so Dogway will note it

edit: anyway after I see https://forum.doom9.org/showthread.php?t=183874 I am thinking about make sanimebob2 using your code and some others, so maybe I will add this to stgmc as an option to be used in sanimebob2
__________________
See My Avisynth Stuff

Last edited by real.finder; 27th February 2022 at 00:21.
real.finder is offline   Reply With Quote
Old 27th February 2022, 01:05   #79  |  Link
Ceppo
Registered User
 
Join Date: Feb 2016
Location: Nonsense land
Posts: 339
Quote:
the one who updating QTGMC now is Dogway not me https://forum.doom9.org/showthread.php?t=182881 so I think it's better to post there so Dogway will note it
Will do. But what do you think about it?

Quote:
edit: anyway after I see https://forum.doom9.org/showthread.php?t=183874 I am thinking about make sanimebob2 using your code and some others, so maybe I will add this to stgmc as an option to be used in sanimebob2
Glad to be of use.

EDIT:
Also can you link me the post with your filters? I can't find them.

Last edited by Ceppo; 27th February 2022 at 01:18.
Ceppo is offline   Reply With Quote
Old 27th February 2022, 01:34   #80  |  Link
Milardo
Registered User
 
Join Date: Nov 2008
Posts: 137
Quote:
Originally Posted by Ceppo View Post
It takes the interpolated frame from MFlowInter, so a duplicate in the way a said above will be replaced with the interpolated frame, so the motion will be smoother (as long interpolation artifacts allow that).

Try:
Code:
src = last
super = MSuper()
backvec = MAnalyse(super,blksize=64,overlap=32,lambda=1000*64,isb=true,delta=1)
iClip = MCompensate(super,backvec,time=50)
CInterpolate(iClip=iClip)
last
On an anime clip @ 24fps. To see what I mean.
OK. Did you mention that this also works on 60 fps video source too?

I tried it on a live 60 fps video source and it made the video smoother in my opinion (motion interpolation).

Is that the point of the filter?

Can you show me an example with the other parameters to adjust for more interpolation/smoothness?
Milardo is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 13:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.