On 6/12/15, Michael Niedermayer <michae...@gmx.at> wrote: > Fixes Ticket2345 > > Signed-off-by: Michael Niedermayer <michae...@gmx.at> > --- > libavformat/mxfdec.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c > index 78e2393..7389555 100644 > --- a/libavformat/mxfdec.c > +++ b/libavformat/mxfdec.c > @@ -166,6 +166,7 @@ typedef struct MXFDescriptor { > enum MXFMetadataSetType type; > UID essence_container_ul; > UID essence_codec_ul; > + UID codec_ul; > AVRational sample_rate; > AVRational aspect_ratio; > int width; > @@ -974,6 +975,9 @@ static int mxf_read_generic_descriptor(void *arg, > AVIOContext *pb, int tag, int > case 0x3004: > avio_read(pb, descriptor->essence_container_ul, 16); > break; > + case 0x3005: > + avio_read(pb, descriptor->codec_ul, 16); > + break; > case 0x3006: > descriptor->linked_track_id = avio_rb32(pb); > break; > @@ -1151,6 +1155,11 @@ static const MXFCodecUL > mxf_data_essence_container_uls[] = { > { { > 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 > }, 0, AV_CODEC_ID_NONE }, > }; > > +static const MXFCodecUL mxf_codec_uls[] = { > + { { > 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x09,0x04,0x01,0x02,0x02,0x03,0x01,0x01,0x00 > }, 14, AV_CODEC_ID_JPEG2000 }, > + { { > 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 > }, 0, AV_CODEC_ID_NONE }, > +}; > + > static const char* const mxf_data_essence_descriptor[] = { > "vbi_vanc_smpte_436M", > }; > @@ -1950,6 +1959,11 @@ static int mxf_parse_structural_metadata(MXFContext > *mxf) > /* TODO: drop PictureEssenceCoding and SoundEssenceCompression, > only check EssenceContainer */ > codec_ul = mxf_get_codec_ul(ff_mxf_codec_uls, > &descriptor->essence_codec_ul); > st->codec->codec_id = (enum AVCodecID)codec_ul->id; > + if (st->codec->codec_id == AV_CODEC_ID_NONE) { > + codec_ul = mxf_get_codec_ul(mxf_codec_uls, > &descriptor->codec_ul); > + st->codec->codec_id = (enum AVCodecID)codec_ul->id; > + } > + > av_log(mxf->fc, AV_LOG_VERBOSE, "%s: Universal Label: ", > avcodec_get_name(st->codec->codec_id)); > for (k = 0; k < 16; k++) { > -- > 1.7.9.5 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >
lgtm _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel