[FFmpeg-devel] A change in r_frame_rate values after upgrade to FFmpeg 6.1
Kieran Kunhya
kieran618 at googlemail.com
Tue Sep 24 00:48:37 EEST 2024
On Mon, Sep 23, 2024 at 8:56 PM Anton Khirnov <anton at khirnov.net> wrote:
>
> Quoting Kieran Kunhya via ffmpeg-devel (2024-09-23 21:30:09)
> > > On Mon, Sep 23, 2024 at 4:45 PM Kieran Kunhya via ffmpeg-devel <ffmpeg-devel at ffmpeg.org> wrote:
> > >>
> > >> On Mon, Sep 23, 2024 at 3:27 PM Anton Khirnov <anton at khirnov.net> wrote:
> > >> >
> > >> > Quoting Antoni Bizoń (2024-09-23 10:09:51)
> > >> > > I understand that the r_frame_rate is the lowest framerate with which
> > >> > > all timestamps can be represented accurately. And I know it is just a
> > >> > > guess. But why did the logic behind the calculation change?
> > >> >
> > >> > Because you're most likely using a codec like H.264 or MPEG-2 that
> > >> > allows individually coded fields. In that case the timebase must be
> > >> > accurate enough to represent the field rate (i.e. double the frame
> > >> > rate), but the code doing this was previously unreliable, so you'd
> > >> > sometimes get r_frame_rate equal to the frame rate rather than field
> > >> > rate. That is not the case anymore.
> > >>
> > >> This is bizarre and kafkaesque to say the least.
> > >
> > >
> > > Should we schedule deprecation for one of the two fields? I agree it's confusing for end users to check in two fields.
> >
> > avg_frame_rate implies it's not precise in some way.
>
> You might have heard of certain cases where inter-frame intervals are
> not constant, then there is no precisely defined frame rate. When the
> stream is CFR, avg_frame_rate should be precise.
Let's look at the first result for avg_frame_rate where people are
taking the name to be something else:
https://github.com/eugeneware/ffprobe/issues/7
The OP wants a framerate, yet the API takes them down a massive rabbit
hole of voodoo to serve edge cases.
Do you really want edge cases to be treated as first class citizens to
the detriment of the majority?
There are CFR streams, there are flags to say things are CFR.
Regards,
Kieran Kunhya
More information about the ffmpeg-devel
mailing list