summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
Diffstat (limited to 'vp9')
-rw-r--r--vp9/common/vp9_recon.c18
-rw-r--r--vp9/common/vp9_rtcd_defs.sh11
-rw-r--r--vp9/encoder/vp9_encodeframe.c3
3 files changed, 20 insertions, 12 deletions
diff --git a/vp9/common/vp9_recon.c b/vp9/common/vp9_recon.c
index fae35844d..3e8012aad 100644
--- a/vp9/common/vp9_recon.c
+++ b/vp9/common/vp9_recon.c
@@ -50,11 +50,11 @@ void vp9_recon2b_c(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr,
recon(4, 8, pred_ptr, stride, diff_ptr, 8, dst_ptr, stride);
}
-void vp9_recon_sby_s_c(MACROBLOCKD *mb, uint8_t *dst,
- BLOCK_SIZE_TYPE bsize) {
+void vp9_recon_sby_c(MACROBLOCKD *mb, BLOCK_SIZE_TYPE bsize) {
const int bw = 16 << mb_width_log2(bsize), bh = 16 << mb_height_log2(bsize);
int x, y;
- const int stride = mb->block[0].dst_stride;
+ const int stride = mb->dst.y_stride;
+ uint8_t *dst = mb->dst.y_buffer;
const int16_t *diff = mb->plane[0].diff;
for (y = 0; y < bh; y++) {
@@ -66,12 +66,13 @@ void vp9_recon_sby_s_c(MACROBLOCKD *mb, uint8_t *dst,
}
}
-void vp9_recon_sbuv_s_c(MACROBLOCKD *mb, uint8_t *u_dst, uint8_t *v_dst,
- BLOCK_SIZE_TYPE bsize) {
+void vp9_recon_sbuv_c(MACROBLOCKD *mb, BLOCK_SIZE_TYPE bsize) {
const int bwl = mb_width_log2(bsize), bhl = mb_height_log2(bsize);
const int bw = 8 << bwl, bh = 8 << bhl;
int x, y;
- const int stride = mb->block[16].dst_stride;
+ const int stride = mb->dst.uv_stride;
+ uint8_t *u_dst = mb->dst.u_buffer;
+ uint8_t *v_dst = mb->dst.v_buffer;
const int16_t *u_diff = mb->plane[1].diff;
const int16_t *v_diff = mb->plane[2].diff;
@@ -88,6 +89,11 @@ void vp9_recon_sbuv_s_c(MACROBLOCKD *mb, uint8_t *u_dst, uint8_t *v_dst,
}
}
+void vp9_recon_sb_c(MACROBLOCKD *xd, BLOCK_SIZE_TYPE bsize) {
+ vp9_recon_sby(xd, bsize);
+ vp9_recon_sbuv(xd, bsize);
+}
+
void vp9_recon_mby_c(MACROBLOCKD *xd) {
int i;
diff --git a/vp9/common/vp9_rtcd_defs.sh b/vp9/common/vp9_rtcd_defs.sh
index f9f2395f3..51fcdd09b 100644
--- a/vp9/common/vp9_rtcd_defs.sh
+++ b/vp9/common/vp9_rtcd_defs.sh
@@ -84,11 +84,14 @@ specialize vp9_recon_mb
prototype void vp9_recon_mby "struct macroblockd *x"
specialize vp9_recon_mby
-prototype void vp9_recon_sby_s "struct macroblockd *x, uint8_t *dst, enum BLOCK_SIZE_TYPE bsize"
-specialize vp9_recon_sby_s
+prototype void vp9_recon_sb "struct macroblockd *x, enum BLOCK_SIZE_TYPE bsize"
+specialize vp9_recon_sb
-prototype void vp9_recon_sbuv_s "struct macroblockd *x, uint8_t *udst, uint8_t *vdst, enum BLOCK_SIZE_TYPE bsize"
-specialize void vp9_recon_sbuv_s
+prototype void vp9_recon_sby "struct macroblockd *x, enum BLOCK_SIZE_TYPE bsize"
+specialize vp9_recon_sby
+
+prototype void vp9_recon_sbuv "struct macroblockd *x, enum BLOCK_SIZE_TYPE bsize"
+specialize void vp9_recon_sbuv
prototype void vp9_build_intra_predictors "uint8_t *src, int src_stride, uint8_t *pred, int y_stride, int mode, int bw, int bh, int up_available, int left_available, int right_available"
specialize void vp9_build_intra_predictors
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index b12652f34..dc5e1299e 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -2415,8 +2415,7 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t,
break;
default: assert(0);
}
- vp9_recon_sby_s_c(xd, dst, bsize);
- vp9_recon_sbuv_s_c(&x->e_mbd, udst, vdst, bsize);
+ vp9_recon_sb_c(xd, bsize);
#if CONFIG_CODE_NONZEROCOUNT
if (bsize == BLOCK_SIZE_SB32X32) {
gather_nzcs_sb32(cm, &x->e_mbd);