summaryrefslogtreecommitdiff
path: root/fftools
diff options
context:
space:
mode:
authorDanny Wu <admin@glados.cc>2021-05-12 08:51:13 -0400
committerJames Almer <jamrial@gmail.com>2022-02-13 10:46:47 -0300
commit68595b46cb374658432fff998e82e5ff434557ac (patch)
treec3979b84010b23713b732bd68de66a300ac29398 /fftools
parent2233ef1db9059758bcf0ac3ea5630a72d7e838c1 (diff)
fftools/ffmpeg: Restore DTS correction for VP9 copies
Fixes ticket 9086. Since early 2021, some of YouTube's VP9 encodes have non-monotonous DTS. This makes ffmpeg fatally fail when trying to copy or encode the V9 video. ffmpeg already includes functionality to correct this, however it was disabled without explanation for VP9 stream copies in 2e6636aa87303d37b112e79f093ca39500f92364 This patch restores the DTS correction logic, and allows ffmpeg to correctly encode (invalid) videos produced by youtube.com. I have verified that frames are NOT being cut (so it does not re-introduce 4313). Reviwed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'fftools')
-rw-r--r--fftools/ffmpeg.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index d909fa58a7..7beea11933 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -812,7 +812,6 @@ static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int u
}
if ((st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO || st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO || st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) &&
pkt->dts != AV_NOPTS_VALUE &&
- !(st->codecpar->codec_id == AV_CODEC_ID_VP9 && ost->stream_copy) &&
ost->last_mux_dts != AV_NOPTS_VALUE) {
int64_t max = ost->last_mux_dts + !(s->oformat->flags & AVFMT_TS_NONSTRICT);
if (pkt->dts < max) {