Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Goulet <mgoulet@fb.com>2022-06-16 11:14:50 +0300
committerThilo Borgmann <thilo.borgmann@mail.de>2022-06-20 12:08:43 +0300
commitb7f6a933fa4873c7523586d6e203cfd1798decd6 (patch)
tree67d480d48801998d296d1698c5da13a2c11be642 /tests
parent0aa5dd084b8e26c9d644354c42c9252cf3b19cea (diff)
tests/checkasm/sw_scale: Fix alignment for movdqa
SSE3 instruction movdqa in ff_yuv2yuvX_sse3() expects a 16-byte aligned address for a memory address, or else a segfault is generated. The src_pixels buffer below was not aligned to 16 bytes on the stack necessarily, so we got segfaults during fate-checkasm-sw_scale. Therefore 16-byte align all of these local variables, aligning them too much shouldn't hurt.
Diffstat (limited to 'tests')
-rw-r--r--tests/checkasm/sw_scale.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/tests/checkasm/sw_scale.c b/tests/checkasm/sw_scale.c
index 31d9a525e9..b643a47c30 100644
--- a/tests/checkasm/sw_scale.c
+++ b/tests/checkasm/sw_scale.c
@@ -75,11 +75,11 @@ static void check_yuv2yuvX(void)
int dstW, const uint8_t *dither, int offset);
const int16_t **src;
- LOCAL_ALIGNED_8(int16_t, src_pixels, [LARGEST_FILTER * LARGEST_INPUT_SIZE]);
- LOCAL_ALIGNED_8(int16_t, filter_coeff, [LARGEST_FILTER]);
- LOCAL_ALIGNED_8(uint8_t, dst0, [LARGEST_INPUT_SIZE]);
- LOCAL_ALIGNED_8(uint8_t, dst1, [LARGEST_INPUT_SIZE]);
- LOCAL_ALIGNED_8(uint8_t, dither, [LARGEST_INPUT_SIZE]);
+ LOCAL_ALIGNED_16(int16_t, src_pixels, [LARGEST_FILTER * LARGEST_INPUT_SIZE]);
+ LOCAL_ALIGNED_16(int16_t, filter_coeff, [LARGEST_FILTER]);
+ LOCAL_ALIGNED_16(uint8_t, dst0, [LARGEST_INPUT_SIZE]);
+ LOCAL_ALIGNED_16(uint8_t, dst1, [LARGEST_INPUT_SIZE]);
+ LOCAL_ALIGNED_16(uint8_t, dither, [LARGEST_INPUT_SIZE]);
union VFilterData{
const int16_t *src;
uint16_t coeff[8];