diff options
author | Zhao Zhili <zhilizhao@tencent.com> | 2022-12-07 17:31:20 +0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2022-12-17 04:30:36 +0800 |
commit | 7da1adfc026a57ab3fb42516354f8e62f3f7d35d (patch) | |
tree | b4e935932da448257defa760c6a672552a047e4a /libavcodec/libgsmdec.c | |
parent | e3f2d01d709f35e6e9544d542825eee4ef1d13b5 (diff) | |
download | ffmpeg-7da1adfc026a57ab3fb42516354f8e62f3f7d35d.tar.gz |
avcodec/mediacodecenc: remove the strategy to create DTS
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.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavcodec/libgsmdec.c')
0 files changed, 0 insertions, 0 deletions