win-dshow: Fix upside-down RGB DIBs

Fix regression to RGB DIB orientation according to MSDN.
This commit is contained in:
jpark37 2020-01-13 21:50:54 -08:00
parent 1b3525e66a
commit 9eeef48b5a

View File

@ -539,8 +539,13 @@ void DShowInput::OnVideoData(const VideoConfig &config, unsigned char *data,
frame.format = ConvertVideoFormat(config.format);
frame.flip = flip;
if (config.cy_flip)
frame.flip = !frame.flip;
/* YUV DIBS are always top-down */
if (config.format == VideoFormat::XRGB ||
config.format == VideoFormat::ARGB) {
/* RGB DIBs are bottom-up by default */
if (!config.cy_flip)
frame.flip = !frame.flip;
}
if (videoConfig.format == VideoFormat::XRGB ||
videoConfig.format == VideoFormat::ARGB) {