From eab804558bb7ff3fb503a1f9ccaf641d0dbc0120 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Wed, 17 Oct 2012 11:40:00 -0700 Subject: Use 8x8 block bases for non-4x4 splitmv RD. Change-Id: I76095d5a02edcc5d404ea830157780b24fd509d7 --- vp8/common/reconinter.c | 22 +++++++++++----------- vp8/common/reconinter.h | 5 +++++ 2 files changed, 16 insertions(+), 11 deletions(-) (limited to 'vp8/common') diff --git a/vp8/common/reconinter.c b/vp8/common/reconinter.c index 1c4cdb386..a41d233ab 100644 --- a/vp8/common/reconinter.c +++ b/vp8/common/reconinter.c @@ -294,7 +294,7 @@ void vp8_build_2nd_inter_predictors_b(BLOCKD *d, int pitch, vp8_subpix_fn_t sppf } } -static void build_inter_predictors4b(MACROBLOCKD *xd, BLOCKD *d, int pitch) { +void vp8_build_inter_predictors4b(MACROBLOCKD *xd, BLOCKD *d, int pitch) { unsigned char *ptr_base; unsigned char *ptr; unsigned char *pred_ptr = d->predictor; @@ -319,8 +319,8 @@ static void build_inter_predictors4b(MACROBLOCKD *xd, BLOCKD *d, int pitch) { * come from an earlier call to build_inter_predictors_4b()) with the * predictor of the second reference frame / motion vector. */ -static void build_2nd_inter_predictors4b(MACROBLOCKD *xd, - BLOCKD *d, int pitch) { +void vp8_build_2nd_inter_predictors4b(MACROBLOCKD *xd, + BLOCKD *d, int pitch) { unsigned char *ptr_base; unsigned char *ptr; unsigned char *pred_ptr = d->predictor; @@ -985,16 +985,16 @@ static void build_inter4x4_predictors_mb(MACROBLOCKD *xd) { } - build_inter_predictors4b(xd, &blockd[ 0], 16); - build_inter_predictors4b(xd, &blockd[ 2], 16); - build_inter_predictors4b(xd, &blockd[ 8], 16); - build_inter_predictors4b(xd, &blockd[10], 16); + vp8_build_inter_predictors4b(xd, &blockd[ 0], 16); + vp8_build_inter_predictors4b(xd, &blockd[ 2], 16); + vp8_build_inter_predictors4b(xd, &blockd[ 8], 16); + vp8_build_inter_predictors4b(xd, &blockd[10], 16); if (mbmi->second_ref_frame) { - build_2nd_inter_predictors4b(xd, &blockd[ 0], 16); - build_2nd_inter_predictors4b(xd, &blockd[ 2], 16); - build_2nd_inter_predictors4b(xd, &blockd[ 8], 16); - build_2nd_inter_predictors4b(xd, &blockd[10], 16); + vp8_build_2nd_inter_predictors4b(xd, &blockd[ 0], 16); + vp8_build_2nd_inter_predictors4b(xd, &blockd[ 2], 16); + vp8_build_2nd_inter_predictors4b(xd, &blockd[ 8], 16); + vp8_build_2nd_inter_predictors4b(xd, &blockd[10], 16); } } else { for (i = 0; i < 16; i += 2) { diff --git a/vp8/common/reconinter.h b/vp8/common/reconinter.h index 55044e5aa..c78611920 100644 --- a/vp8/common/reconinter.h +++ b/vp8/common/reconinter.h @@ -59,6 +59,11 @@ extern void vp8_build_inter_predictors_b(BLOCKD *d, int pitch, extern void vp8_build_2nd_inter_predictors_b(BLOCKD *d, int pitch, vp8_subpix_fn_t sppf); +extern void vp8_build_inter_predictors4b(MACROBLOCKD *xd, BLOCKD *d, + int pitch); +extern void vp8_build_2nd_inter_predictors4b(MACROBLOCKD *xd, + BLOCKD *d, int pitch); + extern void vp8_build_inter4x4_predictors_mbuv(MACROBLOCKD *xd); extern void vp8_setup_interp_filters(MACROBLOCKD *xd, INTERPOLATIONFILTERTYPE filter, -- cgit v1.2.3