|
|
|
@@ -298,6 +298,7 @@ static const MXFLocalTagPair mxf_local_tag_batch[] = { |
|
|
|
{ 0x3F0A, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x05,0x04,0x04,0x04,0x02,0x05,0x00,0x00,0x00}}, /* Index Entry Array */ |
|
|
|
// MPEG video Descriptor |
|
|
|
{ 0x8000, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x05,0x04,0x01,0x06,0x02,0x01,0x0B,0x00,0x00}}, /* BitRate */ |
|
|
|
{ 0x8007, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x05,0x04,0x01,0x06,0x02,0x01,0x0A,0x00,0x00}}, /* ProfileAndLevel */ |
|
|
|
// Wave Audio Essence Descriptor |
|
|
|
{ 0x3D09, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x05,0x04,0x02,0x03,0x03,0x05,0x00,0x00,0x00}}, /* Average Bytes Per Second */ |
|
|
|
{ 0x3D0A, {0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x05,0x04,0x02,0x03,0x02,0x01,0x00,0x00,0x00}}, /* Block Align */ |
|
|
|
@@ -855,12 +856,19 @@ static void mxf_write_cdci_desc(AVFormatContext *s, AVStream *st) |
|
|
|
static void mxf_write_mpegvideo_desc(AVFormatContext *s, AVStream *st) |
|
|
|
{ |
|
|
|
ByteIOContext *pb = s->pb; |
|
|
|
int profile_and_level = (st->codec->profile<<4) | st->codec->level; |
|
|
|
|
|
|
|
mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 8); |
|
|
|
mxf_write_cdci_common(s, st, mxf_mpegvideo_descriptor_key, 8+5); |
|
|
|
|
|
|
|
// bit rate |
|
|
|
mxf_write_local_tag(pb, 4, 0x8000); |
|
|
|
put_be32(pb, st->codec->bit_rate); |
|
|
|
|
|
|
|
// profile and level |
|
|
|
mxf_write_local_tag(pb, 1, 0x8007); |
|
|
|
if (!st->codec->profile) |
|
|
|
profile_and_level |= 0x80; // escape bit |
|
|
|
put_byte(pb, profile_and_level); |
|
|
|
} |
|
|
|
|
|
|
|
static void mxf_write_generic_sound_common(AVFormatContext *s, AVStream *st, const UID key, unsigned size) |
|
|
|
|