diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-12-15 02:06:04 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-12-15 11:16:10 +0100 |
commit | 31aeb9653360f4c42d05bf88b94b20bdd17bdd4a (patch) | |
tree | baf12a4b3a91f7966e0c5bdc4f0328bf29612236 | |
parent | 95a144ae62b1cc724f8e9cbcfbb6e9195599a37f (diff) | |
download | ffmpeg-31aeb9653360f4c42d05bf88b94b20bdd17bdd4a.tar.gz |
swscale/x86/rgb2rgb_template: Do not crash on misaligend stride
Fixes Ticket5013
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 80bfce35ccd11458e97f68f417fc094c5347070c)
-rw-r--r-- | libswscale/x86/rgb2rgb_template.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libswscale/x86/rgb2rgb_template.c b/libswscale/x86/rgb2rgb_template.c index e97ba4fe82..6524461d1b 100644 --- a/libswscale/x86/rgb2rgb_template.c +++ b/libswscale/x86/rgb2rgb_template.c @@ -1887,8 +1887,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" @@ -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 ); #else + ) __asm__( "xor %%"REG_a", %%"REG_a" \n\t" "1: \n\t" |