valgrind Issue 2476 fix BUG=aomedia:2476 Change-Id: I1c3c75db241770244ec3763de0118945c2b30fac
diff --git a/aom_dsp/x86/intrapred_avx2.c b/aom_dsp/x86/intrapred_avx2.c index a933952..357f69e 100644 --- a/aom_dsp/x86/intrapred_avx2.c +++ b/aom_dsp/x86/intrapred_avx2.c
@@ -3816,11 +3816,15 @@ res, _mm256_castsi128_si256( _mm256_extracti128_si256(res, 1))); // 16 8bit values - base_inc128 = _mm_setr_epi8( - base + j, base + j + 1, base + j + 2, base + j + 3, base + j + 4, - base + j + 5, base + j + 6, base + j + 7, base + j + 8, - base + j + 9, base + j + 10, base + j + 11, base + j + 12, - base + j + 13, base + j + 14, base + j + 15); + base_inc128 = + _mm_setr_epi8((uint8_t)(base + j), (uint8_t)(base + j + 1), + (uint8_t)(base + j + 2), (uint8_t)(base + j + 3), + (uint8_t)(base + j + 4), (uint8_t)(base + j + 5), + (uint8_t)(base + j + 6), (uint8_t)(base + j + 7), + (uint8_t)(base + j + 8), (uint8_t)(base + j + 9), + (uint8_t)(base + j + 10), (uint8_t)(base + j + 11), + (uint8_t)(base + j + 12), (uint8_t)(base + j + 13), + (uint8_t)(base + j + 14), (uint8_t)(base + j + 15)); mask128 = _mm_cmpgt_epi8(_mm_subs_epu8(max_base_x128, base_inc128), _mm_setzero_si128()); @@ -4139,7 +4143,7 @@ __m128i resx, resy; __m128i resxy; int y = r + 1; - ydx = _mm256_set1_epi16(y * dx); + ydx = _mm256_set1_epi16((uint16_t)(y * dx)); int base_x = (-y * dx) >> frac_bits_x; for (int j = 0; j < W; j += 16) {
diff --git a/av1/common/av1_rtcd_defs.pl b/av1/common/av1_rtcd_defs.pl index 6335a55..6ec47df 100644 --- a/av1/common/av1_rtcd_defs.pl +++ b/av1/common/av1_rtcd_defs.pl
@@ -180,8 +180,7 @@ add_proto qw/void av1_highbd_dr_prediction_z1/, "uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_above, int dx, int dy, int bd"; specialize qw/av1_highbd_dr_prediction_z1 avx2/; add_proto qw/void av1_highbd_dr_prediction_z2/, "uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_above, int upsample_left, int dx, int dy, int bd"; -# Disabled avx2 version due to Valgrind issue(https://bugs.chromium.org/p/aomedia/issues/detail?id=2441). -# specialize qw/av1_highbd_dr_prediction_z2 avx2/; +specialize qw/av1_highbd_dr_prediction_z2 avx2/; add_proto qw/void av1_highbd_dr_prediction_z3/, "uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd"; specialize qw/av1_highbd_dr_prediction_z3 avx2/;
diff --git a/test/dr_prediction_test.cc b/test/dr_prediction_test.cc index 46bb649..bacc366 100644 --- a/test/dr_prediction_test.cc +++ b/test/dr_prediction_test.cc
@@ -412,8 +412,6 @@ &z1_wrapper_hbd<av1_highbd_dr_prediction_z1_c>, &z1_wrapper_hbd<av1_highbd_dr_prediction_z1_avx2>, AOM_BITS_12, kZ1Start), - /* TODO(niva213@gmail.com): Re-enable these tests after - fixing valgrind issue: https://crbug.com/aomedia/2316 DrPredFunc<DrPred_Hbd>( &z2_wrapper_hbd<av1_highbd_dr_prediction_z2_c>, &z2_wrapper_hbd<av1_highbd_dr_prediction_z2_avx2>, @@ -425,7 +423,7 @@ DrPredFunc<DrPred_Hbd>( &z2_wrapper_hbd<av1_highbd_dr_prediction_z2_c>, &z2_wrapper_hbd<av1_highbd_dr_prediction_z2_avx2>, - AOM_BITS_12, kZ2Start),*/ + AOM_BITS_12, kZ2Start), DrPredFunc<DrPred_Hbd>( &z3_wrapper_hbd<av1_highbd_dr_prediction_z3_c>, &z3_wrapper_hbd<av1_highbd_dr_prediction_z3_avx2>,