From 403f6b5846df2a7c83984f73e58f40b3df884132 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Thu, 25 Oct 2012 12:46:26 -0700 Subject: [PATCH] Always extend macroblock edges in the decoder. This fixes edge extension if SB [0,1] doesn't use B_PRED but [1,1] does. Change-Id: I48354a9dba0de16472938824f5e6db87ce61979f --- vp8/decoder/decodframe.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c index d78fea2ec..78ba590e0 100644 --- a/vp8/decoder/decodframe.c +++ b/vp8/decoder/decodframe.c @@ -202,7 +202,7 @@ static void skip_recon_mb(VP8D_COMP *pbi, MACROBLOCKD *xd) { } static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, - int mb_row, unsigned int mb_col, + unsigned int mb_col, BOOL_DECODER* const bc) { int eobtotal = 0; MB_PREDICTION_MODE mode; @@ -355,8 +355,6 @@ static void decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd, b->dst_stride); } } else if (mode == B_PRED) { - vp8_intra_prediction_down_copy(xd, mb_col == pc->mb_cols - 1 && - !(mb_row & 1)); for (i = 0; i < 16; i++) { BLOCKD *b = &xd->block[i]; int b_mode = xd->mode_info_context->bmi[i].as_mode.first; @@ -660,7 +658,9 @@ decode_sb_row(VP8D_COMP *pbi, VP8_COMMON *pc, int mbrow, MACROBLOCKD *xd, mi[pc->mode_info_stride + 1] = mi[0]; } #endif - decode_macroblock(pbi, xd, mb_row, mb_col, bc); + vp8_intra_prediction_down_copy(xd, mb_col == pc->mb_cols - 1 && + !(mb_row & 1)); + decode_macroblock(pbi, xd, mb_col, bc); #if CONFIG_SUPERBLOCKS if (xd->mode_info_context->mbmi.encoded_as_sb) { mi[1].mbmi.txfm_size = mi[0].mbmi.txfm_size; -- 2.40.0