summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Grange <agrange@google.com>2012-07-25 07:53:08 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2012-07-25 07:53:08 -0700
commit505784eecdd749633f777fc7c70728856bb73240 (patch)
tree935d970c32487e6287e3f3a924526b03d344c674
parentdcb52c0f68d402b96a0bac30be449a79668b2e12 (diff)
parentb278a935460a4d575b2980d471a4478be134cce3 (diff)
downloadlibvpx-505784eecdd749633f777fc7c70728856bb73240.tar
libvpx-505784eecdd749633f777fc7c70728856bb73240.tar.gz
libvpx-505784eecdd749633f777fc7c70728856bb73240.tar.bz2
libvpx-505784eecdd749633f777fc7c70728856bb73240.zip
Merge "Use macro for filter extension length" into experimental
-rw-r--r--vp8/common/reconinter.c72
1 files changed, 21 insertions, 51 deletions
diff --git a/vp8/common/reconinter.c b/vp8/common/reconinter.c
index 853429e4c..d94ab4449 100644
--- a/vp8/common/reconinter.c
+++ b/vp8/common/reconinter.c
@@ -461,14 +461,9 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
#if CONFIG_PRED_FILTER
if (xd->mode_info_context->mbmi.pred_filter_enabled) {
int i;
-#if CONFIG_ENHANCED_INTERP
- int Interp_Extend = 4; // 8-tap filter needs 3+4 pels extension
-#else
- int Interp_Extend = 3; // 6-tap filter needs 2+3 pels extension
-#endif
- int len = 7 + (Interp_Extend << 1);
+ int len = 7 + (INTERP_EXTEND << 1);
unsigned char Temp[32 * 32]; // Input data required by sub-pel filter
- unsigned char *pTemp = Temp + (Interp_Extend - 1) * (len + 1);
+ unsigned char *pTemp = Temp + (INTERP_EXTEND - 1) * (len + 1);
unsigned char *pSrc = uptr;
unsigned char *pDst = upred_ptr;
@@ -477,7 +472,7 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
#if CONFIG_SIXTEENTH_SUBPEL_UV
if ((omv_row | omv_col) & 15) {
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(pSrc - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel interpolation
@@ -487,7 +482,7 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
#else /* CONFIG_SIXTEENTH_SUBPEL_UV */
if ((mv_row | mv_col) & 7) {
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(pSrc - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel interpolation
@@ -631,17 +626,12 @@ void vp8_build_inter16x16_predictors_mby(MACROBLOCKD *xd) {
// Produce predictor from the filtered source
if ((mv_row | mv_col) & 7) {
// Sub-pel filter needs extended input
-#if CONFIG_ENHANCED_INTERP
- int Interp_Extend = 4; // 8-tap filter needs 3+4 pels extension
-#else
- int Interp_Extend = 3; // 6-tap filter needs 2+3 pels extension
-#endif
- int len = 15 + (Interp_Extend << 1);
+ int len = 15 + (INTERP_EXTEND << 1);
unsigned char Temp[32 * 32]; // Data required by sub-pel filter
- unsigned char *pTemp = Temp + (Interp_Extend - 1) * (len + 1);
+ unsigned char *pTemp = Temp + (INTERP_EXTEND - 1) * (len + 1);
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(ptr - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(ptr - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel interpolation
@@ -736,17 +726,12 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
if (x->mode_info_context->mbmi.pred_filter_enabled) {
if (_16x16mv.as_int & 0x00070007) {
// Sub-pel filter needs extended input
-#if CONFIG_ENHANCED_INTERP
- int Interp_Extend = 4; // 8-tap filter needs 3+4 pels extension
-#else
- int Interp_Extend = 3; // 6-tap filter needs 2+3 pels extension
-#endif
- int len = 15 + (Interp_Extend << 1);
+ int len = 15 + (INTERP_EXTEND << 1);
unsigned char Temp[32 * 32]; // Data required by the sub-pel filter
- unsigned char *pTemp = Temp + (Interp_Extend - 1) * (len + 1);
+ unsigned char *pTemp = Temp + (INTERP_EXTEND - 1) * (len + 1);
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(ptr - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(ptr - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel filter
@@ -809,21 +794,16 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
int i;
unsigned char *pSrc = uptr;
unsigned char *pDst = dst_u;
-#if CONFIG_ENHANCED_INTERP
- int Interp_Extend = 4; // 8-tap filter needs 3+4 pels extension
-#else
- int Interp_Extend = 3; // 6-tap filter needs 2+3 pels extension
-#endif
- int len = 7 + (Interp_Extend << 1);
+ int len = 7 + (INTERP_EXTEND << 1);
unsigned char Temp[32 * 32]; // Data required by the sub-pel filter
- unsigned char *pTemp = Temp + (Interp_Extend - 1) * (len + 1);
+ unsigned char *pTemp = Temp + (INTERP_EXTEND - 1) * (len + 1);
// U & V
for (i = 0; i < 2; i++) {
#if CONFIG_SIXTEENTH_SUBPEL_UV
if (_o16x16mv.as_int & 0x000f000f) {
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(pSrc - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel filter
@@ -835,7 +815,7 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
#else /* CONFIG_SIXTEENTH_SUBPEL_UV */
if (_16x16mv.as_int & 0x00070007) {
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(pSrc - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel filter
@@ -921,17 +901,12 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
if (x->mode_info_context->mbmi.pred_filter_enabled) {
if ((mv_row | mv_col) & 7) {
// Sub-pel filter needs extended input
-#if CONFIG_ENHANCED_INTERP
- int Interp_Extend = 4; // 8-tap filter needs 3+4 pels extension
-#else
- int Interp_Extend = 3; // 6-tap filter needs 2+3 pels extension
-#endif
- int len = 15 + (Interp_Extend << 1);
+ int len = 15 + (INTERP_EXTEND << 1);
unsigned char Temp[32 * 32]; // Data required by sub-pel filter
- unsigned char *pTemp = Temp + (Interp_Extend - 1) * (len + 1);
+ unsigned char *pTemp = Temp + (INTERP_EXTEND - 1) * (len + 1);
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(ptr - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(ptr - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel filter
@@ -982,14 +957,9 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
#if CONFIG_PRED_FILTER
if (x->mode_info_context->mbmi.pred_filter_enabled) {
int i;
-#if CONFIG_ENHANCED_INTERP
- int Interp_Extend = 4; // 8-tap filter needs 3+4 pels extension
-#else
- int Interp_Extend = 3; // 6-tap filter needs 2+3 pels extension
-#endif
- int len = 7 + (Interp_Extend << 1);
+ int len = 7 + (INTERP_EXTEND << 1);
unsigned char Temp[32 * 32]; // Data required by sub-pel filter
- unsigned char *pTemp = Temp + (Interp_Extend - 1) * (len + 1);
+ unsigned char *pTemp = Temp + (INTERP_EXTEND - 1) * (len + 1);
unsigned char *pSrc = uptr;
unsigned char *pDst = dst_u;
@@ -998,7 +968,7 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
#if CONFIG_SIXTEENTH_SUBPEL_UV
if ((omv_row | omv_col) & 15) {
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(pSrc - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel filter
@@ -1008,7 +978,7 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
#else /* CONFIG_SIXTEENTH_SUBPEL_UV */
if ((mv_row | mv_col) & 7) {
// Copy extended MB into Temp array, applying the spatial filter
- filter_mb(pSrc - (Interp_Extend - 1) * (pre_stride + 1), pre_stride,
+ filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
Temp, len, len, len);
// Sub-pel filter