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

2018-12-06 Thread Baptiste Coudurier
On Wed, Dec 5, 2018 at 3:17 PM Paul B Mahol  wrote:

> On 12/6/18, Baptiste Coudurier  wrote:
> > Hi Paul
> >
> > On Wed, Dec 5, 2018 at 9:52 AM Paul B Mahol  wrote:
> >
> >> Signed-off-by: Paul B Mahol 
> >> ---
> >>  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_;
> >>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
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


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

2018-12-05 Thread Paul B Mahol
On 12/6/18, Baptiste Coudurier  wrote:
> Hi Paul
>
> On Wed, Dec 5, 2018 at 9:52 AM Paul B Mahol  wrote:
>
>> Signed-off-by: Paul B Mahol 
>> ---
>>  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_;
>>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.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


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

2018-12-05 Thread Baptiste Coudurier
Hi Paul

On Wed, Dec 5, 2018 at 9:52 AM Paul B Mahol  wrote:

> Signed-off-by: Paul B Mahol 
> ---
>  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_;
>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.

-- 
Baptiste
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


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

2018-12-05 Thread Paul B Mahol
Signed-off-by: Paul B Mahol 
---
 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_; 
break;
+case 6: st->codecpar->profile = FF_PROFILE_PRORES_XQ;   
break;
+}
+}
+
 if (st->codecpar->codec_id == AV_CODEC_ID_RAWVIDEO) {
 st->codecpar->format = descriptor->pix_fmt;
 if (st->codecpar->format == AV_PIX_FMT_NONE) {
-- 
2.17.1

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel