ref: 0b48548eeb2e5e2d002563d2a8181c57d7b9f85a
parent: caea860a0fd5542ec76f4bdf53022f3ec2ceb3ed
parent: 4747c6ed9068b8f2f5b8da84cffef61ae867dd5d
author: Yaowu Xu <yaowu@google.com>
date: Mon Apr 29 12:16:27 EDT 2013
Merge "fixed new intra code for rectanglar blocks" into experimental
--- a/vp9/common/vp9_reconintra.c
+++ b/vp9/common/vp9_reconintra.c
@@ -99,7 +99,7 @@
yabove_row[r + c + 1] * 2 +
yabove_row[r + c + 2], 2);
else
- ypred_ptr[c] = yabove_row[bw];
+ ypred_ptr[c] = yabove_row[bw * 2 - 1];
}
ypred_ptr += y_stride;
}
@@ -240,7 +240,7 @@
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;
+ ytop_left = left_available ? yabove_ptr[-1] : 129;
} else {
vpx_memset(yabove_row, 127, bw * 2);
ytop_left = 127;
@@ -275,7 +275,7 @@
break;
case V_PRED:
for (r = 0; r < bh; r++) {
- memcpy(ypred_ptr, yabove_row, bw);
+ vpx_memcpy(ypred_ptr, yabove_row, bw);
ypred_ptr += y_stride;
}
break;
@@ -323,7 +323,7 @@
}
} else if (bw > bh) {
uint8_t pred[64*64];
- memset(yleft_col + bh, yleft_col[bh - 1], bw - bh);
+ 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);
@@ -347,10 +347,10 @@
assert(0);
}
for (i = 0; i < bh; i++)
- memcpy(ypred_ptr + y_stride * i, pred + i * 64, bw);
+ vpx_memcpy(ypred_ptr + y_stride * i, pred + i * 64, bw);
} else {
uint8_t pred[64 * 64];
- memset(yabove_row + bw, yabove_row[bw - 1], bh - bw);
+ 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);
@@ -374,7 +374,7 @@
assert(0);
}
for (i = 0; i < bh; i++)
- memcpy(ypred_ptr + y_stride * i, pred + i * 64, bw);
+ vpx_memcpy(ypred_ptr + y_stride * i, pred + i * 64, bw);
}
break;
default:
--
⑨