view DOCS/tech/swscaler_methods.txt @ 35490:a5f5f61a7a35

Replace confusing guiInfoMediumClear() by MediumPrepare(). (It has been completely rewritten.) Now call MediumPrepare() only once for all play events. Check for current StreamType and clear stuff not being used for this stream type (and only stuff that need to be cleared).
author ib
date Mon, 03 Dec 2012 16:26:39 +0000
parents 0ad2da052b2e
children
line wrap: on
line source


artifact types:
---------------------------------------------------------------------
ringing
        wave or noise like patterns around sharp edges
        bad: sinc, lanczos (with high filter length)
        acceptable: lanczos (with low filter length), cubic, spline
        ok: area, (fast)blinear, gauss, point

blur
        loss of detail / high frequency
        bad: gauss with high variance
        acceptable: (fast)bilinear, area
        ok: others

aliasing (only downscale)
        straight lines look like staircases
        areas of high detail look worse
        regular patterns turn into a funny looking mess (moire patterns)
        bad: fast bilinear, point, gauss with low variance
        acceptable: area
        ok: others

blocky (upscale only)
        looks like the image is made of rectangular blocks like a mosaic
        bad: point
        ok: others

recommendations: (based upon my personal opinion many ppl might disagree ...)
---------------------------------------------------------------------

the recommended scalers for upscaling:
fast_bilinear, point if speed is important
cubic, spline, lanczos if quality is important

the recommended scalers for downscaling:
fast_bilinear, point if speed is important
gauss, bilinear if quality is important
cubic, spline, lanczos if a sharper picture is important

note: when encoding at a limited amount of bits (not constant quantizer)
then a slightly blurred input might look better after decoding than a slightly
sharpened one, especially for lower bitrates

sws numbers / names / artifact types
-------------------------------------------------------------------------
r ringing
b blurry
a aliasing (downscale only)
m mosaic (blocky) (upscale only)

-sws 0  fast bilinear                   bA
-sws 1  bilinear                        b
-sws 2  bicubic high sharpness          r
                low sharpness           b
-sws 3  experimental                    ????
-sws 4  nearest neighbour               AM
-sws 5  area                            ba
-sws 6  luma bicubic / chroma bilinear  r
-sws 7  gauss   low sharpness           B
                high sharpness          AM
-sws 8  sinc                            R
-sws 9  lanczos long filter             R
                short filter            b
-sws 10 bicubic spline                  r

Notes:
        area upscale is identical to bilinear