aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2010-01-01 09:46:24 +0000
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2010-01-01 09:46:24 +0000
commitf514b4f9376fa6d5ab56276556b0ffc12143c554 (patch)
treec46ec4dc5ae26cbb1f0e9a5471e18be00d308dea
parentf48b0fa29e6f333ccf425321805baca11bfd8f94 (diff)
downloadffmpeg-f514b4f9376fa6d5ab56276556b0ffc12143c554.tar.gz
Do not needlessly use the BP register in x86_64-specific code, there are
enough other registers available that are less likely to cause issues. Originally committed as revision 30160 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
-rw-r--r--libswscale/swscale_template.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c
index 5bf66d5ba9..d14cf8f4a4 100644
--- a/libswscale/swscale_template.c
+++ b/libswscale/swscale_template.c
@@ -1226,17 +1226,17 @@ static inline void RENAME(yuv2packed2)(SwsContext *c, const uint16_t *buf0, cons
if (CONFIG_SWSCALE_ALPHA && c->alpPixBuf) {
#if ARCH_X86_64
__asm__ volatile(
- YSCALEYUV2RGB(%%REGBP, %5)
- YSCALEYUV2RGB_YA(%%REGBP, %5, %6, %7)
+ YSCALEYUV2RGB(%%r8, %5)
+ YSCALEYUV2RGB_YA(%%r8, %5, %6, %7)
"psraw $3, %%mm1 \n\t" /* abuf0[eax] - abuf1[eax] >>7*/
"psraw $3, %%mm7 \n\t" /* abuf0[eax] - abuf1[eax] >>7*/
"packuswb %%mm7, %%mm1 \n\t"
- WRITEBGR32(%4, 8280(%5), %%REGBP, %%mm2, %%mm4, %%mm5, %%mm1, %%mm0, %%mm7, %%mm3, %%mm6)
+ WRITEBGR32(%4, 8280(%5), %%r8, %%mm2, %%mm4, %%mm5, %%mm1, %%mm0, %%mm7, %%mm3, %%mm6)
:: "c" (buf0), "d" (buf1), "S" (uvbuf0), "D" (uvbuf1), "r" (dest),
"a" (&c->redDither)
,"r" (abuf0), "r" (abuf1)
- : "%"REG_BP
+ : "%r8"
);
#else
*(uint16_t **)(&c->u_temp)=abuf0;