Improve frame rate guessing for streams with two fields per frame.
authorIvan Schreter <schreter@gmx.net>
Sat, 28 Feb 2009 13:14:46 +0000 (13:14 +0000)
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>
Sat, 28 Feb 2009 13:14:46 +0000 (13:14 +0000)
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17656 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/utils.c

index 9354b75..864fd9e 100644 (file)
@@ -2115,6 +2115,11 @@ int av_find_stream_info(AVFormatContext *ic)
             int64_t last= last_dts[index];
             int64_t duration= pkt->dts - last;
 
+            if (st->codec->ticks_per_frame == 2 &&
+                st->parser &&
+                st->parser->repeat_pict == 0)
+                    duration *= 2;  // two fields are needed per frame
+
             if(pkt->dts != AV_NOPTS_VALUE && last != AV_NOPTS_VALUE && duration>0){
                 double dur= duration * av_q2d(st->time_base);