view DOCS/tech/swscaler_methods.txt @ 7155:66019eb62edc

"halfpack" (yuv planar 4:2:0 -> packed 4:2:2, half height) video filter (useful for downsampling luma for low-res output devices without losing chroma samples, when hardware downscaling is poor quality or unavailable)
author rfelker
date Fri, 30 Aug 2002 06:16:40 +0000
parents ca8da0cc0cdf
children c43d55a452c8
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

aliassing (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

recommanditions: (based upon my personal oppinion many ppl might disagree ...)
---------------------------------------------------------------------
        
the recomanded scalers for upscaling:
fast_bilinear, point if speed is important
cubic, spline, lanczos if quality is important

the recomanded 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) 
than a slightly blured input might look better after decoding than a slightly 
sharpend one, especially for lower bitrates

sws numbers / names / artefact 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