summaryrefslogtreecommitdiff
path: root/libswscale/rgb2rgb_template.c
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/rgb2rgb_template.c
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/rgb2rgb_template.c')
-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)