[FFmpeg-devel] [PATCH 2/2] lavf/utils: add flag to discard timestamps on corrupted frames

Hendrik Leppkes h.leppkes at gmail.com
Fri Dec 8 00:53:56 EET 2017


On Thu, Dec 7, 2017 at 9:46 PM, Michael Niedermayer
<michael at niedermayer.cc> wrote:
> On Thu, Dec 07, 2017 at 03:37:38AM -0600, Rodger Combs wrote:
>> ---
>>  libavformat/avformat.h      |  1 +
>>  libavformat/internal.h      |  5 +++++
>>  libavformat/options_table.h |  1 +
>>  libavformat/utils.c         | 12 ++++++++++++
>>  4 files changed, 19 insertions(+)
>>
>> diff --git a/libavformat/avformat.h b/libavformat/avformat.h
>> index 4f2798a871..e2d88280a8 100644
>> --- a/libavformat/avformat.h
>> +++ b/libavformat/avformat.h
>> @@ -1450,6 +1450,7 @@ typedef struct AVFormatContext {
>>  #define AVFMT_FLAG_FAST_SEEK   0x80000 ///< Enable fast, but inaccurate seeks for some formats
>>  #define AVFMT_FLAG_SHORTEST   0x100000 ///< Stop muxing when the shortest stream stops.
>>  #define AVFMT_FLAG_AUTO_BSF   0x200000 ///< Add bitstream filters as requested by the muxer
>> +#define AVFMT_FLAG_DISCARD_CORRUPT_TS 0x400000 ///< Discard timestamps of frames marked corrupt (replacing with wallclock offset from last non-corrupt frame)
>
> Using wallclock to fill in timestamps feels wrong
> if you discard a timestamp it should be set to AV_NOPTS_VALUE or
> recomputed based on information from the specification where this is
> possible, fps when constant or other hard information.
>

I agree, discard should be just that, set it to invalid. Wallclock is
meaningless on anything but a live stream.

- Hendrik


More information about the ffmpeg-devel mailing list