Enabled i4x4 to use right above pixels

Change-Id: I7442b4600b6812bed13e655ccf68f9ea56cc83a2
This commit is contained in:
Yaowu Xu 2013-04-25 17:52:09 -07:00
Родитель 3d655805f2
Коммит e388251d5d
1 изменённых файлов: 6 добавлений и 3 удалений

Просмотреть файл

@ -236,7 +236,10 @@ void vp9_build_intra_predictors(uint8_t *src, int src_stride,
if (up_available) {
uint8_t *yabove_ptr = src - src_stride;
vpx_memcpy(yabove_row, yabove_ptr, bw);
vpx_memset(yabove_row + bw, yabove_row[bw -1], bw);
if (bw == 4 && right_available)
vpx_memcpy(yabove_row + bw, yabove_ptr + bw, bw);
else
vpx_memset(yabove_row + bw, yabove_row[bw -1], bw);
ytop_left = left_available ? yabove_ptr[-1] : 127;
} else {
vpx_memset(yabove_row, 127, bw * 2);
@ -610,7 +613,7 @@ void vp9_intra4x4_predict(MACROBLOCKD *xd,
uint8_t *predictor, int pre_stride) {
const int have_top = (block_idx >> 2) || xd->up_available;
const int have_left = (block_idx & 3) || xd->left_available;
const int have_right = ((block_idx & 3) != 3) || xd->right_available;
const int have_right = ((block_idx & 3) != 3);
vp9_build_intra_predictors(predictor, pre_stride,
predictor, pre_stride,
@ -625,7 +628,7 @@ void vp9_intra_uv4x4_predict(MACROBLOCKD *xd,
const int block_idx = block4x4_idx & 3;
const int have_top = (block_idx >> 1) || xd->up_available;
const int have_left = (block_idx & 1) || xd->left_available;
const int have_right = !(block_idx & 1) || xd->right_available;
const int have_right = !(block_idx & 1);
vp9_build_intra_predictors(predictor, pre_stride,
predictor, pre_stride,