Fix valgrind error in Wiener Convolve Memset uniniatilized memory in av1_wiener_convolve_add_src modules. BUG=aomedia:2125 BUG=aomedia:2127 Change-Id: Ifc7cf2b15d10f65597d03dfeec9b74422cf0cd53
diff --git a/av1/common/convolve.c b/av1/common/convolve.c index a36c17a..9c768bc 100644 --- a/av1/common/convolve.c +++ b/av1/common/convolve.c
@@ -1132,6 +1132,7 @@ uint16_t temp[WIENER_MAX_EXT_SIZE * MAX_SB_SIZE]; const int intermediate_height = (((h - 1) * y_step_q4 + y0_q4) >> SUBPEL_BITS) + SUBPEL_TAPS - 1; + memset(temp + (intermediate_height * MAX_SB_SIZE), 0, MAX_SB_SIZE); assert(w <= MAX_SB_SIZE); assert(h <= MAX_SB_SIZE);
diff --git a/av1/common/x86/wiener_convolve_avx2.c b/av1/common/x86/wiener_convolve_avx2.c index ed7b9d3..87a6e12 100644 --- a/av1/common/x86/wiener_convolve_avx2.c +++ b/av1/common/x86/wiener_convolve_avx2.c
@@ -40,6 +40,7 @@ DECLARE_ALIGNED(32, uint16_t, temp[(MAX_SB_SIZE + SUBPEL_TAPS - 1) * MAX_SB_SIZE]); int intermediate_height = h + SUBPEL_TAPS - 2; + memset(temp + (intermediate_height * MAX_SB_SIZE), 0, MAX_SB_SIZE); const int center_tap = ((SUBPEL_TAPS - 1) / 2); const uint8_t *const src_ptr = src - center_tap * src_stride - center_tap;
diff --git a/av1/common/x86/wiener_convolve_sse2.c b/av1/common/x86/wiener_convolve_sse2.c index 7b2d24e..f9d00b7 100644 --- a/av1/common/x86/wiener_convolve_sse2.c +++ b/av1/common/x86/wiener_convolve_sse2.c
@@ -33,6 +33,7 @@ DECLARE_ALIGNED(16, uint16_t, temp[(MAX_SB_SIZE + SUBPEL_TAPS - 1) * MAX_SB_SIZE]); int intermediate_height = h + SUBPEL_TAPS - 2; + memset(temp + (intermediate_height * MAX_SB_SIZE), 0, MAX_SB_SIZE); int i, j; const int center_tap = ((SUBPEL_TAPS - 1) / 2); const uint8_t *const src_ptr = src - center_tap * src_stride - center_tap;