[FFmpeg-cvslog] r14424 - trunk/libavformat/raw.c

michael subversion
Sat Jul 26 20:54:26 CEST 2008


Author: michael
Date: Sat Jul 26 20:54:26 2008
New Revision: 14424

Log:
Detect IDR less H.264 correctly.
Fixes maybeH264_dumpvideo


Modified:
   trunk/libavformat/raw.c

Modified: trunk/libavformat/raw.c
==============================================================================
--- trunk/libavformat/raw.c	(original)
+++ trunk/libavformat/raw.c	Sat Jul 26 20:54:26 2008
@@ -350,7 +350,7 @@ static int mpeg4video_probe(AVProbeData 
 static int h264_probe(AVProbeData *p)
 {
     uint32_t code= -1;
-    int sps=0, pps=0, idr=0, res=0;
+    int sps=0, pps=0, idr=0, res=0, sli=0;
     int i;
 
     for(i=0; i<p->buf_size; i++){
@@ -376,6 +376,7 @@ static int h264_probe(AVProbeData *p)
                 res++;
 
             switch(type){
+            case     1:   sli++; break;
             case     5:   idr++; break;
             case     7:
                 if(p->buf[i+2]&0x0F)
@@ -386,7 +387,7 @@ static int h264_probe(AVProbeData *p)
             }
         }
     }
-    if(sps && pps && idr && res<(sps+pps+idr))
+    if(sps && pps && (idr||sli>3) && res<(sps+pps+idr))
         return AVPROBE_SCORE_MAX/2+1; // +1 for .mpg
     return 0;
 }




More information about the ffmpeg-cvslog mailing list