From d269de5fba3ef3a42a6f7a427622d390e352515c Mon Sep 17 00:00:00 2001 From: Deb Mukherjee Date: Fri, 26 Oct 2012 15:54:37 -0700 Subject: [PATCH] A clean up of the down_copy function Change-Id: I0c689fb44e9e91539c450d26672d7a1d92e92900 --- vp8/common/reconintra4x4.c | 3 ++- vp8/common/reconintra4x4.h | 2 +- vp8/decoder/decodframe.c | 3 +-- vp8/encoder/encodeframe.c | 6 ++---- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/vp8/common/reconintra4x4.c b/vp8/common/reconintra4x4.c index 1e40168..741fd7d 100644 --- a/vp8/common/reconintra4x4.c +++ b/vp8/common/reconintra4x4.c @@ -295,7 +295,8 @@ void vp8_comp_intra4x4_predict_c(BLOCKD *x, /* copy 4 bytes from the above right down so that the 4x4 prediction modes using pixels above and * to the right prediction have filled in pixels to use. */ -void vp8_intra_prediction_down_copy(MACROBLOCKD *xd, int extend_edge) { +void vp8_intra_prediction_down_copy(MACROBLOCKD *xd) { + int extend_edge = (xd->mb_to_right_edge == 0 && xd->mb_index < 2); unsigned char *above_right = *(xd->block[0].base_dst) + xd->block[0].dst - xd->block[0].dst_stride + 16; unsigned int *src_ptr = (unsigned int *) diff --git a/vp8/common/reconintra4x4.h b/vp8/common/reconintra4x4.h index 771e0b2..a8cdea4 100644 --- a/vp8/common/reconintra4x4.h +++ b/vp8/common/reconintra4x4.h @@ -12,6 +12,6 @@ #ifndef __INC_RECONINTRA4x4_H #define __INC_RECONINTRA4x4_H -extern void vp8_intra_prediction_down_copy(MACROBLOCKD *xd, int extend_edge); +extern void vp8_intra_prediction_down_copy(MACROBLOCKD *xd); #endif diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c index 78ba590..c53560d 100644 --- a/vp8/decoder/decodframe.c +++ b/vp8/decoder/decodframe.c @@ -658,8 +658,7 @@ decode_sb_row(VP8D_COMP *pbi, VP8_COMMON *pc, int mbrow, MACROBLOCKD *xd, mi[pc->mode_info_stride + 1] = mi[0]; } #endif - vp8_intra_prediction_down_copy(xd, mb_col == pc->mb_cols - 1 && - !(mb_row & 1)); + vp8_intra_prediction_down_copy(xd); decode_macroblock(pbi, xd, mb_col, bc); #if CONFIG_SUPERBLOCKS if (xd->mode_info_context->mbmi.encoded_as_sb) { diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c index a71715e..8cc0715 100644 --- a/vp8/encoder/encodeframe.c +++ b/vp8/encoder/encodeframe.c @@ -613,8 +613,7 @@ static void pick_mb_modes(VP8_COMP *cpi, cpi->update_context = 0; // TODO Do we need this now?? - vp8_intra_prediction_down_copy(xd, mb_col == cm->mb_cols - 1 && - (mb_row & 1) == 0); + vp8_intra_prediction_down_copy(xd); // Find best coding mode & reconstruct the MB so it is available // as a predictor for MBs that follow in the SB @@ -983,8 +982,7 @@ static void encode_sb(VP8_COMP *cpi, #if CONFIG_SUPERBLOCKS if (!xd->mode_info_context->mbmi.encoded_as_sb) #endif - vp8_intra_prediction_down_copy(xd, mb_col == cm->mb_cols - 1 && - (mb_row & 1) == 0); + vp8_intra_prediction_down_copy(xd); if (cm->frame_type == KEY_FRAME) { #if CONFIG_SUPERBLOCKS -- 2.7.4