]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit 'ce67f442be0f6c4a8794272873852e256b5b8ee4'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 23 Sep 2013 12:13:43 +0000 (14:13 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 23 Sep 2013 12:19:13 +0000 (14:19 +0200)
* commit 'ce67f442be0f6c4a8794272873852e256b5b8ee4':
  lavf: Avoid setting avg_frame_rate if delta_dts is negative

Conflicts:
libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/utils.c

index 48db0da52bb7ff287086a5da624c95b7c8abd546,0700c5d07f4f8cf04276a653b5beb89b0deb2535..822b2169725d6e1e03336aed6c5ed2cbecd31577
@@@ -2977,12 -2372,13 +2977,13 @@@ int avformat_find_stream_info(AVFormatC
                  int      best_fps = 0;
                  double best_error = 0.01;
  
 -                if (delta_dts     >= INT64_MAX / st->time_base.num ||
 -                    delta_packets >= INT64_MAX / st->time_base.den ||
 -                    delta_dts < 0)
 +                if (st->info->codec_info_duration        >= INT64_MAX / st->time_base.num / 2||
-                     st->info->codec_info_duration_fields >= INT64_MAX / st->time_base.den)
++                    st->info->codec_info_duration_fields >= INT64_MAX / st->time_base.den ||
++                    st->info->codec_info_duration        < 0)
                      continue;
                  av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,
 -                          delta_packets*(int64_t)st->time_base.den,
 -                          delta_dts*(int64_t)st->time_base.num, 60000);
 +                          st->info->codec_info_duration_fields*(int64_t)st->time_base.den,
 +                          st->info->codec_info_duration*2*(int64_t)st->time_base.num, 60000);
  
                  /* round guessed framerate to a "standard" framerate if it's
                   * within 1% of the original estimate*/