h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
authorVictor Lopez <gallandae@gmail.com>
Wed, 19 Dec 2012 08:12:24 +0000 (09:12 +0100)
committerJanne Grunau <janne-libav@jannau.net>
Wed, 19 Dec 2012 12:40:48 +0000 (13:40 +0100)
Fixes bug 396.

CC: libav-stable@libav.org
libavcodec/h264_ps.c

index 7eb8726..ff6c077 100644 (file)
@@ -333,7 +333,11 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){
     memset(sps->scaling_matrix8, 16, sizeof(sps->scaling_matrix8));
     sps->scaling_matrix_present = 0;
 
-    if(sps->profile_idc >= 100){ //high profile
+    if (sps->profile_idc == 100 || sps->profile_idc == 110 ||
+        sps->profile_idc == 122 || sps->profile_idc == 244 ||
+        sps->profile_idc ==  44 || sps->profile_idc ==  83 ||
+        sps->profile_idc ==  86 || sps->profile_idc == 118 ||
+        sps->profile_idc == 128 || sps->profile_idc == 144) {
         sps->chroma_format_idc= get_ue_golomb_31(&s->gb);
         if(sps->chroma_format_idc > 3) {
             av_log(h->s.avctx, AV_LOG_ERROR, "chroma_format_idc (%u) out of range\n", sps->chroma_format_idc);