mawen1250 写了:同样是YV12输出至EVR的情况下,LAV的banding比ffdshow的明显得多;而同样是YV12输出至madVR的情况下,两者基本上都没有banding。这里的逻辑关系分析之后就觉得madVR不是那么单纯地进行高精度处理。
至少从放大后的截图来看madVR是给画面加上了一层额外的噪点,原本全灰的部分也出现了深浅不一的像素点。
这种情况下至少从结果看,ffdshow输出的YUV 4:2:0数据和LAV输出的YUV 4:2:0数据不一样,EVR和MadVR的渲染过程又不一样,并且EVR和MadVR截图分辨率又不一样,这里存在了三个变量,最终结果有无明显banding是依靠肉眼来判断的,我还是无法得出MadVR进行了debanding处理。MadVR没有提供源代码,也没办法从源代码层次上寻找问题的答案,如果需要从代码层次上寻找答案,恐怕需要软件逆向,我不是大牛没这个能力。
我只能推测MadVR渲染结果放大后图像上可以察觉到的噪点,可能是由于dither引入的,或者在dither基础上又添加了少量的噪点,如果在播放时不通过放大无法轻易感觉到这些噪点并且图像察觉不到banding,那么我认为最终精度转换过程中的dither做得是比较成功的。
我将上述ffdshow+EVR结果截图放大后可以察觉到类似order dither引入的噪点,LAV+EVR结果截图放大后仅在色彩过渡区域可以察觉到类似order dither引入的噪点。