Avisynth Script for doubling video frame rates - Page 8 - AVS Forum
Forum Jump: 
Reply
 
Thread Tools
post #211 of 1968 Old 02-17-2010, 12:01 AM
Newbie
 
pyrates's Avatar
 
Join Date: Mar 2005
Posts: 7
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
pyrates is offline  
Sponsored Links
Advertisement
 
post #212 of 1968 Old 02-17-2010, 12:34 AM
Member
 
Delerue's Avatar
 
Join Date: Nov 2006
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
Delerue is offline  
post #213 of 1968 Old 02-17-2010, 05:07 AM
Member
 
Destroy's Avatar
 
Join Date: May 2005
Posts: 37
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
Destroy is offline  
post #214 of 1968 Old 02-17-2010, 08:52 AM
Newbie
 
pyrates's Avatar
 
Join Date: Mar 2005
Posts: 7
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
pyrates is offline  
post #215 of 1968 Old 02-19-2010, 07:46 AM
Member
 
Destroy's Avatar
 
Join Date: May 2005
Posts: 37
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
Destroy is offline  
post #216 of 1968 Old 02-19-2010, 08:51 AM
Newbie
 
pyrates's Avatar
 
Join Date: Mar 2005
Posts: 7
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
pyrates is offline  
post #217 of 1968 Old 02-21-2010, 06:33 AM
Advanced Member
 
blazed's Avatar
 
Join Date: Jul 2005
Posts: 555
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Domas
what script are you currently using?
blazed is offline  
post #218 of 1968 Old 02-21-2010, 01:41 PM
Newbie
 
pyrates's Avatar
 
Join Date: Mar 2005
Posts: 7
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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
pyrates is offline  
post #219 of 1968 Old 02-21-2010, 02:58 PM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by 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
Domas4 is offline  
post #220 of 1968 Old 02-21-2010, 05:07 PM
Newbie
 
Tachiorz's Avatar
 
Join Date: Feb 2010
Posts: 1
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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
Tachiorz is offline  
post #221 of 1968 Old 02-21-2010, 05:18 PM
Advanced Member
 
blazed's Avatar
 
Join Date: Jul 2005
Posts: 555
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Quote:
Originally Posted by 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?
blazed is offline  
post #222 of 1968 Old 02-22-2010, 02:57 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by 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.
Domas4 is offline  
post #223 of 1968 Old 02-22-2010, 03:00 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by 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?
Domas4 is offline  
post #224 of 1968 Old 02-27-2010, 04:52 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Domas4 is offline  
post #225 of 1968 Old 02-27-2010, 08:50 AM
Newbie
 
pijiman's Avatar
 
Join Date: Feb 2010
Posts: 1
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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
pijiman is offline  
post #226 of 1968 Old 02-27-2010, 12:18 PM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by 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)
Domas4 is offline  
post #227 of 1968 Old 02-28-2010, 03:23 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
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)
Domas4 is offline  
post #228 of 1968 Old 03-01-2010, 06:53 AM
paq
Newbie
 
paq's Avatar
 
Join Date: Oct 2005
Posts: 3
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
paq is offline  
post #229 of 1968 Old 03-01-2010, 10:32 AM
Senior Member
 
widezu69's Avatar
 
Join Date: Feb 2010
Posts: 319
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
widezu69 is offline  
post #230 of 1968 Old 03-01-2010, 10:57 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by 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.
Domas4 is offline  
post #231 of 1968 Old 03-01-2010, 07:01 PM
paq
Newbie
 
paq's Avatar
 
Join Date: Oct 2005
Posts: 3
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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.
paq is offline  
post #232 of 1968 Old 03-02-2010, 01:51 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
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 :]
Domas4 is offline  
post #233 of 1968 Old 03-02-2010, 11:57 AM
paq
Newbie
 
paq's Avatar
 
Join Date: Oct 2005
Posts: 3
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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
paq is offline  
post #234 of 1968 Old 03-02-2010, 12:58 PM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
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
Domas4 is offline  
post #235 of 1968 Old 03-02-2010, 09:41 PM
Advanced Member
 
blazed's Avatar
 
Join Date: Jul 2005
Posts: 555
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 14
Quote:
Originally Posted by 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.
blazed is offline  
post #236 of 1968 Old 03-02-2010, 11:58 PM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
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
Domas4 is offline  
post #237 of 1968 Old 03-03-2010, 01:53 AM
Member
 
travolter's Avatar
 
Join Date: May 2009
Posts: 162
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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?
travolter is offline  
post #238 of 1968 Old 03-03-2010, 02:05 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
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)
[...]
Domas4 is offline  
post #239 of 1968 Old 03-03-2010, 04:25 AM
Member
 
travolter's Avatar
 
Join Date: May 2009
Posts: 162
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
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
travolter is offline  
post #240 of 1968 Old 03-03-2010, 08:08 AM
Member
 
Domas4's Avatar
 
Join Date: Jan 2010
Posts: 73
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
Quote:
Originally Posted by 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
Domas4 is offline  
Reply Home Theater Computers

User Tag List

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


Forum Jump: 

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

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off