summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libswscale/x86/rgb2rgb_template.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libswscale/x86/rgb2rgb_template.c b/libswscale/x86/rgb2rgb_template.c
index 80e5670465..bfcaead9d0 100644
--- a/libswscale/x86/rgb2rgb_template.c
+++ b/libswscale/x86/rgb2rgb_template.c
@@ -1874,8 +1874,10 @@ static void RENAME(interleaveBytes)(const uint8_t *src1, const uint8_t *src2, ui
for (h=0; h < height; h++) {
int w;
- if (width >= 16)
+ if (width >= 16
#if COMPILE_TEMPLATE_SSE2
+ && !((((intptr_t)src1) | ((intptr_t)src2) | ((intptr_t)dest))&15)
+ )
__asm__(
"xor %%"REG_a", %%"REG_a" \n\t"
"1: \n\t"
@@ -1895,6 +1897,7 @@ static void RENAME(interleaveBytes)(const uint8_t *src1, const uint8_t *src2, ui
: "memory", "%"REG_a""
);
#else
+ )
__asm__(
"xor %%"REG_a", %%"REG_a" \n\t"
"1: \n\t"