El Bastardo
5th March 2008, 12:48
Hello knolegable forum gurus -_^
I'm reading through these forums for quite a while now but now I thought I'm stuck in my process and need some help.
Technically I'm no newbie to the whole but I lack deepened special knowledge on this and that so I'm asking the pros to give me tips and maybe defeat my half-knowledge.
My questions are regarding Decoding only (I do not encode myself... yet).
I primary use ffdshow (tryouts), Avisynth, Haali Media Splitter, VSFilter and maybe DScaler 5 to play back videos (mainly Anime) with Zoomplayer 5 and are looking for the "best" way to use Avisynth as a frameserver to spice the quality up in real time while watching.
The "things" I'm currently using in ffdshow are: deinterlasing (5-tap lowpass), post processing (deblocking for Luminance and Chroma and Dering for Luminance with mplayer and accurate deblocking), resizing (I'm still experimenting between Gauss, Spline and Lanczos with 2-Pass (Spline is often the slowest) and Avisynth for sharpening etc. with a "LimitedSharpenFaster" and "Soothe" combo with the aid of MT (multi-threading).
I'm also using the "quene output samples"
Things I think to know about ffdshow and the whole optimization procedure:
It is important for performance and quality in which sequence you use the things mentioned above (you can reorder the left list from top to bottom in ffdshow). Is this true?? - I saw so many custom written Avisynth scripts here (OK they are all for decoding) and I think they have similarities regarding this. So first cropping (don't bring the joke "no first loading plugins ^_^ ), than this than that... .
Currently I think it's important and let ffdshow do things in this order: First deinterlsing than post processing followed by resizing and last Avisynth.
Could someone explain more about this whole "order of optimization" things please (maybe I'm totally wrong informed)??
Yeah I know there is no best solution for all sources but I want something I can call "basic optimizations that look somewhat good on everything".
So things I want to know: Are the things I described and currently run are "good basics" or what would you swich??
And here is my current Avisynth build. The biggest problems are how to optimize the utilization of the MT plugin (I'm running an AMD Dual Core 4800+).
I'm using this with "input colorspace = YV12", "Ignore Pulldown" and Buffer ahead = 1
---------------
SetMTMode(1,3)
SetMemoryMax(1024)
ffdshow_source()
SetMTMode(5)
MT( "dull = last
sharp = dull.LimitedSharpenFaster( ss_x=1.5, ss_y=1.5, Smode=3, \
strength=200, overshoot=1, undershoot=1 )
Soothe( sharp, dull, 20 )", 3 )
#SetMTMode(1)
#FastLineDarkenMOD( thinning=0, strength=50 )
#Subtitle("Number of threads used: "+string(GetMTMode(true)) \
#+" Current MT Mode: "+string(GetMTMode()))
----------
My understanding is that with this construct MT is first initalized and generally set to MTMode 5 (isn't there a better way to do this?).
In the next lines for LSF and Soothe only, I switch to MT so they should operate under MT and not MTMode anymore.
The last lines are my experimenting lines.
I tried to use FastLineDarkenMOD in addition and in combination with MTMode 1 but it killed my framerate.
And the last two lines are there to check the current MTMode when needed.
I also tried to use "Toon-v1.0" or "Deen" but they did not bring me good performance.
So the bottom line: What is a good combination and where to start looking for improvements??
Thanks in advance for your help and have a nice day!!
I'm reading through these forums for quite a while now but now I thought I'm stuck in my process and need some help.
Technically I'm no newbie to the whole but I lack deepened special knowledge on this and that so I'm asking the pros to give me tips and maybe defeat my half-knowledge.
My questions are regarding Decoding only (I do not encode myself... yet).
I primary use ffdshow (tryouts), Avisynth, Haali Media Splitter, VSFilter and maybe DScaler 5 to play back videos (mainly Anime) with Zoomplayer 5 and are looking for the "best" way to use Avisynth as a frameserver to spice the quality up in real time while watching.
The "things" I'm currently using in ffdshow are: deinterlasing (5-tap lowpass), post processing (deblocking for Luminance and Chroma and Dering for Luminance with mplayer and accurate deblocking), resizing (I'm still experimenting between Gauss, Spline and Lanczos with 2-Pass (Spline is often the slowest) and Avisynth for sharpening etc. with a "LimitedSharpenFaster" and "Soothe" combo with the aid of MT (multi-threading).
I'm also using the "quene output samples"
Things I think to know about ffdshow and the whole optimization procedure:
It is important for performance and quality in which sequence you use the things mentioned above (you can reorder the left list from top to bottom in ffdshow). Is this true?? - I saw so many custom written Avisynth scripts here (OK they are all for decoding) and I think they have similarities regarding this. So first cropping (don't bring the joke "no first loading plugins ^_^ ), than this than that... .
Currently I think it's important and let ffdshow do things in this order: First deinterlsing than post processing followed by resizing and last Avisynth.
Could someone explain more about this whole "order of optimization" things please (maybe I'm totally wrong informed)??
Yeah I know there is no best solution for all sources but I want something I can call "basic optimizations that look somewhat good on everything".
So things I want to know: Are the things I described and currently run are "good basics" or what would you swich??
And here is my current Avisynth build. The biggest problems are how to optimize the utilization of the MT plugin (I'm running an AMD Dual Core 4800+).
I'm using this with "input colorspace = YV12", "Ignore Pulldown" and Buffer ahead = 1
---------------
SetMTMode(1,3)
SetMemoryMax(1024)
ffdshow_source()
SetMTMode(5)
MT( "dull = last
sharp = dull.LimitedSharpenFaster( ss_x=1.5, ss_y=1.5, Smode=3, \
strength=200, overshoot=1, undershoot=1 )
Soothe( sharp, dull, 20 )", 3 )
#SetMTMode(1)
#FastLineDarkenMOD( thinning=0, strength=50 )
#Subtitle("Number of threads used: "+string(GetMTMode(true)) \
#+" Current MT Mode: "+string(GetMTMode()))
----------
My understanding is that with this construct MT is first initalized and generally set to MTMode 5 (isn't there a better way to do this?).
In the next lines for LSF and Soothe only, I switch to MT so they should operate under MT and not MTMode anymore.
The last lines are my experimenting lines.
I tried to use FastLineDarkenMOD in addition and in combination with MTMode 1 but it killed my framerate.
And the last two lines are there to check the current MTMode when needed.
I also tried to use "Toon-v1.0" or "Deen" but they did not bring me good performance.
So the bottom line: What is a good combination and where to start looking for improvements??
Thanks in advance for your help and have a nice day!!