Index: source/libvpx/vp9/common/arm/neon/vp9_convolve_neon.c |
=================================================================== |
--- source/libvpx/vp9/common/arm/neon/vp9_convolve_neon.c (revision 278778) |
+++ source/libvpx/vp9/common/arm/neon/vp9_convolve_neon.c (working copy) |
@@ -25,12 +25,14 @@ |
// Account for the vertical phase needing 3 lines prior and 4 lines post |
int intermediate_height = h + 7; |
- if (x_step_q4 != 16 || y_step_q4 != 16) |
- return vp9_convolve8_c(src, src_stride, |
- dst, dst_stride, |
- filter_x, x_step_q4, |
- filter_y, y_step_q4, |
- w, h); |
+ if (x_step_q4 != 16 || y_step_q4 != 16) { |
+ vp9_convolve8_c(src, src_stride, |
+ dst, dst_stride, |
+ filter_x, x_step_q4, |
+ filter_y, y_step_q4, |
+ w, h); |
+ return; |
+ } |
/* Filter starting 3 lines back. The neon implementation will ignore the |
* given height and filter a multiple of 4 lines. Since this goes in to |
@@ -57,12 +59,14 @@ |
DECLARE_ALIGNED_ARRAY(8, uint8_t, temp, 64 * 72); |
int intermediate_height = h + 7; |
- if (x_step_q4 != 16 || y_step_q4 != 16) |
- return vp9_convolve8_avg_c(src, src_stride, |
- dst, dst_stride, |
- filter_x, x_step_q4, |
- filter_y, y_step_q4, |
- w, h); |
+ if (x_step_q4 != 16 || y_step_q4 != 16) { |
+ vp9_convolve8_avg_c(src, src_stride, |
+ dst, dst_stride, |
+ filter_x, x_step_q4, |
+ filter_y, y_step_q4, |
+ w, h); |
+ return; |
+ } |
/* This implementation has the same issues as above. In addition, we only want |
* to average the values after both passes. |