From 1ba32a3c464a37beeb0943a630d5905d84d61b32 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Date: Tue, 18 Sep 2018 00:16:42 +0200
Subject: [PATCH] lavd/dshow: Interpret negative height as bottom-down frame.

Fixes ticket #7436.
---
 libavdevice/dshow.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c
index de910c09943..757f7a515dd 100644
--- a/libavdevice/dshow.c
+++ b/libavdevice/dshow.c
@@ -996,11 +996,15 @@ dshow_add_device(AVFormatContext *avctx,
             par->codec_id = AV_CODEC_ID_RAWVIDEO;
             if (bih->biCompression == BI_RGB || bih->biCompression == BI_BITFIELDS) {
                 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);
                 if (par->extradata) {
                     par->extradata_size = 9;
                     memcpy(par->extradata, "BottomUp", 9);
                 }
+                }
             }
         }
     } else {
-- 
GitLab