diff options
author | James Zern <jzern@google.com> | 2023-03-28 20:14:12 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2023-03-28 20:14:12 +0000 |
commit | aba570ac9572ed5e85c38b9e8d9315d7d6777876 (patch) | |
tree | 6975680612c9330a094cd6ad550428234b48bb4c /test | |
parent | 8e58d504fad29ac16cec9d75c8c8c013ddc42496 (diff) | |
parent | 100ca0356ddf67e92da35699d92bc180429d0bc1 (diff) | |
download | libvpx-aba570ac9572ed5e85c38b9e8d9315d7d6777876.tar libvpx-aba570ac9572ed5e85c38b9e8d9315d7d6777876.tar.gz libvpx-aba570ac9572ed5e85c38b9e8d9315d7d6777876.tar.bz2 libvpx-aba570ac9572ed5e85c38b9e8d9315d7d6777876.zip |
Merge changes If83ff1ad,I8fb00a15,Iaad58e77,Iac166d60 into main
* changes:
Randomize second half of above_row_ in intrapred tests for Neon
Allow non-uniform above array in d63 predictor Neon impl
Allow non-uniform above array in d45 predictor Neon impl
Allow non-uniform above array in highbd d45 predictor Neon impl
Diffstat (limited to 'test')
-rw-r--r-- | test/vp9_intrapred_test.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/vp9_intrapred_test.cc b/test/vp9_intrapred_test.cc index cec903161..6de7cf8d0 100644 --- a/test/vp9_intrapred_test.cc +++ b/test/vp9_intrapred_test.cc @@ -55,6 +55,21 @@ class IntraPredTest : public ::testing::TestWithParam<PredParam> { ref_dst_ = ref_dst; int error_count = 0; for (int i = 0; i < count_test_block; ++i) { + // TODO(webm:1797): Some of the optimised predictor implementations rely + // on the trailing half of the above_row_ being a copy of the final + // element, however relying on this in some cases can cause the MD5 tests + // to fail. We have fixed all of these cases for Neon, so fill the whole + // of above_row_ randomly. +#if HAVE_NEON + // Fill edges with random data, try first with saturated values. + for (int x = -1; x < 2 * block_size; x++) { + if (i == 0) { + above_row_[x] = mask_; + } else { + above_row_[x] = rnd.Rand16() & mask_; + } + } +#else // Fill edges with random data, try first with saturated values. for (int x = -1; x < block_size; x++) { if (i == 0) { @@ -66,6 +81,7 @@ class IntraPredTest : public ::testing::TestWithParam<PredParam> { for (int x = block_size; x < 2 * block_size; x++) { above_row_[x] = above_row_[block_size - 1]; } +#endif for (int y = 0; y < block_size; y++) { if (i == 0) { left_col_[y] = mask_; |