From dd9f50293341e28de14462fb46bd60e06bdb2427 Mon Sep 17 00:00:00 2001 From: James Zern Date: Sun, 8 Jun 2014 18:25:37 -0700 Subject: [PATCH] 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 --- test/dct16x16_test.cc | 25 +++++++++++++++++++++++++ vp9/common/vp9_rtcd_defs.pl | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/test/dct16x16_test.cc b/test/dct16x16_test.cc index 99c8d0c7c..e6a20fb41 100644 --- a/test/dct16x16_test.cc +++ b/test/dct16x16_test.cc @@ -606,4 +606,29 @@ INSTANTIATE_TEST_CASE_P( ::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 d5ba6a22e..e5358a7c0 100644 --- a/vp9/common/vp9_rtcd_defs.pl +++ b/vp9/common/vp9_rtcd_defs.pl @@ -739,7 +739,7 @@ add_proto qw/void vp9_fht8x8/, "const int16_t *input, int16_t *output, int strid 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 @@ add_proto qw/void vp9_fdct8x8/, "const int16_t *input, int16_t *output, int stri 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/; -- 2.40.0