h264: avoid a grayscale related if() in hl_decode_mb()
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 28 Dec 2012 19:38:41 +0000 (20:38 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 28 Dec 2012 20:01:54 +0000 (21:01 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h264_mb_template.c
libavcodec/h264pred.c

index b6adbf7..a110094 100644 (file)
@@ -159,10 +159,8 @@ static av_noinline void FUNC(hl_decode_mb)(H264Context *h)
                                uvlinesize, 1, 0, SIMPLE, PIXEL_SHIFT);
 
             if (SIMPLE || !CONFIG_GRAY || !(s->flags & CODEC_FLAG_GRAY)) {
-                if (CHROMA) {
                 h->hpc.pred8x8[h->chroma_pred_mode](dest_cb, uvlinesize);
                 h->hpc.pred8x8[h->chroma_pred_mode](dest_cr, uvlinesize);
-                }
             }
 
             hl_decode_mb_predict_luma(h, mb_type, is_h264, SIMPLE,
index f83924d..db483c9 100644 (file)
@@ -406,7 +406,7 @@ static void pred8x8_tm_vp8_c(uint8_t *src, ptrdiff_t stride)
  * Set the intra prediction function pointers.
  */
 void ff_h264_pred_init(H264PredContext *h, int codec_id, const int bit_depth,
-                       const int chroma_format_idc)
+                       int chroma_format_idc)
 {
 //    MpegEncContext * const s = &h->s;
 
@@ -566,6 +566,9 @@ void ff_h264_pred_init(H264PredContext *h, int codec_id, const int bit_depth,
     h->pred16x16_add[VERT_PRED8x8]= FUNCC(pred16x16_vertical_add          , depth);\
     h->pred16x16_add[ HOR_PRED8x8]= FUNCC(pred16x16_horizontal_add        , depth);\
 
+    if(!chroma_format_idc)
+        chroma_format_idc = 1;
+
     switch (bit_depth) {
         case 9:
             H264_PRED(9)