changeset 625:4add6a5abe3e libavformat

prefer integer fps if possible when guessing
author michael
date Tue, 21 Dec 2004 02:27:40 +0000
parents e7b64333f116
children 4a35651e6cc8
files utils.c
diffstat 1 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/utils.c	Tue Dec 21 02:16:11 2004 +0000
+++ b/utils.c	Tue Dec 21 02:27:40 2004 +0000
@@ -1846,9 +1846,18 @@
                 st->codec.codec_tag= avcodec_pix_fmt_to_codec_tag(st->codec.pix_fmt);
 
             if(best_duration[i] < INT64_MAX && st->codec.frame_rate_base*1000 <= st->codec.frame_rate){
+                int int_fps;
+
                 st->r_frame_rate= st->codec.frame_rate;
                 st->r_frame_rate_base= av_rescale(best_duration[i], st->codec.frame_rate, AV_TIME_BASE);
                 av_reduce(&st->r_frame_rate, &st->r_frame_rate_base, st->r_frame_rate, st->r_frame_rate_base, 1<<15);
+                
+                int_fps= av_rescale(st->r_frame_rate, 1, st->r_frame_rate_base);
+                
+                if(av_rescale(st->r_frame_rate, 1, int_fps) == st->r_frame_rate_base){
+                    st->r_frame_rate= int_fps;
+                    st->r_frame_rate_base= 1;
+                }               
             }
 
             /* set real frame rate info */