diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-28 20:38:41 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-28 21:01:54 +0100 |
commit | 07abf13da4a7c3d23ce6bc6542d72e6252161736 (patch) | |
tree | e9fac6b420033b7c254f3fa583fd7ca74f61ba23 | |
parent | 507956824c642e44b0ab7af669a2700c9e57878a (diff) | |
download | ffmpeg-07abf13da4a7c3d23ce6bc6542d72e6252161736.tar.gz |
h264: avoid a grayscale related if() in hl_decode_mb()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/h264_mb_template.c | 2 | ||||
-rw-r--r-- | libavcodec/h264pred.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/h264_mb_template.c b/libavcodec/h264_mb_template.c index b6adbf7ceb..a11009412c 100644 --- a/libavcodec/h264_mb_template.c +++ b/libavcodec/h264_mb_template.c @@ -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, diff --git a/libavcodec/h264pred.c b/libavcodec/h264pred.c index f83924da34..db483c9702 100644 --- a/libavcodec/h264pred.c +++ b/libavcodec/h264pred.c @@ -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) |