view DOCS/tech/swscaler_methods.txt @ 23572:a00685941686

demux_mkv very long seek fix The seek code searching for the closest position in the index used "int64_t min_diff=0xFFFFFFFL" as the initial "further from the goal than any real alternative" value. The unit is milliseconds so seeks more than about 75 hours past the end of the file would fail to recognize the last index position as the best match. This was triggered in practice by chapter seek code which apparently uses a seek of 1000000000 seconds forward to mean "seek to the end". The practical effect was that trying to seek to the next chapter in a file without chapters made MPlayer block until it finished reading the file from the current position to the end. Fixed by increasing the initial value from FFFFFFF to FFFFFFFFFFFFFFF.
author uau
date Wed, 20 Jun 2007 18:19:03 +0000
parents 567c3d5da0ca
children 0f1b5b68af32
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