You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
lavf/demux: use avg_frame_rate for packet durations for notimestamps formats
avg_frame_rate, if set, should be more reliable than stream timebase in this case.
This commit is contained in:
@@ -668,6 +668,11 @@ static void compute_frame_duration(AVFormatContext *s, int *pnum, int *pden,
|
|||||||
if (st->r_frame_rate.num && (!pc || !codec_framerate.num)) {
|
if (st->r_frame_rate.num && (!pc || !codec_framerate.num)) {
|
||||||
*pnum = st->r_frame_rate.den;
|
*pnum = st->r_frame_rate.den;
|
||||||
*pden = st->r_frame_rate.num;
|
*pden = st->r_frame_rate.num;
|
||||||
|
} else if ((s->iformat->flags & AVFMT_NOTIMESTAMPS) &&
|
||||||
|
!codec_framerate.num &&
|
||||||
|
st->avg_frame_rate.num && st->avg_frame_rate.den) {
|
||||||
|
*pnum = st->avg_frame_rate.den;
|
||||||
|
*pden = st->avg_frame_rate.num;
|
||||||
} else if (st->time_base.num * 1000LL > st->time_base.den) {
|
} else if (st->time_base.num * 1000LL > st->time_base.den) {
|
||||||
*pnum = st->time_base.num;
|
*pnum = st->time_base.num;
|
||||||
*pden = st->time_base.den;
|
*pden = st->time_base.den;
|
||||||
|
Reference in New Issue
Block a user