[MPlayer-cvslog] r23015 - trunk/libswscale/rgb2rgb_template.c
ivo
subversion at mplayerhq.hu
Wed Apr 18 11:27:59 CEST 2007
Author: ivo
Date: Wed Apr 18 11:27:59 2007
New Revision: 23015
Modified:
trunk/libswscale/rgb2rgb_template.c
Log:
skip MMX code in rgb24tobgr24 if the size of the input is smaller than the
size of the units the MMX code processes
Modified: trunk/libswscale/rgb2rgb_template.c
==============================================================================
--- trunk/libswscale/rgb2rgb_template.c (original)
+++ trunk/libswscale/rgb2rgb_template.c Wed Apr 18 11:27:59 2007
@@ -1435,6 +1435,8 @@ static inline void RENAME(rgb24tobgr24)(
#ifdef HAVE_MMX
long mmx_size= 23 - src_size;
asm volatile (
+ "test %%"REG_a", %%"REG_a" \n\t"
+ "jns 2f \n\t"
"movq "MANGLE(mask24r)", %%mm5 \n\t"
"movq "MANGLE(mask24g)", %%mm6 \n\t"
"movq "MANGLE(mask24b)", %%mm7 \n\t"
@@ -1471,6 +1473,7 @@ static inline void RENAME(rgb24tobgr24)(
MOVNTQ" %%mm1, 16(%2, %%"REG_a")\n\t"
"add $24, %%"REG_a" \n\t"
" js 1b \n\t"
+ "2: \n\t"
: "+a" (mmx_size)
: "r" (src-mmx_size), "r"(dst-mmx_size)
);
More information about the MPlayer-cvslog
mailing list