[FFmpeg-devel] [PATCH v2 5/7] avcodec/mediacodecenc: remove the strategy to create DTS

Tomas Härdin git at haerdin.se
Mon Dec 12 17:28:44 EET 2022


ons 2022-12-07 klockan 17:31 +0800 skrev Zhao Zhili:
> From: Zhao Zhili <zhilizhao at tencent.com>
> 
> Use input PTS as DTS has multiple problems:
> 1. If there is no reordering, it's better to just use the output
> PTS as DTS, since encoder may change the timestamp value (do it
> on purpose or rounding error).
> 
> 2. If there is reordering, input PTS should be shift a few frames
> as DTS to satisfy the requirement of PTS >= DTS. I can't find a
> reliable way to determine how many frames to be shift. For example,
> we don't known if the encoder use hierarchical B frames. The
> max_num_reorder_frames can be get from VUI, but VUI is optional.
> 
> 3. Encoder dropping frames makes the case worse. Android has an
> BITRATE_MODE_CBR_FD option to allow it explicitly.

Don't we already have code to parse this stuff from h.264 streams?

/Tomas



More information about the ffmpeg-devel mailing list