summaryrefslogtreecommitdiffstats
path: root/libswscale/swscale_template.c
diff options
context:
space:
mode:
authorsdrik <sdrik@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-03-11 14:44:22 +0000
committersdrik <sdrik@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-03-11 14:44:22 +0000
commit437ee8cc61365f43b09c4139bf15ded8ade43dc9 (patch)
tree1f73603f625be524cd07d6b22d66604103ba5de0 /libswscale/swscale_template.c
parent7fee9f0101e0a196495a4980d78a4b09bd8f073c (diff)
downloadmpv-437ee8cc61365f43b09c4139bf15ded8ade43dc9.tar.bz2
mpv-437ee8cc61365f43b09c4139bf15ded8ade43dc9.tar.xz
Make MMX registers parametrized in the YSCALEYUV2PACKEDX_YA macro
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28934 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale/swscale_template.c')
-rw-r--r--libswscale/swscale_template.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c
index da6278d80c..241aef4488 100644
--- a/libswscale/swscale_template.c
+++ b/libswscale/swscale_template.c
@@ -230,28 +230,28 @@
"test %%"REG_S", %%"REG_S" \n\t"\
" jnz 2b \n\t"\
-#define YSCALEYUV2PACKEDX_YA(offset) \
+#define YSCALEYUV2PACKEDX_YA(offset,coeff,src1,src2,dst1,dst2) \
"lea "offset"(%0), %%"REG_d" \n\t"\
"mov (%%"REG_d"), %%"REG_S" \n\t"\
- "movq "VROUNDER_OFFSET"(%0), %%mm1 \n\t"\
- "movq %%mm1, %%mm7 \n\t"\
+ "movq "VROUNDER_OFFSET"(%0), "#dst1" \n\t"\
+ "movq "#dst1", "#dst2" \n\t"\
ASMALIGN(4)\
"2: \n\t"\
- "movq 8(%%"REG_d"), %%mm0 \n\t" /* filterCoeff */\
- "movq (%%"REG_S", %%"REG_a", 2), %%mm2 \n\t" /* Y1srcData */\
- "movq 8(%%"REG_S", %%"REG_a", 2), %%mm5 \n\t" /* Y2srcData */\
+ "movq 8(%%"REG_d"), "#coeff" \n\t" /* filterCoeff */\
+ "movq (%%"REG_S", %%"REG_a", 2), "#src1" \n\t" /* Y1srcData */\
+ "movq 8(%%"REG_S", %%"REG_a", 2), "#src2" \n\t" /* Y2srcData */\
"add $16, %%"REG_d" \n\t"\
"mov (%%"REG_d"), %%"REG_S" \n\t"\
- "pmulhw %%mm0, %%mm2 \n\t"\
- "pmulhw %%mm0, %%mm5 \n\t"\
- "paddw %%mm2, %%mm1 \n\t"\
- "paddw %%mm5, %%mm7 \n\t"\
+ "pmulhw "#coeff", "#src1" \n\t"\
+ "pmulhw "#coeff", "#src2" \n\t"\
+ "paddw "#src1", "#dst1" \n\t"\
+ "paddw "#src2", "#dst2" \n\t"\
"test %%"REG_S", %%"REG_S" \n\t"\
" jnz 2b \n\t"\
#define YSCALEYUV2PACKEDX \
YSCALEYUV2PACKEDX_UV \
- YSCALEYUV2PACKEDX_YA(LUM_MMX_FILTER_OFFSET) \
+ YSCALEYUV2PACKEDX_YA(LUM_MMX_FILTER_OFFSET,%%mm0,%%mm2,%%mm5,%%mm1,%%mm7) \
#define YSCALEYUV2PACKEDX_END \
:: "r" (&c->redDither), \