From: Yaowu Xu Date: Tue, 4 Jun 2013 17:59:27 +0000 (-0700) Subject: Removed rectangular intra prediction code X-Git-Tag: v1.3.0~1104^2~60^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9470c1a2a1c47b00624d1c0ab488851b8fa57027;p=libvpx Removed rectangular intra prediction code As all intra predictions happen on squared transform block now. Change-Id: I7ec91e3f0ad01383a03d2bd3099bbf32e87e3466 --- diff --git a/vp9/common/vp9_reconintra.c b/vp9/common/vp9_reconintra.c index 4a4634b63..85dfe5137 100644 --- a/vp9/common/vp9_reconintra.c +++ b/vp9/common/vp9_reconintra.c @@ -204,6 +204,8 @@ void vp9_build_intra_predictors(uint8_t *src, int src_stride, // 129 G H .. S T T T T T // .. + assert(bw == bh); + if (left_available) { for (i = 0; i < bh; i++) yleft_col[i] = src[i * src_stride - 1]; @@ -271,89 +273,22 @@ void vp9_build_intra_predictors(uint8_t *src, int src_stride, } break; case D45_PRED: + d45_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); + break; case D135_PRED: + d135_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); + break; case D117_PRED: + d117_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); + break; case D153_PRED: + d153_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); + break; case D27_PRED: + d27_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); + break; case D63_PRED: - if (bw == bh) { - switch (mode) { - case D45_PRED: - d45_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); - break; - case D135_PRED: - d135_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); - break; - case D117_PRED: - d117_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); - break; - case D153_PRED: - d153_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); - break; - case D27_PRED: - d27_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); - break; - case D63_PRED: - d63_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); - break; - default: - assert(0); - } - } else if (bw > bh) { - uint8_t pred[64*64]; - vpx_memset(yleft_col + bh, yleft_col[bh - 1], bw - bh); - switch (mode) { - case D45_PRED: - d45_predictor(pred, 64, bw, bw, yabove_row, yleft_col); - break; - case D135_PRED: - d135_predictor(pred, 64, bw, bw, yabove_row, yleft_col); - break; - case D117_PRED: - d117_predictor(pred, 64, bw, bw, yabove_row, yleft_col); - break; - case D153_PRED: - d153_predictor(pred, 64, bw, bw, yabove_row, yleft_col); - break; - case D27_PRED: - d27_predictor(pred, 64, bw, bw, yabove_row, yleft_col); - break; - case D63_PRED: - d63_predictor(pred, 64, bw, bw, yabove_row, yleft_col); - break; - default: - assert(0); - } - for (i = 0; i < bh; i++) - vpx_memcpy(ypred_ptr + y_stride * i, pred + i * 64, bw); - } else { - uint8_t pred[64 * 64]; - vpx_memset(yabove_row + bw * 2, yabove_row[bw * 2 - 1], (bh - bw) * 2); - switch (mode) { - case D45_PRED: - d45_predictor(pred, 64, bh, bh, yabove_row, yleft_col); - break; - case D135_PRED: - d135_predictor(pred, 64, bh, bh, yabove_row, yleft_col); - break; - case D117_PRED: - d117_predictor(pred, 64, bh, bh, yabove_row, yleft_col); - break; - case D153_PRED: - d153_predictor(pred, 64, bh, bh, yabove_row, yleft_col); - break; - case D27_PRED: - d27_predictor(pred, 64, bh, bh, yabove_row, yleft_col); - break; - case D63_PRED: - d63_predictor(pred, 64, bh, bh, yabove_row, yleft_col); - break; - default: - assert(0); - } - for (i = 0; i < bh; i++) - vpx_memcpy(ypred_ptr + y_stride * i, pred + i * 64, bw); - } + d63_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col); break; default: break;