Commit 80bfce35 authored by Michael Niedermayer's avatar Michael Niedermayer

swscale/x86/rgb2rgb_template: Do not crash on misaligend stride

Fixes Ticket5013
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 06987dab
...@@ -1887,8 +1887,10 @@ static void RENAME(interleaveBytes)(const uint8_t *src1, const uint8_t *src2, ui ...@@ -1887,8 +1887,10 @@ static void RENAME(interleaveBytes)(const uint8_t *src1, const uint8_t *src2, ui
for (h=0; h < height; h++) { for (h=0; h < height; h++) {
int w; int w;
if (width >= 16) if (width >= 16
#if COMPILE_TEMPLATE_SSE2 #if COMPILE_TEMPLATE_SSE2
&& !((((intptr_t)src1) | ((intptr_t)src2) | ((intptr_t)dest))&15)
)
__asm__( __asm__(
"xor %%"REG_a", %%"REG_a" \n\t" "xor %%"REG_a", %%"REG_a" \n\t"
"1: \n\t" "1: \n\t"
...@@ -1908,6 +1910,7 @@ static void RENAME(interleaveBytes)(const uint8_t *src1, const uint8_t *src2, ui ...@@ -1908,6 +1910,7 @@ static void RENAME(interleaveBytes)(const uint8_t *src1, const uint8_t *src2, ui
: "memory", XMM_CLOBBERS("xmm0", "xmm1", "xmm2",) "%"REG_a : "memory", XMM_CLOBBERS("xmm0", "xmm1", "xmm2",) "%"REG_a
); );
#else #else
)
__asm__( __asm__(
"xor %%"REG_a", %%"REG_a" \n\t" "xor %%"REG_a", %%"REG_a" \n\t"
"1: \n\t" "1: \n\t"
......
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