[FFmpeg-devel] [PATCH 2/4] avformat/mxfdec: set profile for prores codec
Paul B Mahol
onemda at gmail.com
Thu Dec 6 01:17:37 EET 2018
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.
More information about the ffmpeg-devel
mailing list