---
 libavformat/h264dec.c |   58 +++++++++++++++++++++++++++++--------------------
 1 file changed, 35 insertions(+), 23 deletions(-)

diff --git a/libavformat/h264dec.c b/libavformat/h264dec.c
index 7d3bb47..eb8fe7a 100644
--- a/libavformat/h264dec.c
+++ b/libavformat/h264dec.c
@@ -24,47 +24,59 @@
 
 static int h264_probe(AVProbeData *p)
 {
-    uint32_t code= -1;
-    int sps=0, pps=0, idr=0, res=0, sli=0;
+    uint32_t code = -1;
+    int sps       =  0;
+    int pps       =  0;
+    int idr       =  0;
+    int res       =  0;
+    int sli       =  0;
     int i;
 
-    for(i=0; i<p->buf_size; i++){
-        code = (code<<8) + p->buf[i];
+    for (i = 0; i < p->buf_size; i++) {
+        code = (code << 8) + p->buf[i];
         if ((code & 0xffffff00) == 0x100) {
-            int ref_idc= (code>>5)&3;
-            int type   = code & 0x1F;
-            static const int8_t ref_zero[32]={
-                2, 0, 0, 0, 0,-1, 1,-1,
-               -1, 1, 1, 1, 1,-1, 2, 2,
-                2, 2, 2, 0, 2, 2, 2, 2,
-                2, 2, 2, 2, 2, 2, 2, 2
+            int ref_idc = (code >> 5) & 3;
+            int type    = code & 0x1F;
+            static const int8_t ref_zero[32] = {
+                 2, 0, 0, 0, 0, -1, 1, -1,
+                -1, 1, 1, 1, 1, -1, 2,  2,
+                 2, 2, 2, 0, 2,  2, 2,  2,
+                 2, 2, 2, 2, 2,  2, 2,  2
             };
 
-            if(code & 0x80) //forbidden bit
+            if (code & 0x80) //forbidden bit
                 return 0;
 
-            if(ref_zero[type] == 1 && ref_idc)
+            if (ref_zero[type] == 1 && ref_idc)
                 return 0;
-            if(ref_zero[type] ==-1 && !ref_idc)
+            if (ref_zero[type] == -1 && !ref_idc)
                 return 0;
-            if(ref_zero[type] == 2)
+            if (ref_zero[type] == 2)
                 res++;
 
-            switch(type){
-            case     1:   sli++; break;
-            case     5:   idr++; break;
-            case     7:
+            switch (type) {
+            case 1:
+                sli++;
+                break;
+            case 5:
+                idr++;
+                break;
+            case 7:
                 if (p->buf[i + 2] & 0x03)
                     return 0;
                 sps++;
                 break;
-            case     8:   pps++; break;
+            case 8:
+                pps++;
+                break;
             }
         }
     }
-    if(sps && pps && (idr||sli>3) && res<(sps+pps+idr))
-        return AVPROBE_SCORE_EXTENSION + 1; // 1 more than .mpg
+
+    if (sps && pps && (idr || sli > 3) && res < (sps + pps + idr))
+        return AVPROBE_SCORE_EXTENSION + 1;  // 1 more than .mpg
+
     return 0;
 }
 
-FF_DEF_RAWVIDEO_DEMUXER(h264 , "raw H.264 video", h264_probe, "h26l,h264,264", 
AV_CODEC_ID_H264)
+FF_DEF_RAWVIDEO_DEMUXER(h264, "raw H.264 video", h264_probe, "h26l,h264,264", 
AV_CODEC_ID_H264)
-- 
1.7.9.5

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to