Merge "Removed rectangular intra prediction code" into experimental
This commit is contained in:
commit
4df9e7883c
@ -204,6 +204,8 @@ void vp9_build_intra_predictors(uint8_t *src, int src_stride,
|
|||||||
// 129 G H .. S T T T T T
|
// 129 G H .. S T T T T T
|
||||||
// ..
|
// ..
|
||||||
|
|
||||||
|
assert(bw == bh);
|
||||||
|
|
||||||
if (left_available) {
|
if (left_available) {
|
||||||
for (i = 0; i < bh; i++)
|
for (i = 0; i < bh; i++)
|
||||||
yleft_col[i] = src[i * src_stride - 1];
|
yleft_col[i] = src[i * src_stride - 1];
|
||||||
@ -271,89 +273,22 @@ void vp9_build_intra_predictors(uint8_t *src, int src_stride,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case D45_PRED:
|
case D45_PRED:
|
||||||
|
d45_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col);
|
||||||
|
break;
|
||||||
case D135_PRED:
|
case D135_PRED:
|
||||||
|
d135_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col);
|
||||||
|
break;
|
||||||
case D117_PRED:
|
case D117_PRED:
|
||||||
|
d117_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col);
|
||||||
|
break;
|
||||||
case D153_PRED:
|
case D153_PRED:
|
||||||
|
d153_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col);
|
||||||
|
break;
|
||||||
case D27_PRED:
|
case D27_PRED:
|
||||||
|
d27_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col);
|
||||||
|
break;
|
||||||
case D63_PRED:
|
case D63_PRED:
|
||||||
if (bw == bh) {
|
d63_predictor(ypred_ptr, y_stride, bw, bh, yabove_row, yleft_col);
|
||||||
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);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user