[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