diff options
Diffstat (limited to 'vp8/common/reconintra4x4.c')
-rw-r--r-- | vp8/common/reconintra4x4.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/vp8/common/reconintra4x4.c b/vp8/common/reconintra4x4.c index 0ba0a2cff..dfbaf137b 100644 --- a/vp8/common/reconintra4x4.c +++ b/vp8/common/reconintra4x4.c @@ -298,18 +298,19 @@ void vp8_comp_intra4x4_predict_c(BLOCKD *x, void vp8_intra_prediction_down_copy(MACROBLOCKD *xd) { 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 *) + (above_right - (xd->mb_index == 3 ? 16 * xd->block[0].dst_stride : 0)); - unsigned int *src_ptr = (unsigned int *)above_right; - unsigned int *dst_ptr0 = - (unsigned int *)(above_right + 4 * xd->block[0].dst_stride); + unsigned int *dst_ptr0 = (unsigned int *)above_right; unsigned int *dst_ptr1 = - (unsigned int *)(above_right + 8 * xd->block[0].dst_stride); + (unsigned int *)(above_right + 4 * xd->block[0].dst_stride); unsigned int *dst_ptr2 = + (unsigned int *)(above_right + 8 * xd->block[0].dst_stride); + unsigned int *dst_ptr3 = (unsigned int *)(above_right + 12 * xd->block[0].dst_stride); *dst_ptr0 = *src_ptr; *dst_ptr1 = *src_ptr; *dst_ptr2 = *src_ptr; + *dst_ptr3 = *src_ptr; } - - |