[FFmpeg-devel] [PATCH v2] avformat/ivfenc: Set the "number of frames" in IVF header
Anton Khirnov
anton at khirnov.net
Thu Jun 29 12:44:29 EEST 2023
Quoting Dai, Jianhui J (2023-06-29 08:03:18)
>
>
> > -----Original Message-----
> > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> > Anton Khirnov
> > Sent: Wednesday, June 28, 2023 11:25 PM
> > To: ffmpeg-devel at ffmpeg.org
> > Subject: Re: [FFmpeg-devel] [PATCH v2] avformat/ivfenc: Set the "number of
> > frames" in IVF header
> >
> > Quoting Dai, Jianhui J (2023-06-05 02:53:35)
> > > diff --git a/libavformat/ivfdec.c b/libavformat/ivfdec.c index
> > > 511f2387ed..01012db948 100644
> > > --- a/libavformat/ivfdec.c
> > > +++ b/libavformat/ivfdec.c
> > > @@ -53,6 +53,7 @@ static int read_header(AVFormatContext *s)
> > > st->codecpar->height = avio_rl16(s->pb);
> > > time_base.den = avio_rl32(s->pb);
> > > time_base.num = avio_rl32(s->pb);
> > > + // Infer duration from "number of frames".
> > > st->duration = avio_rl32(s->pb);
> >
> > This should be setting st->nb_frames then rather than duration.
> > And the muxer should be using that field as well instead of its custom version.
>
> ACK.
> Do you suggest letting `duration` unset?
> It is interesting that the 'duration' is often right in this way, if
> the time_base.den/time_base.num == fps which is the popular
> configuration.
Yes, but AFAIU there is no way to tell whether the file is CFR, so then
the value would be unreliable. So I'd prefer to leave it unset.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list