[FFmpeg-devel] [PATCH] avformat/mxfdec: Detect jpeg2000 through codec_ul too

Michael Niedermayer michaelni at gmx.at
Fri Jun 12 19:41:16 CEST 2015


On Fri, Jun 12, 2015 at 05:17:46PM +0000, Paul B Mahol wrote:
> On 6/12/15, Michael Niedermayer <michaelni at gmx.at> wrote:
> > Fixes Ticket2345
> >
> > Signed-off-by: Michael Niedermayer <michaelni at 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 at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> 
> lgtm

applied

thanks

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Observe your enemies, for they first find out your faults. -- Antisthenes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150612/3e9fa891/attachment.asc>


More information about the ffmpeg-devel mailing list