skip MMX code in rgb32to16 if the size of the input is smaller than the
authorIvo van Poorten <ivop@euronet.nl>
Wed, 18 Apr 2007 09:26:22 +0000 (09:26 +0000)
committerIvo van Poorten <ivop@euronet.nl>
Wed, 18 Apr 2007 09:26:22 +0000 (09:26 +0000)
size of the units the MMX code processes

Originally committed as revision 23014 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

libswscale/rgb2rgb_template.c

index 4bd82ec..2e2066b 100644 (file)
@@ -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)