# HG changeset patch # User michael # Date 1103596060 0 # Node ID 4add6a5abe3e27306c7004bc1c2730fe9678be69 # Parent e7b64333f11648612520c279af6ebfb7ec993c9f prefer integer fps if possible when guessing diff -r e7b64333f116 -r 4add6a5abe3e utils.c --- 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 */