试着对比了LAV+madVR还有ffdshow+madVR、LAV+EVR/CP、ffdshow+EVR/CP的播放组合,后面三种都有这样那样的问题,只有前面一种是最完美的。
ffdshow解码10bit视频虽然支持,但是颜色出现了一点偏差,画面普遍偏绿(对比原盘和LAV解码的结果),我在画图板里用取色工具对截图取色然后查看RGB分量的值,原本16/16/16的点变成了16/17/16或16/18/16,其他的点也普遍出现了Green偏高的情况。
而LAV支持P010输出(10bit)至madVR,但是EVR/CP只支持8bit输入,所以如果使用EVR/CP渲染器,解码器就要将10bit转换成8bit的YV12输出,ffdshow这步转换是做了抖动(设置中有),所以基本保留了原本的画面。而LAV没做抖动,直接就10bit round 8bit,导致本来已经去掉的banding又出来了。
而且madVR不光支持10bit输入,在内部还会先转换成16bit做debanding然后再dither成8bit,配合10bit压制时的debanding处理,最终出来的画面几乎半点banding都没有。