On Sat, May 11, 2019 at 11:20:51PM -0400, Andriy Gelman wrote: > From: Andriy Gelman <andriy.gel...@gmail.com> > > Fixes Ticket #7895. > > Currently, timestamp interpolation is disabled by default in H264 and > HEVC. This creates playback issues when the demuxer does not output a > valid timestamp. This patch allows interpolation when no b-frames have > been observed during decoding, which fixes playback issues for some > missing timestamp cases. > --- > libavformat/utils.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/libavformat/utils.c b/libavformat/utils.c > index a63d71b0f4..0668ae3ad1 100644 > --- a/libavformat/utils.c > +++ b/libavformat/utils.c > @@ -1233,7 +1233,9 @@ static void compute_pkt_fields(AVFormatContext *s, > AVStream *st, > int64_t offset; > AVRational duration; > int onein_oneout = st->codecpar->codec_id != AV_CODEC_ID_H264 && > - st->codecpar->codec_id != AV_CODEC_ID_HEVC; > + st->codecpar->codec_id != AV_CODEC_ID_HEVC || > + (!st->internal->avctx->max_b_frames &&
> + st->cur_dts != RELATIVE_TS_BASE); This needs a comment explaining what it does. Assuming it is what i think it is then its not completely obvious and could confuse someone working on the code in the future. > > if (s->flags & AVFMT_FLAG_NOFILLIN) > return; > @@ -1272,6 +1274,10 @@ static void compute_pkt_fields(AVFormatContext *s, > AVStream *st, > delay = st->internal->avctx->has_b_frames; > presentation_delayed = 0; > > + /*update max_b_frames if delay is larger */ > + if (delay > st->internal->avctx->max_b_frames) > + st->internal->avctx->max_b_frames = delay; do we have a testcase for this ? [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you fake or manipulate statistics in a paper in physics you will never get a job again. If you fake or manipulate statistics in a paper in medicin you will get a job for life at the pharma industry.
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".