Do not duplicate frames if the muxer claims that it is not needed.
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2009 15:06:17 +0000 (15:06 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2009 15:06:17 +0000 (15:06 +0000)
Note to release manager, this is risky and should be reverted if
it causes any problem.

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

ffmpeg.c

index 3c5e333..79ad1a4 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -865,7 +865,7 @@ static void do_video_out(AVFormatContext *s,
         //FIXME set to 0.5 after we fix some dts/pts bugs like in avidec.c
         if (vdelta < -1.1)
             nb_frames = 0;
-        else if (video_sync_method == 2)
+        else if (video_sync_method == 2 || (video_sync_method<0 && (s->oformat->flags & AVFMT_VARIABLE_FPS)))
             ost->sync_opts= lrintf(get_sync_ipts(ost) / av_q2d(enc->time_base));
         else if (vdelta > 1.1)
             nb_frames = lrintf(vdelta);