Skip to content
Snippets Groups Projects
Commit b3506cb4 authored by Michael Niedermayer's avatar Michael Niedermayer
Browse files

prefer integer fps if possible when guessing

Originally committed as revision 3769 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 3e76d1b5
No related branches found
No related tags found
No related merge requests found
...@@ -1846,9 +1846,18 @@ int av_find_stream_info(AVFormatContext *ic) ...@@ -1846,9 +1846,18 @@ int av_find_stream_info(AVFormatContext *ic)
st->codec.codec_tag= avcodec_pix_fmt_to_codec_tag(st->codec.pix_fmt); 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){ 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= st->codec.frame_rate;
st->r_frame_rate_base= av_rescale(best_duration[i], st->codec.frame_rate, AV_TIME_BASE); 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); 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 */ /* set real frame rate info */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment