试着对比了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进行处理(应该是包括了额外的dither)然后再dither成8bit,配合10bit压制时的debanding处理,最终出来的画面几乎半点banding都没有。
补充一下,突然发现我的笔记本还在用ffdshow r3959,也就是今年8月1日发布的第一个开始支持10bit解码的版本,所以这个解码的颜色问题可能在后来的版本修复了,我今天试试看新版本。
[ 此帖被mawen1250在2011-09-16 00:52重新编辑 ]