Merge commit 'e7226984ac13aacb84eae77a372df8ff7685848f'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 21 Mar 2015 14:46:28 +0000 (15:46 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 21 Mar 2015 14:48:13 +0000 (15:48 +0100)
* commit 'e7226984ac13aacb84eae77a372df8ff7685848f':
  h264: move [{top,left}_]cbp into the per-slice context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb.c
libavcodec/h264_mb_template.c
libavcodec/h264_mvpred.h
libavcodec/h264_slice.c
libavcodec/svq3.c

Simple merge
@@@ -2318,14 -2313,9 +2318,14 @@@ decode_intra_mb
          cbp  = decode_cabac_mb_cbp_luma(h, sl);
          if(decode_chroma)
              cbp |= decode_cabac_mb_cbp_chroma(h, sl) << 4;
 +    } else {
 +        if (!decode_chroma && cbp>15) {
 +            av_log(h->avctx, AV_LOG_ERROR, "gray chroma\n");
 +            return AVERROR_INVALIDDATA;
 +        }
      }
  
-     h->cbp_table[mb_xy] = h->cbp = cbp;
+     h->cbp_table[mb_xy] = sl->cbp = cbp;
  
      if( dct8x8_allowed && (cbp&15) && !IS_INTRA( mb_type ) ) {
          mb_type |= MB_TYPE_8x8DCT * get_cabac_noinline(&sl->cabac, &sl->cabac_state[399 + sl->neighbor_transform_size]);
Simple merge
@@@ -356,9 -358,9 +356,9 @@@ static av_always_inline void h264_filte
          }
          return;
      } else {
 -        LOCAL_ALIGNED_8(int16_t, bS, [2], [4][4]);
 +        LOCAL_ALIGNED(8, int16_t, bS, [2], [4][4]);
          int edges;
-         if( IS_8x8DCT(mb_type) && (h->cbp&7) == 7 && !chroma444 ) {
+         if( IS_8x8DCT(mb_type) && (sl->cbp&7) == 7 && !chroma444 ) {
              edges = 4;
              AV_WN64A(bS[0][0], 0x0002000200020002ULL);
              AV_WN64A(bS[0][2], 0x0002000200020002ULL);
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1306,7 -1271,7 +1306,7 @@@ static int svq3_decode_frame(AVCodecCon
                  return -1;
              }
  
-             if (mb_type != 0 || h->cbp)
 -            if (mb_type != 0)
++            if (mb_type != 0 || sl->cbp)
                  ff_h264_hl_decode_mb(h, &h->slice_ctx[0]);
  
              if (h->pict_type != AV_PICTURE_TYPE_B && !h->low_delay)