avformat/mov: calculate rfps from the first 100 frames of the index
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 5 Dec 2013 16:38:25 +0000 (17:38 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 5 Dec 2013 16:46:40 +0000 (17:46 +0100)
This reduces the amount of frames that need to be demuxed in av_find_stream_info()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/mov.c

index 94bd32f..7c0c897 100644 (file)
@@ -2159,6 +2159,8 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
                     av_dlog(mov->fc, "AVIndex stream %d, sample %d, offset %"PRIx64", dts %"PRId64", "
                             "size %d, distance %d, keyframe %d\n", st->index, current_sample,
                             current_offset, current_dts, sample_size, distance, keyframe);
+                    if (st->nb_index_entries < 100)
+                        ff_rfps_add_frame(mov->fc, st, current_dts);
                 }
 
                 current_offset += sample_size;
@@ -3410,6 +3412,8 @@ static int mov_read_header(AVFormatContext *s)
         }
     }
 
+    ff_rfps_calculate(s);
+
     return 0;
 }