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 13

post #361 of 1968
thanks for the fix.. I was using this script and now I noticed a bit better cpu usage
post #362 of 1968
With this script the movement is not natural in scenes where light is dynamically changing.
Beside that it's quite nice although power consuming.
post #363 of 1968
Quote:
Originally Posted by dzid_ View Post

With this script the movement is not natural in scenes where light is dynamically changing.
Beside that it's quite nice although power consuming.

Yeah because it is considering it has movement instead of transition or fades. Nothing is perfect. Tis a shame really. Lets see what mirillis can do, if it ever surfaces.
post #364 of 1968
Still nothing...
LL
post #365 of 1968
Quote:
Originally Posted by Domas4 View Post

Still nothing...

Thats poo. Real poo. On another note, apart from MPC what other players can output using this script correctly? Has anyone had any luck with media portal? I'm tempted to try it out...
post #366 of 1968
Quote:
Originally Posted by widezu69 View Post

Ooops my previous script had a fatal mistake in it which meant power as going to waste here is a new one:

SetMTMode(5,8)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=2, hpad=0, vpad=0)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=2, plevel=0, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=2, plevel=0, 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)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, blksizev=4, searchparam=0, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, blksizev=4, searchparam=0, search=3)
MBlockFps(super, backward_3, forward_3, num=60, den=1, mode=0)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

Original post also edited.

hey i know you edited the original post, but do you remember what the script was before you changed it? the original script (before edited) for some reason worked very well for me.

also what other settings are you using in ffdshow? buffer ahead/back? what about pulldown? should i choose ignore pulldown, apply, or smooth timestamps?
post #367 of 1968
I just downloaded PowerDVD it works great for my .mp4 and .m2ts so I am just going to stick with this instead of AviSynth tired of fooling with the scripts and getting no where!
post #368 of 1968
Postby Ghost » Sun Jun 13, 2010 11:52 pm
We need to integrate and test few improvements we did during "formalities" time and then we will release PRO.
Hoping it will be this week.
post #369 of 1968
Quote:
Originally Posted by blazed View Post

hey i know you edited the original post, but do you remember what the script was before you changed it? the original script (before edited) for some reason worked very well for me.

also what other settings are you using in ffdshow? buffer ahead/back? what about pulldown? should i choose ignore pulldown, apply, or smooth timestamps?

Hi sorry, the updated one is very intensive and recommended for people with quad cores + nvidia cards.

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

This is an improvement into what the previous script achieved but with speed optimisations. A decent core 2 duo will be able to play 720p using this (but change the first 8 to a 4).

My ffdshow settings are smooth timestamps applied because small jerks caused by one or 2 frame drops can be visually avoided by smoothing them out. And buffer back/ahead at 0/20 best settings for dvd playback, any higher on my system results in extreme lag as the dvd can't keep up.
post #370 of 1968
Quote:
Originally Posted by widezu69 View Post

Ooops my previous script had a fatal mistake in it which meant power as going to waste here is a new one:

SetMTMode(5,8)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=2, hpad=0, vpad=0)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=2, plevel=0, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=2, plevel=0, 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)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, blksizev=4, searchparam=0, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, blksizev=4, searchparam=0, search=3)
MBlockFps(super, backward_3, forward_3, num=60, den=1, mode=0)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

Original post also edited.

These changes have made the script better quality, more accurate. Good job
post #371 of 1968
I usually add resize before apply the framedoubling script.. 1080 to 720
Maybe some of you do too

What do you use?

1) use the ffdshow resize before the avisynth tab?
or
2) use avisynth internal resize ( I use spline16Resize(1280,720)

I dont know what way would be more efficient
post #372 of 1968
Quote:
Originally Posted by travolter View Post

I usually add resize before apply the framedoubling script.. 1080 to 720
Maybe some of you do too

What do you use?

1) use the ffdshow resize before the avisynth tab?
or
2) use avisynth internal resize ( I use spline16Resize(1280,720)

I dont know what way would be more efficient

You will get better quality if you resize after the script, since the script will be more accurate with more pixels.
post #373 of 1968
I can't comment on using resize before applying avisynth as I do it afterwards but in terms of usage I would say that the ffdshow one is as good as the avisynth one and also easier to use. With ffdshow you have to input both horizontal and vertical values and it may affect videos using different aspect ratios. The resizer in ffdshow has the option to only set horizontal values along with keeping aspect ratio so it calculates the needed vertical resolution. In the settings page you can also select spline or lanczos or sinc and adjust the amount of taps.
post #374 of 1968
Resize after processing is impossible with 1080 in my machine btw .. yes the image have more details!

Other question with the frameratedoubling script.

When I seek into the movie ... forward some secs or minutes.. (or move the position slider to a long jump distance from playing position) the player continue playing the same buffered video sequence until it stabilizes...

Im trying to minimize the effect.. but I dont find the correct combo..

What settings values I should have to apply?:
- setmemorymax (if I use small values my KMplayer exits)
- buffer back/ahead?
- something related with codecs and splitters?
post #375 of 1968
Quote:
Originally Posted by travolter View Post

Resize after processing is impossible with 1080 in my machine

Not if you encode the video to 60FPS instead of do it on-the-fly
Then you can have the highest quality regardless of computer speed
post #376 of 1968
The last version of the script doesn't work so good as the older. The sound will start to lag behind, it won't keep constant 48fps and in film grain it shows little artifacts.

But other than that it made better and smoother image (less flickering on animations and thin objects) than the older.
post #377 of 1968
Quote:
Originally Posted by widezu69 View Post

Ooops my previous script had a fatal mistake in it which meant power as going to waste here is a new one:

SetMTMode(5,8)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=2, hpad=0, vpad=0)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=2, plevel=0, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=2, plevel=0, 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)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, blksizev=4, searchparam=0, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, blksizev=4, searchparam=0, search=3)
MBlockFps(super, backward_3, forward_3, num=60, den=1, mode=0)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

Original post also edited.

SetMTMode 5 is actually slower than not using SetMTMode (according to their own documentation) so you can remove the first line for greater efficiency
post #378 of 1968
Quote:
Originally Posted by SubJunk View Post

SetMTMode 5 is actually slower than not using SetMTMode (according to their own documentation) so you can remove the first line for greater efficiency

If you remove it, you loose multithreading of the video source.
Just change it from SetMTMode(5,8) to SetMTMode(3,8)
post #379 of 1968
Quote:
Originally Posted by Domas4 View Post

If you remove it, you loose multithreading of the video source.

Right but there is no advantage in multithreading if it's slower

Quote:
Originally Posted by Domas4 View Post

Just change it from SetMTMode(5,8) to SetMTMode(3,8)

That's a better option
post #380 of 1968
Code:
    *  Mode 1 is the fastest but only works with a few filters.
    * Mode 2 should work with most filters but uses more memory.
    * Mode 3 should work with some of the filters that don't work with mode 2 but it is slower.
    * Mode 4 is a combination of mode 2 and 3 and should work with even more filters but is both slower and uses more memory.
    * Mode 5 is the slowest (slower than not using SetMTMode) but should work with all filters that don't require linear frameserving (that is the frames come in order: frame 0,1,2,...,last).
    * Mode 6 is a modified mode 5 that might be slightly faster.
After read this info Im using mode 1...
post #381 of 1968
Quote:


SetMTMode(1,8)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=2, hpad=0, vpad=0)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=2, plevel=0, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=2, plevel=0, 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)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, blksizev=4, searchparam=0, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, blksizev=4, searchparam=0, search=3)
MBlockFps(super, backward_3, forward_3, num=60, den=1, mode=0)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

Im using this one, really the best one that I have used before.. but I have about 25% cpu power left.. and Im trying to get the max smoothness.

How I could modify this script to make movement even more fluid?
post #382 of 1968
I just tested all the modes and found that it's still faster without it there.
I tested 5 times and made averages from the average FPS (note that the FPS are quite low because I used encoding to test, not playback, but the relative results should be the same)
Here are the mean results ordered by speed:

Nothing: 14.722
Mode 3: 14.702
Mode 5: 14.63
Mode 4: 14.048
Mode 2: 14.046
Mode 6: 14.04

I wasn't able to test Mode 1, it just didn't work (it caused encoding to freeze), but I think the speed of that would be very similar to Mode 2.
So from this test it would be best to remove that line altogether, of course this is not a comprehensive test since it's only on one set of hardware but it at least gives an indication.

Also note that I only changed the mode on the first line, the other 2 instances of SetMTMode (lines 3 and 12) were left unchanged.

Quote:
Originally Posted by travolter View Post

Im using this one, really the best one that I have used before.. but I have about 25% cpu power left.. and Im trying to get the max smoothness.

How I could modify this script to make movement even more fluid?

I don't have any ideas but maybe Widezu does
post #383 of 1968
Quote:
Originally Posted by travolter View Post

Im using this one, really the best one that I have used before.. but I have about 25% cpu power left.. and Im trying to get the max smoothness.

How I could modify this script to make movement even more fluid?

25% isn't much.

If video doesn't catch up the sound change pel=2 to pel=1.
Otherwise you maybe experience judder effect. Reclock is solving this problem. It synchronizes video with monitor but it's another topic.
post #384 of 1968
Leave those 25% of your CPU for a stable playback to avoid frame dropping.

Also some news:
Postby Ghost » Fri Jun 18, 2010 7:45 am
Hi, we will post an info on forum/twitter/facebook aprox. 24h before PRO release.
PRO version is now being tested.
post #385 of 1968
Big D'OH in my end, I didn't notice this sentence "Uncheck add ffdshow video source". Now that I noticed that I can easily scale the videos to 1080 and then have framedoubler and it works like charm.

Edit: For some reason I still don't get full 48 frames per second when viewing L5.1 videos and when I force the script to use num=48 and den=1 MPCHC crashes in seconds.
post #386 of 1968
Quote:
Originally Posted by SubJunk View Post

I don't have any ideas but maybe Widezu does

I don't claim to be anywhere near an expert. I'm probably not the best person to ask. I've probably got more knowledge with mvtools than MT. Just been on holiday (Jeju in Korea AMAZING) and come back good to see the thread has been moving along. As of now I am using mode 1 as it seemed to free up some cpu but I have yet to do test mode 6. I think its time for me to get a decent computer.
post #387 of 1968
Quote:
Originally Posted by widezu69 View Post

I don't claim to be anywhere near an expert. I'm probably not the best person to ask. I've probably got more knowledge with mvtools than MT. Just been on holiday (Jeju in Korea AMAZING) and come back good to see the thread has been moving along. As of now I am using mode 1 as it seemed to free up some cpu but I have yet to do test mode 6. I think its time for me to get a decent computer.

Welcome back
Well if any ideas ever hit you about how to increase the quality of the script please let us know (CPU usage doesn't matter for me since I encode the vids)
post #388 of 1968
Quote:
Originally Posted by SubJunk View Post

Welcome back
Well if any ideas ever hit you about how to increase the quality of the script please let us know (CPU usage doesn't matter for me since I encode the vids)

I'm gonna try experimenting with MFlowFPS instead of MBlockFPS. Its a different way of rendering the interpolated frames.

Try replacing:
MBlockFps(super, backward_3, forward_3, num=60, den=1, mode=0)
with:
MFlowFps(super, backward_3, forward_3, num=60, den=1, mask=0, ml=100)

ml=100 is the default value. Decreasing it increases the mask when processing and should reduce artefacts. Adding this line to any of the recent scripts will result in extreme cpu usage so this is only for pre watching encoding, it is way to slow for realtime playback. Unless someone has an i7 980x hex-core
post #389 of 1968
Quote:
Originally Posted by widezu69 View Post

I'm gonna try experimenting with MFlowFPS instead of MBlockFPS. Its a different way of rendering the interpolated frames.

Try replacing:
MBlockFps(super, backward_3, forward_3, num=60, den=1, mode=0)
with:
MFlowFps(super, backward_3, forward_3, num=60, den=1, mask=0, ml=100)

ml=100 is the default value. Decreasing it increases the mask when processing and should reduce artefacts. Adding this line to any of the recent scripts will result in extreme cpu usage so this is only for pre watching encoding, it is way to slow for realtime playback. Unless someone has an i7 980x hex-core

I'm making some comparisons now and I'll post the results.

Does anyone know how TVs do it? Most new TVs have motion-smoothing built-in, does anyone know how it's done in them? They seem to do it better than this script does when things move very fast.
post #390 of 1968
Ok here are some comparisons. We see here that flow is generally more accurate than block, it leaves a smoother but more accurate image. These are very high-motion images, and in my opinion they are perfect examples of why films need to be recorded/released at more than 30FPS, since each frame is very different to the last.
So basically we see that replacing the line as widezu said does generally produce better quality.

First image, old script
First image, new script
Second image, old script
Second image, new script
Third image, old script
Third image, new script
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