diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2018-04-06 22:44:23 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2018-05-09 00:02:58 +0300 |
commit | 530ac1e50bd7f99e5cedca40a7a94ac7f49d9902 (patch) | |
tree | ae67b12733731db63cfa8e986607ddc0c07fc8f1 /libavformat/mxfenc.c | |
parent | 1246754c80a4967e41a4d38c0d5363f87331de47 (diff) |
avformat/mxfenc: Write Audio Ref Level for D10
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/mxfenc.c')
-rw-r--r-- | libavformat/mxfenc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index 80c3f933c9..f3122cbc8b 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -500,6 +500,7 @@ static const MXFLocalTagPair mxf_local_tag_batch[] = { // Generic Sound Essence Descriptor { 0x3D02, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x04,0x04,0x02,0x03,0x01,0x04,0x00,0x00,0x00}}, /* Locked/Unlocked */ { 0x3D03, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x05,0x04,0x02,0x03,0x01,0x01,0x01,0x00,0x00}}, /* Audio sampling rate */ + { 0x3D04, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x01,0x04,0x02,0x01,0x01,0x03,0x00,0x00,0x00}}, /* Audio Ref Level */ { 0x3D07, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x05,0x04,0x02,0x01,0x01,0x04,0x00,0x00,0x00}}, /* ChannelCount */ { 0x3D01, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x04,0x04,0x02,0x03,0x03,0x04,0x00,0x00,0x00}}, /* Quantization bits */ { 0x3D06, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x02,0x04,0x02,0x04,0x02,0x00,0x00,0x00,0x00}}, /* Sound Essence Compression */ @@ -1298,6 +1299,8 @@ static void mxf_write_generic_sound_common(AVFormatContext *s, AVStream *st, con if (s->oformat == &ff_mxf_opatom_muxer) duration_size = 12; + if (s->oformat == &ff_mxf_d10_muxer) + size += 5; mxf_write_generic_desc(s, st, key, size+duration_size+5+12+8+8); @@ -1315,6 +1318,11 @@ static void mxf_write_generic_sound_common(AVFormatContext *s, AVStream *st, con avio_wb32(pb, st->codecpar->sample_rate); avio_wb32(pb, 1); + if (s->oformat == &ff_mxf_d10_muxer) { + mxf_write_local_tag(pb, 1, 0x3D04); + avio_w8(pb, 0); + } + mxf_write_local_tag(pb, 4, 0x3D07); if (mxf->channel_count == -1) { if (show_warnings && (s->oformat == &ff_mxf_d10_muxer) && (st->codecpar->channels != 4) && (st->codecpar->channels != 8)) |