fix r_frame_rate detection in mpeg4 streams with non integer fps
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 3 Oct 2006 19:13:27 +0000 (19:13 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 3 Oct 2006 19:13:27 +0000 (19:13 +0000)
Originally committed as revision 6544 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/utils.c

index 09be967..1405d2c 100644 (file)
@@ -1961,10 +1961,15 @@ int av_find_stream_info(AVFormatContext *ic)
                 }
             }
 
-            /* if no real frame rate, use the codec one */
             if (!st->r_frame_rate.num){
-                st->r_frame_rate.num = st->codec->time_base.den;
-                st->r_frame_rate.den = st->codec->time_base.num;
+                if(    st->codec->time_base.den * (int64_t)st->time_base.num
+                    <= st->codec->time_base.num * (int64_t)st->time_base.den){
+                    st->r_frame_rate.num = st->codec->time_base.den;
+                    st->r_frame_rate.den = st->codec->time_base.num;
+                }else{
+                    st->r_frame_rate.num = st->time_base.den;
+                    st->r_frame_rate.den = st->time_base.num;
+                }
             }
         }
     }