Avisynth Script for doubling video frame rates - Page 7 - AVS Forum
Forum Jump: 
Reply
 
Thread Tools
post #181 of 1968 Old 02-03-2010, 10:41 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by erichhart View Post

[...]could it be that Im on windows 7 x64.
[...]

erichhart, Yes it is very probable that the big load is because of x64 operating system.
Try win7 x86. And also try installing C++ Redistributables (2005 and 2008).
You can find the link in 8:13 posts.
-----------------------------------------------------------------------
8:13, would you mind explaining why do you do resizing with luma blur?
-----------------------------------------------------------------------
The current script that I am optimizing:
multinum=2
multiden=1
SetMTMode(5,4)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1, hpad=8, vpad=8,rfilter=3,levels=0)
backward_vec1=MAnalyse(super,chroma=false, isb=true, blksize=32, blksizev=32, searchparam=0, plevel=2,levels=0,search = 3,badrange=-24)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=32, blksizev=32, searchparam=0, plevel=2,levels=0,search =3,badrange=-24)
backward_re1 = MRecalculate(super,chroma=false, backward_vec1,blksize=16, blksizev=16, thSAD=200, searchparam=0,search = 3)
forward_re1 = MRecalculate(super,chroma=false, forward_vec1,blksize=16, blksizev=16, thSAD=200 ,searchparam=0,search = 3)
backward_re2 = MRecalculate(super,chroma=false, backward_re1,blksize=8, blksizev=8, thSAD=200, searchparam=0,search = 3)
forward_re2 = MRecalculate(super,chroma=false, forward_re1,blksize=8, blksizev=8, thSAD=200, searchparam=0,search = 3)
MBlockFps(super,backward_re2, forward_re2, num=FramerateNumerator(last)*multinum, den=FramerateDenominator(last)*multiden, mode=2)
distributor()

SCIPT UPDATED3
Domas4 is offline  
Sponsored Links
Advertisement
 
post #182 of 1968 Old 02-04-2010, 07:03 AM
Senior Member
 
mad_arab's Avatar
 
Join Date: Jan 2003
Posts: 498
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
The only way I'm getting this to work is using the 1.3.2 script from an earlier post. A manual install is impossible, just getting the SetMT error.

I have Windows 7 x64 and a i5 750. Anything that is not default in the 1.3.2 package that I can tweak or improve? Any other MT file or dlls that's better for my setup etc?

What can I tweak in the settings window since I'm limited to that and not editing a script manually?

These are the options and what I'm using is underlined:
Processing algorithm: Dummy, Simple, Fast, Superfast, Quality, Advanced
Smooth playback parameters: Double, Triple, Quadruple, Monitor frame rate
Motion estimation accuracy: To Pixel, To Half-Pixel
Blocks size: 32x32, 32x16, 16x16, 16x8, 8x8, 8x4, 4x4
Blocks overlapping: No overlap, 0.25 of block, 0.5 of block
Motion search radius: 1 pixel block, 3 pixel blocks, 5 pixel blocks
Contour artifacts supression: Simple masking, Simple + static vectors, Simple + intermediate frames vectors
Artifact supression level: Light, Medium, High, Extreme
Deblocking: Unchecked, Checked
Frame Size: Do not reduce
Sharpen: Do not sharp

(edit: For 1080p it seems it defaults to 32x32 and 1 pixel block, the above is what it uses for 720p)
mad_arab is offline  
post #183 of 1968 Old 02-04-2010, 09:24 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Using quality settings (MFlowFPS)
I always prefer Simple + static vectors contour masking, because
it really helps vectors to "know" their direction. This eliminates artifacts
in watching anime (like simpsons or stuff like that).
Do not make the framerate match your display, instead try doubling the
framerate and use the reclock. (Smooth playback parameters: Double)
Domas4 is offline  
post #184 of 1968 Old 02-04-2010, 10:30 AM
Senior Member
 
mad_arab's Avatar
 
Join Date: Jan 2003
Posts: 498
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Whoa, simple masking + static vectors took some juice, jumping from 60ish % cpu to video being choppy on 1080p. I'll see if I can see some quality difference on 720p.
mad_arab is offline  
post #185 of 1968 Old 02-04-2010, 12:02 PM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by mad_arab View Post

Whoa, simple masking + static vectors took some juice, jumping from 60ish % cpu to video being choppy on 1080p. I'll see if I can see some quality difference on 720p.

The difference on 720p is minimal. However you can take the script current script
by clicking "Show AVS script" in the menu. Then you can edit it to
chroma=false in MAnalyse. It will take like 20% off your PC load and then
you will be able to use simple+static vectors. However, the edited script
then should be put manually without loading SVP manager.

Example:
backward_re1 = MRecalculate(super,chroma=false, backward_vec1,blksize=16, blksizev=16, thSAD=200, searchparam=0,search = 3)
forward_re1 = MRecalculate(super,chroma=false, forward_vec1,blksize=16, blksizev=16, thSAD=200 ,searchparam=0,search = 3)
Domas4 is offline  
post #186 of 1968 Old 02-05-2010, 02:47 AM
Member
 
Acta7's Avatar
 
Join Date: May 2007
Posts: 175
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by Domas4 View Post

Example:
backward_re1 = MRecalculate(super,chroma=false, backward_vec1,blksize=16, blksizev=16, thSAD=200, searchparam=0,search = 3)

why insert thSAD=200 when that's the default value for MRecalculate ?
Acta7 is offline  
post #187 of 1968 Old 02-05-2010, 04:12 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by Acta7 View Post

why insert thSAD=200 when that's the default value for MRecalculate ?

No need to enter it, I just left it for further tests.
Domas4 is offline  
post #188 of 1968 Old 02-06-2010, 01:02 AM
Advanced Member
 
blazed's Avatar
 
Join Date: Jul 2005
Posts: 555
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Quote:
Originally Posted by mad_arab View Post

The only way I'm getting this to work is using the 1.3.2 script from an earlier post. A manual install is impossible, just getting the SetMT error.

I have Windows 7 x64 and a i5 750. Anything that is not default in the 1.3.2 package that I can tweak or improve? Any other MT file or dlls that's better for my setup etc?

What can I tweak in the settings window since I'm limited to that and not editing a script manually?

These are the options and what I'm using is underlined:
Processing algorithm: Dummy, Simple, Fast, Superfast, Quality, Advanced
Smooth playback parameters: Double, Triple, Quadruple, Monitor frame rate
Motion estimation accuracy: To Pixel, To Half-Pixel
Blocks size: 32x32, 32x16, 16x16, 16x8, 8x8, 8x4, 4x4
Blocks overlapping: No overlap, 0.25 of block, 0.5 of block
Motion search radius: 1 pixel block, 3 pixel blocks, 5 pixel blocks
Contour artifacts supression: Simple masking, Simple + static vectors, Simple + intermediate frames vectors
Artifact supression level: Light, Medium, High, Extreme
Deblocking: Unchecked, Checked
Frame Size: Do not reduce
Sharpen: Do not sharp

(edit: For 1080p it seems it defaults to 32x32 and 1 pixel block, the above is what it uses for 720p)


what i did was USE the 1.3.2 script to install everything, but you dont have to use the program while viewing. after installation just go to ffdshow and change the script yourself. when you watch a video just open with media classic. if you use 1.3.2 program again it will replace the script you entered.
blazed is offline  
post #189 of 1968 Old 02-06-2010, 01:08 AM
Advanced Member
 
blazed's Avatar
 
Join Date: Jul 2005
Posts: 555
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Domas,

yours scripts are pretty awesome man, thanks so much.
blazed is offline  
post #190 of 1968 Old 02-07-2010, 01:46 PM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Please use the latest 2.5.8 Avisynth MT posted by SEt
on forum http://forum.doom9.org/archive/index.php/t-148117.html.
Direct link to .dll files: http://www.mediafire.com/file/nnbngf...isynth258MT.7z

The latest script I have is:
______________________________________________________
SetMemoryMax(1280)
SetMTMode(3,4)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1, hpad=8, vpad=8)
backward_vec1=MAnalyse(super,chroma=false, isb=true, blksize=16, blksizev=16, searchparam=1, search =3,badrange=-24)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=16, blksizev=16, searchparam=1, search =3,badrange=-24)
backward_re1 = MRecalculate(super,chroma=false, backward_vec1,blksize=8, blksizev=8, thSAD=400, searchparam=1,search =3)
forward_re1 = MRecalculate(super,chroma=false, forward_vec1,blksize=8, blksizev=8, thSAD=400 ,searchparam=1,search =3)
MBlockFps(super,backward_re1, forward_re1, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
_____________________________________________________
Note: Even if you have a super-duper fast PC - you should not change anything in the script.
At least 2GB RAM is recommended for multi-threading of avisynth. If you have less than 2GB,
try changing SetMemoryMax(1280) to (512) or (1024). The limit for the memory is used because
of the memory leak during threading.
Domas4 is offline  
post #191 of 1968 Old 02-08-2010, 01:20 AM
Member
 
Acta7's Avatar
 
Join Date: May 2007
Posts: 175
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Thanks Domas, I'll try it.
Anyway I prefer MFlowFPS since I dont like blocks ... what's your best script with it ?

mine is:

SetMTMode(2,8)
multinum=2
multiden=1
mode=1
spar=0
blkh=16
blkv=16
ffdShow_source()
super=MSuper(pel=1)
backward_vec1=MAnalyse(super, isb=true, blksize=blkh, blksizev=blkv, search=5, searchparam=spar, levels=4, )
forward_vec1=MAnalyse(super, isb=false, blksize=blkh, blksizev=blkv, search=5, searchparam=spar, levels=4)
MFlowFps(super, backward_vec1, forward_vec1, num=FramerateNumerator(last)*multinum, den=FramerateDenominator(last)*multiden, mask=mode, ml=255)
distributor()

testing possibile badrange for UMH search ( 48, 72, 96, ... ) and trying to fix face jagging by the 2 person using the rope at the start of "The Dark Knight" 1080p m2ts... can you help ? ^^
Acta7 is offline  
post #192 of 1968 Old 02-08-2010, 03:02 AM
Member
 
E-Nygma's Avatar
 
Join Date: Mar 2006
Posts: 46
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by Domas4 View Post

Please use the latest 2.5.8 Avisynth MT posted by SEt
on forum http://forum.doom9.org/archive/index.php/t-148117.html.
Direct link to .dll files: http://www.mediafire.com/file/nnbngf...isynth258MT.7z

The latest script I have is:
______________________________________________________
SetMemoryMax(1280)
SetMTMode(3,4)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1, hpad=8, vpad=8)
backward_vec1=MAnalyse(super,chroma=false, isb=true, blksize=16, blksizev=16, searchparam=1, search =3,badrange=-24)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=16, blksizev=16, searchparam=1, search =3,badrange=-24)
backward_re1 = MRecalculate(super,chroma=false, backward_vec1,blksize=8, blksizev=8, thSAD=400, searchparam=1,search =3)
forward_re1 = MRecalculate(super,chroma=false, forward_vec1,blksize=8, blksizev=8, thSAD=400 ,searchparam=1,search =3)
MBlockFps(super,backward_re1, forward_re1, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
_____________________________________________________
Note: Even if you have a super-duper fast PC - you should not change anything in the script.
At least 2GB RAM is recommended for multi-threading of avisynth. If you have less than 2GB,
try changing SetMemoryMax(1280) to (512) or (1024). The limit for the memory is used because
of the memory leak during threading.

Hi Domas!

So let me get this right..I'm on Windows 7 64 Bit..so I don't even have to try these scripts coz of the CPU load (that's really really hight)?

I have to install 32 bit again?...but I don't want to do that..

Grtz,

E.
E-Nygma is offline  
post #193 of 1968 Old 02-08-2010, 04:33 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Acta7, I too prefer the MFlow, but my PC is too slow for that (E8500)
I'm not sure what you mean by jagging, since I don't have that movie.
I found out that the most common problem is wrong vector lenght. Try making
"levels=0" in your MAnalysis. The "0" stands for all possible vectors analyzed,
instead of only 4 hierarchial levels. This fixed almost all jagging for me.
However, if you are experiencing jagging artifact because of the small accuracy
change "blkv=16" to "blkv=8". For hardcore code, you can try playing with
pnew=50(default) and lsad=1200(default), this is the threshold for wrong levels.
The jagging also happens because of the lack of pixels in search, therefore try increasing
spar. (Personally I use searchparam=2 with MFlow) Usually the badrange is used for pixelsearch
and if you have pel=1, you should be fine with badrange=24 (image pixel).
So your script would look like:

multinum=2
multiden=1
mode=1
spar=2
blkh=16
blkv=8
SetMTMode(3,8)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1)
backward_vec1=MAnalyse(super, isb=true, blksize=blkh, blksizev=blkv, search=5, searchparam=spar, levels=0)
forward_vec1=MAnalyse(super, isb=false, blksize=blkh, blksizev=blkv, search=5, searchparam=spar, levels=0)
MFlowFps(super, backward_vec1, forward_vec1, num=FramerateNumerator(last)*multinum, den=FramerateDenominator(last)*multiden, mask=mode, ml=255)
distributor()
____________________________________________________________ _____
E-Nygma, what do you mean? I meant that you should not try changing script if you have a fast PC for better quality,
because MBlock function picture's quality does not depend really depend on the processor's speed, because there is a visible
tradeoff between big blocks and small blocks.
Domas4 is offline  
post #194 of 1968 Old 02-08-2010, 05:18 AM
Member
 
E-Nygma's Avatar
 
Join Date: Mar 2006
Posts: 46
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Hi Domas (and 8:13)

I just meant. Whilst running Win 7 64 bit, I need to resort to MPC 32 bit to get Reclock working, right?
So I’m not particularly talking about your scripts and improvements, I’m talking about all the scripts posted heren.
Just to get things clear, If I want to use these scripts on my Core i5 750 @ 2,66ghz, can you answer these questions for me?

- Must I have Windows 7 32 bit or can I run all these programs on 64 bit
- If using Win 7 64 bit, do I need to use all programs (MPC/FFDshow/Avisynth etc..) @ 32 bit?
- Do I need to overclock my processer to play 1080p files with these scripts? (Domas..do you have a faster CPU than me?)
- For these scripts to work, do I need to set my display to 24hz (which I can’t at the moment, EDID issues) ?

I know it’s a lot..but I really need some clearity if I’m gonna pursuit using these scripts again haha.. took me a while last time. And nothing worked
E-Nygma is offline  
post #195 of 1968 Old 02-08-2010, 06:31 AM
Member
 
Acta7's Avatar
 
Join Date: May 2007
Posts: 175
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
@Domas
thanks for reply
I already tried palyng with spar and levels but increasing spar and leaving auto levels ( 0 ) just worse the artifact in that scene ( how did you not have "The Dark Knight" ? ).
The script I posted works very very fine for every film I tested ... just make the artifact in that point of TDK : I can fix it putting "levels = 2" but it ruines al the rest of the film ( and all the others too ).
Assuming spar=0 and levels=4 as untouchable facts, I shoult play only with lsad and pnew for finetuning in your opinion ?

PS: forgive my poor english ^^
Acta7 is offline  
post #196 of 1968 Old 02-08-2010, 07:19 AM
Member
 
Acta7's Avatar
 
Join Date: May 2007
Posts: 175
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Quote:
Originally Posted by Domas4 View Post

SetMTMode(3,8)
ffdShow_source()
SetMTMode(2)

what's the benefit in using this instead of SetMTMode(2,8) ?
Acta7 is offline  
post #197 of 1968 Old 02-08-2010, 01:43 PM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
E-Nygma

- Must I have Windows 7 32 bit or can I run all these programs on 64 bit
I don't know I have never ever tried anything on 64bit.

- If using Win 7 64 bit, do I need to use all programs (MPC/FFDshow/Avisynth etc..) @ 32 bit?
I don't know I have never ever tried anything on 64bit. I guess you do.

- Do I need to overclock my processer to play 1080p files with these scripts?
I don't know, I don't have Core i5 750, I have E8500 and yours is faster than mine. My processor is too slow for 1080p.
Since yours is faster maybe it will play 1080p content smoothly.

- For these scripts to work, do I need to set my display to 24hz (which I can’t at the moment, EDID issues) ?
No you don't - all these scripts only doubles the framerate and smoothes the motions.
Setting the refresh rate of the TV/Monitor/Projector is whole another story.
Go to ReClock forum - there is a nice explanation of how fps and syncing works and why you need it ^^

You want fast script to play 1080p? Here it is - it's the fastest script for Core i5 750 I can think of:

SetMemoryMax(1280)
SetMTMode(2,8)
ffdShow_source()
super=MSuper(pel=1, hpad=32, vpad=32)
backward_vec1=MAnalyse(super,chroma=false, isb=true, blksize=32, blksizev=32, searchparam=0)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=32, blksizev=32, searchparam=0)
MBlockFps(super,backward_vec1, forward_vec1, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

____________________________________________________________ ____
Acta7, yes - don't remove the artifact if it creates whole bunch of another
artifacts. You see, I don't know what kind of artifact you are getting,
is it motion block accuracy problem or noise of searching into wrong pixels or
something else.
Yes, try to play with "pnew" and "lsad" settings. Set them to extreme to see
if you get the difference at first. And just for experiment, try to use plevel=2
in both MAnalyse lines. Maybe you'll get better results.

Quote:
Originally Posted by Acta7 View Post

what's the benefit in using this instead of SetMTMode(2,8) ?

3 instead of 2 is compatible with more filters. For example if you want to use
DeGrain with MFlow together and prefilter clips using blur(1.0). It's just more
stable for me.
Domas4 is offline  
post #198 of 1968 Old 02-09-2010, 06:18 AM
Member
 
Acta7's Avatar
 
Join Date: May 2007
Posts: 175
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
what does plevel do ?
Acta7 is offline  
post #199 of 1968 Old 02-09-2010, 06:41 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
"plevel: penalty factor lambda level scaling mode. Value=0 - no scaling, 1 - linear, 2 - quadratic dependence from hierarchical level size. Note, that vector length is smaller at lower level."
Domas4 is offline  
post #200 of 1968 Old 02-09-2010, 06:58 AM
Member
 
Acta7's Avatar
 
Join Date: May 2007
Posts: 175
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Yes I read that too ( LOL ) but ... what does it mean ???
Acta7 is offline  
post #201 of 1968 Old 02-09-2010, 07:28 AM
Senior Member
 
widezu69's Avatar
 
Join Date: Feb 2010
Posts: 319
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
For those with nVidia cards that wish to use cuda, there is a way (although it will cost you around 10 bucks):
Install CoreAVC V2, and use it for h.264 decoding with cuda enabled. Turn off the ffdshow codec for h.264 in the codec tab and set raw video to all supported. Now in MPC, go to external filters and add ffdshow video decoder and use it as "prefer". This allows coreavc to input the video into ffdshow so ffdshow can still do its magic. If you don't do this then coreavc will bypass ffdshow and feed the data straight into MPC. If it all works, then coreavc will use your GPU for video decoding and ffdshow will use your CPU for video processing. This allows virtually all your CPU power for the script. You have to play around with the renderers in MPC as some give very laggy playback.
A script is here that should work well with serious minimal artifacts:

SetMTMode(X,X)
ffdShow_source()
super=MSuper(pel=1, hpad=16, vpad=16, rfilter=3, levels=4)
backward_vec1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=0, plevel=2, levels=4)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=16, blksizev=16, searchparam=0, plevel=2, levels=4)
backward_re = MRecalculate(super, chroma=false, backward_vec1, blksize=8, blksizev=8, searchparam=0, search = 3)
forward_re = MRecalculate(super, chroma=false, forward_vec1, blksize=8, blksizev=8, searchparam=0, search = 3)
MBlockFps(super,backward_re, forward_re, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=0)
distributor()

*Replace (X,X) with whatever your CPU supports

If your feeling brave then google avisynth plugins, go to the filter collection and download the one named motion by mg262, add to your plugins folder then and add this to the end of the script:

fps=60 #last.framerate()*4
last.CombineFPS(fps, last. MotionFPS(fps, warpfast, move), last.MotionFPS(fps, source = next, warpfast, move))

The combination of both these scripts creates a very nice 60fps film for 60Hz or higher monitors getting rid of the need for reclock. CoreAVC is great for offloading the decoding power to cuda should give the CPU plenty of power to "focus" on the script producing very nice motion.
widezu69 is offline  
post #202 of 1968 Old 02-11-2010, 08:41 PM
Advanced Member
 
blazed's Avatar
 
Join Date: Jul 2005
Posts: 555
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Quote:
Originally Posted by widezu69 View Post

For those with nVidia cards that wish to use cuda, there is a way (although it will cost you around 10 bucks):
Install CoreAVC V2, and use it for h.264 decoding with cuda enabled. Turn off the ffdshow codec for h.264 in the codec tab and set raw video to all supported. Now in MPC, go to external filters and add ffdshow video decoder and use it as "prefer". This allows coreavc to input the video into ffdshow so ffdshow can still do its magic. If you don't do this then coreavc will bypass ffdshow and feed the data straight into MPC. If it all works, then coreavc will use your GPU for video decoding and ffdshow will use your CPU for video processing. This allows virtually all your CPU power for the script. You have to play around with the renderers in MPC as some give very laggy playback.
A script is here that should work well with serious minimal artifacts:

SetMTMode(X,X)
ffdShow_source()
super=MSuper(pel=1, hpad=16, vpad=16, rfilter=3, levels=4)
backward_vec1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=0, plevel=2, levels=4)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=16, blksizev=16, searchparam=0, plevel=2, levels=4)
backward_re = MRecalculate(super, chroma=false, backward_vec1, blksize=8, blksizev=8, searchparam=0, search = 3)
forward_re = MRecalculate(super, chroma=false, forward_vec1, blksize=8, blksizev=8, searchparam=0, search = 3)
MBlockFps(super,backward_re, forward_re, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=0)
distributor()

*Replace (X,X) with whatever your CPU supports

If your feeling brave then google avisynth plugins, go to the filter collection and download the one named motion by mg262, add to your plugins folder then and add this to the end of the script:

fps=60 #last.framerate()*4
last.CombineFPS(fps, last. MotionFPS(fps, warpfast, move), last.MotionFPS(fps, source = next, warpfast, move))

The combination of both these scripts creates a very nice 60fps film for 60Hz or higher monitors getting rid of the need for reclock. CoreAVC is great for offloading the decoding power to cuda should give the CPU plenty of power to "focus" on the script producing very nice motion.


cuda is only supported by nvidia right? i hae an i7 and ati card, but i still tried the script and on 720p films, it makes it look like a soap opera. very similiar to lcds with high motion compensation ( i think thats what its called).

anyways thanks for the script. the only problem i have is on 1080p vids. the cpu % never goes over 35%, but i still get jumpy frames on certain movies. is there anything i can do to fix the framerate?
blazed is offline  
post #203 of 1968 Old 02-14-2010, 01:04 PM
Newbie
 
xenomorf2007's Avatar
 
Join Date: Feb 2010
Posts: 6
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
This, I believe, is the naked truth...

First I will explain what I want and what works and what doesnt work...

On my old OS (Vista 32 bit) i used avisynt frame cration scripts without any problem at all both in MPC Home Cinema as well as WMC... I used CORE AVC to decode H264 material and then Avisynt RAW Video to do the interpolation, just as described in the other post here. No problem at all.
Now I switched to Windows 7 64 BIt and allt things went to hell...

But after A LOT of experimenting I have almost solved it all, BUT with a major drawback. I cant use WMC and the script together, and this is why:

First of, I had an enourmous tryout session to get the script to work inside MPC 64Bit together with FFDshow 64 Bit and after days of embaresment I just gave up, media player instantly crashes on me watever I do, just like a lot of people hace discussed here erlier. Have anyone been able to get it to work with the 64 BIt versions? I've tried everything, installed the missing Dll:s in both the windows 32 Bit system map as vell as the 64Bit dito, and of course installed the avisynth dll in both and made about 3 complete new installations of both MPC and FFDshow and all teh plugins... ANd a Hell of a lot of other implementations that also went straight to hell...IT DOESNT WORK WITH THE 64 BIT verisons... Anybody who can call me a liar? Avisynt Is'nt made for 64 Bit and that seems to be the problem...

Anyhow, skipping the 64Bit and going 32 BIt makes all the difference, now everything works fine, just make Core AVC the prefered codec as well as FFDshow (only check the RAW video output in ffdshow) and things work their magic and the picture i almost artifact free depending on the quality of your vide source...

BUT, You cant use Windows 7 64 Bit WMC to grab the 32 Bit FFdshow and therefore can not get the avisynth to work, AAAAARGHHHH! It's no problem to get WMC to work with FFDshow 64 bIT but that doesnt help as you cant get the script to work in that version... really irritating!!
I've heard that there is some extremely complicated way to make a 64 BIt program like for example MPC 64 or WMC 64 to use a 32 Bit decoder but that seems like a long shot, correct me if Im wrong... I dont want to program a bunch of underlying scripts to get it to work.. even if it's possible... I want it "rather" simply... if it's possible...

Its not even a problem to get WMC to use the Core codec to decode and then use FFDshow (64 bit of course) ON RAW video for anything else except the Avisynth function since it will crash emideately...

WHY?? Is it impossible to get the script to work in 64 Bit mode? Has anybody here got it to work in FFDshow 64?? Please tell...

Conclusion: I cant get the avisynth script to work in ffdshow 64 bit version, Is it just me or is it impossible??
If I could get it to work im more than convinced I can make WMC grab on to FFDshow and all my problems are solved..

Why in hell do you complain might a fiew of you ask, you got the script to work, relaxe for heavens sake....

Well, you are of course right on the point, but, I'm kind of a perfectionist and I have got everything else to work in WMC (music, photo almum, Mymovies, radio, etc etc) so I REALLY want it to work, just for my own sake...

SO, help is needed from higher sourses....

Regards!!




Quote:
Originally Posted by Domas4 View Post

E-Nygma

- Must I have Windows 7 32 bit or can I run all these programs on 64 bit
I don't know I have never ever tried anything on 64bit.

- If using Win 7 64 bit, do I need to use all programs (MPC/FFDshow/Avisynth etc..) @ 32 bit?
I don't know I have never ever tried anything on 64bit. I guess you do.

- Do I need to overclock my processer to play 1080p files with these scripts?
I don't know, I don't have Core i5 750, I have E8500 and yours is faster than mine. My processor is too slow for 1080p.
Since yours is faster maybe it will play 1080p content smoothly.

- For these scripts to work, do I need to set my display to 24hz (which I can't at the moment, EDID issues) ?
No you don't - all these scripts only doubles the framerate and smoothes the motions.
Setting the refresh rate of the TV/Monitor/Projector is whole another story.
Go to ReClock forum - there is a nice explanation of how fps and syncing works and why you need it ^^

You want fast script to play 1080p? Here it is - it's the fastest script for Core i5 750 I can think of:

SetMemoryMax(1280)
SetMTMode(2,8)
ffdShow_source()
super=MSuper(pel=1, hpad=32, vpad=32)
backward_vec1=MAnalyse(super,chroma=false, isb=true, blksize=32, blksizev=32, searchparam=0)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=32, blksizev=32, searchparam=0)
MBlockFps(super,backward_vec1, forward_vec1, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

____________________________________________________________ ____
Acta7, yes - don't remove the artifact if it creates whole bunch of another
artifacts. You see, I don't know what kind of artifact you are getting,
is it motion block accuracy problem or noise of searching into wrong pixels or
something else.
Yes, try to play with "pnew" and "lsad" settings. Set them to extreme to see
if you get the difference at first. And just for experiment, try to use plevel=2
in both MAnalyse lines. Maybe you'll get better results.



3 instead of 2 is compatible with more filters. For example if you want to use
DeGrain with MFlow together and prefilter clips using blur(1.0). It's just more
stable for me.

xenomorf2007 is offline  
post #204 of 1968 Old 02-14-2010, 05:11 PM - Thread Starter
Senior Member
 
Bahn Yuki's Avatar
 
Join Date: Oct 2002
Location: Salem, Oregon
Posts: 200
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 21 Post(s)
Liked: 18
Send a message via AIM to Bahn Yuki Send a message via MSN to Bahn Yuki Send a message via Yahoo to Bahn Yuki
Quote:
Originally Posted by blazed View Post

cuda is only supported by nvidia right? i hae an i7 and ati card, but i still tried the script and on 720p films, it makes it look like a soap opera. very similiar to lcds with high motion compensation ( i think thats what its called).

anyways thanks for the script. the only problem i have is on 1080p vids. the cpu % never goes over 35%, but i still get jumpy frames on certain movies. is there anything i can do to fix the framerate?

That "high motion compensation" is the look I'm trying to acheive on Blu-Rays. If anyone has any suggestions, I'd like to hear them.

Right now my Samsung 46" 630 LCD trounces my PC when it comes to video. I'm pretty sure we can hammer it out, I might try that CoreAVC to use CUDA, but as blazed mentioned my Corei7 is only being taxed at 30% yet the frame rate pauses often.
Bahn Yuki is offline  
post #205 of 1968 Old 02-14-2010, 05:28 PM
Senior Member
 
NotSoCoolJ's Avatar
 
Join Date: Jul 2007
Posts: 402
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Yea, even though I have Win7x64 I went with the 32bit install on this one. So far I have not had any problems with my setup working.

I have a question about de-interlacing. It is clear from the previews and extras on a disk that this setup is not doing a great job. I have an ATI video card that should be able to do vector adaptive de-interlacing. Is there a way I can use that with FFdshow? Or will I have to use a DXVA decoder for that to work?
NotSoCoolJ is offline  
post #206 of 1968 Old 02-15-2010, 01:12 AM
Newbie
 
xenomorf2007's Avatar
 
Join Date: Feb 2010
Posts: 6
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
I have a BIG screen (220") and fluid motoion is essential to get the right look when displaying big movies.
On my setup (a HTPC with intel Quad Core 2,8 Ghz, Nvidia GeForce 9600GT and 4 Gig of RAM) and on that a BenQ W10000, the picture really inherits the best output when going for 1080P/60, It's significally better than the 24Hz option. The 60Hz option is in fact completely perfect in regard of motion fluidness, no jitter or Jutter at all! And no problem with lip sync either...
It's a lot smoother and looks a bit more lifelike in sharpness and 3D depth. To get the most out of it you also have to turn on 3:2 pulldown in FFDshow.

Maybe it depends on your monitor but in my case going for 1080P/60 is the ****...

SO even if your Monitor/Display supports 24Hz it's not written in stone that you should go for this setup, at least not in my case anyhow...

Just a Tip....
xenomorf2007 is offline  
post #207 of 1968 Old 02-15-2010, 03:35 PM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by Acta7 View Post

Yes I read that too ( LOL ) but ... what does it mean ???

It is the level of scaling the vectors.
For example - a person is standing in the street and there are people
passing him in different speeds. So plevel would judge how fast the motion
is and decide if give it penalty or not. In this case, giving penalties is avoiding
artifacts, but it makes the picture less smoother.

plevel=0 no scaling - the smoothest , the most artifacts.
plevel=1 linear scaling of vectors, medium smooth, medium artifacts.
plevel=2 quatratic scaling of vectors, less smooth, less artifacts.
Domas4 is offline  
post #208 of 1968 Old 02-16-2010, 01:30 AM
Member
 
Acta7's Avatar
 
Join Date: May 2007
Posts: 175
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
thank you Domas
Acta7 is offline  
post #209 of 1968 Old 02-16-2010, 07:41 AM
Member
 
Delerue's Avatar
 
Join Date: Nov 2006
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
xenomorf2007

If you want to use 64 bits version of FFDShow and MPC, you also must use a 64 bits version of Avisynth and MVTools. Avisynth 64 bits isn't working perfectly right now, and I think it doesn't have the multi-thread 'extension' yet. MVTools doesn't have a 64 bits version.

Conclusion: you're right; at this moment you must stuck with 32 bits version. I really don't know if a 64 bits version of all these stuff would increase the final performance. That's a good question.

E-Nygma

- Must I have Windows 7 32 bit or can I run all these programs on 64 bit
I use XP x64 and everything works flawlessly.

- If using Win 7 64 bit, do I need to use all programs (MPC/FFDshow/Avisynth etc..) @ 32 bit?
No, you don't. But, like I said to xenomorf2007 right above, if you use one of these programs on 64 bits version, you must use all the rest on 64 its version too.

- Do I need to overclock my processer to play 1080p files with these scripts?
I didn't play with MBlockFPS yet, but with MFlowFPS I can guarantee you that a Core i7 920 @ 3.1 GHz (that I have at work) can work at maximum with a 720p source; not 1080p.

- For these scripts to work, do I need to set my display to 24hz (which I can’t at the moment, EDID issues) ?
I think Domas4 already answered this question.

-------------

BTW, I'm wondering if there's a way to avoid this script if the source already had a high framerate (50>). I tried someting like that, but didn't work:

Code:
setMTMode(2,3)
LoadPlugin("C:\\Program Files (x86)\\AviSynth 2.5\\plugins\\mvtools2.dll")
source=ffdshow_source()
FramerateDenominator(source) > 50 ? skip() : doubleFPS( source )
function doubleFPS( source )
{
super = source.MSuper(pel=1)
backward_vec = MAnalyse(super, blksize=8, dct=4, overlap=2, isb = true, search=3, searchparam=0)
forward_vec = MAnalyse(super, blksize=8, dct=4, overlap=2, isb = false, search=3, searchparam=0)
source.MFlowFps(super, ThSCD1=350, blend=false, backward_vec, forward_vec, \\
      num=2*FramerateNumerator(source), den=FramerateDenominator(source))
distributor()
}
function skip()
{}
I tested with a 60 FPS video, but doubleFPS function is called anyway.

Also, I made some tests with Yushko script compared to MVTools. You can see here.
Delerue is offline  
post #210 of 1968 Old 02-16-2010, 08:26 PM
Senior Member
 
johnifehr's Avatar
 
Join Date: May 2008
Posts: 461
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
- Do I need to overclock my processer to play 1080p files with these scripts?
I didn't play with MBlockFPS yet, but with MFlowFPS I can guarantee you that a Core i7 920 @ 3.1 GHz (that I have at work) can work at maximum with a 720p source; not 1080p.

Huh, I can play 1080p source no problem with my q9550 at 3.4 ghz with either
the MBlockFPS or MFlowFPS posted here, including uncompressed mkv's.
johnifehr is offline  
Reply Home Theater Computers

Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

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
Trackbacks are Off
Pingbacks are Off
Refbacks are Off