55 #ifndef AVCODEC_MIPS_COMPUTE_ANTIALIAS_FIXED_H    56 #define AVCODEC_MIPS_COMPUTE_ANTIALIAS_FIXED_H    64     int MAX_lo = 0xffffffff;
    77     ptr = g->sb_hybrid + 18;
    79     for(i = n;i > 0;i--) {
    80         int tmp0, tmp1, tmp2, tmp00, tmp11;
    81         int temp_reg1, temp_reg2, temp_reg3, temp_reg4, temp_reg5, temp_reg6;
    88             "lw   %[tmp0],      -1*4(%[ptr])                            \n\t"    89             "lw   %[tmp1],      0*4(%[ptr])                             \n\t"    90             "lw   %[temp_reg1], 0*4(%[csa])                             \n\t"    91             "lw   %[temp_reg2], 2*4(%[csa])                             \n\t"    92             "add  %[tmp2],      %[tmp0],      %[tmp1]                   \n\t"    93             "lw   %[temp_reg3], 3*4(%[csa])                             \n\t"    94             "mult $ac0,         %[tmp2],      %[temp_reg1]              \n\t"    95             "mult $ac1,         %[tmp2],      %[temp_reg1]              \n\t"    96             "lw   %[tmp00],     -2*4(%[ptr])                            \n\t"    97             "lw   %[tmp11],     1*4(%[ptr])                             \n\t"    98             "lw   %[temp_reg4], 4*4(%[csa])                             \n\t"    99             "mtlo %[MAX_lo],    $ac0                                    \n\t"   100             "mtlo $zero,        $ac1                                    \n\t"   101             "msub $ac0,         %[tmp1],      %[temp_reg2]              \n\t"   102             "madd $ac1,         %[tmp0],      %[temp_reg3]              \n\t"   103             "add  %[tmp2],      %[tmp00],     %[tmp11]                  \n\t"   104             "lw   %[temp_reg5], 6*4(%[csa])                             \n\t"   105             "mult $ac2,         %[tmp2],      %[temp_reg4]              \n\t"   106             "mult $ac3,         %[tmp2],      %[temp_reg4]              \n\t"   107             "mfhi %[temp_reg1], $ac0                                    \n\t"   108             "mfhi %[temp_reg2], $ac1                                    \n\t"   109             "lw   %[temp_reg6], 7*4(%[csa])                             \n\t"   110             "mtlo %[MAX_lo],    $ac2                                    \n\t"   111             "msub $ac2,         %[tmp11],     %[temp_reg5]              \n\t"   112             "mtlo $zero,        $ac3                                    \n\t"   113             "madd $ac3,         %[tmp00],     %[temp_reg6]              \n\t"   114             "sll  %[temp_reg1], %[temp_reg1], 2                         \n\t"   115             "sw   %[temp_reg1], -1*4(%[ptr])                            \n\t"   116             "mfhi %[temp_reg4], $ac2                                    \n\t"   117             "sll  %[temp_reg2], %[temp_reg2], 2                         \n\t"   118             "mfhi %[temp_reg5], $ac3                                    \n\t"   119             "sw   %[temp_reg2], 0*4(%[ptr])                             \n\t"   120             "lw   %[tmp0],      -3*4(%[ptr])                            \n\t"   121             "lw   %[tmp1],      2*4(%[ptr])                             \n\t"   122             "lw   %[temp_reg1], 8*4(%[csa])                             \n\t"   123             "sll  %[temp_reg4], %[temp_reg4], 2                         \n\t"   124             "add  %[tmp2],      %[tmp0],      %[tmp1]                   \n\t"   125             "sll  %[temp_reg5], %[temp_reg5], 2                         \n\t"   126             "mult $ac0,         %[tmp2],      %[temp_reg1]              \n\t"   127             "mult $ac1,         %[tmp2],      %[temp_reg1]              \n\t"   128             "sw   %[temp_reg4], -2*4(%[ptr])                            \n\t"   129             "sw   %[temp_reg5], 1*4(%[ptr])                             \n\t"   130             "lw   %[temp_reg2], 10*4(%[csa])                            \n\t"   131             "mtlo %[MAX_lo],    $ac0                                    \n\t"   132             "lw   %[temp_reg3], 11*4(%[csa])                            \n\t"   133             "msub $ac0,         %[tmp1],      %[temp_reg2]              \n\t"   134             "mtlo $zero,        $ac1                                    \n\t"   135             "madd $ac1,         %[tmp0],      %[temp_reg3]              \n\t"   136             "lw   %[tmp00],     -4*4(%[ptr])                            \n\t"   137             "lw   %[tmp11],     3*4(%[ptr])                             \n\t"   138             "mfhi %[temp_reg1], $ac0                                    \n\t"   139             "lw   %[temp_reg4], 12*4(%[csa])                            \n\t"   140             "mfhi %[temp_reg2], $ac1                                    \n\t"   141             "add  %[tmp2],      %[tmp00],     %[tmp11]                  \n\t"   142             "mult $ac2,         %[tmp2],      %[temp_reg4]              \n\t"   143             "mult $ac3,         %[tmp2],      %[temp_reg4]              \n\t"   144             "lw   %[temp_reg5], 14*4(%[csa])                            \n\t"   145             "lw   %[temp_reg6], 15*4(%[csa])                            \n\t"   146             "sll  %[temp_reg1], %[temp_reg1], 2                         \n\t"   147             "mtlo %[MAX_lo],    $ac2                                    \n\t"   148             "msub $ac2,         %[tmp11],     %[temp_reg5]              \n\t"   149             "mtlo $zero,        $ac3                                    \n\t"   150             "madd $ac3,         %[tmp00],     %[temp_reg6]              \n\t"   151             "sll  %[temp_reg2], %[temp_reg2], 2                         \n\t"   152             "sw   %[temp_reg1], -3*4(%[ptr])                            \n\t"   153             "mfhi %[temp_reg4], $ac2                                    \n\t"   154             "sw   %[temp_reg2], 2*4(%[ptr])                             \n\t"   155             "mfhi %[temp_reg5], $ac3                                    \n\t"   156             "lw   %[tmp0],      -5*4(%[ptr])                            \n\t"   157             "lw   %[tmp1],      4*4(%[ptr])                             \n\t"   158             "lw   %[temp_reg1], 16*4(%[csa])                            \n\t"   159             "lw   %[temp_reg2], 18*4(%[csa])                            \n\t"   160             "add  %[tmp2],      %[tmp0],      %[tmp1]                   \n\t"   161             "lw   %[temp_reg3], 19*4(%[csa])                            \n\t"   162             "mult $ac0,         %[tmp2],      %[temp_reg1]              \n\t"   163             "mult $ac1,         %[tmp2],      %[temp_reg1]              \n\t"   164             "sll  %[temp_reg4], %[temp_reg4], 2                         \n\t"   165             "sll  %[temp_reg5], %[temp_reg5], 2                         \n\t"   166             "sw   %[temp_reg4], -4*4(%[ptr])                            \n\t"   167             "mtlo %[MAX_lo],    $ac0                                    \n\t"   168             "msub $ac0,         %[tmp1],      %[temp_reg2]              \n\t"   169             "mtlo $zero,        $ac1                                    \n\t"   170             "madd $ac1,         %[tmp0],      %[temp_reg3]              \n\t"   171             "sw   %[temp_reg5], 3*4(%[ptr])                             \n\t"   172             "lw   %[tmp00],     -6*4(%[ptr])                            \n\t"   173             "mfhi %[temp_reg1], $ac0                                    \n\t"   174             "lw   %[tmp11],     5*4(%[ptr])                             \n\t"   175             "mfhi %[temp_reg2], $ac1                                    \n\t"   176             "lw   %[temp_reg4], 20*4(%[csa])                            \n\t"   177             "add  %[tmp2],      %[tmp00],     %[tmp11]                  \n\t"   178             "lw   %[temp_reg5], 22*4(%[csa])                            \n\t"   179             "mult $ac2,         %[tmp2],      %[temp_reg4]              \n\t"   180             "mult $ac3,         %[tmp2],      %[temp_reg4]              \n\t"   181             "lw   %[temp_reg6], 23*4(%[csa])                            \n\t"   182             "sll  %[temp_reg1], %[temp_reg1], 2                         \n\t"   183             "sll  %[temp_reg2], %[temp_reg2], 2                         \n\t"   184             "mtlo %[MAX_lo],    $ac2                                    \n\t"   185             "msub $ac2,         %[tmp11],     %[temp_reg5]              \n\t"   186             "mtlo $zero,        $ac3                                    \n\t"   187             "madd $ac3,         %[tmp00],     %[temp_reg6]              \n\t"   188             "sw   %[temp_reg1], -5*4(%[ptr])                            \n\t"   189             "sw   %[temp_reg2], 4*4(%[ptr])                             \n\t"   190             "mfhi %[temp_reg4], $ac2                                    \n\t"   191             "lw   %[tmp0],      -7*4(%[ptr])                            \n\t"   192             "mfhi %[temp_reg5], $ac3                                    \n\t"   193             "lw   %[tmp1],      6*4(%[ptr])                             \n\t"   194             "lw   %[temp_reg1], 24*4(%[csa])                            \n\t"   195             "lw   %[temp_reg2], 26*4(%[csa])                            \n\t"   196             "add  %[tmp2],      %[tmp0],      %[tmp1]                   \n\t"   197             "lw   %[temp_reg3], 27*4(%[csa])                            \n\t"   198             "mult $ac0,         %[tmp2],      %[temp_reg1]              \n\t"   199             "mult $ac1,         %[tmp2],      %[temp_reg1]              \n\t"   200             "sll  %[temp_reg4], %[temp_reg4], 2                         \n\t"   201             "sll  %[temp_reg5], %[temp_reg5], 2                         \n\t"   202             "sw   %[temp_reg4], -6*4(%[ptr])                            \n\t"   203             "mtlo %[MAX_lo],    $ac0                                    \n\t"   204             "msub $ac0,         %[tmp1],      %[temp_reg2]              \n\t"   205             "mtlo $zero,        $ac1                                    \n\t"   206             "madd $ac1,         %[tmp0],      %[temp_reg3]              \n\t"   207             "sw   %[temp_reg5], 5*4(%[ptr])                             \n\t"   208             "lw   %[tmp00],     -8*4(%[ptr])                            \n\t"   209             "mfhi %[temp_reg1], $ac0                                    \n\t"   210             "lw   %[tmp11],     7*4(%[ptr])                             \n\t"   211             "mfhi %[temp_reg2], $ac1                                    \n\t"   212             "lw   %[temp_reg4], 28*4(%[csa])                            \n\t"   213             "add  %[tmp2],      %[tmp00],     %[tmp11]                  \n\t"   214             "lw   %[temp_reg5], 30*4(%[csa])                            \n\t"   215             "mult $ac2,         %[tmp2],      %[temp_reg4]              \n\t"   216             "mult $ac3,         %[tmp2],      %[temp_reg4]              \n\t"   217             "lw   %[temp_reg6], 31*4(%[csa])                            \n\t"   218             "sll  %[temp_reg1], %[temp_reg1], 2                         \n\t"   219             "sll  %[temp_reg2], %[temp_reg2], 2                         \n\t"   220             "mtlo %[MAX_lo],    $ac2                                    \n\t"   221             "msub $ac2,         %[tmp11],     %[temp_reg5]              \n\t"   222             "mtlo $zero,        $ac3                                    \n\t"   223             "madd $ac3,         %[tmp00],     %[temp_reg6]              \n\t"   224             "sw   %[temp_reg1], -7*4(%[ptr])                            \n\t"   225             "sw   %[temp_reg2], 6*4(%[ptr])                             \n\t"   226             "mfhi %[temp_reg4], $ac2                                    \n\t"   227             "mfhi %[temp_reg5], $ac3                                    \n\t"   228             "sll  %[temp_reg4], %[temp_reg4], 2                         \n\t"   229             "sll  %[temp_reg5], %[temp_reg5], 2                         \n\t"   230             "sw   %[temp_reg4], -8*4(%[ptr])                            \n\t"   231             "sw   %[temp_reg5], 7*4(%[ptr])                             \n\t"   233             : [tmp0] 
"=&r" (tmp0), [tmp1] 
"=&r" (tmp1), [tmp2] 
"=&r" (tmp2),
   234               [tmp00] 
"=&r" (tmp00), [tmp11] 
"=&r" (tmp11),
   235               [temp_reg1] 
"=&r" (temp_reg1), [temp_reg2] 
"=&r" (temp_reg2),
   236               [temp_reg3] 
"=&r" (temp_reg3), [temp_reg4] 
"=&r" (temp_reg4),
   237               [temp_reg5] 
"=&r" (temp_reg5), [temp_reg6] 
"=&r" (temp_reg6)
   238             : [csa] 
"r" (csa), [ptr] 
"r" (ptr),
   239               [MAX_lo] 
"r" (MAX_lo)
   240             : 
"memory", 
"hi", 
"lo", 
"$ac1hi", 
"$ac1lo", 
"$ac2hi", 
"$ac2lo",
   247 #define compute_antialias compute_antialias_mips_fixed 
static INTFLOAT csa_table[8][4]
synthesis window for stochastic i