summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authorivo <ivo@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-18 09:26:22 +0000
committerivo <ivo@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-18 09:26:22 +0000
commit346fa283f55d485e4d7aa59016d3f5213cd3a611 (patch)
tree6dcae02f90a45682337d7d865b52fec6be859dc7 /libswscale
parenta3284e8e5be822b0c33c97eb7cf3a2e2f39848bc (diff)
downloadmpv-346fa283f55d485e4d7aa59016d3f5213cd3a611.tar.bz2
mpv-346fa283f55d485e4d7aa59016d3f5213cd3a611.tar.xz
skip MMX code in rgb32to16 if the size of the input is smaller than the
size of the units the MMX code processes git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23014 b3059339-0415-0410-9bf9-f77b7e298cf2
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)