|
|
|
@ -1145,6 +1145,15 @@ static const MXFCodecUL mxf_intra_only_picture_essence_coding_uls[] = { |
|
|
|
|
{ { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, 0, AV_CODEC_ID_NONE }, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/* actual coded width for AVC-Intra to allow selecting correct SPS/PPS */ |
|
|
|
|
static const MXFCodecUL mxf_intra_only_picture_coded_width[] = { |
|
|
|
|
{ { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0A,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x01 }, 16, 1440 }, |
|
|
|
|
{ { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0A,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x02 }, 16, 1440 }, |
|
|
|
|
{ { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0A,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x03 }, 16, 1440 }, |
|
|
|
|
{ { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x0A,0x04,0x01,0x02,0x02,0x01,0x32,0x21,0x04 }, 16, 1440 }, |
|
|
|
|
{ { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, 0, 0 }, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static const MXFCodecUL mxf_sound_essence_container_uls[] = { |
|
|
|
|
// sound essence container uls
|
|
|
|
|
{ { 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x01,0x0d,0x01,0x03,0x01,0x02,0x06,0x01,0x00 }, 14, AV_CODEC_ID_PCM_S16LE }, /* BWF Frame wrapped */ |
|
|
|
@ -2128,6 +2137,10 @@ static int mxf_parse_structural_metadata(MXFContext *mxf) |
|
|
|
|
memcpy(st->codec->extradata, descriptor->extradata, descriptor->extradata_size); |
|
|
|
|
} |
|
|
|
|
} else if (st->codec->codec_id == AV_CODEC_ID_H264) { |
|
|
|
|
int coded_width = mxf_get_codec_ul(mxf_intra_only_picture_coded_width, |
|
|
|
|
&descriptor->essence_codec_ul)->id; |
|
|
|
|
if (coded_width) |
|
|
|
|
st->codec->width = coded_width; |
|
|
|
|
ret = ff_generate_avci_extradata(st); |
|
|
|
|
if (ret < 0) |
|
|
|
|
return ret; |
|
|
|
|