[FFmpeg-devel] [PATCH 2/4] avformat/mxfdec: set profile for prores codec

Baptiste Coudurier baptiste.coudurier at gmail.com
Thu Dec 6 20:39:59 EET 2018


On Wed, Dec 5, 2018 at 3:17 PM Paul B Mahol <onemda at gmail.com> wrote:

> On 12/6/18, Baptiste Coudurier <baptiste.coudurier at gmail.com> wrote:
> > Hi Paul
> >
> > On Wed, Dec 5, 2018 at 9:52 AM Paul B Mahol <onemda at gmail.com> wrote:
> >
> >> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> >> ---
> >>  libavformat/mxfdec.c | 12 ++++++++++++
> >>  1 file changed, 12 insertions(+)
> >>
> >> diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
> >> index f49890e140..abb030b1a4 100644
> >> --- a/libavformat/mxfdec.c
> >> +++ b/libavformat/mxfdec.c
> >> @@ -2432,6 +2432,18 @@ static int
> mxf_parse_structural_metadata(MXFContext
> >> *mxf)
> >>                  default:
> >>                      av_log(mxf->fc, AV_LOG_INFO, "Unknown frame layout
> >> type: %d\n", descriptor->frame_layout);
> >>              }
> >> +
> >> +            if (st->codecpar->codec_id == AV_CODEC_ID_PRORES) {
> >> +                switch (descriptor->essence_codec_ul[14]) {
> >> +                case 1: st->codecpar->profile =
> FF_PROFILE_PRORES_PROXY;
> >>   break;
> >> +                case 2: st->codecpar->profile = FF_PROFILE_PRORES_LT;
> >>    break;
> >> +                case 3: st->codecpar->profile =
> >> FF_PROFILE_PRORES_STANDARD; break;
> >> +                case 4: st->codecpar->profile = FF_PROFILE_PRORES_HQ;
> >>    break;
> >> +                case 5: st->codecpar->profile = FF_PROFILE_PRORES_4444;
> >>    break;
> >> +                case 6: st->codecpar->profile = FF_PROFILE_PRORES_XQ;
> >>    break;
> >> +                }
> >> +            }
> >> +
> >
> >
> >  I'm not sure about that, we don't do it for any other codec. IMHO it
> > should be in the decoder/parser.
>
> profile is not stored in bitstream AFAIK so only way it is set is via
> demuxer via codec_tag.
> MXF does not use codec_tags. So only this way is available.
>

Seems like decoder sets it from MOV fourcc, so I think it should be fine.

-- 
Baptiste


More information about the ffmpeg-devel mailing list