lavd/dshow: Interpret negative height as bottom-down frame.

Fixes ticket #7436.
This commit is contained in:
Carl Eugen Hoyos
2018-09-18 00:16:42 +02:00
parent 26902f2ef0
commit 1ba32a3c46

View File

@@ -996,11 +996,15 @@ dshow_add_device(AVFormatContext *avctx,
par->codec_id = AV_CODEC_ID_RAWVIDEO; par->codec_id = AV_CODEC_ID_RAWVIDEO;
if (bih->biCompression == BI_RGB || bih->biCompression == BI_BITFIELDS) { if (bih->biCompression == BI_RGB || bih->biCompression == BI_BITFIELDS) {
par->bits_per_coded_sample = bih->biBitCount; par->bits_per_coded_sample = bih->biBitCount;
if (par->height < 0) {
par->height *= -1;
} else {
par->extradata = av_malloc(9 + AV_INPUT_BUFFER_PADDING_SIZE); par->extradata = av_malloc(9 + AV_INPUT_BUFFER_PADDING_SIZE);
if (par->extradata) { if (par->extradata) {
par->extradata_size = 9; par->extradata_size = 9;
memcpy(par->extradata, "BottomUp", 9); memcpy(par->extradata, "BottomUp", 9);
} }
}
} }
} }
} else { } else {