summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2023-03-28 20:14:12 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-03-28 20:14:12 +0000
commitaba570ac9572ed5e85c38b9e8d9315d7d6777876 (patch)
tree6975680612c9330a094cd6ad550428234b48bb4c /test
parent8e58d504fad29ac16cec9d75c8c8c013ddc42496 (diff)
parent100ca0356ddf67e92da35699d92bc180429d0bc1 (diff)
downloadlibvpx-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.cc16
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_;