vp9_f(dct|ht): disable avx2 variants tests failing under Win32/Win64 + dct16x16_test: add missing avx2 functions (partially disabled) exercises the forward transforms no idct/iht implementations, so the c-code is used Change-Id: I04f64a457fa0828a00f32b5c9fe4f55294f21f61
diff --git a/test/dct16x16_test.cc b/test/dct16x16_test.cc index 99c8d0c..e6a20fb 100644 --- a/test/dct16x16_test.cc +++ b/test/dct16x16_test.cc
@@ -606,4 +606,29 @@ ::testing::Values( make_tuple(&vp9_fdct16x16_c, &vp9_idct16x16_256_add_ssse3, 0))); #endif + +#if HAVE_AVX2 +// TODO(jzern): these prototypes can be removed after the avx2 versions are +// reenabled in vp9_rtcd_defs.pl. +extern "C" { +void vp9_fdct16x16_avx2(const int16_t *input, int16_t *output, int stride); +void vp9_fht16x16_avx2(const int16_t *input, int16_t *output, int stride, + int tx_type); +} +INSTANTIATE_TEST_CASE_P( + DISABLED_AVX2, Trans16x16DCT, + ::testing::Values( + make_tuple(&vp9_fdct16x16_avx2, + &vp9_idct16x16_256_add_c, 0))); +INSTANTIATE_TEST_CASE_P( + AVX2, Trans16x16HT, + ::testing::Values( + make_tuple(&vp9_fht16x16_avx2, &vp9_iht16x16_256_add_c, 3))); +INSTANTIATE_TEST_CASE_P( + DISABLED_AVX2, Trans16x16HT, + ::testing::Values( + make_tuple(&vp9_fht16x16_avx2, &vp9_iht16x16_256_add_c, 0), + make_tuple(&vp9_fht16x16_avx2, &vp9_iht16x16_256_add_c, 1), + make_tuple(&vp9_fht16x16_avx2, &vp9_iht16x16_256_add_c, 2))); +#endif } // namespace
diff --git a/vp9/common/vp9_rtcd_defs.pl b/vp9/common/vp9_rtcd_defs.pl index d5ba6a2..e5358a7 100644 --- a/vp9/common/vp9_rtcd_defs.pl +++ b/vp9/common/vp9_rtcd_defs.pl
@@ -739,7 +739,7 @@ specialize qw/vp9_fht8x8 sse2 avx2/; add_proto qw/void vp9_fht16x16/, "const int16_t *input, int16_t *output, int stride, int tx_type"; -specialize qw/vp9_fht16x16 sse2 avx2/; +specialize qw/vp9_fht16x16 sse2/; add_proto qw/void vp9_fwht4x4/, "const int16_t *input, int16_t *output, int stride"; specialize qw/vp9_fwht4x4/, "$mmx_x86inc"; @@ -751,7 +751,7 @@ specialize qw/vp9_fdct8x8 sse2 avx2/, "$ssse3_x86_64"; add_proto qw/void vp9_fdct16x16/, "const int16_t *input, int16_t *output, int stride"; -specialize qw/vp9_fdct16x16 sse2 avx2/; +specialize qw/vp9_fdct16x16 sse2/; add_proto qw/void vp9_fdct32x32/, "const int16_t *input, int16_t *output, int stride"; specialize qw/vp9_fdct32x32 sse2 avx2/;