blob: ea052f802cbbb7f285a241793c77d34ffa328942 [file] [log] [blame]
David Barker838367d2017-01-12 15:13:28 +00001/*
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
Tom Finegan7a07ece2017-02-07 17:14:05 -080012#include "third_party/googletest/src/googletest/include/gtest/gtest.h"
Sean Purser-Haskell05a12ea2017-03-30 14:56:50 -070013#include "test/warp_filter_test_util.h"
David Barker838367d2017-01-12 15:13:28 +000014
15using std::tr1::tuple;
16using std::tr1::make_tuple;
17using libaom_test::ACMRandom;
Sean Purser-Haskell05a12ea2017-03-30 14:56:50 -070018using libaom_test::AV1WarpFilter::AV1WarpFilterTest;
Sebastien Alaiwan71e87842017-04-12 16:03:28 +020019#if CONFIG_HIGHBITDEPTH
David Barker2bcf2802017-04-05 11:44:31 +010020using libaom_test::AV1HighbdWarpFilter::AV1HighbdWarpFilterTest;
21#endif
David Barker838367d2017-01-12 15:13:28 +000022
23namespace {
24
Cheng Chenfbaf5132017-11-09 11:45:57 -080025#if CONFIG_JNT_COMP && CONFIG_CONVOLVE_ROUND && HAVE_SSE4_1
26TEST_P(AV1WarpFilterTest, CheckOutput) { RunCheckOutput(GET_PARAM(3)); }
27
28INSTANTIATE_TEST_CASE_P(
29 SSE4_1, AV1WarpFilterTest,
30 libaom_test::AV1WarpFilter::BuildParams(av1_warp_affine_sse4_1));
31
Cheng Chencce312f2017-11-09 16:19:17 -080032#if CONFIG_HIGHBITDEPTH
33TEST_P(AV1HighbdWarpFilterTest, CheckOutput) {
34 RunCheckOutput(av1_highbd_warp_affine_sse4_1);
35}
36
37INSTANTIATE_TEST_CASE_P(SSE4_1, AV1HighbdWarpFilterTest,
38 libaom_test::AV1HighbdWarpFilter::GetDefaultParams());
39#endif
Cheng Chenfbaf5132017-11-09 11:45:57 -080040
41#else // CONFIG_JNT_COMP && CONFIG_CONVOLVE_ROUND && HAVE_SSE4_1
David Barkerd8a423c2017-04-19 10:32:43 +010042TEST_P(AV1WarpFilterTest, CheckOutput) { RunCheckOutput(GET_PARAM(3)); }
David Barker838367d2017-01-12 15:13:28 +000043
David Barkerd8a423c2017-04-19 10:32:43 +010044INSTANTIATE_TEST_CASE_P(
45 SSE2, AV1WarpFilterTest,
46 libaom_test::AV1WarpFilter::BuildParams(av1_warp_affine_sse2));
David Barker838367d2017-01-12 15:13:28 +000047
David Barkerc2d500a2017-06-06 11:41:50 +010048#if HAVE_SSSE3
David Barkerd8a423c2017-04-19 10:32:43 +010049INSTANTIATE_TEST_CASE_P(
50 SSSE3, AV1WarpFilterTest,
51 libaom_test::AV1WarpFilter::BuildParams(av1_warp_affine_ssse3));
David Barkerc2d500a2017-06-06 11:41:50 +010052#endif
David Barkerd8a423c2017-04-19 10:32:43 +010053
54#if CONFIG_HIGHBITDEPTH && HAVE_SSSE3
David Barker521383a2017-04-05 14:07:12 +010055TEST_P(AV1HighbdWarpFilterTest, CheckOutput) {
56 RunCheckOutput(av1_highbd_warp_affine_ssse3);
57}
58
59INSTANTIATE_TEST_CASE_P(SSSE3, AV1HighbdWarpFilterTest,
60 libaom_test::AV1HighbdWarpFilter::GetDefaultParams());
61#endif
Cheng Chenfbaf5132017-11-09 11:45:57 -080062#endif // CONFIG_JNT_COMP && CONFIG_CONVOVLE_ROUND && HAVE_SSE4_1
David Barker521383a2017-04-05 14:07:12 +010063
David Barker838367d2017-01-12 15:13:28 +000064} // namespace