Home  |  About  | Last |  Submit  |  Contact
AllQuests.com



Previous Question:  WTT lumen eles for Novus eles  RF Online CommerceNext Question:  White bars on my display picture inside  Home Theater Computers
Question Avisynth Script for doubling video frame rates ( AVS Forum Home Theater Computers )
Updated: 2008-07-24 10:06:03 (149)
Avisynth Script for doubling video frame rates

Ok folks, I've been getting a lot of responses and questions to the way I achieve the "motion morphing, 120hz" look on my videos from a PC rather than letting a new LCD screen do the work. Not only do I feel the results are better than the TVs, but depending on your hardware, you'd be saving a lot of $$$. Now my friend Kevin wrote this script after I told him I wanted to buy a 120hz projector. He advised me to wait until he could find a software solution, and sure enough he did with some plugins and tinkering around. I'm going to paste you folks right here the settings I'm using. I hope it makes sense to some of you out there. Also I'd like to mention I'm using a e6300@2.8ghz to get very nice results in MPC. Also I am using the Haali splitter on the 720p MKVs. Boy do they look great. If any of you folks have better hardware, or tinker around with this script and find BETTER results, please let us all know!

Grab MVtools Here
Grab Avisynth MT Here


SetMtmode(2,10)
source=ffdshow_source()
source=changefps(source,source,true)
# assume progressive PAL 25 fps or NTSC Film 23.976 source
backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
# we use explicit idx for more fast processing
forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)
source.MVFlowFps(backward_vec, forward_vec, num=2*FramerateNumerator(source), \
den=FramerateDenominator(source), mask=0, idx=1)
distributor()

Answers: Avisynth Script for doubling video frame rates ( AVS Forum Home Theater Computers )
Avisynth Script for doubling video frame rates

If you folks jsut want to test things out on your hardware, a quick and easy way is to go into FFdshow and go into Deinterlacer - > Frame Rate doubler. I'm using 1 pixel motionleft & right. It looks ok... give it a shot.

Bahn Yuki

Avisynth Script for doubling video frame rates

im pretty new to using avisynth, but THANKS SO MUCH for this.
all i need is avisynth, ffdshow, and mpc, right?

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by blazed
im pretty new to using avisynth, but THANKS SO MUCH for this.
all i need is avisynth, ffdshow, and mpc, right?
You also need MVTools.

I was unable to get his script to work via Media Player Classic Home Cinema, though.

When I attempted to use it, the player would just crash immediately with a DLL error in mvtools.dll (That was when having add ffdshow video source was checked)

When I unchecked the add ffdshow video source box, I just got a black picture. When attempting to seek strange things happened but no video, sometimes just a still frame.

My settings looked just like this



No success with some 23.97 fps XviD videos I have.

sodaboy581

Avisynth Script for doubling video frame rates

After some playing around, I got it to work with FFDShow.

I checked the AVISynth tab, made sure add FFDShow video source was unchecked, had only input colorspaces of YV12 and YUY2 checked and used this script.

Code:
source=ffdshow_source()
# assume progressive PAL 25 fps or NTSC Film 23.976 source
backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
# we use explicit idx for more fast processing
forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)
return source.MVFlowFps(backward_vec, forward_vec, num=48000,  den=1001, mask=0, idx=1)
Very similar to your script but I hardcoded num to 48000 and den to 1001.

48000 represents my desired frame doubling of 23.97fps to 48hz

Of course this only works with 23.97fps-24hz videos. Anything else will probably end up looking odd...

Good fun on my Intel Core 2 Duo E8400 @ 3.6ghz ;p

sodaboy581

Avisynth Script for doubling video frame rates

Which do you like more? the script or the info i posted in #2?

Bahn Yuki

Avisynth Script for doubling video frame rates

Script. most definitely.

sodaboy581

Avisynth Script for doubling video frame rates

So what does this do exactly? Is this mostly for xvid/divx or does this work on dvd/hdtv?

NickB

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by NickB
So what does this do exactly? Is this mostly for xvid/divx or does this work on dvd/hdtv?
Adds intermediate frames for a "MotionFlow" type look to film.

Also, I've been playing with the script and came to terms that MVTools doesn't properly convert some numerator and denominator combinations, like when you use the auto calculation for 2* the FrameNumerator, AVISynth sometimes returns 2997 for Numerator and 125 for Denominator.. if you auto multiply the 2997 by 2 and feed both 5994 and 125 into the MVFlowFPS, it won't work right. It has to be changed to 48000 and 1001...

I made a script to detect 23.976 and 29.97 fps input and use the appropriate values and pass them to MVFlowFPS... it doesn't mess with any odd numbered ones, or shouldn't.

Code:
source=ffdshow_source()
SetMTMode(2,2)
frn = int ( FrameRateNumerator(source) )
frd = int ( FrameRateDenominator(source) )
# If the denominator is 1, multiply the numerator by 1000
frn = ( frd == 1 )  ? ( frn * 1000 ) : frn
# If the denominator is 1, now change it to 1001
frd = ( frd == 1 ) ? 1001 : frd
# If the numerator is 2997 and the denominator is 125, change the numerator to 24000
frn = ( ( frn == 2997 ) && ( frd == 125 ) ) ? 24000 : frn
# If the numerator is 2997 and the denominator is 100, change the numerator to 30000
frn = ( ( frn == 2997 ) && ( frd == 100 ) ) ? 30000 : frn
# If the denominator is 125 and the numerator was changed earlier to 24000, change the denominator to 1001
frd = ( ( frd == 125 ) && ( frn == 24000 ) ) ? 1001 : frd
# If the denominator is 100 and the numerator was changed earlier to 30000, change the denominator to 1001
frd = ( ( frd == 100 ) && ( frn == 30000 ) ) ? 1001 : frd
# If the denominator is 1001, which is the only denominator MVTools seems to work with, multiply the numerator by 2.
frn = ( frd == 1001 ) ? ( frn * 2 ) : frn
# assume progressive PAL 25 fps or NTSC Film 23.976 source
backward_vec = ( frd == 1001 ) ? source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1) : 0
# we use explicit idx for more fast processing
forward_vec = ( frd == 1001 ) ? source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1) : 0
# If the denominator is 1001, return the MVFlowFPS version of the source, otherwise return the original source
return (  frd == 1001 ) ? source.MVFlowFps(backward_vec, forward_vec, num=frn,  den=frd, mask=0, idx=1) : source
.. Haven't tested it with PAL stuff... I know the code could stand to be cleaned up and I don't understand the if then else crap in AVISynth mostly at all. Wish the syntax was as easy as C.

sodaboy581

Avisynth Script for doubling video frame rates

Soda, I just ordered new hardware, I'll be messing around with the script. BTW I was talking with my friend Kevin and the script I gave to all of you was the "FAST" one. There's two more scripts that do "good" and "insane" quality. I ordered an Asus Geforce 8200 mATX board with an AMD Phenom 9550 CPU. I'll let you guys in on all the results.

Bahn Yuki

Avisynth Script for doubling video frame rates

Soda, I just ordered new hardware, I'll be messing around with the script. BTW I was talking with my friend Kevin and the script I gave to all of you was the "FAST" one. There's two more scripts that do "good" and "insane" quality. I ordered an Asus Geforce 8200 mATX board with an AMD Phenom 9550 CPU. I'll let you guys in on all the results.

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by sodaboy581
Adds intermediate frames for a "MotionFlow" type look to film.

Also, I've been playing with the script and came to terms that MVTools doesn't properly convert some numerator and denominator combinations, like when you use the auto calculation for 2* the FrameNumerator, AVISynth sometimes returns 2997 for Numerator and 125 for Denominator.. if you auto multiply the 2997 by 2 and feed both 5994 and 125 into the MVFlowFPS, it won't work right. It has to be changed to 48000 and 1001...

I made a script to detect 23.976 and 29.97 fps input and use the appropriate values and pass them to MVFlowFPS... it doesn't mess with any odd numbered ones, or shouldn't.

Code:
source=ffdshow_source()
SetMTMode(2,2)
frn = int ( FrameRateNumerator(source) )
frd = int ( FrameRateDenominator(source) )
# If the denominator is 1, multiply the numerator by 1000
frn = ( frd == 1 )  ? ( frn * 1000 ) : frn
# If the denominator is 1, now change it to 1001
frd = ( frd == 1 ) ? 1001 : frd
# If the numerator is 2997 and the denominator is 125, change the numerator to 24000
frn = ( ( frn == 2997 ) && ( frd == 125 ) ) ? 24000 : frn
# If the numerator is 2997 and the denominator is 100, change the numerator to 30000
frn = ( ( frn == 2997 ) && ( frd == 100 ) ) ? 30000 : frn
# If the denominator is 125 and the numerator was changed earlier to 24000, change the denominator to 1001
frd = ( ( frd == 125 ) && ( frn == 24000 ) ) ? 1001 : frd
# If the denominator is 100 and the numerator was changed earlier to 30000, change the denominator to 1001
frd = ( ( frd == 100 ) && ( frn == 30000 ) ) ? 1001 : frd
# If the denominator is 1001, which is the only denominator MVTools seems to work with, multiply the numerator by 2.
frn = ( frd == 1001 ) ? ( frn * 2 ) : frn
# assume progressive PAL 25 fps or NTSC Film 23.976 source
backward_vec = ( frd == 1001 ) ? source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1) : 0
# we use explicit idx for more fast processing
forward_vec = ( frd == 1001 ) ? source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1) : 0
# If the denominator is 1001, return the MVFlowFPS version of the source, otherwise return the original source
return (  frd == 1001 ) ? source.MVFlowFps(backward_vec, forward_vec, num=frn,  den=frd, mask=0, idx=1) : source
.. Haven't tested it with PAL stuff... I know the code could stand to be cleaned up and I don't understand the if then else crap in AVISynth mostly at all. Wish the syntax was as easy as C.

soda,
sorry for all the lame questions, but after everything is installed, i just copy your script, and paste it in ffdshow under avisynth, right?

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by blazed
soda,
sorry for all the lame questions, but after everything is installed, i just copy your script, and paste it in ffdshow under avisynth, right?
Yes, but make sure you have installed the MVTools plugin for AVISynth too.

You can download it from http://avisynth.org.ru/mvtools/mvtools.html

The "SetMtMode" line there needs the AVISynth MT version as well.

So, you'll need FFDShow, AVISynth MT, and MVTools and that should be it.

sodaboy581

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by sodaboy581
Yes, but make sure you have installed the MVTools plugin for AVISynth too.

You can download it from http://avisynth.org.ru/mvtools/mvtools.html

The "SetMtMode" line there needs the AVISynth MT version as well.

So, you'll need FFDShow, AVISynth MT, and MVTools and that should be it.
once again, thank you very much sir!

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by sodaboy581
Yes, but make sure you have installed the MVTools plugin for AVISynth too.

You can download it from http://avisynth.org.ru/mvtools/mvtools.html

The "SetMtMode" line there needs the AVISynth MT version as well.

So, you'll need FFDShow, AVISynth MT, and MVTools and that should be it.

Is there anything online that can walk me through how to install and use plugins and various filters for Avisynth? For a novice user, Avisynth has been a huge pain in the butt for me; the one time I tried to throw in the LimitedSharpen filter files into my Avisynth folder, Avisynth in MeGUI gave me an error message.

Right now, I'm just using DGIndex to build me a .d2v file, which I open up in Avisynth creator, and resize to the appropriate resolution with Spline36 (I'm also using tdeint(mode=1) to speed up my 1080i caps to 60fps), which in most cases is 1280x704.

I then use a Level 4.1 720p video profile for the actual encoding.

But yeah, if anyone could spare some time to walk me through what I need that would be sweet. Would even Paypal you $10 for your time. (I'm that frustrated with this)

karpodiem

Avisynth Script for doubling video frame rates

#1. Place MVtools into the Avisynth/plugins folder.
#2. MT.dll is placed in the Avisynth folder. MT.dll is for people who can multithread. So if you have quad core, it's SetMtMode (2,2) for dual, SetMtMode (2,3) for Tri, SetMtMode (2,4) for quad.
#3. The avisynth.dll is then placed into the Windows/system32 folder.

I'll be bringing my friend Kevin over and he'll post up different settings(for those with the hardware that can push it!). Also as I stated above I just purchased new hardware, so I'll run through the gamut and let you guys have the results of all my tests with various media(Blu-ray, HD-DVD, MKVs).

Avsforum has done a lot for me, and I appreciate some of the responses I've gotten. We're all here to share info and possibly save us $$$ from the greedy companies. My best friend saved me thousands of dollars, I hope these results can do the same for you.

Thanks to Soda for bringing that up, I'll get Kevin to do a proper tutorial tomorrow.

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by Bahn Yuki
#2. MT.dll is placed in the Avisynth folder. MT.dll is for people who can multithread. So if you have quad core, it's SetMTmode(4), instead of 2...Tri-Core is 3, and so on and so forth.
This is absolutely wrong, it's SetMtMode(2,x) where x is the number of processors you have.

So SetMtMode (2,2) for dual, SetMtMode (2,3) for Tri, SetMtMode (2,4) for quad.

sodaboy581

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by sodaboy581
This is absolutely wrong, it's SetMtMode(2,x) where x is the number of processors you have.

So SetMtMode (2,2) for dual, SetMtMode (2,3) for Tri, SetMtMode (2,4) for quad.
This is Bahn's friend Kevin.

Yes, it's SetMtMode (2, x), with x being the number of threads you want running at once. The performance seemed to work better having a high number of threads (6-10), even on a dual core, instead of matching the number of threads to the number of cores.

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by Bahn Yuki
#1. Place MVtools into the Avisynth/plugins folder.
#2. MT.dll is placed in the Avisynth folder. MT.dll is for people who can multithread. So if you have quad core, it's SetMtMode (2,2) for dual, SetMtMode (2,3) for Tri, SetMtMode (2,4) for quad.
#3. The avisynth.dll is then placed into the Windows/system32 folder.

I'll be bringing my friend Kevin over and he'll post up different settings(for those with the hardware that can push it!). Also as I stated above I just purchased new hardware, so I'll run through the gamut and let you guys have the results of all my tests with various media(Blu-ray, HD-DVD, MKVs).

Avsforum has done a lot for me, and I appreciate some of the responses I've gotten. We're all here to share info and possibly save us $$$ from the greedy companies. My best friend saved me thousands of dollars, I hope these results can do the same for you.

Thanks to Soda for bringing that up, I'll get Kevin to do a proper tutorial tomorrow.
yes i agree 100%. almost everyone here at AVS is very kind and helpful.

blazed

Avisynth Script for doubling video frame rates

has anyone tried it ?? How are the results ? Can someone post screen shots with and without the script/method described above ?

ajamils

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by ajamils
has anyone tried it ?? How are the results ? Can someone post screen shots with and without the script/method described above ?
Screenshots will do nothing for demonstrating this filter.

This filter affects motion only.. though it can cause some artifacting during videos, it's still somewhat cool.

Also, sorry if I came off as an ass with that "absolutely wrong" thing, it's just setting the wrong first number for Mt mode may cause peoples' scripts to crash ;x I mean, if they have anything else in there.

It's a pretty sensitive setting.

Might turn some people off from trying this

sodaboy581

Avisynth Script for doubling video frame rates

Thanks Yuki!

This is kickass. KICK ASS! It works on my setup (quad-core Q6600 @ 3.0GHz). I'm doing some fine tuning. She eats up too much CPU now.

Update: I'm using it mainly for 24fps (24/1.001) film content, interpolating to 29.97fps to get rid of 3:2 judder for my 60Hz plasma TV. It definitely works, no more judder!

I found that for my quad-core, setting the SetMtMode to (2,4) is better than (2,10). Works for 1080P content as well! CPU load pretty near 100% though.

But for fast motion, there are a lot of artifacts that look like 'bubbles' around fast moving objects. For example, the chase scene in Bourne Ultimatum is quite unwatchable. More experimenting with the settings for me!

hardc0re

Avisynth Script for doubling video frame rates

My new hardware comes in today, sadly I work till 7PM. So it's unlikely I'll be able to even GET my stuff till tomorrow morning. I can try building it all tomorrow night, or let my buddy Kevin do it over the weekend. I'm thinking of letting him do it so he can setup something with all the software and what not.

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by hardc0re
I found that for my quad-core, setting the SetMtMode to (2,4) is better than (2,10). Works for 1080P content as well! CPU load pretty near 100% though.
With the above setup on my E8400 @ 3.6ghz, I only seem to be using 36% CPU on average.

Also, even though I've defined the SetMtMode, it seems to only work against one of my processors. *shrug*

Running SpeedFan and Task Manager both reveal that usually my second core is the one doing most of all the work with this filter...

It's okay, though, no problem. I'd really only need to use the second core with higher resolution movies or if I tried the higher quality motion detection settings, I guess.

I've installed AVISynth MT correctly by copying the MT.dll into the Plugins folder and moving MT's version of AVISynth.dll into the system32 folder, but I think this script doesn't correctly use all of the cores while in FFDShow... at least for me. Perhaps it'd do better when feeding a movie to something like VirtualDub for conversion purposes to a final format.

I've tried with SetMtMode and different thread numbers and even adding Distributor to the end of the script.

Like I said, though, not a big deal for me as long as it's working without stuttering and jerking.

sodaboy581

Avisynth Script for doubling video frame rates

soda on my rig, it's using both cores. I'm getting 50% on the 720p MKV film with Haali splitter. It looks gorgeous. Then again I'm using an e6300@2.8 ghz. Process whole image, Avisynth, all four colorspaces, and buffer are all CHECKED. BTW Buffer back/Ahead has 10/10. Don't know if that changes anything for you guys...

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by Bahn Yuki
soda on my rig, it's using both cores. I'm getting 50% on the 720p MKV film with Haali splitter. It looks gorgeous. Then again I'm using an e6300@2.8 ghz. Process whole image, Avisynth, all four colorspaces, and buffer are all CHECKED. BTW Buffer back/Ahead has 10/10. Don't know if that changes anything for you guys...
You might as well uncheck RGB24 and RGB32, though. MVTools specifically says it only works with YV12 and YUY2 images...

I don't know what's up with mine... you should check your Task Manager to be sure it's being evenly distributed amongst the cores...



As you can see here, the core on the right is clearly doing most of the work. The left core, I believe, is just doing the Lanczos resizing crap on my rig.

Not sure, though...! Maybe the multicore mode doesn't evenly distribute stuff and mine is working fine. *shrug*

EDIT: Also, checking the buffer ahead/back thing causes the script not to work.

sodaboy581

Avisynth Script for doubling video frame rates

If I could host pics, I'd gladly show you what I got on here. I have the buffer checked. I'm only using the script, nothing more. No resizing or any of that. Just "Avisynth" is checked.

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by hardc0re
But for fast motion, there are a lot of artifacts that look like 'bubbles' around fast moving objects. For example, the chase scene in Bourne Ultimatum is quite unwatchable. More experimenting with the settings for me!
yes, all these methods(ffdshow frame doubler, avisynth assume) basically do frame blending.

it looks so awesome on slow motion(starwars intros), but it looks very bad with fast movements.

nothing beats Reclock in 24fps and your display in 24/48Hz

leeperry

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by leeperry
yes, all these methods(ffdshow frame doubler, avisynth assume) basically do frame blending.

it looks so awesome on slow motion(starwars intros), but it looks very bad with fast movements.

nothing beats Reclock in 24fps and your display in 24/48Hz
reclock does something similiar?

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by blazed
reclock does something similiar?
No, all Reclock does is make sure the video is perfectly in sync with your display. Eliminating judder.

It doesn't add extra frames to make the motion look more smooth.

sodaboy581

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by blazed
ok i would like to build a new htpc, and use the scripts here for smoothing out 720p &1080 mkv files.

right now i have saved up about $700. if you guys had $700 set aside for a htpc, what would you build? what cpu/gpu? motherboard?
If you want to use the scripts posted here then you need a powerful CPU - I'd go with the C2D q6600 (overclocked) or the newer 45 watt Q9300 and wait a month (hopefully) for the G45 based motherboards to come out. If you can't wait then the Asus G35 would probably be the best best.

brianley

Avisynth Script for doubling video frame rates

Does anyone have any variation of this code that doens't lock my CPU at 100% on 1080p MKV? I have an E8400 / 4GB RAM / 9600GT.
720P averages about 50-60%.

Also besides the 1080p question - can this overlay or whatever be configured to convert Media Center signals? I have a HDTV tuner card and would like to watch TV in 'cinemotion'

Lvangundy

Avisynth Script for doubling video frame rates

If you look at the Reclock Video Hardware window, you'll see it says 75Hz.

If the Input is always 60Hz, then the Video hardware window will always read 60Hz when using HDMI?

And if the Video from the movie is 29.970 fps, and the frame rate going to the 120Hz tv is being read as 60Hz regardless of the frame rate of the video, then when the tv interpolates it just makes the video 60fps on the 120Hz tv?

What I don't understand, is how the frame rate can go through to the tv as 60Hz, and there is only 29.970 fps in that input, and the tv still interpolate 120fps if it's just reading the 60Hz input.

Doesn't it stand to reason that if the video fps and video input do not match, and the tv interpolates the video input to match it's Hz, that the result is not 120fps for 29.970 movies, but 59.940 fps?

Ntsc Mpeg-2 dvd's use pulldown to make them 29.970 fps, not 23.976 fps.

In order to interpolate, the tv would have to know how many frames to interpolate.
And if it's reading the 60Hz input to be interpolated to 120Hz, and the video source is 29.970.
Then proper interpolating is being done wrong, and it's no different from watching a ntsc movie on a 60Hz monitor.
And if that's the case, then you need to make the frame rate 60fps, so when the tv interpolates 60Hz to 120Hz, the effect is correct.
So, you really need this avisynth even if you have a 120Hz monitor.

8:13

Avisynth Script for doubling video frame rates

ok i would like to build a new htpc, and use the scripts here for smoothing out 720p &1080 mkv files.

right now i have saved up about $700. if you guys had $700 set aside for a htpc, what would you build? what cpu/gpu? motherboard?

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by 8:13
...

A lot of the lcd tv's that have 120Hz refresh rates only use this for tv mode, not when hdmi is the input using hdmi mode. For hdmi mode the tv's that say they are 120Hz actually use 60Hz. I know I bought one. I bought into the 120Hz hype only to be sad when I used reclock and it showed me the actual refresh rate was half what I thought it was.

So, if you buy a 120Hz tv, make sure it goes 120Hz in hdmi mode, not just tv mode.
I'm not sure what you mean by "120 Hz TV mode". The panel itself is always 120Hz, but the input is 60Hz regardless of what source you are getting it from. This is to bypass the 3:2 cadence and do native 5:5 pulldown for less judder as result of it. The frame interoplation software works off this basis, as there is NO available 120Hz HDMI feed. Judging from the impressions you are getting on 1080p software frame doubling, the algorithm still needs a lot of tweeking and isn't as mature as the TV frame interpolators. That and you need some big time cpu power (4.0ghz quad core Yorkfield perhaps?).

stranx44

Avisynth Script for doubling video frame rates

Curious if anyone has compared this to actual REAL 120Hz TV motion processing for Blu Ray 1080p movies?

I have a Sammy 750, and if this works as good, I wouldn't mind saving a few bucks to downgrade.

Anyone?

stranx44

Avisynth Script for doubling video frame rates

ffdshow_source()
backward_vec = MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
forward_vec = MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)
last.MVFlowFps(backward_vec, forward_vec, num=75, \
den=1, mask=0, idx=1)

The above code does the best job, but it's not really very impressive on it's own.
Once I add lsf and resize it it looks real nice.

This is the code I use on my 60Hz tv, buffer 1, 2:

ffdshow_source()
setmemorymax(1024)
MT("LimitedSharpenFaster(ss_x=1.4, ss_y=1.4, Smode=3, strength=175, overshoot=0, soft=60)",3)
fps=75 #last.framerate()*4
last.CombineFPS(fps, last. MotionFPS(fps, warpfast, move), last.MotionFPS(fps, source = next, warpfast, move))

On MI:III in the break out scene it looks pretty bad. Lots of distortion.
But, when it's not a really fast scene it looks real nice.

The first code on top is a lot better and the MI:III movie has no ugliness from it.
But the code is real slow, and I can't resize or use any other code with it using my vanilla E6600.
I can resize using multiple 2.0, and use lsf with the motion.dll code and without stutter at a full 60fps.

A lot of the lcd tv's that have 120Hz refresh rates only use this for tv mode, not when hdmi is the input using hdmi mode. For hdmi mode the tv's that say they are 120Hz actually use 60Hz. I know I bought one. I bought into the 120Hz hype only to be sad when I used reclock and it showed me the actual refresh rate was half what I thought it was.

So, if you buy a 120Hz tv, make sure it goes 120Hz in hdmi mode, not just tv mode.

8:13

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by 8:13
If your going to use MVTools instead of motion.dll. use this code.

ffdshow_source()
global idx1 = 10 # global hint by IanB
MT("""
idx1 = idx1 + 1
# different threads for top and bottom half of frame must have different idx (trick by Foxishadis)
backward_vec = MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=idx1)
forward_vec = MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=idx1)
last.MVFlowFps(backward_vec, forward_vec, num=2*FramerateNumerator(ffdshow_source()), \
den=FramerateDenominator(ffdshow_source()), mask=0, idx=idx1)
""",2) # number of threads.



- The above code will only get you 48fps on a ntsc mpeg-2 dvd. Because of the pulldown.
In order to get the fps to match the refresh rate, you will need the code below instead.
Note, it does not use MT, that's because it causes problems with this particular script. It makes the screen suffer from horizontal tearing.

ffdshow_source()
backward_vec = MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
forward_vec = MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)
last.MVFlowFps(backward_vec, forward_vec, num=75, \
den=1, mask=0, idx=1)



- This code is for a 60Hz monitor, note I'm using a num=75. That makes 60fps.
mvtools only takes whole numbers for num.
Follow the multiplcation method I showed with the motion.dll config to calculate what you should set num to.
8:13, if you had to choose which to use, you would choose it without MVtools, right? also have you tried this motion smoothing on any hd content?
i'm thinking about building a htpc, what specs do you think would work for motion smoothing hd mkv files?

blazed

Avisynth Script for doubling video frame rates

If your going to use MVTools instead of motion.dll. use this code.

ffdshow_source()
global idx1 = 10 # global hint by IanB
MT("""
idx1 = idx1 + 1
# different threads for top and bottom half of frame must have different idx (trick by Foxishadis)
backward_vec = MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=idx1)
forward_vec = MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=idx1)
last.MVFlowFps(backward_vec, forward_vec, num=2*FramerateNumerator(ffdshow_source()), \
den=FramerateDenominator(ffdshow_source()), mask=0, idx=idx1)
""",2) # number of threads.



- The above code will only get you 48fps on a ntsc mpeg-2 dvd. Because of the pulldown.
In order to get the fps to match the refresh rate, you will need the code below instead.
Note, it does not use MT, that's because it causes problems with this particular script. It makes the screen suffer from horizontal tearing.

ffdshow_source()
backward_vec = MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
forward_vec = MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)
last.MVFlowFps(backward_vec, forward_vec, num=75, \
den=1, mask=0, idx=1)



- This code is for a 60Hz monitor, note I'm using a num=75. That makes 60fps.
mvtools only takes whole numbers for num.
Follow the multiplcation method I showed with the motion.dll config to calculate what you should set num to.

8:13

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by Bahn Yuki
This is Kevin again. Been playing with Steve's quad core system. This thing is silly, it seems to have no problems adding in extra frames to get it to 72fps running 720p content, although I have to set the number of threads quite high (16-24) to get it to not hitch every now and then.
Script I'm using:
Code:
SetMtmode(2,24)
global idx1 = 10
global source=ffdshow_source()
source=changefps(source,source,true)
# assume progressive PAL 25 fps or NTSC Film 23.976 source
idx1 = idx1 + 1
backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=idx1)
# we use explicit idx for more fast processing
forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=idx1)
source.MVFlowFps(backward_vec, forward_vec, num=3*FramerateNumerator(source), den=FramerateDenominator(source), mask=0, idx=idx1)
distributor()
Make sure that "Add ffdshow video source" is unchecked, or things don't run right. Also, set the back buffers to 0, and with 24 threads I have to set the ahead buffer to 12.
Doesn't work properly on my E8400 c2d. I guess it's for c2q only.

combathero

Avisynth Script for doubling video frame rates

thanks for all the info guys. i tried these settings on my friends pc, and it works pretty good for 720p mkv files.

ofcourse there is a bit of blurring around people in fast scenes, but i see it happen on my brothers xbr5 too.

for some odd reason, i cant get these settings to work on wmv-hd files.

blazed

Avisynth Script for doubling video frame rates

This is Kevin again. Been playing with Steve's quad core system. This thing is silly, it seems to have no problems adding in extra frames to get it to 72fps running 720p content, although I have to set the number of threads quite high (16-24) to get it to not hitch every now and then.
Script I'm using:
Code:
SetMtmode(2,24)
global idx1 = 10
global source=ffdshow_source()
source=changefps(source,source,true)
# assume progressive PAL 25 fps or NTSC Film 23.976 source
idx1 = idx1 + 1
backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=idx1)
# we use explicit idx for more fast processing
forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=idx1)
source.MVFlowFps(backward_vec, forward_vec, num=3*FramerateNumerator(source), den=FramerateDenominator(source), mask=0, idx=idx1)
distributor()
Make sure that "Add ffdshow video source" is unchecked, or things don't run right. Also, set the back buffers to 0, and with 24 threads I have to set the ahead buffer to 12.

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by sodaboy581
Nah, I turn it on once in a while. The novelty of the whole thing wore off pretty fast with the artifacting that it causes every now and again.
Exactly the same feeling...well I guess wait and see whats next.

Tinker

Avisynth Script for doubling video frame rates

with this, now I love my Media Player Classic. hehehe! When I tried 720p mkv files and skip videos using seek time, the audio is not sync with the video. I dunno why. I tried normal avi's and looks just fine.

P.S This is better than TrimensionDNM.

combathero

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by Bahn Yuki
I use it all the time. Guys I got the new hardware and am testing settings this weekend. Right now I'm trying to get LPCM over HDMI...
NICE!!! let us know how it goes.

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by sodaboy581
Nah, I turn it on once in a while. The novelty of the whole thing wore off pretty fast with the artifacting that it causes every now and again.

It's pretty cool for watching things like Star Trek The Next Generation, most of the time, but when someone walks in the very front of the screen, (like say, in Ten Forward) there's some ugly outlining going on and kind of annoys me.

MVTools really wasn't designed to be used in real-time and it's only because CPUs are so fast that we can do it, but with the settings on low.

Maybe some day when I can use MVTools with the highest settings and still be able to real-time "motion flow" the image, I'll perhaps use it all the time, 'cuz I do like smooth movement.
i also watch dvds normal, but sometimes i watch it with the script you provided. sometimes i get the feeling of "soap opera" or cheap home made video on some dvds... do you ever get this feeling?

my pc isnt strong enough, but i would like to watch a 720p mkv files with motion smoothing. have you checked out any HD material with motion smoothing on? how does it look?

what is your current htpc set up?

in the ffdshow set up under "deinterlace" do you select "bypass" or are you choosing another setting?
are you also using blur and denoise?

sorry for all the dumb questions man.

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by blazed
watch all your videos with this motion smoothing?
Nah, I turn it on once in a while. The novelty of the whole thing wore off pretty fast with the artifacting that it causes every now and again.

It's pretty cool for watching things like Star Trek The Next Generation, most of the time, but when someone walks in the very front of the screen, (like say, in Ten Forward) there's some ugly outlining going on and kind of annoys me.

MVTools really wasn't designed to be used in real-time and it's only because CPUs are so fast that we can do it, but with the settings on low.

Maybe some day when I can use MVTools with the highest settings and still be able to real-time "motion flow" the image, I'll perhaps use it all the time, 'cuz I do like smooth movement.

sodaboy581

Avisynth Script for doubling video frame rates

I use it all the time. Guys I got the new hardware and am testing settings this weekend. Right now I'm trying to get LPCM over HDMI...

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by sodaboy581
No, all Reclock does is make sure the video is perfectly in sync with your display. Eliminating judder.

It doesn't add extra frames to make the motion look more smooth.
i see. thanks for the info SODA. soda, do you watch all your videos with this motion smoothing?

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by johnnyz86
you can't get real 120hz 5:5 pulldown by using this, so i assume this is just the automotion plus junk which interpolates between frames giving 48 frames per second which still isn't the most ideal. And the interpolation would mean looks like a cheap soap opera?
In my experience it doesn't look like Samsung AMP on HIGH. More like medium or low. It's more of a subtle touch to it. Personally I like the AMP on HIGH but do notice some artifact from time to time on very fast moving scenes.

Right now I'm able to get these 720 mkvs running great. I've also been able to get VC-1 to run as well. But as for a Blu-Ray AVC encode, I don't think my Q9450 can handle it. I'm hoping suasdu can give us some insight on how his Nehalem performs, as Core i7 is faster per clock than Core 2 and it's also got hyperthreading!

Bahn Yuki

Avisynth Script for doubling video frame rates

I updated post # 87. The configuration is now more stable.

8:13

Avisynth Script for doubling video frame rates

I am from europe (so mostly using PAL) and I can set the refresh rate of my projector to 24,30,50 and 60 Hz if I remember correctly. Would you prefer to set it to 24 Hz and don't use a script like this, or would I getter a better quality setting it to 60 Hz (or maybe 50?) and using 8:13's script?

I really appreciate your help.

HiPerFreak

Avisynth Script for doubling video frame rates

Nobody? Please help me. Any hints and references will be really appreciated!

HiPerFreak

Avisynth Script for doubling video frame rates

Display refresh rate should be an integer multiple of movie fps, so for pal dvds (25 fps) set the projector to 50 hz

zenebona

Avisynth Script for doubling video frame rates

Ok, and for 24p HD stuff? Should I set it to 50 hz too? And should I use these frame rate doubling scripts in both cases?

HiPerFreak

Avisynth Script for doubling video frame rates

Of course for 24p hd stuff, 24hz is the optimal refresh rate. But in this case, doubling the frame rate doesn't make sense, because the projector can't process 48 frames, only 24.
For 24fps material I use the reclock filter which speeds up playback to 25 fps, so I get smooth playback on 50hz tv, and these scripts can be used too.

zenebona

Avisynth Script for doubling video frame rates

A question: if this works for doubling the frame rate, is there any reason why it could not interpolate an additional 6 frames to the usual 24, thus giving a total 30 frames, giving a 2:2 cadence instead of the 3:2 on a 60hz LCD TV? One should expect better results than 3:2 if the interpolation is any good, yes?

Don_quixote

Avisynth Script for doubling video frame rates

I have tried this method(post#87).Unfortunately I receive the error there is no function named setMTMode...Any tips would be appreciated.

way*

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by way*
I have tried this method(post#87).Unfortunately I receive the error there is no function named setMTMode...Any tips would be appreciated.
Have you tried following instructions from page 1?

Bahn Yuki

Avisynth Script for doubling video frame rates

I finally have a Core i7 @ 3,8 GHz now and want to use frame rate doubling. What script/settings would you recommend for normal DVDs?

@all Core i7 users: What settings do you use and what work for you with HypterThreading (HT) enabled?

I already tried various scripts, but most of them crash when I have all 4 cores and HT enabled. I observed the following: With one script (one of 8:13 using mvtools2), I played arround with my i7 and noticed the following: If I disable Hyper Threading and disable 2 cores (so I have two cores in my Task Manager) it works quite well (even skipping works most of the times and DVD Menus also works "a bit". Things get worse if I enable all 4 cores but still work except that skipping is working less often and DVD menus do not work. As soon as I enable Hyper Threading too (giving my 8 cores in Task Manager) the script was only working about once out of 4 times or so and skipping did always crash the player.

@Delerue, What settings did you use on the AviSynth tab in ffdshow?

HiPerFreak

Avisynth Script for doubling video frame rates

I got a Core I7 now as well, time to get scripting!

Bahn Yuki

Avisynth Script for doubling video frame rates

Ok folks, been messing around with my 920 for a while and my friend kevin has found a script that's perfect for MKVs, Blu-Rays, HD-DVDs! Here goes:

Input Colospace YV12 checked
Checked Buffer Back ahead 0/10

setMTMode(2,8)
source=ffdshow_source()
super = source.MSuper(pel=1,hpad=16,vpad=16)
backward_vec = MAnalyse(super, blksize=16, isb =true, chroma=false, searchparam=1)
forward_vec = MAnalyse(super, blksize=16, isb =false, chroma=false, searchparam=1)
source.MFlowFps(super, backward_vec, forward_vec, num=2*FramerateNumerator(source), \
den=FramerateDenominator(source), mask=0, ml=53)
distributor()

Bahn Yuki

Avisynth Script for doubling video frame rates

ok im a total newbi to this can anyone give me a set by step instructions on how to install all this!! i keep getting script error!

ferrari2992

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by Bahn Yuki
Ok folks, been messing around with my 920 for a while and my friend kevin has found a script that's perfect for MKVs, Blu-Rays, HD-DVDs! Here goes:

Input Colospace YV12 checked
Checked Buffer Back ahead 0/10

setMTMode(2,8)
source=ffdshow_source()
super = source.MSuper(pel=1,hpad=16,vpad=16)
backward_vec = MAnalyse(super, blksize=16, isb =true, chroma=false, searchparam=1)
forward_vec = MAnalyse(super, blksize=16, isb =false, chroma=false, searchparam=1)
source.MFlowFps(super, backward_vec, forward_vec, num=2*FramerateNumerator(source), \
den=FramerateDenominator(source), mask=0, ml=53)
distributor()
works great, thanks!

stockwiz

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by Bahn Yuki
Ok folks, been messing around with my 920 for a while and my friend kevin has found a script that's perfect for MKVs, Blu-Rays, HD-DVDs! Here goes:

Input Colospace YV12 checked
Checked Buffer Back ahead 0/10

setMTMode(2,8)
source=ffdshow_source()
super = source.MSuper(pel=1,hpad=16,vpad=16)
backward_vec = MAnalyse(super, blksize=16, isb =true, chroma=false, searchparam=1)
forward_vec = MAnalyse(super, blksize=16, isb =false, chroma=false, searchparam=1)
source.MFlowFps(super, backward_vec, forward_vec, num=2*FramerateNumerator(source), \
den=FramerateDenominator(source), mask=0, ml=53)
distributor()
This even works on my overclocked e8400 duo. Thanks!

johnifehr

Avisynth Script for doubling video frame rates

Actually I tried some 1080p mkv's and it starts losing frames but 720p is perfect is there a script that will work for 1080p files?

johnifehr

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by johnifehr
Actually I tried some 1080p mkv's and it starts losing frames but 720p is perfect is there a script that will work for 1080p files?
Yeah!! me too

E8400 no oc

laseractive

Avisynth Script for doubling video frame rates

I tried the latest frame doubler on my own computer whit a Phenom X4 9750 2.4Ghz, it manages to go somewhat ok on non hd content. whit 720p the cpu gets 100% and it's unwatchable.

There is a problem whit frames being dropped constantly though and sometimes more than a few are dropped and you notice it in the video that jumps. This even when cpu usage on each core stays below 30% spread about all 4 cores.
Though when I watch the video in windowed mode it doesn't drop frames, only in fullscreen mode for some reason, it's weird.

well 23.976 looks loads better whit the framedoubler than the 3:2 pulldown, it's loads smoother on my 60Hz monitor. Would be nice to utilize this on non-hd content but the frame dropping isn't nice when in fullscreen though.

1024x576 uses 50% cpu and if one core reaches 70% or such it seems to drop a frame even in windowed mode... though the more normal dvd sizes that has overall 30% usage should not drop any but they do sa mentioned in fullscreen. ;_;
I tried 4 threads and 8 threads same results but 4 was more smooth and less drops though.

Any suggestion for me?

Nighthog

Avisynth Script for doubling video frame rates

If someone could make use of the huge processing power of GPUs the this thing could really fly! Meanwhile I found a reason to get an I Core 7 and overclock it.

I plan on using this on a front projector (Infocus IN83) so will let you know.

JargonGR

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by JargonGR
If someone could make use of the huge processing power of GPUs the this thing could really fly!
You can but not on the fly, to do so you need to encode your source like a movie for example to 60fps first;


http://www.avsforum.com/avs-vb/showthread.php?t=1132692

Socio

Avisynth Script for doubling video frame rates

Hi All,

I tried to set up with 60fps, but I found the picture is much better with 48. I don't know why. Do you have any idea?

Chriss745

Avisynth Script for doubling video frame rates

I found the reason. On 1920x1080 my 4x3GHZ + 9600GT with CUDA is not enough for 60fps, only for 48. On 1920x800 it is fine and either for 720p. To tell th truth I can't see the difference between the 48 and 60 fps, so I stay at 48 fps.

Chriss745

Avisynth Script for doubling video frame rates

hey guys i was wondering if i could get an opinion. i really dont know too much about pcs, but this is what im currently using:


amd 3500+
1gb ram
x800xt



this is what i configured on the dell site. can anyone please tell me if this is a good deal?

i just want to know if it will be able to play mkv files and run these scripts posted here. maybe a little bit of gaming also. (cod, crysis)

1 Studio XPS Desktop - 435 Mini Tower
1 640 GB SATA II Hard Drive (7200 RPM)
1 16X DVD +/- RW w/dbl layer write capability
1 Operating System Label
1 Resource DVD
1 Dell USB 6-Button Logitech Mouse
1 Software CD
1 64BIT Operating System CD
1 Genuine Windows Vista Home Premium
1 Thermal MiniTower
1 4 GB DDR3 SDRAM 1066MHz (4 DIMMs)
1 USB Multimedia Keyboard
1 Processor: Intel Core i7-920 Processor (8MB L3 Cache, 1MB L2 Cache, 2.66GHz)
1 Dell 19 in 1 Media Card Reader
1 512MB ATI Radeon HD 4850
1 Image Restore Software
1 Roxio Creator 10

Get 15% off any refurbished Inspiron, Studio or XPS PC with this coupon! - $95.85


1 STUDIO XPS DT (435 MT): 1Yr Ltd Hardware Warranty, In-Home Service after Remote Diagnosis, 24x7 Phone Support (Included In Price)
Order Subtotal: $543.15
Shipping Discount: -$29.99

Tax Total: $47.50
Total Amount: $590.65

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by HiPerFreak
I am from europe (so mostly using PAL) and I can set the refresh rate of my projector to 24,30,50 and 60 Hz if I remember correctly. Would you prefer to set it to 24 Hz and don't use a script like this, or would I getter a better quality setting it to 60 Hz (or maybe 50?) and using 8:13's script?

I really appreciate your help.
It probably depends what you like your movies to look like.

Most of us, particularly in Europe, don't like 3:2 pull-down for 24p displayed at 60Hz, as we've grown up with 2:2 pulldown with speed-up to convert 24Hz content to 50Hz. We therefore have a number of options :

1. 24p replay at normal speed with the display refreshing at a multiple of 24Hz - giving 2:2 at 48Hz, 3:3 at 72Hz, 5:5 at 120Hz etc. This works if your projector is 24Hz friendly and your PC can output at 24Hz. It doesn't interpolate any new frames - you see the original film capture with the 24Hz temporal capture untouched.

2. 24p replay sped up with 25Hz and output at 50Hz with 2:2 - but with sped up action and sound (possibly not pitch-corrected) This is good if your display isn't 24Hz friendly, and also doesn't interpolate new frames - so you see similar to the above.

3. 24p interpolated to a higher frame rate, such as 50 or 60Hz. This analyses the 24Hz sequence and tries to synthesise new frames, and if you chose a higher frame rate it will often "smooth" out the 24Hz native motion, tracking objects and guesstimating where they will be between frames. It can appeal to some people as it reduces the inherent low-frame rate judder caused by 24Hz (or 25Hz) capture. (This isn't the same as the asymmetric judder caused by 3:2 pulldown of 24p content displayed at 60Hz) It takes a LOT of processing power - and is still guesstimation. It can make film look like "soap" and isn't always a good technique to use on action sequences, where the motion tracking is defeated by very fast moving objects, or random motion etc.

Personally I prefer option 1 as a first choice, and option 2 as a second if your display isn't 24Hz friendly.


(* for 24Hz read 23.976Hz which is often called 23Hz in some drivers, and for 60Hz read 59.94Hz which is often called 59Hz in some drivers)

sneals2000

Avisynth Script for doubling video frame rates

8:13 i followed the instructions but i get this error when i play files.


Script error: there is no function 'Msuper' (ffdshow filter_avisynth_script, line 3)

what does this mean?

blazed

Avisynth Script for doubling video frame rates

I updated post 87.

8:13

Avisynth Script for doubling video frame rates

i tried 8:13 settings and it looked awesome, but mpc kept crashing. i tried Bahns script and it looks just as good, but no more crashing.

are the plugins listed in this thread the only plugins needed? or should i be getting more plugins for avisynth?

blazed

Avisynth Script for doubling video frame rates

damn this looks pretty amazing.

blazed

Avisynth Script for doubling video frame rates

I updated post 87 with a list of how to fix crashing errors.

8:13

Avisynth Script for doubling video frame rates

Turn your settings way way down. The threads should be about 12...I have an e6300 @ 2.8. I'm going to put Vista SP1 on it real soon and believe me, I'll be doing some testing on that rig as well.

Bahn Yuki

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by Bahn Yuki
Turn your settings way way down. The threads should be about 12...I have an e6300 @ 2.8. I'm going to put Vista SP1 on it real soon and believe me, I'll be doing some testing on that rig as well.
Still unstable playing 720p mkv files. This is my current settings, what did I miss?


combathero

Avisynth Script for doubling video frame rates

I almost forgot to tell that every time I play 720p using mkv files, it always frame skipping the video.

combathero

Avisynth Script for doubling video frame rates

@Bahn Yuki

It looks like your first script on first page worked for me but every time I close MPC, it will become unresponsive.

combathero

Avisynth Script for doubling video frame rates

The concept behind this is great, but there're still problems:

MVTools isnt fast enough to do 1920x1080p, even on a Quad-core.
We are using the lowest quality settings for MVTools, so there is still artifacting.

It works okay for 720p or non-HD resolutions though, but I resize all my videos to 1920x1080.

So for now I am sticking to speeding up 24fps material to 25fps @ 50Hz using ReClock. At least it looks the same as it does in the movie theater.

Looking forward to somebody making a breakthrough in quality/speed of MVTools or any other similar filter, so that 1920x1080 is doable with decent quality using most PCs.

hardc0re

Avisynth Script for doubling video frame rates

Media Player crashes every time I run it. Have I done something wrong with MVtools? Where do I place the DLLs?
Nevermind, I got it. Just hadn't registered avisynth.dll properly. LOL this is trippy...

Petros

Avisynth Script for doubling video frame rates

Hey Petros how did u stop media player from crashing? I'm having the same problem.. thanks

usermmg

Avisynth Script for doubling video frame rates

also if someone could please tell me where to paste the script... i'm very new to this and having a difficult time.. sorry.. is there a tutorial for this?

usermmg

Avisynth Script for doubling video frame rates

OK.. here's an update kinda... I was able to achieve that Samsung " auto motion plus" look with a 1080p downloaded version of Transformers. I don't think it was due to the Avisynth script though. I say that because when using MPC with the Avisynth box checked... the player crashes every time i hit the play button.. unchecked everything works fine. I don't know what i'm doing wrong as far as the plugins go but i must be doing something right in order to get that smooth video effect on HD content. who knows.. i'll keep playing around with avisynth to see if i can get it to play with the box checked...

usermmg

Avisynth Script for doubling video frame rates

I recently bought a Toshiba 40RF350u and lamented the fact that it doesn't have 120Hz processing..it seems to make a big difference in the picture.

I didn't really think that 120Hz televisions were using a 120Hz refresh rate, maybe they are, I'm not sure. I figured it was the processing that made the difference, so I thought maybe someone has found a way to do it with ffdshow, did a google search and here I am!

I've hooked it up and it works great!!!
I made a couple of mistakes the first time I did the install so I figured I'd spell it out here.
(Links are given to make things easier, some of these can be found in other places)
  1. Install ffdshow ( I used rev 1977 ): http://www.afterdawn.com/software/vi...rs/ffdshow.cfm
  2. Install AVISynth 2.5.7 http://sourceforge.net/project/showf...group_id=57023
  3. Install MVTools for AVISynth:
  4. Install MT (multi-threading plug-in) for AVISynth:
    • Download: http://avisynth.org/mediawiki/MT
    • Place MT.dll into the avisynth/plugins folder
    • Overwrite c:/windows/system32/avisynth.dll with the avisynth.dll found in the the MT archive
  5. Configure FFDShow:
    • Enable avisynth for ffdshow
    • copy and paste the script from earlier in this thread into the script window
    • uncheck the RGB24 and RGB32 checkboxes
    • uncheck add ffdshow video source (anyone comment as to why? I read this somewhere)
    • configure codecs: (Is there a way to just process all video without changing codecs, esp. in vista media center?)
      • Select codecs in ffdshow.
      • For DVD: Change MPEG2 to libmpg2 and select the DVD decoding checkbox
      • For DVR-MS?
If you are playing video and the ffdshow icons don't show up in the tray, it isn't working.

If you are using Media player classic, you may have to disable some of the internal filters to get ffdshow to do the processing for you.

Gowry

Avisynth Script for doubling video frame rates

Hey GOWRY.. Thanks for that tutorial.. i'll set it up as soon as i make it home from work today!! Does everything run smoothly?

usermmg

Avisynth Script for doubling video frame rates

Thanks! I'll be very glad if the tutorial helps anyone.

As to the question on smoothness, it all depends on what I'm playing. I've tried to playback dvr-ms and can't get it to work very well...but it could be because the dvr-ms files are 1080i taken from a QAM tuner.

For DVD and some older television, the results are great! I have an E6300 running in my media center and it seems to keep up with the DVD's ok. I've only tried a couple, though.

I'd like to pre-render an HD source and see what it looks like. I think I can do it with AVISynth and some other program maybe.

Gowry

Gowry

Avisynth Script for doubling video frame rates

HD video running at 59.940fps

One of my test videos seemed to gain no benefit from the processing. I looked at the script and the source material and found that the clip was running at 59.940 fps. I read on one forum that it was likely that it was frame doubled. I modified one of the scripts so that it became:

SetMtmode(2,24)
source=ffdshow_source()
source=changefps(source,29.970,true)
backward_vec = source.MVAnalyse(blksize=16, isb = true, chroma=false, pel=1, searchparam=1, idx=1)
# we use explicit idx for more fast processing
forward_vec = source.MVAnalyse(blksize=16, isb = false, chroma=false, pel=1, searchparam=1, idx=1)
source.MVFlowFps(backward_vec, forward_vec,0,0, mask=0, idx=1)
distributor()

The key call was to changefps to convert it to half it's normal fps by discarding frames.

Gowry

Gowry

Avisynth Script for doubling video frame rates

________ Software setup ________
First install a Frontend: I'm using Media Player Classic

Second, install Avisynth.exe, FFDshow, Put the plugins in the avisynth plugins folder.
- From the MT folder. Put the avisynth.dll into the system32 folder, or if your using vista64 put it in the SysWOW64 folder.
The MT.dll goes into the avisynth plugins folder.

Third, Setup the software as shown below.
a.) You need to setup ffdshow audio .
b.) You need to setup ffdshow video.
c.) You need to configure the frontend as shown below.


________ FFDShow Motion Configuration ________

Codecs tab
Set Mpeg2 to Libmpeg2, and check "DVD decoding".
Set Avisynth to Avisynth, Raw video to All supported

Avisynth tab
YV12 checked,
Add FFdshow Video source, Unchecked,
3:2 Pulldown box: Ignore Pulldown checked,
Check Buffer back/Ahead: 1, 1

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Motion_12Dec05.dll")
ffdshow_source()
fps=75 #last.framerate()*4
last.CombineFPS(fps, last. MotionFPS(fps, warpfast, move), last.MotionFPS(fps, source = next, warpfast, move))

Subtitles tab, Unchecked
Uncheck "Decode closed captions"
Uncheck "Accept embedded subs"
Uncheck "Accept SSA, ASS, ASS2 Subtitle (experimental)
Vobsub subpage, uncheck Vobsub Enable.

Resize & aspect tab
Multiply by:
1.780 (for 1280x720 16:9 aspect ratio)
2.668 (for 1920x1080 16:9 aspect ratio)
Process Pixel aspect ratio internally checked
No aspect ratio correction checked
Lanczos
Taps: 2
Luma Sharpen: 0.00
Accurate rounding checked

Queue & Output tab
Queue output samples checked

Output tab
YV12 checked

________ FFdshow Audio Decoder ________

Codecs tab
- AC3 Tab
Decoder liba52
Do Not Check "Dynamic Range compression"
Do Not Check Use SPDIF when AC3 output set
( If your using spdif. Set Decoder to Spdif )

- DTS Tab
Decoder libdts
Do Not Check "Dynamic range compression"
Do not Check "...for DTS in WAV"
Do Not Check Use SPDIF when AC3 output set
( If your using spdif. Set Decoder to Spdif )

- Uncompressed Tab
Set it to "all supported"

Delay Tab
- Check OSD,and Check Jitter.
Close FFdshow Audio Decoder, and play a movie.
While the movie is playing. You'll the the word "Jitter" in the top left of the screen.
Beside the word Jitter is a number. Write this number down, or remember what it was.
Delay Tab.
Set each box to the number you wrote down in the previous step.
My jitter number is -32, so I write down 32 in the delay tab.

Mixer tab
- Select stereo
( Check mixer if you only have stereo speakers, 2 speakers )

Volume tab
- Check Normalize
( Check the volume tab if you want a sound boost in volume )

Output tab,
Either
a.) one of 16, 24, 32 bit sound,
Or,
b.) AC3 (S/PDIF encode mode) checking "Encode only 5.1ch streams".
Choose b.) if your using spdif.
Uncheck 16, 24, 32 bit sound if you choose b.).

"Exclusive mode is not needed for digital sound but it is needed for a bitstream output (Dolby Digital or DTS for example)." - MrChung, avsforum

So, if your going to use dts or dolby digital.
You need to activate Exclusive Mode in Vista.
Here is how to do this.

1. Click the Start Circle
2. Select Control Panel
3. Select Classic View
4. Double-click Audio Devices and Sound Themes
5. Under the Audio Device tab, click your Audio (output) Playback Device
6. Click the Properties button
7. Click the Options tab and you will see the following:
"Allow applications to take Exclusive control of this Device"
"Give Exclusive mode applications priority".
9. Check Allow applications to take exclusive control of this device.
10. Check Give exclusive mode applications priority.
11. Click OK

"The definition of exclusive mode is that the application have complete control of the sound device so no other sound can be played." - MrChung, avsforum

________ Media Player Classic ________

Click the View button. Check only the top three in the drop down list.
Click options.

Click the output tab, and set Directshow output to system default.

Click the Audio Switcher Tab, Slide the bar to the far right.

Click the External Filters Tab.
Click the Add Filter Button.
Double click the filters you want. You'll need;
FFdshow Audio decoder
FFdshow video decoder

For Vista, I find blocking these in External filter is good.
First you'll have to add them to the external filters list though.
- Microsoft MPEG-1 DD Audio Decoder
- Microsoft MPEG-2 Video Decoder
- WMVideo Decoder DMO
- Cyberlink Video/SP Decoder (PDVD7)
- ANd if you have the nvidia or other video and audio decoder, block them too.
Just set the ffdshow audio and video codecs to prefer. Set the rest to Block.

Demo pictures

Media Player Classic


FFDshow Video


FFDshow Audio


AVisynth setup in FFDshow


Plugins


Notes:

- This FFDShow video code in the avisynth section, is meant for monitors that are 60Hz, and NTSC Mpeg-2 dvd's.

- If your watching a Mpeg-2 NTSC DVD, and you have a different refresh rate than 60Hz.
You need to change the fps in the code.
How you do this is if your monitor is 75 Hz, you multiply 75 x 1.25 = fps

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Motion_12Dec05.dll")
ffdshow_source()
fps=112.5 #last.framerate()*4
last.CombineFPS(fps, last. MotionFPS(fps, warpfast, move), last.MotionFPS(fps, source = next, warpfast, move))

- If your monitor Refresh rate, Hz, is a multiple of 29.970.
Say 60 Hz.
The multiple 29.97 x 2 = 59.94
59.94 x 1.25 = 74.925

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Motion_12Dec05.dll")
ffdshow_source()
fps=74.925 #last.framerate()*4
last.CombineFPS(fps, last. MotionFPS(fps, warpfast, move), last.MotionFPS(fps, source = next, warpfast, move))

- If your using Pal Mpeg-2, because this doesn't use Pulldown, you don't need to multiply the intended fps by 1.25
So, if you want 50fps the code would look like this:

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Motion_12Dec05.dll")
ffdshow_source()
fps=50 #last.framerate()*4
last.CombineFPS(fps, last. MotionFPS(fps, warpfast, move), last.MotionFPS(fps, source = next, warpfast, move))

- This code CANNOT use MT.

- Thank you Bahn Yuki, and his friend Kevin.

\\\\\ List of the nessessary Avisynth plugins to go in the plugin folder. 9 in total.

MaskTools.dll
Motion.dll

________ Plugins ________
http://avisynth.org/warpenterprises/...l_20051212.zip
http://manao4.free.fr/MaskTools-v1.5.8.zip

________ Software ________
http://downloads.sourceforge.net/ffd...0&big_mirror=0
http://downloads.sourceforge.net/gul...0&big_mirror=0
http://downloads.sourceforge.net/avi...4&big_mirror=0

8:13

Avisynth Script for doubling video frame rates

wow thanks for all the pics. just one question, what do you guys use for deinterlace? just leave it unchecked?

blazed

Avisynth Script for doubling video frame rates

blazed,

For movies you don't need deinterlacing. Sometimes documentaries, asian films, or anime do need to be deinterlaced.
When you need to deinterlace, you should use powerdvd and hw acceleration, not ffdshow.

Also, in some movies I need to uncheck avisynth in ffdshow so I can see the root menu.
Once the movie starts I just recheck avisynth to get the fps at 60.

Sometimes when I pause the movie then restart it the fps is at 30, to fix this I pause for once second then play again, or seek to a different part of the movie and it works again. This is with media player classic.

8:13

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by 8:13
blazed,

For movies you don't need deinterlacing. Sometimes documentaries, asian films, or anime do need to be deinterlaced.
When you need to deinterlace, you should use powerdvd and hw acceleration, not ffdshow.

Also, in some movies I need to uncheck avisynth in ffdshow so I can see the root menu.
Once the movie starts I just recheck avisynth to get the fps at 60.

Sometimes when I pause the movie then restart it the fps is at 30, to fix this I pause for once second then play again, or seek to a different part of the movie and it works again. This is with media player classic.

thank you very much sir! jsut one last question, what is the difference between your script, and the script that bahn yuki pasted? will they both do the job with similiar performance?

im pretty new to this whole ffdshow thing, so i wasnt sure if i was supposed to change other settings, like deinterlace, sharpen, blur, noise, etc.

blazed

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by blazed
thank you very much sir! im pretty new to this whole ffdshow thing, so i wasnt sure if i was supposed to change other settings, like deinterlace, sharpen, blur, noise, etc.
No need. You can if you want though.

8:13

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by blazed
thank you very much sir! jsut one last question, what is the difference between your script, and the script that bahn yuki pasted? will they both do the job with similiar performance?
"Changefps will introduce judder itself which cannot be undone by mvtools nor motion.dll." - scharfis_brain

"the realtime interpolation quality of motion.dll is much better than the one of mvtools.dll." - scharfis_brain

Link

The scripts in this thread that use MVTools, us changefps.
By doing this, there will be judder.
If you use Motion.dll and do not use MT or Changefps, then there will be no problem.

The script I posted was by scharfis_brain.

8:13

Avisynth Script for doubling video frame rates

Quote:
Originally Posted by 8:13
"Changefps will introduce judder itself which cannot be undone by mvtools nor motion.dll." - scharfis_brain

"the realtime interpolation quality of motion.dll is much better than the one of mvtools.dll." - scharfis_brain

Link

The scripts in this thread that use MVTools, us changefps.
By doing this, there will be judder.
If you use Motion.dll and do not use MT or Changefps, then there will be no problem.

The script I posted was by scharfis_brain.

THANKS for taking the time to help, i really do appreciate it. lots of info in the link too.

blazed

Avisynth Script for doubling video frame rates

1080p Would take massive processing power. I have a 6750 c2d (2.66ghz) and it has a hard time with some 720p files


Have been tinkering with different scripts but haven't found a perfect one yet, any one else come up with something better?

thrasher64

Avisynth Script for doubling video frame rates

Hi guys, I tried all the settings you suggested here (thanks to 8.13, Bahn Yuki, Blazed etc...) both MVTools and motion.dll code but I think that WinDVD9 still does a better job expecially on fast scene (I only tested PAL material). But... I would prefer using ffdshow/avisynth with zoom player so go on searching for the best settings!
Thank you!

ale.pac

 0 1
Previous Question:  WTT lumen eles for Novus eles  Codemasters forum  RF Online CommerceNext Question:  White bars on my display picture inside  AVS Forum  Home Theater Computers

- Source: Avisynth Script for doubling video frame rates AVS Forum Home Theater Computers
- Previous Question: WTT lumen eles for Novus eles Codemasters forum RF Online Commerce
- Next Question: White bars on my display picture inside AVS Forum Home Theater Computers