很多的人认为解码器只有对错,与画质无关,实际上是不准确的,解码,指的是将分离器丢来的各种原生压缩格式,比如H264/H265的视频,解码为非压缩的格式,然后丢给渲染器,解码出来的格式,都需要加上精度的度量。比如说10bit 视频完全解码后是YUV 10bit,8bit视频是YUV 8bit。如果解码器可以将最原始的数据输出给渲染器,称为全精度输出,否则,解码器会试图降低精度输出,称为低精度输出。因为显示器是RGB显示,而解码后的视频多为YUV格式,渲染器一般也需要负责将YUV转换为RGB,并保证输出的图像大小跟播放窗口吻合,渲染的环节决定了最终成品的画质。造成画质区别的可以说就三点:缩放算法,运算精度,和抖动算法,其中运算精度越高,输出画面越接近完美,我们常用的PotPlayer默认的解码器是解码成8位的,也就是说我们下载的4K hevc 10位,经过一次解码,直接转为8位,然后交给MADVR,MADVR是要提升精度的,把8位升为16位或24位,再进行处理,而LAV解码器是可以根据源数据来决定的,4K hevc 10位解码出来还是10位,也就是全精度,交给MADVR处理前没有任何损失,对于好的显示器,特别是10位的显示器来说,最后输出画面是很完美的,和默认解码器输出画面差别很大的,当然烂显示器怎么处理都是看不出差距的,也就无所谓了。
以上内容参考了一些网上搜索的文章
|