From: Johann Date: Tue, 6 Jan 2015 22:13:41 +0000 (-0800) Subject: Add missing tests for neon _16_ filters X-Git-Tag: v1.4.0~271^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fca0037e3bf5f62b897cc533e050663edf7b0db8;p=platform%2Fupstream%2Flibvpx.git Add missing tests for neon _16_ filters Change-Id: I47174884efa257f331a369410a2fa7440368250b --- diff --git a/test/lpf_8_test.cc b/test/lpf_8_test.cc index cdc0a98..b6c1653 100644 --- a/test/lpf_8_test.cc +++ b/test/lpf_8_test.cc @@ -107,6 +107,36 @@ void wrapper_vertical_16_dual_c(uint8_t *s, int p, const uint8_t *blimit, #endif // CONFIG_VP9_HIGHBITDEPTH #endif // HAVE_SSE2 +#if HAVE_NEON_ASM +#if CONFIG_VP9_HIGHBITDEPTH +// No neon high bitdepth functions. +#else +void wrapper_vertical_16_neon(uint8_t *s, int p, const uint8_t *blimit, + const uint8_t *limit, const uint8_t *thresh, + int count) { + vp9_lpf_vertical_16_neon(s, p, blimit, limit, thresh); +} + +void wrapper_vertical_16_c(uint8_t *s, int p, const uint8_t *blimit, + const uint8_t *limit, const uint8_t *thresh, + int count) { + vp9_lpf_vertical_16_c(s, p, blimit, limit, thresh); +} + +void wrapper_vertical_16_dual_neon(uint8_t *s, int p, const uint8_t *blimit, + const uint8_t *limit, const uint8_t *thresh, + int count) { + vp9_lpf_vertical_16_dual_neon(s, p, blimit, limit, thresh); +} + +void wrapper_vertical_16_dual_c(uint8_t *s, int p, const uint8_t *blimit, + const uint8_t *limit, const uint8_t *thresh, + int count) { + vp9_lpf_vertical_16_dual_c(s, p, blimit, limit, thresh); +} +#endif // CONFIG_VP9_HIGHBITDEPTH +#endif // HAVE_NEON_ASM + class Loop8Test6Param : public ::testing::TestWithParam { public: virtual ~Loop8Test6Param() {} @@ -594,13 +624,22 @@ INSTANTIATE_TEST_CASE_P( #endif // CONFIG_VP9_HIGHBITDEPTH #endif -#if HAVE_NEON && (!CONFIG_VP9_HIGHBITDEPTH) +#if HAVE_NEON +#if CONFIG_VP9_HIGHBITDEPTH +// No neon high bitdepth functions. +#else INSTANTIATE_TEST_CASE_P( NEON, Loop8Test6Param, ::testing::Values( #if HAVE_NEON_ASM +// Using #if inside the macro is unsupported on MSVS but the tests are not +// currently built for MSVS with ARM and NEON. make_tuple(&vp9_lpf_horizontal_16_neon, &vp9_lpf_horizontal_16_c, 8), + make_tuple(&wrapper_vertical_16_neon, + &wrapper_vertical_16_c, 8), + make_tuple(&wrapper_vertical_16_dual_neon, + &wrapper_vertical_16_dual_c, 8), #endif // HAVE_NEON_ASM make_tuple(&vp9_lpf_horizontal_4_neon, &vp9_lpf_horizontal_4_c, 8), @@ -621,6 +660,7 @@ INSTANTIATE_TEST_CASE_P( &vp9_lpf_vertical_4_dual_c, 8), make_tuple(&vp9_lpf_vertical_8_dual_neon, &vp9_lpf_vertical_8_dual_c, 8))); -#endif // HAVE_NEON && (!CONFIG_VP9_HIGHBITDEPTH) +#endif // CONFIG_VP9_HIGHBITDEPTH +#endif // HAVE_NEON } // namespace