[FFmpeg-cvslog] r25242 - trunk/cmdutils.c

astrange subversion
Tue Sep 28 05:45:27 CEST 2010


Author: astrange
Date: Tue Sep 28 05:45:27 2010
New Revision: 25242

Log:
All else being equal, prefer PTS over DTS in timestamp correction

Because DTS values aren't passed through decoders, they tend to be
inaccurate if decoder delay doesn't match what was expected by the encoder.

In particular this improves timestamps for H.264 without num_reorder_frames
set and with -strict 1, which causes DTS to be up to 16 frames ahead of the
picture.

Note that this doesn't really improve any file with very broken PTS/DTS,
since PTS isn't much more accurate in these.

Modified:
   trunk/cmdutils.c

Modified: trunk/cmdutils.c
==============================================================================
--- trunk/cmdutils.c	Tue Sep 28 04:05:12 2010	(r25241)
+++ trunk/cmdutils.c	Tue Sep 28 05:45:27 2010	(r25242)
@@ -696,7 +696,7 @@ int64_t guess_correct_pts(PtsCorrectionC
         ctx->num_faulty_pts += reordered_pts <= ctx->last_pts;
         ctx->last_pts = reordered_pts;
     }
-    if ((ctx->num_faulty_pts<ctx->num_faulty_dts || dts == AV_NOPTS_VALUE)
+    if ((ctx->num_faulty_pts<=ctx->num_faulty_dts || dts == AV_NOPTS_VALUE)
        && reordered_pts != AV_NOPTS_VALUE)
         pts = reordered_pts;
     else



More information about the ffmpeg-cvslog mailing list