or Connect
AVS › AVS Forum › Video Components › Home Theater Computers › Avisynth Script for doubling video frame rates
New Posts  All Forums:Forum Nav:

Avisynth Script for doubling video frame rates - Page 8

post #211 of 1968
I'm using this avisynth script in ffdshow:

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

I'm using it with coreavc 2.0 with cuda enabled.

My hardware specs:

q6600 @ 2.4 GHz
8 GB RAM
8600 GTS 256 MB RAM

I also set ffdshow to resize the video before it gets to the avisynth script to 480p resolutions if it's above that. But I made sure to keep the aspect ratio.

The problem I'm having is the audio doesn't seem to be in sync with the video sometimes. Is there anything I can do to improve the performance? My cpu seems to be going at 70% on average with this on. I thought resizing it in ffdshow first before it is sent through the avisynth script would help.
post #212 of 1968
Quote:
Originally Posted by johnifehr View Post

- 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.

Hmmm... Maybe you're using simple values in order to relax the CPU work; unfortunately this brings a few extra artifacts. With the script I quoted above I can tell you that isn't impossible (not even close) with a 1080p video in real-time.

One thing I noticed is that checking 'Add ffdshow video source' decreases the performance A LOT. I know it doesn't make any sense to check this with MVTools script, but it's a nice thing to remember if you're playing with other scripts or checked it by accident and suddenly experience low performance that you haven't before.

BTW, I tested PowerDVD 9 with the so called 'TrueTheater Motion' option. It's very very light in terms of CPU usage, but it behaviors like TVs with 120 Hz (or more) turning on/off the smoother all the time and making the experience a nightmare. They think that turn off the smoother is better than show artifacts. I disagree. Let's hope Splash will bring something really cool.
post #213 of 1968
Is there any chance there is a script for a Pentium 4 3.0GHz machine that can double the frame rate of a 1600x 24fps native .avi?

ffdshow is used in a bike trainer program from Tacx. The Tacx program slows down the .avi video frame rate if you pedal slower. When going slower, 8 - 10 fps is the norm and really hurts the eyes, so I was hoping this frame doubler technique could help increase and smooth out this slowed down .avi playback to 20fps.

I've followed the #187 post and THINK I have it working as I can see a sort of blurring effect on the fast moving screen objects but the frame rate is worse than if running without avisynth checked. 8-10fps is the norm and with avisynth check, OSD show fps of about 3-5fps.

Any help here would be greatly appreciated if there is a simpler script or something to try. thanks.
post #214 of 1968
What's the resolution of the avi file? Does it play normally at all without avisynth checked? If it doesn't, then probably not due to avisynth requiring even more cpu resources.

Sounds like its time to upgrade.
post #215 of 1968
Quote:
Originally Posted by pyrates View Post

What's the resolution of the avi file? Does it play normally at all without avisynth checked? If it doesn't, then probably not due to avisynth requiring even more cpu resources.

Sounds like its time to upgrade.

It's 1600x700 or something close to that. My cpu usage is never 100% which is odd. Its high around 80-90% but its never maxed out so doesn't seem like its a cpu thing but I dunno.
post #216 of 1968
Quote:
Originally Posted by Destroy View Post

It's 1600x700 or something close to that. My cpu usage is never 100% which is odd. Its high around 80-90% but its never maxed out so doesn't seem like its a cpu thing but I dunno.

That's normal. The plugins aren't effecient enough to use all your cpu. Your cpu is not fast enough, time to upgrade. At minimum for that file I would go with a core 2 quad.
post #217 of 1968
Domas
what script are you currently using?
post #218 of 1968
Found a great script that works for 720p video on my system here:

q6600 CPU
8 GB RAM
nVidia 256 MB 8600GTS

Here's the original post:

Quote:


This method interpolates extra frames between the 24 fps to achieve 48 fps enabling supersmooth fluid motion.

It does not simply double the existing frames, it actually interpolates a new image to fit in between. It's hard on your cpu!
It is great for scenes where the camera pans over the scenery at a constant speed. Fast action scenes tend to be more clear as well. The whole movie gets a very realistic feel to it. It's just awesome. Actually IMAX HD is at 48 fps as well. Beware though, it is not easy to get this working. But once you got it, you never want to go back to 24!

I have been testing and tweaking all kind of scripts and filters and came accross people who said it's impossible realtime, for dvd res only or people who did 720p only. On 1080p mkv's I get about 80% cpu usage on my q6600 @ 2.7ghz and about 30% usage on 720p, all cores used. I can enable other filters at the same time like sharpen, noise and subs. Here's how:

1. Get BSPlayer free edition: http://www.bsplayer.org
Media player classic and zoomplayer give sometimes stuttering results on 1080p, it works good for 720p though. Set bsplayer options on internal overlay video output.

2. Get FFDShow: http://www.free-codecs.com/download/FFDshow.htm
Install with all avisynth options enabled

3. Get Avisynth: http://sourceforge.net/project/showf...group_id=57023

4. Get mvtools: http://avisynth.org.ru/mvtools/mvtools.html#download.
Now for the tricky part, put mvtools.dll in the Avisynth/plugins folder.

5. Download MT (multi-threading plug-in) for AVISynth: http://avisynth.org/mediawiki/MT.
Put MT.dll also in the Avisynth\\plugins folder. Avisynth.dll has to replace the dll in the c:\\windows\\system32 folder or c:\\windows\\syswow64.

6. Open the ffdshow filter and put this script in the avisynth tab:

SetMtmode(2,16)
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=2*FramerateNumerator(source), den=FramerateDenominator(source), mask=0, idx=idx1)
distributor()

Put buffer back/ahead on 0/24. Disable 'add ffdshow video source' and disable YUY2, RGB24 and RGB32. From the script you can change SetMtmode(2,16) to 2,8 for 8 threads if you have a dual-core.

That's it! To see if it works use fraps, or check your cpu usage or enable the framerate osd of ffdshow. 21:9 1080p movies (1920x800 pixels orso) tend to be more easy for your cpu than 16:9 movies (1920x1080).

Have fun!!!

One last tip, bsplayer can do more than you think, additional options are hidden in the keyboard shortcuts.

Then do the following:

1. Download and install Media Player Classic - Home Cinema.
2. In ffdshow set raw video to all supported in Codecs.
3. In Media Player Classic - Home Cinema, set FFDShow Video Decoder to be preferred in External Filters.
4. Buy and download Coreavc
5. In coreavc enable cuda
post #219 of 1968
Quote:
Originally Posted by blazed View Post

Domas
what script are you currently using?

SetMemoryMax(1280)
SetMTMode(3,4)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1, hpad=16, vpad=16,rfilter=2)
backward_vec1=MAnalyse(super,chroma=false, isb=true, blksize=32, blksizev=16, searchparam=1, search=3,plevel=1,badrange=(-24), trymany=true)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=32, blksizev=16, searchparam=1, search=3,plevel=1,badrange=(-24), trymany=true)
backward_re1 = MRecalculate(super,chroma=false, backward_vec1,blksize=16, blksizev=8, thSAD=300, searchparam=1,search=3)
forward_re1 = MRecalculate(super,chroma=false, forward_vec1,blksize=16, blksizev=8, thSAD=300 ,searchparam=1,search=3)
MBlockFps(super,blend=true, backward_re1, forward_re1, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

UPDATED
post #220 of 1968
Quote:
Originally Posted by Domas4 View Post

SetMemoryMax(1280)
SetMTMode(3,4)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1, hpad=16, vpad=8,rfilter=2)
backward_vec1=MAnalyse(super,chroma=false, isb=true, blksize=32, blksizev=16, searchparam=1, search=3,plevel=1,badrange=(-24), trymany=true)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=32, blksizev=16, searchparam=1, search=3,plevel=1,badrange=(-24), trymany=true)
backward_re1 = MRecalculate(super,chroma=false, backward_vec1,blksize=16, blksizev=8, thSAD=300, searchparam=1,search=3)
forward_re1 = MRecalculate(super,chroma=false, forward_vec1,blksize=16, blksizev=8, thSAD=300 ,searchparam=1,search=3)
MBlockFps(super,blend=true, backward_re1, forward_re1, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

=_=
ttp://i.piccy.info/i4/8c/14/5d39b0a4457ccf6f5bae9da93303.png
post #221 of 1968
Quote:
Originally Posted by Domas4 View Post

SetMemoryMax(1280)
SetMTMode(3,4)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1, hpad=16, vpad=8,rfilter=2)
backward_vec1=MAnalyse(super,chroma=false, isb=true, blksize=32, blksizev=16, searchparam=1, search=3,plevel=1,badrange=(-24), trymany=true)
forward_vec1=MAnalyse(super,chroma=false, isb=false, blksize=32, blksizev=16, searchparam=1, search=3,plevel=1,badrange=(-24), trymany=true)
backward_re1 = MRecalculate(super,chroma=false, backward_vec1,blksize=16, blksizev=8, thSAD=300, searchparam=1,search=3)
forward_re1 = MRecalculate(super,chroma=false, forward_vec1,blksize=16, blksizev=8, thSAD=300 ,searchparam=1,search=3)
MBlockFps(super,blend=true, backward_re1, forward_re1, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last



thanks so much. you have been a great contributor in this thread. earlier on you said that you prefered mflow over mblock. is this still the case?
post #222 of 1968
Quote:
Originally Posted by blazed View Post

thanks so much. you have been a great contributor in this thread. earlier on you said that you prefered mflow over mblock. is this still the case?

Since my PC is too slow for mflow to play 720p, I just do not tweak it
and go with mblock. Mblock isn't too bad; with bigger blocks, higher
penalties and MRecalculate I can eliminate almost all blocking artifacts.
post #223 of 1968
Quote:
Originally Posted by Tachiorz View Post

=_=
ttp://i.piccy.info/i4/8c/14/5d39b0a4457ccf6f5bae9da93303.png

This can be the result of "trymany=true" in the script. Try setting it to "trymany=false". Can you see this artifact only when you pause the video?
post #224 of 1968
post #225 of 1968
Domas, the MemoryMax, and the "MTMode" are the best for any processor/ammount of RAM?
How should I set it to 2GB of RAM and a quad-core (AMD) processor?

Thanks a lot
post #226 of 1968
Quote:
Originally Posted by pijiman View Post

Domas, the MemoryMax, and the "MTMode" are the best for any processor/ammount of RAM?
How should I set it to 2GB of RAM and a quad-core (AMD) processor?

Thanks a lot

For 2GB RAM and Quad-core AMD processor you should do the following changes:
SetMemoryMax(1024)
SetMTMode(3,8)

Besides, don't forget to use the latest Avisynth MT 2.5.8 which could be found here:
http://www.mediafire.com/file/nnbngf...isynth258MT.7z
(Link taken from the thread: http://forum.doom9.org/archive/index.php/t-148117.html)
post #227 of 1968
FINAL (Update 2011/03/19)

Used with MT for Avisynth 2.5.8 (http://www.mediafire.com/file/nnbngf...isynth258MT.7z)
Avisynth 2.5.8 (http://surfnet.dl.sourceforge.net/pr...isynth_258.exe)
Latest ffdshow (http://www.free-codecs.com/FFDshow_download.htm)
Latest MVTools (http://avisynth.org.ru/mvtools/mvtools2.html)

Optimized for High Definition movies. The script is not a resource hog, therefore if there is enough power left,
you should change pel=1 to pel=2 for better motion accuracy estimation. Please keep in mind that the processor's
maximum load should not exceed 75% when watching fast scenes, otherwise the frames will be dropped. Enjoy
--------------------------------------------------------------------------------------------------------------
Final Script for DUAL-CORE processors (Buffer back 0, Buffer ahead 8):
--------------------------------------------------------------------------------------------------------------
SetMemoryMax(768)
SetMTMode(3,4)
ffdShow_source()
#change pel=1 to pel=2 if you have enough power left; however max CPU load should not exceed 75%;
super=MSuper(pel=1, hpad=4, vpad=4)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=1, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=1, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, blksizev=8, searchparam=1, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, blksizev=8, searchparam=1, search=3)
MBlockFps(super, backward_2, forward_2, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

--------------------------------------------------------------------------------------------------------------
Final Script for QUAD-CORE processors (Buffer back 0, Buffer ahead 12):
--------------------------------------------------------------------------------------------------------------
SetMemoryMax(768)
SetMTMode(3,8)
ffdShow_source()
#change pel=1 to pel=2 if you have enough power left; however max CPU load should not exceed 75%;
super=MSuper(pel=1, hpad=4, vpad=4)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=1, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=1, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, blksizev=8, searchparam=1, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, blksizev=8, searchparam=1, search=3)
MBlockFps(super, backward_2, forward_2, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

____________________________________________________________ ____________________________________
____________________________________________________________ ____________________________________
If you don't want to use ReClock, and still watch movies in 60fps or 50fps (or whatever your Monitor's Hz rate is) here is what you have to do:

To get 60 fps
change
MBlockFps(super, backward_2, forward_2, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
to:
MBlockFps(super, backward_2, forward_2, num=60, den=1, mode=2)

To get 50 fps
change
MBlockFps(super, backward_2, forward_2, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)
to:
MBlockFps(super, backward_2, forward_2, num=50, den=1, mode=2)
post #228 of 1968
Hi domas4. First of all take my thanks for your contribution to this feature.

I want answer you if you have a script for high-end core i7 (3.8ghz) computer.
The last script give me only a 10 percent of cpu usage (i use core-avc for decoding and ffdshow/avisynth for postprocessing).

I was downloading the 'Smooth video pack', it has more smooth playback but more artifacts too than your script.

'Smooth video pack' give me the option to take de framerate to display refresh (60hz). Can your script take 60fps/60hz too without de use of reclock?

Thanx for all.
post #229 of 1968
Quote:
Originally Posted by paq View Post

Hi domas4. First of all take my thanks for your contribution to this feature.

I want answer you if you have a script for high-end core i7 (3.8ghz) computer.
The last script give me only a 10 percent of cpu usage (i use core-avc for decoding and ffdshow/avisynth for postprocessing).

I was downloading the 'Smooth video pack', it has more smooth playback but more artifacts too than your script.

'Smooth video pack' give me the option to take de framerate to display refresh (60hz). Can your script take 60fps/60hz too without de use of reclock?

Thanx for all.

Try this:
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))

Hopefully this should provide a nice 60fps movie.

This plugin is not multithreaded and therefore must come under the whole script.
post #230 of 1968
Quote:
Originally Posted by paq View Post

Hi domas4. First of all take my thanks for your contribution to this feature.

I want answer you if you have a script for high-end core i7 (3.8ghz) computer.
The last script give me only a 10 percent of cpu usage (i use core-avc for decoding and ffdshow/avisynth for postprocessing).

I was downloading the 'Smooth video pack', it has more smooth playback but more artifacts too than your script.

'Smooth video pack' give me the option to take de framerate to display refresh (60hz). Can your script take 60fps/60hz too without de use of reclock?

Thanx for all.

Sure, just change this line in the script:

MBlockFps(super, backward_2, forward_2, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=2)

to

MBlockFps(super, backward_2, forward_2, num=60, den=1, mode=2)

This will give you sweet 60fps on any movie.
post #231 of 1968
Yeah! this is 'almost' GREAT.

Now i have 60 fps, but i make some changes to the script;

SetMemoryMax(1080)
SetMTMode(3,8)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=2, hpad=8, vpad=8)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=2, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=2, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, blksizev=8, thSAD=200, searchparam=2, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, blksizev=8, thSAD=200, searchparam=2, search=3)
MBlockFps(super, backward_2, forward_2, num=60, den=1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

... reduce de blck size give me REALLY smooth move (like pc games running at 60fps lol, very very cool for digital animated movies, like Star Wars, Pixar's Up, and much others), but i have problems with 'rounding artifacts', and the more notables come from edges of screen [ ].

Are there any command to reduce it?

P.D: My cpu now really is at work (40-50% with 1080p stuff)

P.D2: ..and sorry for my poor english, im from Spain.
post #232 of 1968
Olia
What do you mean 'rounding artifacts'? What do they look like?
Maybe it's because you have decreased blocksize?
Besides, decreasing blocksize should not have given you more smooth movie.
Hm...

P.S. I've been to Spain, Barcelona. Loved it :]
post #233 of 1968
Hi again Domas,

Cool, im from a city near Barcelona, called Valencia (180 miles at South). Hope you enjoyed these lands.

Now, i am downloaded the last of Smooth Video Pack. (google it if don't know anyone)

i'm testing... is very impressive the accesibility of this application, but have a strange artifact (distortion) at some situations (on thin and fast lines of light for example). The fact is, your script do not have this artifact (have others ). I think with some patience i would make a mix of two methods for more optimal results (if there is possible).

.... ill continue looking, this feature is a work in progress today
post #234 of 1968
Try this, and please respond if you still get these artifacts near video edges:

SetMemoryMax(1080)
SetMTMode(3,8)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1, hpad=16, vpad=16)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=32, blksizev=32, searchparam=3, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=32, blksizev=32, searchparam=3, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=16, blksizev=16, thSAD=400, searchparam=2, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=16, blksizev=16, thSAD=400, searchparam=2, search=3)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=8, blksizev=8, thSAD=400, searchparam=1, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=8, blksizev=8, thSAD=400, searchparam=1, search=3)
MBlockFps(super, backward_3, forward_3, num=60, den=1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
post #235 of 1968
Quote:
Originally Posted by domas4 View Post

try this, and please respond if you still get these artifacts near video edges:

Setmemorymax(1080)
setmtmode(3,8)
ffdshow_source()
setmtmode(2)
super=msuper(pel=1, hpad=16, vpad=16)
backward_1=manalyse(super, chroma=false, isb=true, blksize=32, blksizev=32, searchparam=3, search=3, badrange=(-24))
forward_1=manalyse(super, chroma=false, isb=false, blksize=32, blksizev=32, searchparam=3, search=3, badrange=(-24))
backward_2 = mrecalculate(super, chroma=false, backward_1, blksize=16, blksizev=16, thsad=400, searchparam=2, search=3)
forward_2 = mrecalculate(super, chroma=false, forward_1, blksize=16, blksizev=16, thsad=400, searchparam=2, search=3)
backward_3 = mrecalculate(super, chroma=false, backward_2, blksize=8, blksizev=8, thsad=400, searchparam=1, search=3)
forward_3 = mrecalculate(super, chroma=false, forward_2, blksize=8, blksizev=8, thsad=400, searchparam=1, search=3)
mblockfps(super, backward_3, forward_3, num=60, den=1, mode=2)
setmtmode(1)
getmtmode(false) > 0 ? Distributor() : Last


domas thank you so much!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!

with this script cpu usage is 15%-30% max. is there anything else i can do to tighten it up a bit? there are still artifacts (not horrible or anything), but noticeable on certain scenes. thanks for your scripts man. they are awesome.
post #236 of 1968
Does your joy mean that this script gives you less artifacts than the script in
the final post? (http://www.avsforum.com/avs-vb/showp...&postcount=246)

You could tighten it by using pel=2, or even pel=4.
Also, you can tighten it by changing all chroma=false to chroma=true.

And don't forget, it produces 60fps. If you want 50fps - change num=60
to num=50.

Generally it's not the trade-off between performance and quality.
If you get higher CPU load, does not necessary mean that you will get better quality.
If you get artifacts with this script it's better to tighten penalty levels with plevel=2.

Setmemorymax(1080)
setmtmode(3,8)
ffdshow_source()
setmtmode(2)
super=msuper(pel=2, hpad=16, vpad=16)
backward_1=manalyse(super, chroma=false, isb=true, blksize=32, blksizev=32, searchparam=3, search=3,plevel=2, badrange=(-24))
forward_1=manalyse(super, chroma=false, isb=false, blksize=32, blksizev=32, searchparam=3, search=3,plevel=2, badrange=(-24))
backward_2 = mrecalculate(super, chroma=false, backward_1, blksize=16, blksizev=16, thsad=400, searchparam=2, search=3)
forward_2 = mrecalculate(super, chroma=false, forward_1, blksize=16, blksizev=16, thsad=400, searchparam=2, search=3)
backward_3 = mrecalculate(super, chroma=false, backward_2, blksize=8, blksizev=8, thsad=400, searchparam=1, search=3)
forward_3 = mrecalculate(super, chroma=false, forward_2, blksize=8, blksizev=8, thsad=400, searchparam=1, search=3)
mblockfps(super, backward_3, forward_3, num=60, den=1, mode=2)
setmtmode(1)
getmtmode(false) > 0 ? Distributor() : Last
post #237 of 1968
really nice work with these scripts.. Im testing frameratedoubling for 2 years.. and there are nice improvements.. also that line to get always 60 is a really goodie!!! you can get ultraslowmotion using higher values there.,...


what about insert some filters for general processing into the script before?
resize, deblock, denoise, dering, deband, sharper

Im not sure if Im using the best position in the script for them..

my current script.

Quote:


SetMemoryMax(1080)
SetMTMode(3,8)
ffdShow_source()
##filters##
Spline16Resize(1280,720)
undot()
deblock()
#GradFun2DBmod(str=1,mask=false, thr=3)
#toonlite(1)
#Temporalsoften(5,8,10,mode=2,scenechange=6)
BlindDeHalo3(3.5,3.5,100)
LimitedSharpenfaster(strength=80)
##end filters##
SetMTMode(2)
super=MSuper(pel=1, hpad=16, vpad=16)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=32, blksizev=32, searchparam=3, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=32, blksizev=32, searchparam=3, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=16, blksizev=16, thSAD=400, searchparam=2, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=16, blksizev=16, thSAD=400, searchparam=2, search=3)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=8, blksizev=8, thSAD=400, searchparam=1, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=8, blksizev=8, thSAD=400, searchparam=1, search=3)
MBlockFps(super, backward_3, forward_3, num=60, den=1, mode=2)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

this is the correct place in the script to add the extra filters?
post #238 of 1968
The reason why filters don't work might be that they don't support
multithreading. Try putting those lines above the SetMTMode:

SetMemoryMax(1080)
[Put filters that don't support MT here]
SetMTMode(3,8)
[...]
post #239 of 1968
yeah thats the problem!!! for example GradFun2DBmod does not work in MT..

anyway I have a problem yet... I always resize cause some 1080 videos need much CPU.. how can I modify the script to use current chain?:

1st) Spline16Resize(1280,720) (MT mode)
2nd) GradFun2DBmod (or any filter not working in MT mode)
3rd) rest of filters and framedoubling script (working in MT mode)

I need to read a MT usage tutorial... btw you master it
post #240 of 1968
Quote:
Originally Posted by travolter View Post

yeah thats the problem!!! for example GradFun2DBmod does not work in MT..

anyway I have a problem yet... I always resize cause some 1080 videos need much CPU.. how can I modify the script to use current chain?:

1st) Spline16Resize(1280,720) (MT mode)
2nd) GradFun2DBmod (or any filter not working in MT mode)
3rd) rest of filters and framedoubling script (working in MT mode)

I need to read a MT usage tutorial... btw you master it

Here is how your script should look according to your chain:
--------------------------------------------------------------------------------------------
SetMemoryMax(1080)
SetMTMode(3,8)

#1) Video source and Spline resizing
ffdShow_source()
Spline16Resize(1280,720)


SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

#2) Here goes MT unsupported filters

SetMTMode(2,8)

#3) Here goes framedoubling script and other filters

SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Home Theater Computers
AVS › AVS Forum › Video Components › Home Theater Computers › Avisynth Script for doubling video frame rates