From 8ed82d8174a666f80ab8834e3617cbe91ae740a9 Mon Sep 17 00:00:00 2001
From: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Date: Mon, 2 Feb 2009 03:49:23 +0000
Subject: [PATCH] do not write f2 if not interlaced

Originally committed as revision 16929 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/mxfenc.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 13b125a0282..4b5348854db 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -620,9 +620,6 @@ static void mxf_write_mpegvideo_desc(AVFormatContext *s, AVStream *st)
     put_byte(pb, sc->interlaced);
 
     // video line map
-    mxf_write_local_tag(pb, 16, 0x320D);
-    put_be32(pb, 2);
-    put_be32(pb, 4);
     switch (st->codec->height) {
     case  576: f1 = 23; f2 = 336; break;
     case  608: f1 =  7; f2 = 320; break;
@@ -638,8 +635,12 @@ static void mxf_write_mpegvideo_desc(AVFormatContext *s, AVStream *st)
         f1 *= 2;
     }
 
+    mxf_write_local_tag(pb, 16, 0x320D);
+    put_be32(pb, sc->interlaced ? 2 : 1);
+    put_be32(pb, 4);
     put_be32(pb, f1);
-    put_be32(pb, f2);
+    if (sc->interlaced)
+        put_be32(pb, f2);
 
     av_reduce(&dar.num, &dar.den,
               st->codec->width*st->codec->sample_aspect_ratio.num,
-- 
GitLab