mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-13 19:01:03 +00:00
ffmpeg: use (next_)dts in timestamp discontinuity detection code.
Strongly based on Anton Khirnovs code. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
e806ceaa7b
commit
c0be67cac1
6
ffmpeg.c
6
ffmpeg.c
@ -3028,13 +3028,13 @@ static int transcode(OutputFile *output_files, int nb_output_files,
|
||||
pkt.dts *= ist->ts_scale;
|
||||
|
||||
//fprintf(stderr, "next:%"PRId64" dts:%"PRId64" off:%"PRId64" %d\n",
|
||||
// ist->next_pts,
|
||||
// ist->next_dts,
|
||||
// pkt.dts, input_files[ist->file_index].ts_offset,
|
||||
// ist->st->codec->codec_type);
|
||||
if (pkt.dts != AV_NOPTS_VALUE && ist->next_pts != AV_NOPTS_VALUE
|
||||
if (pkt.dts != AV_NOPTS_VALUE && ist->next_dts != AV_NOPTS_VALUE
|
||||
&& (is->iformat->flags & AVFMT_TS_DISCONT)) {
|
||||
int64_t pkt_dts = av_rescale_q(pkt.dts, ist->st->time_base, AV_TIME_BASE_Q);
|
||||
int64_t delta = pkt_dts - ist->next_pts;
|
||||
int64_t delta = pkt_dts - ist->next_dts;
|
||||
if((delta < -1LL*dts_delta_threshold*AV_TIME_BASE ||
|
||||
(delta > 1LL*dts_delta_threshold*AV_TIME_BASE &&
|
||||
ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) ||
|
||||
|
Loading…
Reference in New Issue
Block a user