• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3  *
4  * This source code is subject to the terms of the BSD 2 Clause License and
5  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6  * was not distributed with this source code in the LICENSE file, you can
7  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8  * Media Patent License 1.0 was not distributed with this source code in the
9  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10  */
11 
12 #include <tuple>
13 
14 #include "third_party/googletest/src/googletest/include/gtest/gtest.h"
15 #include "test/hiprec_convolve_test_util.h"
16 
17 using libaom_test::ACMRandom;
18 #if CONFIG_AV1_HIGHBITDEPTH
19 using libaom_test::AV1HighbdHiprecConvolve::AV1HighbdHiprecConvolveTest;
20 #endif
21 using libaom_test::AV1HiprecConvolve::AV1HiprecConvolveTest;
22 using std::make_tuple;
23 using std::tuple;
24 
25 namespace {
26 
TEST_P(AV1HiprecConvolveTest,CheckOutput)27 TEST_P(AV1HiprecConvolveTest, CheckOutput) { RunCheckOutput(GET_PARAM(3)); }
TEST_P(AV1HiprecConvolveTest,DISABLED_SpeedTest)28 TEST_P(AV1HiprecConvolveTest, DISABLED_SpeedTest) {
29   RunSpeedTest(GET_PARAM(3));
30 }
31 #if HAVE_SSE2
32 INSTANTIATE_TEST_SUITE_P(SSE2, AV1HiprecConvolveTest,
33                          libaom_test::AV1HiprecConvolve::BuildParams(
34                              av1_wiener_convolve_add_src_sse2));
35 #endif
36 #if HAVE_AVX2
37 INSTANTIATE_TEST_SUITE_P(AVX2, AV1HiprecConvolveTest,
38                          libaom_test::AV1HiprecConvolve::BuildParams(
39                              av1_wiener_convolve_add_src_avx2));
40 #endif
41 #if HAVE_NEON
42 INSTANTIATE_TEST_SUITE_P(NEON, AV1HiprecConvolveTest,
43                          libaom_test::AV1HiprecConvolve::BuildParams(
44                              av1_wiener_convolve_add_src_neon));
45 #endif
46 
47 #if CONFIG_AV1_HIGHBITDEPTH
48 #if HAVE_SSSE3 || HAVE_AVX2
TEST_P(AV1HighbdHiprecConvolveTest,CheckOutput)49 TEST_P(AV1HighbdHiprecConvolveTest, CheckOutput) {
50   RunCheckOutput(GET_PARAM(4));
51 }
TEST_P(AV1HighbdHiprecConvolveTest,DISABLED_SpeedTest)52 TEST_P(AV1HighbdHiprecConvolveTest, DISABLED_SpeedTest) {
53   RunSpeedTest(GET_PARAM(4));
54 }
55 #if HAVE_SSSE3
56 INSTANTIATE_TEST_SUITE_P(SSSE3, AV1HighbdHiprecConvolveTest,
57                          libaom_test::AV1HighbdHiprecConvolve::BuildParams(
58                              av1_highbd_wiener_convolve_add_src_ssse3));
59 #endif
60 #if HAVE_AVX2
61 INSTANTIATE_TEST_SUITE_P(AVX2, AV1HighbdHiprecConvolveTest,
62                          libaom_test::AV1HighbdHiprecConvolve::BuildParams(
63                              av1_highbd_wiener_convolve_add_src_avx2));
64 #endif
65 #endif
66 #endif  // CONFIG_AV1_HIGHBITDEPTH
67 
68 }  // namespace
69