FFMPEG swscale 1920x1080 UYVY422低至奇数宽度会产生不正确的颜色

时间:2015-09-16 16:40:45

标签: ffmpeg yuv swscale

我正在使用libswscale(来自FFMPEG)将1920x1080 UYVY422图像缩放到以编程方式决定的大小,基于我们渲染的大小窗口。

当调整我的"画布"时,我注意到图像的颜色会在正常和无效(不正确的颜色)之间来回变换。

在分析了颜色无效的尺寸后,我注意到当宽度是偶数个像素时,图像总是看起来是正确的。

1920x1080 scaled to 867x488
doesn't work

1920x1080 scaled to 1016x572
works

19280x1080 scaled to 975x548
doesn't work

19280x1080 scaled to 962x541
works

我已经将代码更新为始终缩放到均匀宽度。

if ((targetSize.cx % 2) != 0)
{
    targetSize.cx = targetSize.cx - 1;
}

它适用于此代码。但是,我仍然不明白为什么会这样做。如果我缩放原始和奇数宽度的图像,我是否必须确保我的宽度也是奇数?我想明白这一点。

0 个答案:

没有答案