aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-04-16 23:06:01 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-04-16 23:06:01 +0000
commit4bb96c1f6e8266d6c772846c382e43a5d772dd54 (patch)
tree9b09ed5b02bd2fe3d924e356f00667a239f6d9b5
parent0b78783448ebd1ddcc67139a8ad49f504dfc3d44 (diff)
parent225ac741d9b2d09d5f1790bee0338af1b69f0b34 (diff)
downloadlibdav1d-sdk-release.tar.gz
Snap for 11724015 from 225ac741d9b2d09d5f1790bee0338af1b69f0b34 to sdk-releasesdk-release
Change-Id: I85260b631608529ff3e0341710334b48c3ab145c
-rw-r--r--src/refmvs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/refmvs.c b/src/refmvs.c
index 200afeb..1da024b 100644
--- a/src/refmvs.c
+++ b/src/refmvs.c
@@ -817,7 +817,9 @@ int dav1d_refmvs_init_frame(refmvs_frame *const rf,
if (r_stride != rf->r_stride || n_tile_rows != rf->n_tile_rows) {
if (rf->r) dav1d_freep_aligned(&rf->r);
const int uses_2pass = n_tile_threads > 1 && n_frame_threads > 1;
- rf->r = dav1d_alloc_aligned(ALLOC_REFMVS, sizeof(*rf->r) * 35 * r_stride * n_tile_rows * (1 + uses_2pass), 64);
+ /* sizeof(refmvs_block) == 12 but it's accessed using 16-byte loads in asm,
+ * so add 4 bytes of padding to avoid buffer overreads. */
+ rf->r = dav1d_alloc_aligned(ALLOC_REFMVS, sizeof(*rf->r) * 35 * r_stride * n_tile_rows * (1 + uses_2pass) + 4, 64);
if (!rf->r) return DAV1D_ERR(ENOMEM);
rf->r_stride = r_stride;
}