[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