diff --git a/test/dct16x16_test.cc b/test/dct16x16_test.cc index 99c8d0c7cc4bfc4cc7598efb86bcb8cba96d8bf8..e6a20fb4144283aa3f381dab941692567d6a7497 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 d5ba6a22e296b65eba7d3260a7bb5de66625f8b6..e5358a7c0d160e920116f65ee581e52bb22b2e8f 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/;