root/branches/perian-1.1/Patches/ffmpeg-pic.diff

Revision 822, 22.8 kB (checked in by astrange, 9 months ago)

Turn PIC back off for Xcode 3.1. My sh is terrible...

  • ffmpeg/libavcodec/i386/motion_est_mmx.c

    old new  
    167167static inline void sad8_4_mmx2(uint8_t *blk1, uint8_t *blk2, int stride, int h) 
    168168{ 
    169169    asm volatile( 
    170         "movq "MANGLE(bone)", %%mm5     \n\t" 
     170        "movq %4, %%mm5     \n\t" 
    171171        "movq (%1), %%mm0               \n\t" 
    172172        "pavgb 1(%1), %%mm0             \n\t" 
    173173        "add %3, %1                     \n\t" 
     
    190190        "sub $2, %0                     \n\t" 
    191191        " jg 1b                         \n\t" 
    192192        : "+r" (h), "+r" (blk1), "+r" (blk2) 
    193         : "r" ((long)stride) 
     193        : "r" ((long)stride), "m" (bone) 
    194194    ); 
    195195} 
    196196 
     
    258258        "punpckhbw %%mm7, %%mm5         \n\t" 
    259259        "paddw %%mm4, %%mm2             \n\t" 
    260260        "paddw %%mm5, %%mm3             \n\t" 
    261         "movq 16+"MANGLE(round_tab)", %%mm5 \n\t" 
     261        "movq 16+%5, %%mm5 \n\t" 
    262262        "paddw %%mm2, %%mm0             \n\t" 
    263263        "paddw %%mm3, %%mm1             \n\t" 
    264264        "paddw %%mm5, %%mm0             \n\t" 
     
    281281        "add %4, %%"REG_a"              \n\t" 
    282282        " js 1b                         \n\t" 
    283283        : "+a" (len) 
    284         : "r" (blk1 - len), "r" (blk1 -len + stride), "r" (blk2 - len), "r" ((long)stride) 
     284        : "r" (blk1 - len), "r" (blk1 -len + stride), "r" (blk2 - len), "r" ((long)stride), "m" (round_tab[0]) 
    285285    ); 
    286286} 
    287287 
  • ffmpeg/libavcodec/i386/dsputil_h264_template_mmx.c

    old new  
    192192        "pxor   %%mm7, %%mm7        \n\t" 
    193193        "movd %5, %%mm2             \n\t" 
    194194        "movd %6, %%mm3             \n\t" 
    195         "movq "MANGLE(ff_pw_8)", %%mm4\n\t" 
    196         "movq "MANGLE(ff_pw_8)", %%mm5\n\t" 
     195        "movq %7, %%mm4\n\t" 
     196        "movq %7, %%mm5\n\t" 
    197197        "punpcklwd %%mm2, %%mm2     \n\t" 
    198198        "punpcklwd %%mm3, %%mm3     \n\t" 
    199199        "punpcklwd %%mm2, %%mm2     \n\t" 
     
    250250        "sub $2, %2                 \n\t" 
    251251        "jnz 1b                     \n\t" 
    252252        : "+r"(dst), "+r"(src), "+r"(h) 
    253         : "r"((long)stride), "m"(ff_pw_32), "m"(x), "m"(y) 
     253        : "r"((long)stride), "m"(ff_pw_32), "m"(x), "m"(y), "m"(ff_pw_8) 
    254254    ); 
    255255} 
    256256 
  • ffmpeg/libavcodec/i386/dsputil_mmx.c

    old new  
    772772 
    773773#define QPEL_V_LOW(m3,m4,m5,m6, pw_20, pw_3, rnd, in0, in1, in2, in7, out, OP)\ 
    774774        "paddw " #m4 ", " #m3 "           \n\t" /* x1 */\ 
    775         "movq "MANGLE(ff_pw_20)", %%mm4   \n\t" /* 20 */\ 
     775        "movq "#pw_20", %%mm4   \n\t" /* 20 */\ 
    776776        "pmullw " #m3 ", %%mm4            \n\t" /* 20x1 */\ 
    777777        "movq "#in7", " #m3 "             \n\t" /* d */\ 
    778778        "movq "#in0", %%mm5               \n\t" /* D */\ 
     
    784784        "paddw " #m5 ", %%mm6             \n\t" /* x2 */\ 
    785785        "paddw %%mm6, %%mm6               \n\t" /* 2x2 */\ 
    786786        "psubw %%mm6, %%mm5               \n\t" /* -2x2 + x3 */\ 
    787         "pmullw "MANGLE(ff_pw_3)", %%mm5  \n\t" /* -6x2 + 3x3 */\ 
     787        "pmullw "#pw_3", %%mm5  \n\t" /* -6x2 + 3x3 */\ 
    788788        "paddw " #rnd ", %%mm4            \n\t" /* x2 */\ 
    789789        "paddw %%mm4, %%mm5               \n\t" /* 20x1 - 6x2 + 3x3 - x4 */\ 
    790790        "psraw $5, %%mm5                  \n\t"\ 
     
    818818        "paddw %%mm5, %%mm5               \n\t" /* 2b */\ 
    819819        "psubw %%mm5, %%mm6               \n\t" /* c - 2b */\ 
    820820        "pshufw $0x06, %%mm0, %%mm5       \n\t" /* 0C0B0A0A */\ 
    821         "pmullw "MANGLE(ff_pw_3)", %%mm6  \n\t" /* 3c - 6b */\ 
     821        "pmullw %8, %%mm6  \n\t" /* 3c - 6b */\ 
    822822        "paddw %%mm4, %%mm0               \n\t" /* a */\ 
    823823        "paddw %%mm1, %%mm5               \n\t" /* d */\ 
    824         "pmullw "MANGLE(ff_pw_20)", %%mm0 \n\t" /* 20a */\ 
     824        "pmullw %7, %%mm0 \n\t" /* 20a */\ 
    825825        "psubw %%mm5, %%mm0               \n\t" /* 20a - d */\ 
    826826        "paddw %6, %%mm6                  \n\t"\ 
    827827        "paddw %%mm6, %%mm0               \n\t" /* 20a - 6b + 3c - d */\ 
     
    844844        "psrlq $24, %%mm6                 \n\t" /* IJKLM000 */\ 
    845845        "punpcklbw %%mm7, %%mm2           \n\t" /* 0F0G0H0I */\ 
    846846        "punpcklbw %%mm7, %%mm6           \n\t" /* 0I0J0K0L */\ 
    847         "pmullw "MANGLE(ff_pw_3)", %%mm3  \n\t" /* 3c - 6b */\ 
     847        "pmullw %8, %%mm3  \n\t" /* 3c - 6b */\ 
    848848        "paddw %%mm2, %%mm1               \n\t" /* a */\ 
    849849        "paddw %%mm6, %%mm4               \n\t" /* d */\ 
    850         "pmullw "MANGLE(ff_pw_20)", %%mm1 \n\t" /* 20a */\ 
     850        "pmullw %7, %%mm1 \n\t" /* 20a */\ 
    851851        "psubw %%mm4, %%mm3               \n\t" /* - 6b +3c - d */\ 
    852852        "paddw %6, %%mm1                  \n\t"\ 
    853853        "paddw %%mm1, %%mm3               \n\t" /* 20a - 6b +3c - d */\ 
     
    870870        "psubw %%mm5, %%mm0               \n\t" /* c - 2b */\ 
    871871        "movq %%mm3, %%mm5                \n\t" /* JKLMNOPQ */\ 
    872872        "psrlq $24, %%mm3                 \n\t" /* MNOPQ000 */\ 
    873         "pmullw "MANGLE(ff_pw_3)", %%mm0  \n\t" /* 3c - 6b */\ 
     873        "pmullw %8, %%mm0  \n\t" /* 3c - 6b */\ 
    874874        "punpcklbw %%mm7, %%mm3           \n\t" /* 0M0N0O0P */\ 
    875875        "paddw %%mm3, %%mm2               \n\t" /* d */\ 
    876876        "psubw %%mm2, %%mm0               \n\t" /* -6b + 3c - d */\ 
     
    878878        "punpcklbw %%mm7, %%mm2           \n\t" /* 0J0K0L0M */\ 
    879879        "punpckhbw %%mm7, %%mm5           \n\t" /* 0N0O0P0Q */\ 
    880880        "paddw %%mm2, %%mm6               \n\t" /* a */\ 
    881         "pmullw "MANGLE(ff_pw_20)", %%mm6 \n\t" /* 20a */\ 
     881        "pmullw %7, %%mm6 \n\t" /* 20a */\ 
    882882        "paddw %6, %%mm0                  \n\t"\ 
    883883        "paddw %%mm6, %%mm0               \n\t" /* 20a - 6b + 3c - d */\ 
    884884        "psraw $5, %%mm0                  \n\t"\ 
     
    893893        "paddw %%mm2, %%mm5               \n\t" /* d */\ 
    894894        "paddw %%mm6, %%mm6               \n\t" /* 2b */\ 
    895895        "psubw %%mm6, %%mm4               \n\t" /* c - 2b */\ 
    896         "pmullw "MANGLE(ff_pw_20)", %%mm3 \n\t" /* 20a */\ 
    897         "pmullw "MANGLE(ff_pw_3)", %%mm4  \n\t" /* 3c - 6b */\ 
     896        "pmullw %7, %%mm3 \n\t" /* 20a */\ 
     897        "pmullw %8, %%mm4  \n\t" /* 3c - 6b */\ 
    898898        "psubw %%mm5, %%mm3               \n\t" /* -6b + 3c - d */\ 
    899899        "paddw %6, %%mm4                  \n\t"\ 
    900900        "paddw %%mm3, %%mm4               \n\t" /* 20a - 6b + 3c - d */\ 
     
    907907        "decl %2                          \n\t"\ 
    908908        " jnz 1b                          \n\t"\ 
    909909        : "+a"(src), "+c"(dst), "+g"(h)\ 
    910         : "d"((long)srcStride), "S"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\ 
     910        : "d"((long)srcStride), "S"((long)dstStride),\ 
     911        "m"(temp), "m"(ROUNDER),\ 
     912        "m"(ff_pw_20), "m"(ff_pw_3)\ 
    911913        : "memory"\ 
    912914    );\ 
    913915}\ 
     
    985987        "paddw %%mm5, %%mm5               \n\t" /* 2b */\ 
    986988        "psubw %%mm5, %%mm6               \n\t" /* c - 2b */\ 
    987989        "pshufw $0x06, %%mm0, %%mm5       \n\t" /* 0C0B0A0A */\ 
    988         "pmullw "MANGLE(ff_pw_3)", %%mm6  \n\t" /* 3c - 6b */\ 
     990        "pmullw %8, %%mm6  \n\t" /* 3c - 6b */\ 
    989991        "paddw %%mm4, %%mm0               \n\t" /* a */\ 
    990992        "paddw %%mm1, %%mm5               \n\t" /* d */\ 
    991         "pmullw "MANGLE(ff_pw_20)", %%mm0 \n\t" /* 20a */\ 
     993        "pmullw %7, %%mm0 \n\t" /* 20a */\ 
    992994        "psubw %%mm5, %%mm0               \n\t" /* 20a - d */\ 
    993995        "paddw %6, %%mm6                  \n\t"\ 
    994996        "paddw %%mm6, %%mm0               \n\t" /* 20a - 6b + 3c - d */\ 
     
    10061008        "paddw %%mm5, %%mm4               \n\t" /* d */\ 
    10071009        "paddw %%mm2, %%mm2               \n\t" /* 2b */\ 
    10081010        "psubw %%mm2, %%mm3               \n\t" /* c - 2b */\ 
    1009         "pmullw "MANGLE(ff_pw_20)", %%mm1 \n\t" /* 20a */\ 
    1010         "pmullw "MANGLE(ff_pw_3)", %%mm3  \n\t" /* 3c - 6b */\ 
     1011        "pmullw %7, %%mm1 \n\t" /* 20a */\ 
     1012        "pmullw %8, %%mm3  \n\t" /* 3c - 6b */\ 
    10111013        "psubw %%mm4, %%mm3               \n\t" /* -6b + 3c - d */\ 
    10121014        "paddw %6, %%mm1                  \n\t"\ 
    10131015        "paddw %%mm1, %%mm3               \n\t" /* 20a - 6b + 3c - d */\ 
     
    10201022        "decl %2                          \n\t"\ 
    10211023        " jnz 1b                          \n\t"\ 
    10221024        : "+a"(src), "+c"(dst), "+g"(h)\ 
    1023         : "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\ 
     1025        : "S"((long)srcStride), "D"((long)dstStride),\ 
     1026        "m"(temp), "m"(ROUNDER),\ 
     1027        "m"(ff_pw_20), "m"(ff_pw_3)\ 
    10241028        : "memory"\ 
    10251029    );\ 
    10261030}\ 
     
    10991103        "movq 8(%0), %%mm1              \n\t"\ 
    11001104        "movq 16(%0), %%mm2             \n\t"\ 
    11011105        "movq 24(%0), %%mm3             \n\t"\ 
    1102         QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 16(%0),  8(%0),   (%0), 32(%0), (%1), OP)\ 
    1103         QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5,  8(%0),   (%0),   (%0), 40(%0), (%1, %3), OP)\ 
     1106        QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %5, 16(%0),  8(%0),   (%0), 32(%0), (%1), OP)\ 
     1107        QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %5,  8(%0),   (%0),   (%0), 40(%0), (%1, %3), OP)\ 
    11041108        "add %4, %1                     \n\t"\ 
    1105         QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5,   (%0),   (%0),  8(%0), 48(%0), (%1), OP)\ 
     1109        QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %5,   (%0),   (%0),  8(%0), 48(%0), (%1), OP)\ 
    11061110        \ 
    1107         QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5,   (%0),  8(%0), 16(%0), 56(%0), (%1, %3), OP)\ 
     1111        QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %5,   (%0),  8(%0), 16(%0), 56(%0), (%1, %3), OP)\ 
    11081112        "add %4, %1                     \n\t"\ 
    1109         QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5,  8(%0), 16(%0), 24(%0), 64(%0), (%1), OP)\ 
    1110         QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 16(%0), 24(%0), 32(%0), 72(%0), (%1, %3), OP)\ 
     1113        QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %5,  8(%0), 16(%0), 24(%0), 64(%0), (%1), OP)\ 
     1114        QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %5, 16(%0), 24(%0), 32(%0), 72(%0), (%1, %3), OP)\ 
    11111115        "add %4, %1                     \n\t"\ 
    1112         QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, 24(%0), 32(%0), 40(%0), 80(%0), (%1), OP)\ 
    1113         QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, 32(%0), 40(%0), 48(%0), 88(%0), (%1, %3), OP)\ 
     1116        QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %5, 24(%0), 32(%0), 40(%0), 80(%0), (%1), OP)\ 
     1117        QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %5, 32(%0), 40(%0), 48(%0), 88(%0), (%1, %3), OP)\ 
    11141118        "add %4, %1                     \n\t"\ 
    1115         QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 40(%0), 48(%0), 56(%0), 96(%0), (%1), OP)\ 
    1116         QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 48(%0), 56(%0), 64(%0),104(%0), (%1, %3), OP)\ 
     1119        QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %5, 40(%0), 48(%0), 56(%0), 96(%0), (%1), OP)\ 
     1120        QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %5, 48(%0), 56(%0), 64(%0),104(%0), (%1, %3), OP)\ 
    11171121        "add %4, %1                     \n\t"\ 
    1118         QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, 56(%0), 64(%0), 72(%0),112(%0), (%1), OP)\ 
    1119         QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, 64(%0), 72(%0), 80(%0),120(%0), (%1, %3), OP)\ 
     1122        QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %5, 56(%0), 64(%0), 72(%0),112(%0), (%1), OP)\ 
     1123        QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %5, 64(%0), 72(%0), 80(%0),120(%0), (%1, %3), OP)\ 
    11201124        "add %4, %1                     \n\t"\ 
    1121         QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 72(%0), 80(%0), 88(%0),128(%0), (%1), OP)\ 
     1125        QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %5, 72(%0), 80(%0), 88(%0),128(%0), (%1), OP)\ 
    11221126        \ 
    1123         QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 80(%0), 88(%0), 96(%0),128(%0), (%1, %3), OP)\ 
     1127        QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %5, 80(%0), 88(%0), 96(%0),128(%0), (%1, %3), OP)\ 
    11241128        "add %4, %1                     \n\t"  \ 
    1125         QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, 88(%0), 96(%0),104(%0),120(%0), (%1), OP)\ 
    1126         QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, 96(%0),104(%0),112(%0),112(%0), (%1, %3), OP)\ 
     1129        QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %5, 88(%0), 96(%0),104(%0),120(%0), (%1), OP)\ 
     1130        QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %5, 96(%0),104(%0),112(%0),112(%0), (%1, %3), OP)\ 
    11271131        \ 
    11281132        "add $136, %0                   \n\t"\ 
    11291133        "add %6, %1                     \n\t"\ 
     
    11311135        " jnz 1b                        \n\t"\ 
    11321136        \ 
    11331137        : "+r"(temp_ptr), "+r"(dst), "+g"(count)\ 
    1134         : "r"((long)dstStride), "r"(2*(long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER), "g"(4-14*(long)dstStride)\ 
     1138        : "r"((long)dstStride), "r"(2*(long)dstStride),\ 
     1139        "m"(ROUNDER), "g"(4-14*(long)dstStride),\ 
     1140        "m"(ff_pw_20), "m"(ff_pw_3)\ 
    11351141        :"memory"\ 
    11361142    );\ 
    11371143}\ 
     
    11711177        "movq 8(%0), %%mm1              \n\t"\ 
    11721178        "movq 16(%0), %%mm2             \n\t"\ 
    11731179        "movq 24(%0), %%mm3             \n\t"\ 
    1174         QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5, 16(%0),  8(%0),   (%0), 32(%0), (%1), OP)\ 
    1175         QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5,  8(%0),   (%0),   (%0), 40(%0), (%1, %3), OP)\ 
     1180        QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %5, 16(%0),  8(%0),   (%0), 32(%0), (%1), OP)\ 
     1181        QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %5,  8(%0),   (%0),   (%0), 40(%0), (%1, %3), OP)\ 
    11761182        "add %4, %1                     \n\t"\ 
    1177         QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5,   (%0),   (%0),  8(%0), 48(%0), (%1), OP)\ 
     1183        QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %5,   (%0),   (%0),  8(%0), 48(%0), (%1), OP)\ 
    11781184        \ 
    1179         QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5,   (%0),  8(%0), 16(%0), 56(%0), (%1, %3), OP)\ 
     1185        QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %5,   (%0),  8(%0), 16(%0), 56(%0), (%1, %3), OP)\ 
    11801186        "add %4, %1                     \n\t"\ 
    1181         QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %5, %6, %5,  8(%0), 16(%0), 24(%0), 64(%0), (%1), OP)\ 
     1187        QPEL_V_LOW(%%mm0, %%mm1, %%mm2, %%mm3, %7, %8, %5,  8(%0), 16(%0), 24(%0), 64(%0), (%1), OP)\ 
    11821188        \ 
    1183         QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %5, %6, %5, 16(%0), 24(%0), 32(%0), 64(%0), (%1, %3), OP)\ 
     1189        QPEL_V_LOW(%%mm1, %%mm2, %%mm3, %%mm0, %7, %8, %5, 16(%0), 24(%0), 32(%0), 64(%0), (%1, %3), OP)\ 
    11841190        "add %4, %1                     \n\t"\ 
    1185         QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %5, %6, %5, 24(%0), 32(%0), 40(%0), 56(%0), (%1), OP)\ 
    1186         QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %5, %6, %5, 32(%0), 40(%0), 48(%0), 48(%0), (%1, %3), OP)\ 
     1191        QPEL_V_LOW(%%mm2, %%mm3, %%mm0, %%mm1, %7, %8, %5, 24(%0), 32(%0), 40(%0), 56(%0), (%1), OP)\ 
     1192        QPEL_V_LOW(%%mm3, %%mm0, %%mm1, %%mm2, %7, %8, %5, 32(%0), 40(%0), 48(%0), 48(%0), (%1, %3), OP)\ 
    11871193                \ 
    11881194        "add $72, %0                    \n\t"\ 
    11891195        "add %6, %1                     \n\t"\ 
     
    11911197        " jnz 1b                        \n\t"\ 
    11921198         \ 
    11931199        : "+r"(temp_ptr), "+r"(dst), "+g"(count)\ 
    1194         : "r"((long)dstStride), "r"(2*(long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER), "g"(4-6*(long)dstStride)\ 
     1200        : "r"((long)dstStride), "r"(2*(long)dstStride),\ 
     1201        "m"(ROUNDER), "g"(4-6*(long)dstStride),\ 
     1202        "m"(ff_pw_20), "m"(ff_pw_3)\ 
    11951203        : "memory"\ 
    11961204   );\ 
    11971205}\ 
  • ffmpeg/libavcodec/i386/h264dsp_mmx.c

    old new  
    417417// in: mm0=p1 mm1=p0 mm2=q0 mm3=q1 mm7=(tc&mask) 
    418418// out: mm1=p0' mm2=q0' 
    419419// clobbers: mm0,3-6 
    420 #define H264_DEBLOCK_P0_Q0(pb_01, pb_3f)\ 
     420#define H264_DEBLOCK_P0_Q0(pb_01, pb_3, pb_a1)\ 
    421421        "movq    %%mm1              , %%mm5 \n\t"\ 
    422422        "pxor    %%mm2              , %%mm5 \n\t" /* p0^q0*/\ 
    423423        "pand    "#pb_01"           , %%mm5 \n\t" /* (p0^q0)&1*/\ 
    424424        "pcmpeqb %%mm4              , %%mm4 \n\t"\ 
    425425        "pxor    %%mm4              , %%mm3 \n\t"\ 
    426426        "pavgb   %%mm0              , %%mm3 \n\t" /* (p1 - q1 + 256)>>1*/\ 
    427         "pavgb   "MANGLE(ff_pb_3)"  , %%mm3 \n\t" /*(((p1 - q1 + 256)>>1)+4)>>1 = 64+2+(p1-q1)>>2*/\ 
     427        "pavgb   "#pb_3"            , %%mm3 \n\t" /*(((p1 - q1 + 256)>>1)+4)>>1 = 64+2+(p1-q1)>>2*/\ 
    428428        "pxor    %%mm1              , %%mm4 \n\t"\ 
    429429        "pavgb   %%mm2              , %%mm4 \n\t" /* (q0 - p0 + 256)>>1*/\ 
    430430        "pavgb   %%mm5              , %%mm3 \n\t"\ 
    431431        "paddusb %%mm4              , %%mm3 \n\t" /* d+128+33*/\ 
    432         "movq    "MANGLE(ff_pb_A1)" , %%mm6 \n\t"\ 
     432        "movq    "#pb_a1"          , %%mm6 \n\t"\ 
    433433        "psubusb %%mm3              , %%mm6 \n\t"\ 
    434         "psubusb "MANGLE(ff_pb_A1)" , %%mm3 \n\t"\ 
     434        "psubusb "#pb_a1"          , %%mm3 \n\t"\ 
    435435        "pminub  %%mm7              , %%mm6 \n\t"\ 
    436436        "pminub  %%mm7              , %%mm3 \n\t"\ 
    437437        "psubusb %%mm6              , %%mm1 \n\t"\ 
     
    498498        H264_DEBLOCK_Q1(%%mm3, %%mm4, "(%2,%3,2)", "(%2,%3)", %%mm5, %%mm6) 
    499499 
    500500        /* filter p0, q0 */ 
    501         H264_DEBLOCK_P0_Q0(%8, unused
     501        H264_DEBLOCK_P0_Q0(%8, %9, %10
    502502        "movq      %%mm1, (%1,%3,2) \n\t" 
    503503        "movq      %%mm2, (%2)      \n\t" 
    504504 
    505505        : "=m"(*tmp0) 
    506506        : "r"(pix-3*stride), "r"(pix), "r"((long)stride), 
    507507          "m"(*tmp0/*unused*/), "m"(*(uint32_t*)tc0), "m"(alpha1), "m"(beta1), 
    508           "m"(ff_bone) 
     508          "m"(ff_bone), "m" (ff_pb_3), "m" (ff_pb_A1) 
    509509    ); 
    510510} 
    511511 
     
    546546        "movd      %3,    %%mm6     \n\t" 
    547547        "punpcklbw %%mm6, %%mm6     \n\t" 
    548548        "pand      %%mm6, %%mm7     \n\t" // mm7 = tc&mask 
    549         H264_DEBLOCK_P0_Q0(%6, %7
     549        H264_DEBLOCK_P0_Q0(%6, %7, %8
    550550        "movq      %%mm1, (%0,%2)   \n\t" 
    551551        "movq      %%mm2, (%1)      \n\t" 
    552552 
    553553        :: "r"(pix-2*stride), "r"(pix), "r"((long)stride), 
    554554           "r"(*(uint32_t*)tc0), 
    555            "m"(alpha1), "m"(beta1), "m"(ff_bone), "m"(ff_pb_3F
     555           "m"(alpha1), "m"(beta1), "m"(ff_bone), "m" (ff_pb_3), "m" (ff_pb_A1
    556556    ); 
    557557} 
    558558 
  • ffmpeg/libavcodec/i386/simple_idct_mmx.c

    old new  
    363363        "movq " #src4 ", %%mm1          \n\t" /* R6     R2      r6      r2 */\ 
    364364        "movq " #src1 ", %%mm2          \n\t" /* R3     R1      r3      r1 */\ 
    365365        "movq " #src5 ", %%mm3          \n\t" /* R7     R5      r7      r5 */\ 
    366         "movq "MANGLE(wm1010)", %%mm4   \n\t"\ 
     366        "movq %3, %%mm4                 \n\t"\ 
    367367        "pand %%mm0, %%mm4              \n\t"\ 
    368368        "por %%mm1, %%mm4               \n\t"\ 
    369369        "por %%mm2, %%mm4               \n\t"\ 
     
    437437        "jmp 2f                         \n\t"\ 
    438438        "1:                             \n\t"\ 
    439439        "pslld $16, %%mm0               \n\t"\ 
    440         "#paddd "MANGLE(d40000)", %%mm0 \n\t"\ 
     440        "#paddd %4, %%mm0              \n\t"\ 
    441441        "psrad $13, %%mm0               \n\t"\ 
    442442        "packssdw %%mm0, %%mm0          \n\t"\ 
    443443        "movq %%mm0, " #dst "           \n\t"\ 
     
    471471        "movq " #src4 ", %%mm1          \n\t" /* R6     R2      r6      r2 */\ 
    472472        "movq " #src1 ", %%mm2          \n\t" /* R3     R1      r3      r1 */\ 
    473473        "movq " #src5 ", %%mm3          \n\t" /* R7     R5      r7      r5 */\ 
    474         "movq "MANGLE(wm1010)", %%mm4   \n\t"\ 
     474        "movq %3, %%mm4                 \n\t"\ 
    475475        "pand %%mm0, %%mm4              \n\t"\ 
    476476        "por %%mm1, %%mm4               \n\t"\ 
    477477        "por %%mm2, %%mm4               \n\t"\ 
     
    545545        "jmp 2f                         \n\t"\ 
    546546        "1:                             \n\t"\ 
    547547        "pslld $16, %%mm0               \n\t"\ 
    548         "paddd "MANGLE(d40000)", %%mm0  \n\t"\ 
     548        "paddd %4, %%mm0                \n\t"\ 
    549549        "psrad $13, %%mm0               \n\t"\ 
    550550        "packssdw %%mm0, %%mm0          \n\t"\ 
    551551        "movq %%mm0, " #dst "           \n\t"\ 
     
    12701270*/ 
    12711271 
    12721272"9: \n\t" 
    1273                 :: "r" (block), "r" (temp), "r" (coeffs) 
     1273                :: "r" (block), "r" (temp), "r" (coeffs), "m" (wm1010), "m"(d40000) 
    12741274                : "%eax" 
    12751275        ); 
    12761276} 
  • ffmpeg/libavcodec/i386/vc1dsp_mmx.c

    old new  
    7777    asm volatile( 
    7878        "mov       $3, %%"REG_c"           \n\t" 
    7979        LOAD_ROUNDER_MMX("%5") 
    80         "movq      "MANGLE(ff_pw_9)", %%mm6 \n\t" 
     80        "movq      %7, %%mm6 \n\t" 
    8181        "1:                                \n\t" 
    8282        "movd      (%0), %%mm2             \n\t" 
    8383        "add       %2, %0                  \n\t" 
     
    9898        "jnz 1b                            \n\t" 
    9999        : "+r"(src), "+r"(dst) 
    100100        : "r"(stride), "r"(-2*stride), 
    101           "m"(shift), "m"(rnd), "r"(9*stride-4) 
     101          "m"(shift), "m"(rnd), "r"(9*stride-4), "m"(ff_pw_9) 
    102102        : "%"REG_c, "memory" 
    103103    ); 
    104104} 
     
    116116    rnd -= (-1+9+9-1)*1024; /* Add -1024 bias */ 
    117117    asm volatile( 
    118118        LOAD_ROUNDER_MMX("%4") 
    119         "movq      "MANGLE(ff_pw_128)", %%mm6\n\t" 
    120         "movq      "MANGLE(ff_pw_9)", %%mm5 \n\t" 
     119        "movq      %5, %%mm6\n\t" 
     120        "movq      %6, %%mm5 \n\t" 
    121121        "1:                                \n\t" 
    122122        "movq      2*0+0(%1), %%mm1        \n\t" 
    123123        "movq      2*0+8(%1), %%mm2        \n\t" 
     
    141141        "decl      %0                      \n\t" 
    142142        "jnz 1b                            \n\t" 
    143143        : "+r"(h), "+r" (src),  "+r" (dst) 
    144         : "r"(stride), "m"(rnd) 
     144        : "r"(stride), "m"(rnd), "m"(ff_pw_128), "m"(ff_pw_9) 
    145145        : "memory" 
    146146    ); 
    147147} 
     
    158158    asm volatile( 
    159159        "mov       $8, %%"REG_c"           \n\t" 
    160160        LOAD_ROUNDER_MMX("%5") 
    161         "movq      "MANGLE(ff_pw_9)", %%mm6\n\t" 
     161        "movq      %7, %%mm6\n\t" 
    162162        "1:                                \n\t" 
    163163        "movd      0(%0   ), %%mm3         \n\t" 
    164164        "movd      4(%0   ), %%mm4         \n\t" 
     
    194194        "jnz 1b                            \n\t" 
    195195        : "+r"(src),  "+r"(dst) 
    196196        : "r"(offset), "r"(-2*offset), "g"(stride), "m"(rnd), 
    197           "g"(stride-offset) 
     197          "g"(stride-offset), "m"(ff_pw_9) 
    198198        : "%"REG_c, "memory" 
    199199    ); 
    200200} 
Note: See TracBrowser for help on using the browser.