summaryrefslogtreecommitdiff
path: root/libavformat/mxfenc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2018-04-05 23:30:37 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2018-05-08 23:02:58 +0200
commit1246754c80a4967e41a4d38c0d5363f87331de47 (patch)
treedaf315725079a2c1c9832f44cf11f03a2ab7f4b0 /libavformat/mxfenc.c
parent6d0339096e10f6753049f2a5cbfd7ba69e5f8bcd (diff)
avformat/mxfenc: Add Padding Bits
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/mxfenc.c')
-rw-r--r--libavformat/mxfenc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 37121b97f8..80c3f933c9 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -493,6 +493,7 @@ static const MXFLocalTagPair mxf_local_tag_batch[] = {
{ 0x3302, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x05,0x01,0x05,0x00,0x00,0x00}}, /* Horizontal Subsampling */
{ 0x3308, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x02,0x04,0x01,0x05,0x01,0x10,0x00,0x00,0x00}}, /* Vertical Subsampling */
{ 0x3303, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x05,0x01,0x06,0x00,0x00,0x00}}, /* Color Siting */
+ { 0x3307, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x02,0x04,0x18,0x01,0x04,0x00,0x00,0x00,0x00}}, /* Padding Bits */
{ 0x3304, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x05,0x03,0x03,0x00,0x00,0x00}}, /* Black Ref level */
{ 0x3305, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x01,0x05,0x03,0x04,0x00,0x00,0x00}}, /* White Ref level */
{ 0x3306, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x02,0x04,0x01,0x05,0x03,0x05,0x00,0x00,0x00}}, /* Color Range */
@@ -1140,7 +1141,7 @@ static void mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID ke
int stored_height = (st->codecpar->height+15)/16*16;
int display_height;
int f1, f2;
- unsigned desc_size = size+8+8+8+8+8+8+8+5+16+4+12+20+5;
+ unsigned desc_size = size+8+8+8+8+8+8+8+5+16+4+12+20+5 + 6;
if (sc->interlaced && sc->field_dominance)
desc_size += 5;
if (sc->signal_standard)
@@ -1193,6 +1194,10 @@ static void mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID ke
mxf_write_local_tag(pb, 1, 0x3303);
avio_w8(pb, sc->color_siting);
+ // Padding Bits
+ mxf_write_local_tag(pb, 2, 0x3307);
+ avio_wb16(pb, 0);
+
if (st->codecpar->color_range != AVCOL_RANGE_UNSPECIFIED) {
int black = 0,
white = (1<<sc->component_depth) - 1,