view DOCS/tech/swscaler_methods.txt @ 33771:6e774a02d00c

Remove gtkClearStruct code from mplayer() in interface.c. Move it as static function guiInfoMediumClear() where it is used and rename the symbolic constants used with this code.
author ib
date Sat, 09 Jul 2011 11:48:13 +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