prefer container time_base for frame duration guess
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 6 May 2005 20:26:50 +0000 (20:26 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 6 May 2005 20:26:50 +0000 (20:26 +0000)
Originally committed as revision 4190 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/utils.c

index 50cde39..21fd825 100644 (file)
@@ -632,16 +632,16 @@ static void compute_frame_duration(int *pnum, int *pden, AVStream *st,
     *pden = 0;
     switch(st->codec.codec_type) {
     case CODEC_TYPE_VIDEO:
-        if(st->codec.time_base.num*1000 <= st->codec.time_base.den){
+        if(st->time_base.num*1000 > st->time_base.den){
             *pnum = st->time_base.num;
             *pden = st->time_base.den;
-        }else{
+        }else if(st->codec.time_base.num*1000 > st->codec.time_base.den){
             *pnum = st->codec.time_base.num;
             *pden = st->codec.time_base.den;
-        }
-        if (pc && pc->repeat_pict) {
-            *pden *= 2;
-            *pnum = (*pnum) * (2 + pc->repeat_pict);
+            if (pc && pc->repeat_pict) {
+                *pden *= 2;
+                *pnum = (*pnum) * (2 + pc->repeat_pict);
+            }
         }
         break;
     case CODEC_TYPE_AUDIO: