view DOCS/tech/swscaler_methods.txt @ 35327:891b14e68b02

Revert r35388. The code is a bit confusing, but peeked commands should never be freed.
author reimar
date Thu, 15 Nov 2012 18:44:19 +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