Change vp8_intra4x4_predict call sites

Use the _d variant from the decoder. It moves the pointer calculations
to the caller.

Change-Id: Iae2a793433ef082980a3ffa0a1cabf0264a6a24d
This commit is contained in:
Johann
2012-07-31 14:21:55 -07:00
parent 3c208a5a5e
commit a82c58c40f
4 changed files with 26 additions and 19 deletions

View File

@@ -54,10 +54,13 @@ void vp8_encode_intra4x4block(MACROBLOCK *x, int ib)
BLOCKD *b = &x->e_mbd.block[ib];
BLOCK *be = &x->block[ib];
int dst_stride = x->e_mbd.dst.y_stride;
unsigned char *base_dst = x->e_mbd.dst.y_buffer;
unsigned char *dst = x->e_mbd.dst.y_buffer + b->offset;
unsigned char *Above = dst - dst_stride;
unsigned char *yleft = dst - 1;
unsigned char top_left = Above[-1];
vp8_intra4x4_predict(base_dst + b->offset, dst_stride,
b->bmi.as_mode, b->predictor, 16);
vp8_intra4x4_predict_d(Above, yleft, dst_stride, b->bmi.as_mode,
b->predictor, 16, top_left);
vp8_subtract_b(be, b, 16);
@@ -67,14 +70,11 @@ void vp8_encode_intra4x4block(MACROBLOCK *x, int ib)
if (*b->eob > 1)
{
vp8_short_idct4x4llm(b->dqcoeff,
b->predictor, 16, base_dst + b->offset, dst_stride);
vp8_short_idct4x4llm(b->dqcoeff, b->predictor, 16, dst, dst_stride);
}
else
{
vp8_dc_only_idct_add
(b->dqcoeff[0], b->predictor, 16, base_dst + b->offset,
dst_stride);
vp8_dc_only_idct_add(b->dqcoeff[0], b->predictor, 16, dst, dst_stride);
}
}