[FFmpeg-devel] [PATCH v2 6/7] avformat/mxfenc: allow all frame rates if -strict mode is set to unofficial or lower

Marton Balint cus at passwd.hu
Sat Mar 14 23:54:15 EET 2020



On Sat, 14 Mar 2020, Tomas Härdin wrote:

> tor 2020-03-12 klockan 22:21 +0100 skrev Marton Balint:
>> 
>> On Sat, 7 Mar 2020, Tomas Härdin wrote:
>> 
>> > tor 2020-03-05 klockan 22:56 +0100 skrev Marton Balint:
>> > > There was no consensus wheter or not to allow unofficial frame rates due to
>> > > possible interoperability issues, a compromise is to only allow it if -strict
>> > > mode is set to unofficial.
>> > > 
>> > > Signed-off-by: Marton Balint <cus at passwd.hu>
>> > > ---
>> > >  libavformat/mxfenc.c | 8 ++++++--
>> > >  1 file changed, 6 insertions(+), 2 deletions(-)
>> > > 
>> > > diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
>> > > index 51e2dc5f31..6279ba9d6d 100644
>> > > --- a/libavformat/mxfenc.c
>> > > +++ b/libavformat/mxfenc.c
>> > > @@ -2413,8 +2413,12 @@ static int mxf_init_timecode(AVFormatContext *s, AVStream *st, AVRational tbc)
>> > >      AVDictionaryEntry *tcr = av_dict_get(s->metadata, "timecode", NULL, 0);
>> > > 
>> > >      if (!ff_mxf_get_content_package_rate(tbc)) {
>> > > -        av_log(s, AV_LOG_ERROR, "Unsupported frame rate %d/%d\n", tbc.den, tbc.num);
>> > > -        return AVERROR(EINVAL);
>> > > +        if (s->strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL) {
>> > > +            av_log(s, AV_LOG_ERROR, "Unsupported frame rate %d/%d. Set -strict option to 'unofficial' or lower in order to allow it!\n", tbc.den, tbc.num);
>> > > +            return AVERROR(EINVAL);
>> > > +        } else {
>> > > +            av_log(s, AV_LOG_WARNING, "Unofficial frame rate %d/%d.\n", tbc.den, tbc.num);
>> > > +        }
>> > 
>> > This can work. That way we make it clear to users that here be dragons
>> 
>> Thanks, it seems there are no further comments for patches 1-6, so I plan 
>> to apply them soon.
>
> 👍

Thanks, applied.

Regards,
Marton


More information about the ffmpeg-devel mailing list