View Full Version : Which chain is faster
dimzon
7th March 2008, 19:31
I'm using ffdShow as videopostprocessor in my HTPC.
I want to
1) Change fps to 60 using avisynth ChangeFPS(60) statement
2) Upscale to 1360*768 for my HD-Ready LCD TV via Lancroz
3) Increase sharpness via xsharper
Which filter chain is faster/better for SD content?
ConvertFPS->Upscale->Sharpen
or
Upscale->ConvertFPS->Sharpen
Any suggestions?
Adub
7th March 2008, 20:07
Why don't you test and find out?
Usually, the last thing I do is upscale. But if your computer can handle it, go ahead and upscale before you sharpen. However, I would go ahead and leave ConvertFPS in the beginning.
Or better yet, use a motion compensated framerate changer, like MVFlow or MotionProtectedFPS.
JoeShrubbery
7th March 2008, 20:10
I'd go with your first option. Running convertFPS on upscaled frames will probably slow things down significantly, it's already the slowest filter in your chain so making it work harder will have a big impact on processing speeds. As I can't really think of any advantage one way or the other from a quality stand-point, speed is king for this decision.
But don't take my word as gospel, a good habit to get into for these situations is to just take a short clip from something and test out both ways. That way YOU know what works best for YOUR setup.
IanB
7th March 2008, 22:54
1) Change fps to 60 using avisynth ChangeFPS(60) statement
...
ConvertFPS->Upscale->Sharpen
or
Upscale->ConvertFPS->SharpenChangeFPS() is a zero cost filter. It just returns the same frame multiple times or skips frames determined by if you are increasing or decreasing the FPS, i.e. it does no internal processing of the video frame data.
However once a frame is returned by ChangeFPS() all the rest of the filter chain treat every frame as independant and so will process it, i.e. there is no knowledge passed back that frames are just repeated.
To analyse which chain is faster consider how many actions per second each filter is doing.
1. With this chain :-
ChangeFPS ->Upscale->Sharpen
The Upscale and Sharpen each process 60 frames per second.
2. With this chain :-
Upscale->ChangeFPS->Sharpen
The Upscale processes 24?? frames per second but the Sharpen has to process 60 frames per second.
3. With this chain :-
Upscale->Sharpen->ChangeFPS
Both the Upscale and Sharpen processes 24?? frames per second and the output delivers 60 frames per second, returning each frame 2 or 3 times in sequence.
If you were to use ConvertFPS() which is NOT a zero cost filter (it does real work i.e. blends pairs of frames) the numbers change but the overall theory remains valid.
Leak
8th March 2008, 12:29
Or better yet, use a motion compensated framerate changer, like MVFlow or MotionProtectedFPS.
I really doubt that'd run in realtime, so it's right out for postprocessing with AviSynth in ffdshow during playback...
np: The Orb - Back Side Of The Moon (Adventures Beyond The Ultraworld Deluxe Edition (Disc 1))
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.