summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJohann <johannkoenig@google.com>2022-03-28 15:27:46 +0900
committerJohann <johannkoenig@google.com>2022-03-29 12:31:02 +0900
commitafd60bd07d41e5d20a0b11eeeb104846d9517c65 (patch)
tree63abf2398f39b2435678c18a6c1e8761d238ab2f /test
parent64f58f5e0a5bfd4f38f99f964ed628734a02ab5a (diff)
downloadlibvpx-afd60bd07d41e5d20a0b11eeeb104846d9517c65.tar
libvpx-afd60bd07d41e5d20a0b11eeeb104846d9517c65.tar.gz
libvpx-afd60bd07d41e5d20a0b11eeeb104846d9517c65.tar.bz2
libvpx-afd60bd07d41e5d20a0b11eeeb104846d9517c65.zip
remove sad x3,x8 specializations
These would compute the sum of absolute differences (sad) for a group of 3 or 8 references. This was used as part of an exhaustive search. vp8 only uses these functions in speed 0 and best quality. For vp9 this is only used with the --enable-non-greedy-mv experiment. This removes the 3- and 8-at-a-time optimized functions and uses the fall back code which will process 1 or 4 (vpx_sadMxNx4d) at a time. For configure --target=x86_64-linux-gcc --enable-realtime-only: libvpx.a before: 3002424 after: 2937622 delta: 64802 after 'strip libvpx.a' before: 2116998 after: 2073090 delta: 43908 Change-Id: I566d06e027c327b3bede68649dd551bba81a848e
Diffstat (limited to 'test')
-rw-r--r--test/sad_test.cc68
1 files changed, 0 insertions, 68 deletions
diff --git a/test/sad_test.cc b/test/sad_test.cc
index ee10a4638..560c5f382 100644
--- a/test/sad_test.cc
+++ b/test/sad_test.cc
@@ -56,8 +56,6 @@ typedef void (*SadMxNx8Func)(const uint8_t *src_ptr, int src_stride,
const uint8_t *ref_ptr, int ref_stride,
unsigned int *sad_array);
-typedef TestParams<SadMxNx8Func> SadMxNx8Param;
-
using libvpx_test::ACMRandom;
namespace {
@@ -266,30 +264,6 @@ class SADTestBase : public ::testing::TestWithParam<ParamType> {
ParamType params_;
};
-class SADx8Test : public SADTestBase<SadMxNx8Param> {
- public:
- SADx8Test() : SADTestBase(GetParam()) {}
-
- protected:
- void SADs(unsigned int *results) const {
- const uint8_t *reference = GetReferenceFromOffset(0);
-
- ASM_REGISTER_STATE_CHECK(params_.func(
- source_data_, source_stride_, reference, reference_stride_, results));
- }
-
- void CheckSADs() const {
- uint32_t reference_sad;
- DECLARE_ALIGNED(kDataAlignment, uint32_t, exp_sad[8]);
-
- SADs(exp_sad);
- for (int offset = 0; offset < 8; ++offset) {
- reference_sad = ReferenceSAD(offset);
- EXPECT_EQ(reference_sad, exp_sad[offset]) << "offset " << offset;
- }
- }
-};
-
class SADx4Test : public SADTestBase<SadMxNx4Param> {
public:
SADx4Test() : SADTestBase(GetParam()) {}
@@ -564,13 +538,6 @@ TEST_P(SADx4Test, DISABLED_Speed) {
reference_stride_ = tmp_stride;
}
-TEST_P(SADx8Test, Regular) {
- FillRandomWH(source_data_, source_stride_, params_.width, params_.height);
- FillRandomWH(GetReferenceFromOffset(0), reference_stride_, params_.width + 8,
- params_.height);
- CheckSADs();
-}
-
//------------------------------------------------------------------------------
// C functions
const SadMxNParam c_tests[] = {
@@ -747,24 +714,6 @@ const SadMxNx4Param x4d_c_tests[] = {
};
INSTANTIATE_TEST_SUITE_P(C, SADx4Test, ::testing::ValuesIn(x4d_c_tests));
-// TODO(angiebird): implement the marked-down sad functions
-const SadMxNx8Param x8_c_tests[] = {
- // SadMxNx8Param(64, 64, &vpx_sad64x64x8_c),
- // SadMxNx8Param(64, 32, &vpx_sad64x32x8_c),
- // SadMxNx8Param(32, 64, &vpx_sad32x64x8_c),
- SadMxNx8Param(32, 32, &vpx_sad32x32x8_c),
- // SadMxNx8Param(32, 16, &vpx_sad32x16x8_c),
- // SadMxNx8Param(16, 32, &vpx_sad16x32x8_c),
- SadMxNx8Param(16, 16, &vpx_sad16x16x8_c),
- SadMxNx8Param(16, 8, &vpx_sad16x8x8_c),
- SadMxNx8Param(8, 16, &vpx_sad8x16x8_c),
- SadMxNx8Param(8, 8, &vpx_sad8x8x8_c),
- // SadMxNx8Param(8, 4, &vpx_sad8x4x8_c),
- // SadMxNx8Param(4, 8, &vpx_sad4x8x8_c),
- SadMxNx8Param(4, 4, &vpx_sad4x4x8_c),
-};
-INSTANTIATE_TEST_SUITE_P(C, SADx8Test, ::testing::ValuesIn(x8_c_tests));
-
//------------------------------------------------------------------------------
// ARM functions
#if HAVE_NEON
@@ -992,18 +941,6 @@ INSTANTIATE_TEST_SUITE_P(SSE2, SADx4Test, ::testing::ValuesIn(x4d_sse2_tests));
// Only functions are x3, which do not have tests.
#endif // HAVE_SSSE3
-#if HAVE_SSE4_1
-const SadMxNx8Param x8_sse4_1_tests[] = {
- SadMxNx8Param(16, 16, &vpx_sad16x16x8_sse4_1),
- SadMxNx8Param(16, 8, &vpx_sad16x8x8_sse4_1),
- SadMxNx8Param(8, 16, &vpx_sad8x16x8_sse4_1),
- SadMxNx8Param(8, 8, &vpx_sad8x8x8_sse4_1),
- SadMxNx8Param(4, 4, &vpx_sad4x4x8_sse4_1),
-};
-INSTANTIATE_TEST_SUITE_P(SSE4_1, SADx8Test,
- ::testing::ValuesIn(x8_sse4_1_tests));
-#endif // HAVE_SSE4_1
-
#if HAVE_AVX2
const SadMxNParam avx2_tests[] = {
SadMxNParam(64, 64, &vpx_sad64x64_avx2),
@@ -1029,11 +966,6 @@ const SadMxNx4Param x4d_avx2_tests[] = {
};
INSTANTIATE_TEST_SUITE_P(AVX2, SADx4Test, ::testing::ValuesIn(x4d_avx2_tests));
-const SadMxNx8Param x8_avx2_tests[] = {
- // SadMxNx8Param(64, 64, &vpx_sad64x64x8_c),
- SadMxNx8Param(32, 32, &vpx_sad32x32x8_avx2),
-};
-INSTANTIATE_TEST_SUITE_P(AVX2, SADx8Test, ::testing::ValuesIn(x8_avx2_tests));
#endif // HAVE_AVX2
#if HAVE_AVX512