summaryrefslogtreecommitdiff
path: root/vp8/common/reconintra4x4.c
diff options
context:
space:
mode:
Diffstat (limited to 'vp8/common/reconintra4x4.c')
-rw-r--r--vp8/common/reconintra4x4.c13
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;
}
-
-