summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-01-29 17:45:05 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-02-01 18:32:15 +0100
commite3a125c970dbb99aa3b4f2aa126433709403c988 (patch)
tree635963b6860560ec88dd1036133a2693427c056e /libavformat
parentf781bf3e101b9c11d50dccd01971f5a09d54acfc (diff)
Revert "do not write f2 if not interlaced"
This reverts commit 8ed82d8174a666f80ab8834e3617cbe91ae740a9. SMPTE S377-1-2009c defines in F.4.1 that the Video Line Map should always be an array with two 32 bit integers as elements. This is repeated in G.2.12 with actual examples for progressive content, where the second value would always be 0. Additionally, the IRT MXF analyser also lists this as the only error in the MXF output from ffmpeg: https://mxf-analyser-cloud.irt.de Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/mxfenc.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 35c67f7813..6da8b10fb4 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -1013,7 +1013,7 @@ static void mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID ke
int stored_height = (st->codec->height+15)/16*16;
int display_height;
int f1, f2;
- unsigned desc_size = size+8+8+8+8+8+8+8+5+16+sc->interlaced*4+12+20+5;
+ unsigned desc_size = size+8+8+8+8+8+8+8+5+16+4+12+20+5;
if (sc->interlaced && sc->field_dominance)
desc_size += 5;
if (sc->signal_standard)
@@ -1081,12 +1081,12 @@ static void mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID ke
f1 *= 2;
}
- mxf_write_local_tag(pb, 12+sc->interlaced*4, 0x320D);
- avio_wb32(pb, sc->interlaced ? 2 : 1);
+
+ mxf_write_local_tag(pb, 16, 0x320D);
+ avio_wb32(pb, 2);
avio_wb32(pb, 4);
avio_wb32(pb, f1);
- if (sc->interlaced)
- avio_wb32(pb, f2);
+ avio_wb32(pb, f2);
mxf_write_local_tag(pb, 8, 0x320E);
avio_wb32(pb, sc->aspect_ratio.num);