changeset 748:6bd8b2955534 libavformat

division by zero fix
author michael
date Fri, 06 May 2005 21:11:38 +0000
parents 95c9cef3c3db
children 1a19a6add674
files utils.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/utils.c	Fri May 06 20:26:50 2005 +0000
+++ b/utils.c	Fri May 06 21:11:38 2005 +0000
@@ -1841,12 +1841,12 @@
             if(st->codec.codec_id == CODEC_ID_RAWVIDEO && !st->codec.codec_tag && !st->codec.bits_per_sample)
                 st->codec.codec_tag= avcodec_pix_fmt_to_codec_tag(st->codec.pix_fmt);
 
-            if(best_duration[i] < INT64_MAX && st->codec.time_base.num*1000 <= st->codec.time_base.den){
+            if(best_duration[i] < INT64_MAX && st->codec.time_base.num*1000 <= st->codec.time_base.den &&
+               st->time_base.num*best_duration[i]*1000LL > st->time_base.den){
                 int int_fps;
 
                 st->r_frame_rate.num= st->time_base.den;
                 st->r_frame_rate.den= st->time_base.num*best_duration[i];
-                av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den, st->r_frame_rate.num, st->r_frame_rate.den, 1<<15);
                 
                 int_fps= av_rescale(st->r_frame_rate.num, 1, st->r_frame_rate.den); // 1/0