[FFmpeg-devel] [PATCH] frame: add a time_base field

Lynne dev at lynne.ee
Thu Sep 9 22:09:46 EEST 2021


9 Sept 2021, 15:53 by george at nsup.org:

> Lynne (12021-09-09):
>
>> Because all of our codecs pass their frames through a wrapper function before
>> they get to the user. So, we just set the field there, add a FATE test, and now
>> they're guaranteed to be correctly kept updated.
>>
>
> This is wrong and not enough. Codecs are not the only origin for frames.
> To ensure this field is always up-to-date, you need to find all the
> places where it can go out-of-sync, and make sure there is some kind of
> wrapper.
>

No, you don't, there's nothing special about this!


>> So why are timestamps part of frames at all then?
>>
>
> Seriously? Because the timestamps, unlike the time base, change from
> frame to frame.
>

For now. No reason why they can't in the future, specifically
with codecs that embed timebases in their bitstream.


>> They're not isolated, they're part of the frame. And to make any sense
>> of them, you need a timebase.
>>
>
> No, one frame does not need a timestamp. Timestamps become necessary
> when there are several frames.
>

Well, no, single-frame video also exists. We already have a packet duration
field, so we are able to express such! And to make sense of that field,
you also need a timebase.


>> It's a single optional field! The way the comment is worded now,
>> we don't even have any obligation to update it.
>>
>
> It is a single optional field, but keeping it up to date requires a lot
> of code.
>

It's 10 lines of code. No.


More information about the ffmpeg-devel mailing list