[FFmpeg-devel] [PATCH] lavf/utils: has_decode_delay_been_guessed - always return true if there are no B-frames at all.

Sasi Inguva isasi at google.com
Mon Mar 7 20:02:59 CET 2016


Fixes DTS detection for any H264 file of less than 7 frames length. Without this DTS is N/A.

Signed-off-by: Sasi Inguva <isasi at google.com>
---
 libavformat/utils.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 5f48de1..5017937 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -877,7 +877,9 @@ static int has_decode_delay_been_guessed(AVStream *st)
        avpriv_h264_has_num_reorder_frames(st->codec) == st->codec->has_b_frames)
         return 1;
 #endif
-    if (st->codec->has_b_frames<3)
+    if (st->codec->has_b_frames == 0)
+        return st->nb_decoded_frames >= 2;
+    else if (st->codec->has_b_frames<3)
         return st->nb_decoded_frames >= 7;
     else if (st->codec->has_b_frames<4)
         return st->nb_decoded_frames >= 18;
-- 
2.7.0.rc3.207.g0ac5344



More information about the ffmpeg-devel mailing list