Refactor av1_convolve Move declaration of filter_params_x/y outside of if/else block Change-Id: I4f908872b7ff85b440a12a535d939a3c137aaab5
diff --git a/av1/common/convolve.c b/av1/common/convolve.c index dbbd40b..c9ac02c 100644 --- a/av1/common/convolve.c +++ b/av1/common/convolve.c
@@ -221,6 +221,16 @@ int y_step_q4, ConvolveParams *conv_params) { int ignore_horiz = x_step_q4 == 16 && subpel_x_q4 == 0; int ignore_vert = y_step_q4 == 16 && subpel_y_q4 == 0; +#if CONFIG_DUAL_FILTER + InterpFilterParams filter_params_x = + av1_get_interp_filter_params(interp_filter[1 + 2 * conv_params->ref]); + InterpFilterParams filter_params_y = + av1_get_interp_filter_params(interp_filter[0 + 2 * conv_params->ref]); + InterpFilterParams filter_params; +#else + InterpFilterParams filter_params = + av1_get_interp_filter_params(interp_filter); +#endif assert(w <= MAX_BLOCK_WIDTH); assert(h <= MAX_BLOCK_HEIGHT); @@ -231,11 +241,7 @@ convolve_copy(src, src_stride, dst, dst_stride, w, h, conv_params); } else if (ignore_vert) { #if CONFIG_DUAL_FILTER - InterpFilterParams filter_params = - av1_get_interp_filter_params(interp_filter[1 + 2 * conv_params->ref]); -#else - InterpFilterParams filter_params = - av1_get_interp_filter_params(interp_filter); + filter_params = filter_params_x; #endif assert(filter_params.taps <= MAX_FILTER_TAP); av1_convolve_horiz_facade(src, src_stride, dst, dst_stride, w, h, @@ -243,11 +249,7 @@ conv_params); } else if (ignore_horiz) { #if CONFIG_DUAL_FILTER - InterpFilterParams filter_params = - av1_get_interp_filter_params(interp_filter[2 * conv_params->ref]); -#else - InterpFilterParams filter_params = - av1_get_interp_filter_params(interp_filter); + filter_params = filter_params_y; #endif assert(filter_params.taps <= MAX_FILTER_TAP); av1_convolve_vert_facade(src, src_stride, dst, dst_stride, w, h, @@ -261,12 +263,7 @@ temp[((MAX_SB_SIZE * 2 + 16) + 16) * MAX_SB_SIZE]); int max_intermediate_size = ((MAX_SB_SIZE * 2 + 16) + 16); int filter_size; - InterpFilterParams filter_params; #if CONFIG_DUAL_FILTER - InterpFilterParams filter_params_x = - av1_get_interp_filter_params(interp_filter[1 + 2 * conv_params->ref]); - InterpFilterParams filter_params_y = - av1_get_interp_filter_params(interp_filter[0 + 2 * conv_params->ref]); if (interp_filter[0 + 2 * conv_params->ref] == MULTITAP_SHARP && interp_filter[1 + 2 * conv_params->ref] == MULTITAP_SHARP) { // Avoid two directions both using 12-tap filter. @@ -313,7 +310,6 @@ filter_params = filter_params_x; filter_size = filter_params_y.taps; #else - filter_params = av1_get_interp_filter_params(interp_filter); filter_size = filter_params.taps; #endif intermediate_height =