summaryrefslogtreecommitdiff
path: root/libswscale
diff options
context:
space:
mode:
authorIvo van Poorten <ivop@euronet.nl>2007-04-18 09:26:22 +0000
committerIvo van Poorten <ivop@euronet.nl>2007-04-18 09:26:22 +0000
commit39830570652697740618ebfccefea57b800ea516 (patch)
tree9386685fd588c932872d177eef73c52695a65372 /libswscale
parentb2117ceed06d05fa6277d8cac62fdc2bde3c6be0 (diff)
skip MMX code in rgb32to16 if the size of the input is smaller than the
size of the units the MMX code processes Originally committed as revision 23014 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/rgb2rgb_template.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libswscale/rgb2rgb_template.c b/libswscale/rgb2rgb_template.c
index 4bd82ec2e3..2e2066b2cb 100644
--- a/libswscale/rgb2rgb_template.c
+++ b/libswscale/rgb2rgb_template.c
@@ -356,6 +356,7 @@ static inline void RENAME(rgb32to16)(const uint8_t *src, uint8_t *dst, long src_
"movq %3, %%mm5 \n\t"
"movq %4, %%mm6 \n\t"
"movq %5, %%mm7 \n\t"
+ "jmp 2f \n\t"
ASMALIGN(4)
"1: \n\t"
PREFETCH" 32(%1) \n\t"
@@ -379,6 +380,7 @@ static inline void RENAME(rgb32to16)(const uint8_t *src, uint8_t *dst, long src_
MOVNTQ" %%mm0, (%0) \n\t"
"add $16, %1 \n\t"
"add $8, %0 \n\t"
+ "2: \n\t"
"cmp %2, %1 \n\t"
" jb 1b \n\t"
: "+r" (d), "+r"(s)