Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 74758 Details for
Bug 115568
TEXTREL in media-video/ffmpeg-0.4.9_p20050226-r5
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
latest pic patch
ffmpeg-pic-20051204.patch (text/plain), 40.02 KB, created by
Luca Barbato
on 2005-12-14 13:00:00 UTC
(
hide
)
Description:
latest pic patch
Filename:
MIME Type:
Creator:
Luca Barbato
Created:
2005-12-14 13:00:00 UTC
Size:
40.02 KB
patch
obsolete
>Index: libavcodec/Makefile >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/Makefile,v >retrieving revision 1.213 >diff -u -r1.213 Makefile >--- libavcodec/Makefile 30 Nov 2005 01:40:50 -0000 1.213 >+++ libavcodec/Makefile 4 Dec 2005 01:27:57 -0000 >@@ -7,7 +7,7 @@ > VPATH=$(SRC_PATH)/libavcodec > > # NOTE: -I.. is needed to include config.h >-CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS) >+CFLAGS=$(OPTFLAGS) $(PIC) -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS) > > OBJS= bitstream.o utils.o mem.o allcodecs.o \ > mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\ >Index: libavcodec/i386/dsputil_mmx.c >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/dsputil_mmx.c,v >retrieving revision 1.106 >diff -u -r1.106 dsputil_mmx.c >--- libavcodec/i386/dsputil_mmx.c 12 Nov 2005 05:23:25 -0000 1.106 >+++ libavcodec/i386/dsputil_mmx.c 4 Dec 2005 01:27:57 -0000 >@@ -613,36 +613,37 @@ > "+m" (*(uint64_t*)(src - 1*stride)), > "+m" (*(uint64_t*)(src + 0*stride)), > "+m" (*(uint64_t*)(src + 1*stride)) >- : "g" (2*strength), "m"(ff_pb_FC) >+ : "g" (2*(long)strength), "m"(ff_pb_FC) > ); > } > > static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){ >+ long dummy; > asm volatile( //FIXME could save 1 instruction if done as 8x4 ... >- "movd %4, %%mm0 \n\t" >- "movd %5, %%mm1 \n\t" >- "movd %6, %%mm2 \n\t" >- "movd %7, %%mm3 \n\t" >+ "movd (%3), %%mm0 \n\t" >+ "movd (%3, %4), %%mm1 \n\t" >+ "movd (%3, %4, 2), %%mm2 \n\t" >+ "lea (%4, %4, 2), %0 \n\t" >+ "movd (%3, %0), %%mm3 \n\t" > "punpcklbw %%mm1, %%mm0 \n\t" > "punpcklbw %%mm3, %%mm2 \n\t" > "movq %%mm0, %%mm1 \n\t" > "punpcklwd %%mm2, %%mm0 \n\t" > "punpckhwd %%mm2, %%mm1 \n\t" >- "movd %%mm0, %0 \n\t" >+ "movd %%mm0, (%1) \n\t" > "punpckhdq %%mm0, %%mm0 \n\t" >- "movd %%mm0, %1 \n\t" >- "movd %%mm1, %2 \n\t" >+ "movd %%mm0, (%1, %2) \n\t" >+ "movd %%mm1, (%1, %2, 2) \n\t" > "punpckhdq %%mm1, %%mm1 \n\t" >- "movd %%mm1, %3 \n\t" >+ "lea (%2, %2, 2), %0 \n\t" >+ "movd %%mm1, (%1, %0) \n\t" > >- : "=m" (*(uint32_t*)(dst + 0*dst_stride)), >- "=m" (*(uint32_t*)(dst + 1*dst_stride)), >- "=m" (*(uint32_t*)(dst + 2*dst_stride)), >- "=m" (*(uint32_t*)(dst + 3*dst_stride)) >- : "m" (*(uint32_t*)(src + 0*src_stride)), >- "m" (*(uint32_t*)(src + 1*src_stride)), >- "m" (*(uint32_t*)(src + 2*src_stride)), >- "m" (*(uint32_t*)(src + 3*src_stride)) >+ : "=&r" (dummy) >+ : "r" (dst), >+ "r" ((long)dst_stride), >+ "r" (src), >+ "r" ((long)src_stride) >+ : "memory" > ); > } > >@@ -662,7 +663,7 @@ > "+m" (temp[1]), > "+m" (temp[2]), > "+m" (temp[3]) >- : "g" (2*strength), "m"(ff_pb_FC) >+ : "g" (2*(long)strength), "m"(ff_pb_FC) > ); > > asm volatile( >@@ -1727,7 +1728,7 @@ > > #define QPEL_V_LOW(m3,m4,m5,m6, pw_20, pw_3, rnd, in0, in1, in2, in7, out, OP)\ > "paddw " #m4 ", " #m3 " \n\t" /* x1 */\ >- "movq "MANGLE(ff_pw_20)", %%mm4 \n\t" /* 20 */\ >+ "movq %5, %%mm4 \n\t" /* 20 */\ > "pmullw " #m3 ", %%mm4 \n\t" /* 20x1 */\ > "movq "#in7", " #m3 " \n\t" /* d */\ > "movq "#in0", %%mm5 \n\t" /* D */\ >@@ -1739,7 +1740,7 @@ > "paddw " #m5 ", %%mm6 \n\t" /* x2 */\ > "paddw %%mm6, %%mm6 \n\t" /* 2x2 */\ > "psubw %%mm6, %%mm5 \n\t" /* -2x2 + x3 */\ >- "pmullw "MANGLE(ff_pw_3)", %%mm5 \n\t" /* -6x2 + 3x3 */\ >+ "pmullw %6, %%mm5 \n\t" /* -6x2 + 3x3 */\ > "paddw " #rnd ", %%mm4 \n\t" /* x2 */\ > "paddw %%mm4, %%mm5 \n\t" /* 20x1 - 6x2 + 3x3 - x4 */\ > "psraw $5, %%mm5 \n\t"\ >@@ -1773,15 +1774,15 @@ > "paddw %%mm5, %%mm5 \n\t" /* 2b */\ > "psubw %%mm5, %%mm6 \n\t" /* c - 2b */\ > "pshufw $0x06, %%mm0, %%mm5 \n\t" /* 0C0B0A0A */\ >- "pmullw "MANGLE(ff_pw_3)", %%mm6 \n\t" /* 3c - 6b */\ >+ "pmullw %6, %%mm6 \n\t" /* 3c - 6b */\ > "paddw %%mm4, %%mm0 \n\t" /* a */\ > "paddw %%mm1, %%mm5 \n\t" /* d */\ >- "pmullw "MANGLE(ff_pw_20)", %%mm0 \n\t" /* 20a */\ >+ "pmullw %5, %%mm0 \n\t" /* 20a */\ > "psubw %%mm5, %%mm0 \n\t" /* 20a - d */\ >- "paddw %6, %%mm6 \n\t"\ >+ "paddw %8, %%mm6 \n\t"\ > "paddw %%mm6, %%mm0 \n\t" /* 20a - 6b + 3c - d */\ > "psraw $5, %%mm0 \n\t"\ >- "movq %%mm0, %5 \n\t"\ >+ "movq %%mm0, %7 \n\t"\ > /* mm1=EFGH, mm2=DEFG, mm3=CDEF, mm4=BCDE, mm7=0 */\ > \ > "movq 5(%0), %%mm0 \n\t" /* FGHIJKLM */\ >@@ -1799,15 +1800,15 @@ > "psrlq $24, %%mm6 \n\t" /* IJKLM000 */\ > "punpcklbw %%mm7, %%mm2 \n\t" /* 0F0G0H0I */\ > "punpcklbw %%mm7, %%mm6 \n\t" /* 0I0J0K0L */\ >- "pmullw "MANGLE(ff_pw_3)", %%mm3 \n\t" /* 3c - 6b */\ >+ "pmullw %6, %%mm3 \n\t" /* 3c - 6b */\ > "paddw %%mm2, %%mm1 \n\t" /* a */\ > "paddw %%mm6, %%mm4 \n\t" /* d */\ >- "pmullw "MANGLE(ff_pw_20)", %%mm1 \n\t" /* 20a */\ >+ "pmullw %5, %%mm1 \n\t" /* 20a */\ > "psubw %%mm4, %%mm3 \n\t" /* - 6b +3c - d */\ >- "paddw %6, %%mm1 \n\t"\ >+ "paddw %8, %%mm1 \n\t"\ > "paddw %%mm1, %%mm3 \n\t" /* 20a - 6b +3c - d */\ > "psraw $5, %%mm3 \n\t"\ >- "movq %5, %%mm1 \n\t"\ >+ "movq %7, %%mm1 \n\t"\ > "packuswb %%mm3, %%mm1 \n\t"\ > OP_MMX2(%%mm1, (%1),%%mm4, q)\ > /* mm0= GHIJ, mm2=FGHI, mm5=HIJK, mm6=IJKL, mm7=0 */\ >@@ -1825,7 +1826,7 @@ > "psubw %%mm5, %%mm0 \n\t" /* c - 2b */\ > "movq %%mm3, %%mm5 \n\t" /* JKLMNOPQ */\ > "psrlq $24, %%mm3 \n\t" /* MNOPQ000 */\ >- "pmullw "MANGLE(ff_pw_3)", %%mm0 \n\t" /* 3c - 6b */\ >+ "pmullw %6, %%mm0 \n\t" /* 3c - 6b */\ > "punpcklbw %%mm7, %%mm3 \n\t" /* 0M0N0O0P */\ > "paddw %%mm3, %%mm2 \n\t" /* d */\ > "psubw %%mm2, %%mm0 \n\t" /* -6b + 3c - d */\ >@@ -1833,8 +1834,8 @@ > "punpcklbw %%mm7, %%mm2 \n\t" /* 0J0K0L0M */\ > "punpckhbw %%mm7, %%mm5 \n\t" /* 0N0O0P0Q */\ > "paddw %%mm2, %%mm6 \n\t" /* a */\ >- "pmullw "MANGLE(ff_pw_20)", %%mm6 \n\t" /* 20a */\ >- "paddw %6, %%mm0 \n\t"\ >+ "pmullw %5, %%mm6 \n\t" /* 20a */\ >+ "paddw %8, %%mm0 \n\t"\ > "paddw %%mm6, %%mm0 \n\t" /* 20a - 6b + 3c - d */\ > "psraw $5, %%mm0 \n\t"\ > /* mm1=KLMN, mm2=JKLM, mm3=MNOP, mm4=LMNO, mm5=NOPQ mm7=0 */\ >@@ -1848,10 +1849,10 @@ > "paddw %%mm2, %%mm5 \n\t" /* d */\ > "paddw %%mm6, %%mm6 \n\t" /* 2b */\ > "psubw %%mm6, %%mm4 \n\t" /* c - 2b */\ >- "pmullw "MANGLE(ff_pw_20)", %%mm3 \n\t" /* 20a */\ >- "pmullw "MANGLE(ff_pw_3)", %%mm4 \n\t" /* 3c - 6b */\ >+ "pmullw %5, %%mm3 \n\t" /* 20a */\ >+ "pmullw %6, %%mm4 \n\t" /* 3c - 6b */\ > "psubw %%mm5, %%mm3 \n\t" /* -6b + 3c - d */\ >- "paddw %6, %%mm4 \n\t"\ >+ "paddw %8, %%mm4 \n\t"\ > "paddw %%mm3, %%mm4 \n\t" /* 20a - 6b + 3c - d */\ > "psraw $5, %%mm4 \n\t"\ > "packuswb %%mm4, %%mm0 \n\t"\ >@@ -1862,7 +1863,7 @@ > "decl %2 \n\t"\ > " jnz 1b \n\t"\ > : "+a"(src), "+c"(dst), "+m"(h)\ >- : "d"((long)srcStride), "S"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\ >+ : "d"((long)srcStride), "S"((long)dstStride), "m"(ff_pw_20), "m"(ff_pw_3), "m"(temp), "m"(ROUNDER)\ > : "memory"\ > );\ > }\ >@@ -1940,12 +1941,12 @@ > "paddw %%mm5, %%mm5 \n\t" /* 2b */\ > "psubw %%mm5, %%mm6 \n\t" /* c - 2b */\ > "pshufw $0x06, %%mm0, %%mm5 \n\t" /* 0C0B0A0A */\ >- "pmullw "MANGLE(ff_pw_3)", %%mm6 \n\t" /* 3c - 6b */\ >+ "pmullw %6, %%mm6 \n\t" /* 3c - 6b */\ > "paddw %%mm4, %%mm0 \n\t" /* a */\ > "paddw %%mm1, %%mm5 \n\t" /* d */\ >- "pmullw "MANGLE(ff_pw_20)", %%mm0 \n\t" /* 20a */\ >+ "pmullw %5, %%mm0 \n\t" /* 20a */\ > "psubw %%mm5, %%mm0 \n\t" /* 20a - d */\ >- "paddw %6, %%mm6 \n\t"\ >+ "paddw %8, %%mm6 \n\t"\ > "paddw %%mm6, %%mm0 \n\t" /* 20a - 6b + 3c - d */\ > "psraw $5, %%mm0 \n\t"\ > /* mm1=EFGH, mm2=DEFG, mm3=CDEF, mm4=BCDE, mm7=0 */\ >@@ -1961,10 +1962,10 @@ > "paddw %%mm5, %%mm4 \n\t" /* d */\ > "paddw %%mm2, %%mm2 \n\t" /* 2b */\ > "psubw %%mm2, %%mm3 \n\t" /* c - 2b */\ >- "pmullw "MANGLE(ff_pw_20)", %%mm1 \n\t" /* 20a */\ >- "pmullw "MANGLE(ff_pw_3)", %%mm3 \n\t" /* 3c - 6b */\ >+ "pmullw %5, %%mm1 \n\t" /* 20a */\ >+ "pmullw %6, %%mm3 \n\t" /* 3c - 6b */\ > "psubw %%mm4, %%mm3 \n\t" /* -6b + 3c - d */\ >- "paddw %6, %%mm1 \n\t"\ >+ "paddw %8, %%mm1 \n\t"\ > "paddw %%mm1, %%mm3 \n\t" /* 20a - 6b + 3c - d */\ > "psraw $5, %%mm3 \n\t"\ > "packuswb %%mm3, %%mm0 \n\t"\ >@@ -1975,7 +1976,7 @@ > "decl %2 \n\t"\ > " jnz 1b \n\t"\ > : "+a"(src), "+c"(dst), "+m"(h)\ >- : "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\ >+ : "S"((long)srcStride), "D"((long)dstStride), "m"(ff_pw_20), "m"(ff_pw_3), "m"(temp), "m"(ROUNDER)\ > : "memory"\ > );\ > }\ >@@ -2054,39 +2055,39 @@ > "movq 8(%0), %%mm1 \n\t"\ > "movq 16(%0), %%mm2 \n\t"\ > "movq 24(%0), %%mm3 \n\t"\ >- QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 16(%0), 8(%0), (%0), 32(%0), (%1), OP)\ >- QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 8(%0), (%0), (%0), 40(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %7, 16(%0), 8(%0), (%0), 32(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %7, 8(%0), (%0), (%0), 40(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, (%0), (%0), 8(%0), 48(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %7, (%0), (%0), 8(%0), 48(%0), (%1), OP)\ > \ >- QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, (%0), 8(%0), 16(%0), 56(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %7, (%0), 8(%0), 16(%0), 56(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 8(%0), 16(%0), 24(%0), 64(%0), (%1), OP)\ >- QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 16(%0), 24(%0), 32(%0), 72(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %7, 8(%0), 16(%0), 24(%0), 64(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %7, 16(%0), 24(%0), 32(%0), 72(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, 24(%0), 32(%0), 40(%0), 80(%0), (%1), OP)\ >- QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, 32(%0), 40(%0), 48(%0), 88(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %7, 24(%0), 32(%0), 40(%0), 80(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %7, 32(%0), 40(%0), 48(%0), 88(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 40(%0), 48(%0), 56(%0), 96(%0), (%1), OP)\ >- QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 48(%0), 56(%0), 64(%0),104(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %7, 40(%0), 48(%0), 56(%0), 96(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %7, 48(%0), 56(%0), 64(%0),104(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, 56(%0), 64(%0), 72(%0),112(%0), (%1), OP)\ >- QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, 64(%0), 72(%0), 80(%0),120(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %7, 56(%0), 64(%0), 72(%0),112(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %7, 64(%0), 72(%0), 80(%0),120(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 72(%0), 80(%0), 88(%0),128(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %7, 72(%0), 80(%0), 88(%0),128(%0), (%1), OP)\ > \ >- QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 80(%0), 88(%0), 96(%0),128(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %7, 80(%0), 88(%0), 96(%0),128(%0), (%1, %3), OP)\ > "add %4, %1 \n\t" \ >- QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, 88(%0), 96(%0),104(%0),120(%0), (%1), OP)\ >- QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, 96(%0),104(%0),112(%0),112(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %7, 88(%0), 96(%0),104(%0),120(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %7, 96(%0),104(%0),112(%0),112(%0), (%1, %3), OP)\ > \ > "add $136, %0 \n\t"\ >- "add %6, %1 \n\t"\ >+ "add %8, %1 \n\t"\ > "decl %2 \n\t"\ > " jnz 1b \n\t"\ > \ > : "+r"(temp_ptr), "+r"(dst), "+g"(count)\ >- : "r"((long)dstStride), "r"(2*(long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER), "g"(4-14*(long)dstStride)\ >+ : "r"((long)dstStride), "r"(2*(long)dstStride), "m"(ff_pw_20), "m"(ff_pw_3), "m"(ROUNDER), "g"(4-14*(long)dstStride)\ > :"memory"\ > );\ > }\ >@@ -2126,27 +2127,27 @@ > "movq 8(%0), %%mm1 \n\t"\ > "movq 16(%0), %%mm2 \n\t"\ > "movq 24(%0), %%mm3 \n\t"\ >- QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 16(%0), 8(%0), (%0), 32(%0), (%1), OP)\ >- QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 8(%0), (%0), (%0), 40(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %7, 16(%0), 8(%0), (%0), 32(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %7, 8(%0), (%0), (%0), 40(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, (%0), (%0), 8(%0), 48(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %7, (%0), (%0), 8(%0), 48(%0), (%1), OP)\ > \ >- QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, (%0), 8(%0), 16(%0), 56(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %7, (%0), 8(%0), 16(%0), 56(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 8(%0), 16(%0), 24(%0), 64(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %7, 8(%0), 16(%0), 24(%0), 64(%0), (%1), OP)\ > \ >- QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 16(%0), 24(%0), 32(%0), 64(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %7, 16(%0), 24(%0), 32(%0), 64(%0), (%1, %3), OP)\ > "add %4, %1 \n\t"\ >- QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, 24(%0), 32(%0), 40(%0), 56(%0), (%1), OP)\ >- QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, 32(%0), 40(%0), 48(%0), 48(%0), (%1, %3), OP)\ >+ QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %7, 24(%0), 32(%0), 40(%0), 56(%0), (%1), OP)\ >+ QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %7, 32(%0), 40(%0), 48(%0), 48(%0), (%1, %3), OP)\ > \ > "add $72, %0 \n\t"\ >- "add %6, %1 \n\t"\ >+ "add %8, %1 \n\t"\ > "decl %2 \n\t"\ > " jnz 1b \n\t"\ > \ > : "+r"(temp_ptr), "+r"(dst), "+g"(count)\ >- : "r"((long)dstStride), "r"(2*(long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER), "g"(4-6*(long)dstStride)\ >+ : "r"((long)dstStride), "r"(2*(long)dstStride), "m"(ff_pw_20), "m"(ff_pw_3), "m"(ROUNDER), "g"(4-6*(long)dstStride)\ > : "memory"\ > );\ > }\ >Index: libavcodec/i386/motion_est_mmx.c >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/motion_est_mmx.c,v >retrieving revision 1.16 >diff -u -r1.16 motion_est_mmx.c >--- libavcodec/i386/motion_est_mmx.c 11 Oct 2004 02:19:29 -0000 1.16 >+++ libavcodec/i386/motion_est_mmx.c 4 Dec 2005 01:27:57 -0000 >@@ -119,7 +119,7 @@ > long len= -(stride*h); > asm volatile( > ".balign 16 \n\t" >- "movq "MANGLE(bone)", %%mm5 \n\t" >+ "movq %5, %%mm5 \n\t" > "1: \n\t" > "movq (%1, %%"REG_a"), %%mm0 \n\t" > "movq (%2, %%"REG_a"), %%mm2 \n\t" >@@ -147,7 +147,7 @@ > "add %4, %%"REG_a" \n\t" > " js 1b \n\t" > : "+a" (len) >- : "r" (blk1 - len), "r" (blk1 - len + stride), "r" (blk2 - len), "r" ((long)stride) >+ : "r" (blk1 - len), "r" (blk1 - len + stride), "r" (blk2 - len), "r" ((long)stride), "m" (bone) > ); > } > >Index: libavcodec/i386/mpegvideo_mmx_template.c >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/mpegvideo_mmx_template.c,v >retrieving revision 1.26 >diff -u -r1.26 mpegvideo_mmx_template.c >--- libavcodec/i386/mpegvideo_mmx_template.c 21 Sep 2005 21:17:09 -0000 1.26 >+++ libavcodec/i386/mpegvideo_mmx_template.c 4 Dec 2005 01:27:57 -0000 >@@ -103,7 +103,7 @@ > if((s->out_format == FMT_H263 || s->out_format == FMT_H261) && s->mpeg_quant==0){ > > asm volatile( >- "movd %%"REG_a", %%mm3 \n\t" // last_non_zero_p1 >+ "movd %6, %%mm3 \n\t" // last_non_zero_p1 > SPREADW(%%mm3) > "pxor %%mm7, %%mm7 \n\t" // 0 > "pxor %%mm4, %%mm4 \n\t" // 0 >@@ -132,11 +132,11 @@ > "add $8, %%"REG_a" \n\t" > " js 1b \n\t" > PMAX(%%mm3, %%mm0) >- "movd %%mm3, %%"REG_a" \n\t" >- "movzb %%al, %%"REG_a" \n\t" // last_non_zero_p1 >- : "+a" (last_non_zero_p1) >+ "movd %%mm3, %0 \n\t" >+ "movzb %b0, %0 \n\t" // last_non_zero_p1 >+ : "=q" (last_non_zero_p1) > : "r" (block+64), "r" (qmat), "r" (bias), >- "r" (inv_zigzag_direct16+64), "r" (temp_block+64) >+ "r" (inv_zigzag_direct16+64), "r" (temp_block+64), "m" (last_non_zero_p1) > ); > // note the asm is split cuz gcc doesnt like that many operands ... > asm volatile( >@@ -150,7 +150,7 @@ > ); > }else{ // FMT_H263 > asm volatile( >- "movd %%"REG_a", %%mm3 \n\t" // last_non_zero_p1 >+ "movd %6, %%mm3 \n\t" // last_non_zero_p1 > SPREADW(%%mm3) > "pxor %%mm7, %%mm7 \n\t" // 0 > "pxor %%mm4, %%mm4 \n\t" // 0 >@@ -178,11 +178,11 @@ > "add $8, %%"REG_a" \n\t" > " js 1b \n\t" > PMAX(%%mm3, %%mm0) >- "movd %%mm3, %%"REG_a" \n\t" >- "movzb %%al, %%"REG_a" \n\t" // last_non_zero_p1 >- : "+a" (last_non_zero_p1) >+ "movd %%mm3, %0 \n\t" >+ "movzb %b0, %0 \n\t" // last_non_zero_p1 >+ : "=q" (last_non_zero_p1) > : "r" (block+64), "r" (qmat+64), "r" (bias+64), >- "r" (inv_zigzag_direct16+64), "r" (temp_block+64) >+ "r" (inv_zigzag_direct16+64), "r" (temp_block+64), "m" (last_non_zero_p1) > ); > // note the asm is split cuz gcc doesnt like that many operands ... > asm volatile( >Index: libavcodec/i386/simple_idct_mmx.c >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/i386/simple_idct_mmx.c,v >retrieving revision 1.13 >diff -u -r1.13 simple_idct_mmx.c >--- libavcodec/i386/simple_idct_mmx.c 18 May 2004 17:09:46 -0000 1.13 >+++ libavcodec/i386/simple_idct_mmx.c 4 Dec 2005 01:27:57 -0000 >@@ -363,7 +363,7 @@ > "movq " #src4 ", %%mm1 \n\t" /* R6 R2 r6 r2 */\ > "movq " #src1 ", %%mm2 \n\t" /* R3 R1 r3 r1 */\ > "movq " #src5 ", %%mm3 \n\t" /* R7 R5 r7 r5 */\ >- "movq "MANGLE(wm1010)", %%mm4 \n\t"\ >+ "movq %3, %%mm4 \n\t"\ > "pand %%mm0, %%mm4 \n\t"\ > "por %%mm1, %%mm4 \n\t"\ > "por %%mm2, %%mm4 \n\t"\ >@@ -471,7 +471,7 @@ > "movq " #src4 ", %%mm1 \n\t" /* R6 R2 r6 r2 */\ > "movq " #src1 ", %%mm2 \n\t" /* R3 R1 r3 r1 */\ > "movq " #src5 ", %%mm3 \n\t" /* R7 R5 r7 r5 */\ >- "movq "MANGLE(wm1010)", %%mm4 \n\t"\ >+ "movq %3, %%mm4 \n\t"\ > "pand %%mm0, %%mm4 \n\t"\ > "por %%mm1, %%mm4 \n\t"\ > "por %%mm2, %%mm4 \n\t"\ >@@ -545,7 +545,7 @@ > "jmp 2f \n\t"\ > "1: \n\t"\ > "pslld $16, %%mm0 \n\t"\ >- "paddd "MANGLE(d40000)", %%mm0 \n\t"\ >+ "paddd %4, %%mm0 \n\t"\ > "psrad $13, %%mm0 \n\t"\ > "packssdw %%mm0, %%mm0 \n\t"\ > "movq %%mm0, " #dst " \n\t"\ >@@ -1290,7 +1290,7 @@ > */ > > "9: \n\t" >- :: "r" (block), "r" (temp), "r" (coeffs) >+ :: "r" (block), "r" (temp), "r" (coeffs), "m" (wm1010), "m" (d40000) > : "%eax" > ); > } >Index: libavcodec/liba52/resample_mmx.c >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/liba52/resample_mmx.c,v >retrieving revision 1.2 >diff -u -r1.2 resample_mmx.c >--- libavcodec/liba52/resample_mmx.c 14 Nov 2004 22:05:21 -0000 1.2 >+++ libavcodec/liba52/resample_mmx.c 4 Dec 2005 01:27:57 -0000 >@@ -16,10 +16,10 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-512, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >- "movq "MANGLE(wm1100)", %%mm3 \n\t" >- "movq "MANGLE(wm0101)", %%mm4 \n\t" >- "movq "MANGLE(wm1010)", %%mm5 \n\t" >+ "movq %2, %%mm7 \n\t" >+ "movq %3, %%mm3 \n\t" >+ "movq %4, %%mm4 \n\t" >+ "movq %5, %%mm5 \n\t" > "pxor %%mm6, %%mm6 \n\t" > "1: \n\t" > "movq (%1, %%esi, 2), %%mm0 \n\t" >@@ -43,7 +43,7 @@ > "addl $8, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1280), "r" (f+256) >+ :: "r" (s16+1280), "r" (f+256), "m" (magicF2W), "m" (wm1100), "m" (wm0101), "m" (wm1010) > :"%esi", "%edi", "memory" > ); > return 5*256; >@@ -71,7 +71,7 @@ > );*/ > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > "1: \n\t" > "movq (%1, %%esi), %%mm0 \n\t" > "movq 8(%1, %%esi), %%mm1 \n\t" >@@ -91,7 +91,7 @@ > "addl $16, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+512), "r" (f+256) >+ :: "r" (s16+512), "r" (f+256), "m" (magicF2W) > :"%esi", "memory" > ); > return 2*256; >@@ -101,7 +101,7 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > "pxor %%mm6, %%mm6 \n\t" > "movq %%mm7, %%mm5 \n\t" > "punpckldq %%mm6, %%mm5 \n\t" >@@ -146,7 +146,7 @@ > "addl $16, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1280), "r" (f+256) >+ :: "r" (s16+1280), "r" (f+256), "m" (magicF2W) > :"%esi", "%edi", "memory" > ); > return 5*256; >@@ -156,7 +156,7 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > "1: \n\t" > "movq (%1, %%esi), %%mm0 \n\t" > "movq 8(%1, %%esi), %%mm1 \n\t" >@@ -197,7 +197,7 @@ > "addl $16, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1024), "r" (f+256) >+ :: "r" (s16+1024), "r" (f+256), "m" (magicF2W) > :"%esi", "memory" > ); > return 4*256; >@@ -207,7 +207,7 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > "1: \n\t" > "movd (%1, %%esi), %%mm0 \n\t" > "punpckldq 2048(%1, %%esi), %%mm0\n\t" >@@ -256,7 +256,7 @@ > "addl $16, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1280), "r" (f+256) >+ :: "r" (s16+1280), "r" (f+256), "m" (magicF2W) > :"%esi", "%edi", "memory" > ); > return 5*256; >@@ -266,7 +266,7 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > "pxor %%mm6, %%mm6 \n\t" > "1: \n\t" > "movq 1024(%1, %%esi), %%mm0 \n\t" >@@ -296,7 +296,7 @@ > "addl $16, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1536), "r" (f+256) >+ :: "r" (s16+1536), "r" (f+256), "m" (magicF2W) > :"%esi", "%edi", "memory" > ); > return 6*256; >@@ -306,7 +306,7 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > "pxor %%mm6, %%mm6 \n\t" > "1: \n\t" > "movq 1024(%1, %%esi), %%mm0 \n\t" >@@ -334,7 +334,7 @@ > "addl $8, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1536), "r" (f+256) >+ :: "r" (s16+1536), "r" (f+256), "m" (magicF2W) > :"%esi", "%edi", "memory" > ); > return 6*256; >@@ -344,7 +344,7 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > "pxor %%mm6, %%mm6 \n\t" > "1: \n\t" > "movq 1024(%1, %%esi), %%mm0 \n\t" >@@ -374,7 +374,7 @@ > "addl $8, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1536), "r" (f+256) >+ :: "r" (s16+1536), "r" (f+256), "m" (magicF2W) > :"%esi", "%edi", "memory" > ); > return 6*256; >@@ -384,7 +384,7 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > // "pxor %%mm6, %%mm6 \n\t" > "1: \n\t" > "movq 1024(%1, %%esi), %%mm0 \n\t" >@@ -420,7 +420,7 @@ > "addl $8, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1536), "r" (f+256) >+ :: "r" (s16+1536), "r" (f+256), "m" (magicF2W) > :"%esi", "%edi", "memory" > ); > return 6*256; >@@ -430,7 +430,7 @@ > int32_t * f = (int32_t *) _f; > asm volatile( > "movl $-1024, %%esi \n\t" >- "movq "MANGLE(magicF2W)", %%mm7 \n\t" >+ "movq %2, %%mm7 \n\t" > // "pxor %%mm6, %%mm6 \n\t" > "1: \n\t" > "movq 1024(%1, %%esi), %%mm0 \n\t" >@@ -468,7 +468,7 @@ > "addl $8, %%esi \n\t" > " jnz 1b \n\t" > "emms \n\t" >- :: "r" (s16+1536), "r" (f+256) >+ :: "r" (s16+1536), "r" (f+256), "m" (magicF2W) > :"%esi", "%edi", "memory" > ); > return 6*256; >Index: libavcodec/libpostproc/Makefile >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/libpostproc/Makefile,v >retrieving revision 1.26 >diff -u -r1.26 Makefile >--- libavcodec/libpostproc/Makefile 26 Sep 2005 10:05:13 -0000 1.26 >+++ libavcodec/libpostproc/Makefile 4 Dec 2005 01:27:57 -0000 >@@ -20,7 +20,7 @@ > PPOBJS=postprocess.o > SPPOBJS=postprocess_pic.o > >-CFLAGS = $(OPTFLAGS) $(MLIB_INC) -I. -I.. $(EXTRA_INC) >+CFLAGS = $(OPTFLAGS) $(PIC) $(MLIB_INC) -I. -I.. $(EXTRA_INC) > # -I/usr/X11R6/include/ > > .SUFFIXES: .c .o >Index: libavcodec/libpostproc/postprocess_template.c >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/libpostproc/postprocess_template.c,v >retrieving revision 1.96 >diff -u -r1.96 postprocess_template.c >--- libavcodec/libpostproc/postprocess_template.c 23 Jun 2005 20:24:25 -0000 1.96 >+++ libavcodec/libpostproc/postprocess_template.c 4 Dec 2005 01:27:57 -0000 >@@ -515,7 +515,7 @@ > "paddusb %%mm0, %%mm0 \n\t" > "psubusb %%mm0, %%mm4 \n\t" > "pcmpeqb %%mm7, %%mm4 \n\t" // d <= QP ? -1 : 0 >- "psubusb "MANGLE(b01)", %%mm3 \n\t" >+ "psubusb %3, %%mm3 \n\t" > "pand %%mm4, %%mm3 \n\t" // d <= QP ? d : 0 > > PAVGB(%%mm7, %%mm3) // d/2 >@@ -564,7 +564,7 @@ > "movq %%mm0, (%%"REG_c", %1, 2) \n\t" // line 7 > > : >- : "r" (src), "r" ((long)stride), "m" (co->pQPb) >+ : "r" (src), "r" ((long)stride), "m" (co->pQPb), "m" (b01) > : "%"REG_a, "%"REG_c > ); > #else >@@ -697,17 +697,17 @@ > > PMINUB(%%mm2, %%mm1, %%mm4) // MIN(|lenergy|,|renergy|)/8 > "movq %2, %%mm4 \n\t" // QP //FIXME QP+1 ? >- "paddusb "MANGLE(b01)", %%mm4 \n\t" >+ "paddusb %3, %%mm4 \n\t" > "pcmpgtb %%mm3, %%mm4 \n\t" // |menergy|/8 < QP > "psubusb %%mm1, %%mm3 \n\t" // d=|menergy|/8-MIN(|lenergy|,|renergy|)/8 > "pand %%mm4, %%mm3 \n\t" > > "movq %%mm3, %%mm1 \n\t" >-// "psubusb "MANGLE(b01)", %%mm3 \n\t" >+// "psubusb %3, %%mm3 \n\t" > PAVGB(%%mm7, %%mm3) > PAVGB(%%mm7, %%mm3) > "paddusb %%mm1, %%mm3 \n\t" >-// "paddusb "MANGLE(b01)", %%mm3 \n\t" >+// "paddusb %3, %%mm3 \n\t" > > "movq (%%"REG_a", %1, 2), %%mm6 \n\t" //l3 > "movq (%0, %1, 4), %%mm5 \n\t" //l4 >@@ -720,7 +720,7 @@ > "pand %%mm0, %%mm3 \n\t" > PMINUB(%%mm5, %%mm3, %%mm0) > >- "psubusb "MANGLE(b01)", %%mm3 \n\t" >+ "psubusb %3, %%mm3 \n\t" > PAVGB(%%mm7, %%mm3) > > "movq (%%"REG_a", %1, 2), %%mm0 \n\t" >@@ -752,7 +752,7 @@ > "movq (%%"REG_a", %1), %%mm3 \n\t" // l2 > "pxor %%mm6, %%mm2 \n\t" // -l5-1 > "movq %%mm2, %%mm5 \n\t" // -l5-1 >- "movq "MANGLE(b80)", %%mm4 \n\t" // 128 >+ "movq %4, %%mm4 \n\t" // 128 > "lea (%%"REG_a", %1, 4), %%"REG_c" \n\t" > PAVGB(%%mm3, %%mm2) // (l2-l5+256)/2 > PAVGB(%%mm0, %%mm4) // ~(l4-l3)/4 + 128 >@@ -764,7 +764,7 @@ > "pxor %%mm6, %%mm2 \n\t" // -l1-1 > PAVGB(%%mm3, %%mm2) // (l2-l1+256)/2 > PAVGB((%0), %%mm1) // (l0-l3+256)/2 >- "movq "MANGLE(b80)", %%mm3 \n\t" // 128 >+ "movq %4, %%mm3 \n\t" // 128 > PAVGB(%%mm2, %%mm3) // ~(l2-l1)/4 + 128 > PAVGB(%%mm1, %%mm3) // ~(l0-l3)/4 +(l2-l1)/8 + 128 > PAVGB(%%mm2, %%mm3) // ~(l0-l3)/8 +5(l2-l1)/16 + 128 >@@ -774,14 +774,14 @@ > "movq (%%"REG_c", %1, 2), %%mm1 \n\t" // l7 > "pxor %%mm6, %%mm1 \n\t" // -l7-1 > PAVGB((%0, %1, 4), %%mm1) // (l4-l7+256)/2 >- "movq "MANGLE(b80)", %%mm2 \n\t" // 128 >+ "movq %4, %%mm2 \n\t" // 128 > PAVGB(%%mm5, %%mm2) // ~(l6-l5)/4 + 128 > PAVGB(%%mm1, %%mm2) // ~(l4-l7)/4 +(l6-l5)/8 + 128 > PAVGB(%%mm5, %%mm2) // ~(l4-l7)/8 +5(l6-l5)/16 + 128 > // mm0=128-q, mm2=renergy/16 + 128, mm3=lenergy/16 + 128, mm4= menergy/16 + 128 > >- "movq "MANGLE(b00)", %%mm1 \n\t" // 0 >- "movq "MANGLE(b00)", %%mm5 \n\t" // 0 >+ "movq %5, %%mm1 \n\t" // 0 >+ "movq %5, %%mm5 \n\t" // 0 > "psubb %%mm2, %%mm1 \n\t" // 128 - renergy/16 > "psubb %%mm3, %%mm5 \n\t" // 128 - lenergy/16 > PMAXUB(%%mm1, %%mm2) // 128 + |renergy/16| >@@ -790,7 +790,7 @@ > > // mm0=128-q, mm3=128 + MIN(|lenergy|,|renergy|)/16, mm4= menergy/16 + 128 > >- "movq "MANGLE(b00)", %%mm7 \n\t" // 0 >+ "movq %5, %%mm7 \n\t" // 0 > "movq %2, %%mm2 \n\t" // QP > PAVGB(%%mm6, %%mm2) // 128 + QP/2 > "psubb %%mm6, %%mm2 \n\t" >@@ -804,13 +804,13 @@ > // mm0=128-q, mm1= SIGN(menergy), mm2= |menergy|/16 < QP/2, mm4= d/16 > > "movq %%mm4, %%mm3 \n\t" // d >- "psubusb "MANGLE(b01)", %%mm4 \n\t" >+ "psubusb %3, %%mm4 \n\t" > PAVGB(%%mm7, %%mm4) // d/32 > PAVGB(%%mm7, %%mm4) // (d + 32)/64 > "paddb %%mm3, %%mm4 \n\t" // 5d/64 > "pand %%mm2, %%mm4 \n\t" > >- "movq "MANGLE(b80)", %%mm5 \n\t" // 128 >+ "movq %4, %%mm5 \n\t" // 128 > "psubb %%mm0, %%mm5 \n\t" // q > "paddsb %%mm6, %%mm5 \n\t" // fix bad rounding > "pcmpgtb %%mm5, %%mm7 \n\t" // SIGN(q) >@@ -832,7 +832,7 @@ > "movq %%mm2, (%0, %1, 4) \n\t" > > : >- : "r" (src), "r" ((long)stride), "m" (c->pQPb) >+ : "r" (src), "r" ((long)stride), "m" (c->pQPb), "m" (b01), "m" (b80), "m" (b00) > : "%"REG_a, "%"REG_c > ); > >@@ -1076,10 +1076,10 @@ > "psubusw %%mm1, %%mm5 \n\t" // ld > > >- "movq "MANGLE(w05)", %%mm2 \n\t" // 5 >+ "movq %3, %%mm2 \n\t" // 5 > "pmullw %%mm2, %%mm4 \n\t" > "pmullw %%mm2, %%mm5 \n\t" >- "movq "MANGLE(w20)", %%mm2 \n\t" // 32 >+ "movq %4, %%mm2 \n\t" // 32 > "paddw %%mm2, %%mm4 \n\t" > "paddw %%mm2, %%mm5 \n\t" > "psrlw $6, %%mm4 \n\t" >@@ -1129,7 +1129,7 @@ > "movq %%mm0, (%0, %1) \n\t" > > : "+r" (src) >- : "r" ((long)stride), "m" (c->pQPb) >+ : "r" ((long)stride), "m" (c->pQPb), "m" (w05), "m" (w20) > : "%"REG_a, "%"REG_c > ); > #else >@@ -1273,7 +1273,7 @@ > "movq %%mm6, %%mm0 \n\t" // max > "psubb %%mm7, %%mm6 \n\t" // max - min > "movd %%mm6, %%ecx \n\t" >- "cmpb "MANGLE(deringThreshold)", %%cl \n\t" >+ "cmpb %4, %%cl \n\t" > " jb 1f \n\t" > "lea -24(%%"REG_SP"), %%"REG_c" \n\t" > "and "ALIGN_MASK", %%"REG_c" \n\t" >@@ -1300,9 +1300,9 @@ > "psubusb %%mm7, %%mm0 \n\t" > "psubusb %%mm7, %%mm2 \n\t" > "psubusb %%mm7, %%mm3 \n\t" >- "pcmpeqb "MANGLE(b00)", %%mm0 \n\t" // L10 > a ? 0 : -1 >- "pcmpeqb "MANGLE(b00)", %%mm2 \n\t" // L20 > a ? 0 : -1 >- "pcmpeqb "MANGLE(b00)", %%mm3 \n\t" // L00 > a ? 0 : -1 >+ "pcmpeqb %5, %%mm0 \n\t" // L10 > a ? 0 : -1 >+ "pcmpeqb %5, %%mm2 \n\t" // L20 > a ? 0 : -1 >+ "pcmpeqb %5, %%mm3 \n\t" // L00 > a ? 0 : -1 > "paddb %%mm2, %%mm0 \n\t" > "paddb %%mm3, %%mm0 \n\t" > >@@ -1323,9 +1323,9 @@ > "psubusb %%mm7, %%mm2 \n\t" > "psubusb %%mm7, %%mm4 \n\t" > "psubusb %%mm7, %%mm5 \n\t" >- "pcmpeqb "MANGLE(b00)", %%mm2 \n\t" // L11 > a ? 0 : -1 >- "pcmpeqb "MANGLE(b00)", %%mm4 \n\t" // L21 > a ? 0 : -1 >- "pcmpeqb "MANGLE(b00)", %%mm5 \n\t" // L01 > a ? 0 : -1 >+ "pcmpeqb %5, %%mm2 \n\t" // L11 > a ? 0 : -1 >+ "pcmpeqb %5, %%mm4 \n\t" // L21 > a ? 0 : -1 >+ "pcmpeqb %5, %%mm5 \n\t" // L01 > a ? 0 : -1 > "paddb %%mm4, %%mm2 \n\t" > "paddb %%mm5, %%mm2 \n\t" > // 0, 2, 3, 1 >@@ -1350,7 +1350,7 @@ > "psubusb " #lx ", " #t1 " \n\t"\ > "psubusb " #lx ", " #t0 " \n\t"\ > "psubusb " #lx ", " #sx " \n\t"\ >- "movq "MANGLE(b00)", " #lx " \n\t"\ >+ "movq %5, " #lx " \n\t"\ > "pcmpeqb " #lx ", " #t1 " \n\t" /* src[-1] > a ? 0 : -1*/\ > "pcmpeqb " #lx ", " #t0 " \n\t" /* src[+1] > a ? 0 : -1*/\ > "pcmpeqb " #lx ", " #sx " \n\t" /* src[0] > a ? 0 : -1*/\ >@@ -1366,8 +1366,8 @@ > PMINUB(t1, pplx, t0)\ > "paddb " #sx ", " #ppsx " \n\t"\ > "paddb " #psx ", " #ppsx " \n\t"\ >- "#paddb "MANGLE(b02)", " #ppsx " \n\t"\ >- "pand "MANGLE(b08)", " #ppsx " \n\t"\ >+ "#paddb %6, " #ppsx " \n\t"\ >+ "pand %7, " #ppsx " \n\t"\ > "pcmpeqb " #lx ", " #ppsx " \n\t"\ > "pand " #ppsx ", " #pplx " \n\t"\ > "pandn " #dst ", " #ppsx " \n\t"\ >@@ -1403,7 +1403,7 @@ > DERING_CORE((%0, %1, 8),(%%REGd, %1, 4) ,%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7) > > "1: \n\t" >- : : "r" (src), "r" ((long)stride), "m" (c->pQPb), "m"(c->pQPb2) >+ : : "r" (src), "r" ((long)stride), "m" (c->pQPb), "m"(c->pQPb2), "m" (deringThreshold), "m" (b00), "m" (b02), "m" (b08) > : "%"REG_a, "%"REG_d, "%"REG_c > ); > #else >@@ -2281,7 +2281,7 @@ > #else > #if defined (FAST_L2_DIFF) > "pcmpeqb %%mm7, %%mm7 \n\t" >- "movq "MANGLE(b80)", %%mm6 \n\t" >+ "movq %4, %%mm6 \n\t" > "pxor %%mm0, %%mm0 \n\t" > #define REAL_L2_DIFF_CORE(a, b)\ > "movq " #a ", %%mm5 \n\t"\ >@@ -2530,7 +2530,7 @@ > > "4: \n\t" > >- :: "r" (src), "r" (tempBlured), "r"((long)stride), "m" (tempBluredPast) >+ :: "r" (src), "r" (tempBlured), "r"((long)stride), "m" (tempBluredPast), "m" (b80) > : "%"REG_a, "%"REG_d, "%"REG_c, "memory" > ); > //printf("%d\n", test); >@@ -2805,8 +2805,8 @@ > "movq %%mm6, %%mm1 \n\t" > "psllw $2, %%mm0 \n\t" > "psllw $2, %%mm1 \n\t" >- "paddw "MANGLE(w04)", %%mm0 \n\t" >- "paddw "MANGLE(w04)", %%mm1 \n\t" >+ "paddw %5, %%mm0 \n\t" >+ "paddw %5, %%mm1 \n\t" > > #define NEXT\ > "movq (%0), %%mm2 \n\t"\ >@@ -2895,7 +2895,7 @@ > "mov %4, %0 \n\t" //FIXME > > : "+&r"(src) >- : "r" ((long)step), "m" (c->pQPb), "r"(sums), "g"(src) >+ : "r" ((long)step), "m" (c->pQPb), "r"(sums), "g"(src), "m" (w04) > ); > > src+= step; // src points to begin of the 8x8 Block >@@ -3112,10 +3112,10 @@ > "psubusw %%mm1, %%mm5 \n\t" // ld > > >- "movq "MANGLE(w05)", %%mm2 \n\t" // 5 >+ "movq %4, %%mm2 \n\t" // 5 > "pmullw %%mm2, %%mm4 \n\t" > "pmullw %%mm2, %%mm5 \n\t" >- "movq "MANGLE(w20)", %%mm2 \n\t" // 32 >+ "movq %5, %%mm2 \n\t" // 32 > "paddw %%mm2, %%mm4 \n\t" > "paddw %%mm2, %%mm5 \n\t" > "psrlw $6, %%mm4 \n\t" >@@ -3167,7 +3167,7 @@ > "movq %%mm0, (%0, %1) \n\t" > > : "+r" (temp_src) >- : "r" ((long)step), "m" (c->pQPb), "m"(eq_mask) >+ : "r" ((long)step), "m" (c->pQPb), "m"(eq_mask), "m" (w05), "m" (w20) > : "%"REG_a, "%"REG_c > ); > } >@@ -3198,10 +3198,8 @@ > { > #ifdef HAVE_MMX > asm volatile( >- "movq (%%"REG_a"), %%mm2 \n\t" // packedYOffset >- "movq 8(%%"REG_a"), %%mm3 \n\t" // packedYScale >- "lea (%2,%4), %%"REG_a" \n\t" >- "lea (%3,%5), %%"REG_d" \n\t" >+ "movq (%0), %%mm2 \n\t" // packedYOffset >+ "movq 8(%0), %%mm3 \n\t" // packedYScale > "pxor %%mm4, %%mm4 \n\t" > #ifdef HAVE_MMX2 > #define REAL_SCALED_CPY(src1, src2, dst1, dst2) \ >@@ -3257,21 +3255,20 @@ > #define SCALED_CPY(src1, src2, dst1, dst2)\ > REAL_SCALED_CPY(src1, src2, dst1, dst2) > >-SCALED_CPY((%2) , (%2, %4) , (%3) , (%3, %5)) >-SCALED_CPY((%2, %4, 2), (%%REGa, %4, 2), (%3, %5, 2), (%%REGd, %5, 2)) >-SCALED_CPY((%2, %4, 4), (%%REGa, %4, 4), (%3, %5, 4), (%%REGd, %5, 4)) >- "lea (%%"REG_a",%4,4), %%"REG_a" \n\t" >- "lea (%%"REG_d",%5,4), %%"REG_d" \n\t" >-SCALED_CPY((%%REGa, %4), (%%REGa, %4, 2), (%%REGd, %5), (%%REGd, %5, 2)) >- >- >- : "=&a" (packedOffsetAndScale) >- : "0" (packedOffsetAndScale), >+SCALED_CPY((%1) , (%1, %3) , (%2) , (%2, %4)) >+SCALED_CPY((%1, %3, 2), (%1, %3, 4) , (%2, %4, 2), (%2, %4, 4)) >+ "lea (%1,%3,2), %1 \n\t" >+ "lea (%2,%4,2), %2 \n\t" >+SCALED_CPY((%1, %3, 2), (%1, %3, 4) , (%2, %4, 2), (%2, %4, 4)) >+ "lea (%1,%3), %1 \n\t" >+ "lea (%2,%4), %2 \n\t" >+SCALED_CPY((%1, %3, 2), (%1, %3, 4) , (%2, %4, 2), (%2, %4, 4)) >+ : : "r" (packedOffsetAndScale), > "r"(src), > "r"(dst), > "r" ((long)srcStride), > "r" ((long)dstStride) >- : "%"REG_d >+ : "memory" > ); > #else > for(i=0; i<8; i++) >@@ -3283,9 +3280,6 @@ > { > #ifdef HAVE_MMX > asm volatile( >- "lea (%0,%2), %%"REG_a" \n\t" >- "lea (%1,%3), %%"REG_d" \n\t" >- > #define REAL_SIMPLE_CPY(src1, src2, dst1, dst2) \ > "movq " #src1 ", %%mm0 \n\t"\ > "movq " #src2 ", %%mm1 \n\t"\ >@@ -3296,17 +3290,18 @@ > REAL_SIMPLE_CPY(src1, src2, dst1, dst2) > > SIMPLE_CPY((%0) , (%0, %2) , (%1) , (%1, %3)) >-SIMPLE_CPY((%0, %2, 2), (%%REGa, %2, 2), (%1, %3, 2), (%%REGd, %3, 2)) >-SIMPLE_CPY((%0, %2, 4), (%%REGa, %2, 4), (%1, %3, 4), (%%REGd, %3, 4)) >- "lea (%%"REG_a",%2,4), %%"REG_a" \n\t" >- "lea (%%"REG_d",%3,4), %%"REG_d" \n\t" >-SIMPLE_CPY((%%REGa, %2), (%%REGa, %2, 2), (%%REGd, %3), (%%REGd, %3, 2)) >- >+SIMPLE_CPY((%0, %2, 2), (%0, %2, 4) , (%1, %3, 2), (%1, %3, 4)) >+ "lea (%0,%2,2), %0 \n\t" >+ "lea (%1,%3,2), %1 \n\t" >+SIMPLE_CPY((%0, %2) , (%0, %2, 4) , (%1, %3) , (%1, %3, 4)) >+ "lea (%0,%2), %0 \n\t" >+ "lea (%1,%3), %1 \n\t" >+SIMPLE_CPY((%0, %2, 2), (%0, %2, 4) , (%1, %3, 2), (%1, %3, 4)) > : : "r" (src), > "r" (dst), > "r" ((long)srcStride), > "r" ((long)dstStride) >- : "%"REG_a, "%"REG_d >+ : "memory" > ); > #else > for(i=0; i<8; i++) >Index: libavformat/Makefile >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavformat/Makefile,v >retrieving revision 1.102 >diff -u -r1.102 Makefile >--- libavformat/Makefile 7 Nov 2005 01:32:29 -0000 1.102 >+++ libavformat/Makefile 4 Dec 2005 01:27:57 -0000 >@@ -6,7 +6,7 @@ > > VPATH=$(SRC_PATH)/libavformat > >-CFLAGS=$(OPTFLAGS) -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavutil -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE >+CFLAGS=$(OPTFLAGS) $(PIC) -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavutil -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE > > OBJS= utils.o cutils.o os_support.o allformats.o > PPOBJS= >Index: libavutil/Makefile >=================================================================== >RCS file: /cvsroot/ffmpeg/ffmpeg/libavutil/Makefile,v >retrieving revision 1.4 >diff -u -r1.4 Makefile >--- libavutil/Makefile 7 Nov 2005 01:32:29 -0000 1.4 >+++ libavutil/Makefile 4 Dec 2005 01:27:57 -0000 >@@ -6,7 +6,7 @@ > VPATH=$(SRC_PATH)/libavutil > > # NOTE: -I.. is needed to include config.h >-CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE >+CFLAGS=$(OPTFLAGS) $(PIC) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE > > OBJS= mathematics.o \ > integer.o \
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 115568
: 74758 |
104643
|
108330
|
108552
|
108563