如何选择swscale中的缩放算法

放大:
重视速度:fast_bilinear, point
重视质量:cubic, spline, lanczos

缩小:
重视速度:fast_bilinear, point
重视质量:gauss, bilinear
重视锐度:cubic, spline, lanczos

注意:使用定bit(而不是定量化器)编码时,稍模糊的输入可能反而比较为锐的输入在缩放后获得较好的结果,尤其在低码率时更是如此。

错误类型

ringing
在锐利的边缘有块状的波或噪点
糟糕的:sinc, lanczos (with high filter length)
可接受:lanczos (with low filter length), cubic, spline
优秀的:area, (fast)blinear, gauss, point

blur
细节丢失
糟糕的:gauss with high variance
可接受:(fast)bilinear, area
优秀的:others

aliasing (only downscale)
梯状的线条
细节丰富的区域看上去很糟
块状区域显示错误
糟糕的:fast bilinear, point, gauss with low variance
可接受:area
优秀的:others

blocky (upscale only)
图像产生了很多块效应
糟糕的:point
优秀的:others

sws 编号 / 名称 / 错误类型

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

你可能感兴趣的:(如何选择swscale中的缩放算法)