Fixes #5155

Signed-off-by: Paul B Mahol <one...@gmail.com>
---
 libavformat/mxfenc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 3549b4137d..8f762c7eaf 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -2726,6 +2726,14 @@ static int mxf_write_packet(AVFormatContext *s, AVPacket 
*pkt)
         }
     }
 
+    if (st->codecpar->sample_aspect_ratio.num && 
st->codecpar->sample_aspect_ratio.den) {
+        av_reduce(&sc->aspect_ratio.num, &sc->aspect_ratio.den,
+                  st->codecpar->sample_aspect_ratio.num * st->codecpar->width,
+                  st->codecpar->sample_aspect_ratio.den * 
st->codecpar->height, INT_MAX);
+    } else if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
+        av_reduce(&sc->aspect_ratio.num, &sc->aspect_ratio.den, 
st->codecpar->width, st->codecpar->height, INT_MAX);
+    }
+
     if (st->codecpar->codec_id == AV_CODEC_ID_MPEG2VIDEO) {
         if (!mxf_parse_mpeg2_frame(s, st, pkt, &ie)) {
             av_log(s, AV_LOG_ERROR, "could not get mpeg2 profile and level\n");
-- 
2.17.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to