Commit d7eb8d84 authored by Andrey Semashev's avatar Andrey Semashev Committed by Michael Niedermayer

lavfi/tests: Fix 16-bit vf_blend test to avoid memory not aligned to 2 bytes

Generic C implementation of vf_blend performs reads and writes of 16-bit
elements, which requires the buffers to be aligned to at least 2-byte
boundary.

Also, the change fixes source buffer overrun caused by src_offset being
added to to test handling of misaligned buffers.

Fixes: #7226
Reviewed-by: 's avatarPaul B Mahol <onemda@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 500e6387
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
w = WIDTH / depth; \ w = WIDTH / depth; \
\ \
for (i = 0; i < BUF_UNITS - 1; i++) { \ for (i = 0; i < BUF_UNITS - 1; i++) { \
int src_offset = i * SIZE_PER_UNIT + i; /* Test various alignments */ \ int src_offset = i * SIZE_PER_UNIT + (BUF_UNITS - 1 - i) * depth; /* Test various alignments */ \
int dst_offset = i * SIZE_PER_UNIT; /* dst must be aligned */ \ int dst_offset = i * SIZE_PER_UNIT; /* dst must be aligned */ \
randomize_buffers(); \ randomize_buffers(); \
call_ref(top1 + src_offset, w, bot1 + src_offset, w, \ call_ref(top1 + src_offset, w, bot1 + src_offset, w, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment