31 int64_t
level, qmul, qadd, nCoeffs;
44 qadd = (qscale-1) | 1;
56 "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" 57 "packsswh %[qmul], %[qmul], %[qmul] \n\t" 58 "packsswh %[qmul], %[qmul], %[qmul] \n\t" 59 "packsswh %[qadd], %[qadd], %[qadd] \n\t" 60 "packsswh %[qadd], %[qadd], %[qadd] \n\t" 61 "psubh %[ftmp0], %[ftmp0], %[qadd] \n\t" 62 "xor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" 66 PTR_ADDU "%[addr0], %[block], %[nCoeffs] \n\t" 67 MMI_LDC1(%[ftmp1], %[addr0], 0x00)
68 MMI_LDC1(%[ftmp2], %[addr0], 0x08)
69 "mov.d %[ftmp3], %[ftmp1] \n\t" 70 "mov.d %[ftmp4], %[ftmp2] \n\t" 71 "pmullh %[ftmp1], %[ftmp1], %[qmul] \n\t" 72 "pmullh %[ftmp2], %[ftmp2], %[qmul] \n\t" 73 "pcmpgth %[ftmp3], %[ftmp3], %[ftmp5] \n\t" 74 "pcmpgth %[ftmp4], %[ftmp4], %[ftmp5] \n\t" 75 "xor %[ftmp1], %[ftmp1], %[ftmp3] \n\t" 76 "xor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" 77 "paddh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" 78 "paddh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 79 "xor %[ftmp3], %[ftmp3], %[ftmp1] \n\t" 80 "xor %[ftmp4], %[ftmp4], %[ftmp2] \n\t" 81 "pcmpeqh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" 82 "pcmpeqh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 83 "pandn %[ftmp1], %[ftmp1], %[ftmp3] \n\t" 84 "pandn %[ftmp2], %[ftmp2], %[ftmp4] \n\t" 85 PTR_ADDIU "%[nCoeffs], %[nCoeffs], 0x10 \n\t" 86 MMI_SDC1(%[ftmp1], %[addr0], 0x00)
87 MMI_SDC1(%[ftmp2], %[addr0], 0x08)
88 "blez %[nCoeffs], 1b \n\t" 89 : [ftmp0]
"=&f"(ftmp[0]), [ftmp1]
"=&f"(ftmp[1]),
90 [ftmp2]
"=&f"(ftmp[2]), [ftmp3]
"=&f"(ftmp[3]),
91 [ftmp4]
"=&f"(ftmp[4]), [ftmp5]
"=&f"(ftmp[5]),
94 : [block]
"r"((
mips_reg)(block+nCoeffs)),
95 [nCoeffs]
"r"((
mips_reg)(2*(-nCoeffs))),
96 [qmul]
"f"(qmul), [qadd]
"f"(qadd)
106 int64_t qmul, qadd, nCoeffs;
112 qadd = (qscale - 1) | 1;
117 "packsswh %[qmul], %[qmul], %[qmul] \n\t" 118 "packsswh %[qmul], %[qmul], %[qmul] \n\t" 119 "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" 120 "packsswh %[qadd], %[qadd], %[qadd] \n\t" 121 "packsswh %[qadd], %[qadd], %[qadd] \n\t" 122 "psubh %[ftmp0], %[ftmp0], %[qadd] \n\t" 123 "xor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" 126 PTR_ADDU "%[addr0], %[block], %[nCoeffs] \n\t" 127 MMI_LDC1(%[ftmp1], %[addr0], 0x00)
128 MMI_LDC1(%[ftmp2], %[addr0], 0x08)
129 "mov.d %[ftmp3], %[ftmp1] \n\t" 130 "mov.d %[ftmp4], %[ftmp2] \n\t" 131 "pmullh %[ftmp1], %[ftmp1], %[qmul] \n\t" 132 "pmullh %[ftmp2], %[ftmp2], %[qmul] \n\t" 133 "pcmpgth %[ftmp3], %[ftmp3], %[ftmp5] \n\t" 134 "pcmpgth %[ftmp4], %[ftmp4], %[ftmp5] \n\t" 135 "xor %[ftmp1], %[ftmp1], %[ftmp3] \n\t" 136 "xor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" 137 "paddh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" 138 "paddh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 139 "xor %[ftmp3], %[ftmp3], %[ftmp1] \n\t" 140 "xor %[ftmp4], %[ftmp4], %[ftmp2] \n\t" 141 "pcmpeqh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" 142 "pcmpeqh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 143 "pandn %[ftmp1], %[ftmp1], %[ftmp3] \n\t" 144 "pandn %[ftmp2], %[ftmp2], %[ftmp4] \n\t" 145 PTR_ADDIU "%[nCoeffs], %[nCoeffs], 0x10 \n\t" 146 MMI_SDC1(%[ftmp1], %[addr0], 0x00)
147 MMI_SDC1(%[ftmp2], %[addr0], 0x08)
148 "blez %[nCoeffs], 1b \n\t" 149 : [ftmp0]
"=&f"(ftmp[0]), [ftmp1]
"=&f"(ftmp[1]),
150 [ftmp2]
"=&f"(ftmp[2]), [ftmp3]
"=&f"(ftmp[3]),
151 [ftmp4]
"=&f"(ftmp[4]), [ftmp5]
"=&f"(ftmp[5]),
153 [addr0]
"=&r"(addr[0])
154 : [block]
"r"((
mips_reg)(block+nCoeffs)),
155 [nCoeffs]
"r"((
mips_reg)(2*(-nCoeffs))),
156 [qmul]
"f"(qmul), [qadd]
"f"(qadd)
165 const uint16_t *quant_matrix;
185 "dli %[tmp0], 0x0f \n\t" 186 "pcmpeqh %[ftmp0], %[ftmp0], %[ftmp0] \n\t" 187 "dmtc1 %[tmp0], %[ftmp4] \n\t" 188 "dmtc1 %[qscale], %[ftmp1] \n\t" 189 "psrlh %[ftmp0], %[ftmp0], %[ftmp4] \n\t" 190 "packsswh %[ftmp1], %[ftmp1], %[ftmp1] \n\t" 191 "packsswh %[ftmp1], %[ftmp1], %[ftmp1] \n\t" 192 "or %[addr0], %[nCoeffs], $0 \n\t" 196 MMI_LDXC1(%[ftmp2], %[addr0], %[block], 0x00)
197 MMI_LDXC1(%[ftmp3], %[addr0], %[block], 0x08)
198 "mov.d %[ftmp4], %[ftmp2] \n\t" 199 "mov.d %[ftmp5], %[ftmp3] \n\t" 200 MMI_LDXC1(%[ftmp6], %[addr0], %[
quant], 0x00)
201 MMI_LDXC1(%[ftmp7], %[addr0], %[
quant], 0x08)
202 "pmullh %[ftmp6], %[ftmp6], %[ftmp1] \n\t" 203 "pmullh %[ftmp7], %[ftmp7], %[ftmp1] \n\t" 204 "xor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" 205 "xor %[ftmp9], %[ftmp9], %[ftmp9] \n\t" 206 "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" 207 "pcmpgth %[ftmp9], %[ftmp9], %[ftmp3] \n\t" 208 "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 209 "xor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" 210 "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 211 "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" 212 "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" 213 "pmullh %[ftmp3], %[ftmp3], %[ftmp7] \n\t" 214 "xor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" 215 "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" 216 "pcmpeqh %[ftmp6], %[ftmp6], %[ftmp4] \n\t" 217 "dli %[tmp0], 0x03 \n\t" 218 "pcmpeqh %[ftmp7], %[ftmp7], %[ftmp5] \n\t" 219 "dmtc1 %[tmp0], %[ftmp4] \n\t" 220 "psrah %[ftmp2], %[ftmp2], %[ftmp4] \n\t" 221 "psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" 222 "psubh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 223 "psubh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" 224 "or %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 225 "or %[ftmp3], %[ftmp3], %[ftmp0] \n\t" 226 "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 227 "xor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" 228 "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 229 "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" 230 "pandn %[ftmp6], %[ftmp6], %[ftmp2] \n\t" 231 "pandn %[ftmp7], %[ftmp7], %[ftmp3] \n\t" 232 MMI_SDXC1(%[ftmp6], %[addr0], %[block], 0x00)
233 MMI_SDXC1(%[ftmp7], %[addr0], %[block], 0x08)
234 PTR_ADDIU "%[addr0], %[addr0], 0x10 \n\t" 235 "bltz %[addr0], 1b \n\t" 236 : [ftmp0]
"=&f"(ftmp[0]), [ftmp1]
"=&f"(ftmp[1]),
237 [ftmp2]
"=&f"(ftmp[2]), [ftmp3]
"=&f"(ftmp[3]),
238 [ftmp4]
"=&f"(ftmp[4]), [ftmp5]
"=&f"(ftmp[5]),
239 [ftmp6]
"=&f"(ftmp[6]), [ftmp7]
"=&f"(ftmp[7]),
240 [ftmp8]
"=&f"(ftmp[8]), [ftmp9]
"=&f"(ftmp[9]),
244 [addr0]
"=&r"(addr[0])
247 [nCoeffs]
"r"((
mips_reg)(2*(-nCoeffs))),
259 const uint16_t *quant_matrix;
271 "dli %[tmp0], 0x0f \n\t" 272 "pcmpeqh %[ftmp0], %[ftmp0], %[ftmp0] \n\t" 273 "dmtc1 %[tmp0], %[ftmp4] \n\t" 274 "dmtc1 %[qscale], %[ftmp1] \n\t" 275 "psrlh %[ftmp0], %[ftmp0], %[ftmp4] \n\t" 276 "packsswh %[ftmp1], %[ftmp1], %[ftmp1] \n\t" 277 "packsswh %[ftmp1], %[ftmp1], %[ftmp1] \n\t" 278 "or %[addr0], %[nCoeffs], $0 \n\t" 282 MMI_LDXC1(%[ftmp2], %[addr0], %[block], 0x00)
283 MMI_LDXC1(%[ftmp3], %[addr0], %[block], 0x08)
284 "mov.d %[ftmp4], %[ftmp2] \n\t" 285 "mov.d %[ftmp5], %[ftmp3] \n\t" 286 MMI_LDXC1(%[ftmp6], %[addr0], %[
quant], 0x00)
287 MMI_LDXC1(%[ftmp7], %[addr0], %[
quant], 0x08)
288 "pmullh %[ftmp6], %[ftmp6], %[ftmp1] \n\t" 289 "pmullh %[ftmp7], %[ftmp7], %[ftmp1] \n\t" 290 "xor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" 291 "xor %[ftmp9], %[ftmp9], %[ftmp9] \n\t" 292 "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" 293 "pcmpgth %[ftmp9], %[ftmp9], %[ftmp3] \n\t" 294 "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 295 "xor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" 296 "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 297 "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" 298 "paddh %[ftmp2], %[ftmp2], %[ftmp2] \n\t" 299 "paddh %[ftmp3], %[ftmp3], %[ftmp3] \n\t" 300 "paddh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 301 "paddh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" 302 "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" 303 "pmullh %[ftmp3], %[ftmp3], %[ftmp7] \n\t" 304 "xor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" 305 "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" 306 "pcmpeqh %[ftmp6], %[ftmp6], %[ftmp4] \n\t" 307 "dli %[tmp0], 0x04 \n\t" 308 "pcmpeqh %[ftmp7], %[ftmp7], %[ftmp5] \n\t" 309 "dmtc1 %[tmp0], %[ftmp4] \n\t" 310 "psrah %[ftmp2], %[ftmp2], %[ftmp4] \n\t" 311 "psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" 312 "psubh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 313 "psubh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" 314 "or %[ftmp2], %[ftmp2], %[ftmp0] \n\t" 315 "or %[ftmp3], %[ftmp3], %[ftmp0] \n\t" 316 "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 317 "xor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" 318 "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 319 "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" 320 "pandn %[ftmp6], %[ftmp6], %[ftmp2] \n\t" 321 "pandn %[ftmp7], %[ftmp7], %[ftmp3] \n\t" 322 MMI_SDXC1(%[ftmp6], %[addr0], %[block], 0x00)
323 MMI_SDXC1(%[ftmp7], %[addr0], %[block], 0x08)
324 PTR_ADDIU "%[addr0], %[addr0], 0x10 \n\t" 325 "bltz %[addr0], 1b \n\t" 326 : [ftmp0]
"=&f"(ftmp[0]), [ftmp1]
"=&f"(ftmp[1]),
327 [ftmp2]
"=&f"(ftmp[2]), [ftmp3]
"=&f"(ftmp[3]),
328 [ftmp4]
"=&f"(ftmp[4]), [ftmp5]
"=&f"(ftmp[5]),
329 [ftmp6]
"=&f"(ftmp[6]), [ftmp7]
"=&f"(ftmp[7]),
330 [ftmp8]
"=&f"(ftmp[8]), [ftmp9]
"=&f"(ftmp[9]),
334 [addr0]
"=&r"(addr[0])
337 [nCoeffs]
"r"((
mips_reg)(2*(-nCoeffs))),
347 const uint16_t *quant_matrix;
370 "dli %[tmp0], 0x0f \n\t" 371 "pcmpeqh %[ftmp0], %[ftmp0], %[ftmp0] \n\t" 372 "mtc1 %[tmp0], %[ftmp3] \n\t" 373 "mtc1 %[qscale], %[ftmp9] \n\t" 374 "psrlh %[ftmp0], %[ftmp0], %[ftmp3] \n\t" 375 "packsswh %[ftmp9], %[ftmp9], %[ftmp9] \n\t" 376 "packsswh %[ftmp9], %[ftmp9], %[ftmp9] \n\t" 377 "or %[addr0], %[nCoeffs], $0 \n\t" 381 MMI_LDXC1(%[ftmp1], %[addr0], %[block], 0x00)
382 MMI_LDXC1(%[ftmp2], %[addr0], %[block], 0x08)
383 "mov.d %[ftmp3], %[ftmp1] \n\t" 384 "mov.d %[ftmp4], %[ftmp2] \n\t" 385 MMI_LDXC1(%[ftmp5], %[addr0], %[
quant], 0x00)
386 MMI_LDXC1(%[ftmp6], %[addr0], %[
quant], 0x08)
387 "pmullh %[ftmp5], %[ftmp5], %[ftmp9] \n\t" 388 "pmullh %[ftmp6], %[ftmp6], %[ftmp9] \n\t" 389 "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" 390 "xor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" 391 "pcmpgth %[ftmp7], %[ftmp7], %[ftmp1] \n\t" 392 "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" 393 "xor %[ftmp1], %[ftmp1], %[ftmp7] \n\t" 394 "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 395 "psubh %[ftmp1], %[ftmp1], %[ftmp7] \n\t" 396 "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 397 "pmullh %[ftmp1], %[ftmp1], %[ftmp5] \n\t" 398 "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" 399 "xor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" 400 "xor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" 401 "pcmpeqh %[ftmp5], %[ftmp5], %[ftmp3] \n\t" 402 "dli %[tmp0], 0x03 \n\t" 403 "pcmpeqh %[ftmp6] , %[ftmp6], %[ftmp4] \n\t" 404 "mtc1 %[tmp0], %[ftmp3] \n\t" 405 "psrah %[ftmp1], %[ftmp1], %[ftmp3] \n\t" 406 "psrah %[ftmp2], %[ftmp2], %[ftmp3] \n\t" 407 "xor %[ftmp1], %[ftmp1], %[ftmp7] \n\t" 408 "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 409 "psubh %[ftmp1], %[ftmp1], %[ftmp7] \n\t" 410 "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" 411 "pandn %[ftmp5], %[ftmp5], %[ftmp1] \n\t" 412 "pandn %[ftmp6], %[ftmp6], %[ftmp2] \n\t" 413 PTR_ADDIU "%[addr0], %[addr0], 0x10 \n\t" 414 MMI_SDXC1(%[ftmp5], %[addr0], %[block], 0x00)
415 MMI_SDXC1(%[ftmp6], %[addr0], %[block], 0x08)
416 "blez %[addr0], 1b \n\t" 417 : [ftmp0]
"=&f"(ftmp[0]), [ftmp1]
"=&f"(ftmp[1]),
418 [ftmp2]
"=&f"(ftmp[2]), [ftmp3]
"=&f"(ftmp[3]),
419 [ftmp4]
"=&f"(ftmp[4]), [ftmp5]
"=&f"(ftmp[5]),
420 [ftmp6]
"=&f"(ftmp[6]), [ftmp7]
"=&f"(ftmp[7]),
421 [ftmp8]
"=&f"(ftmp[8]), [ftmp9]
"=&f"(ftmp[9]),
425 [addr0]
"=&r"(addr[0])
428 [nCoeffs]
"r"((
mips_reg)(2*(-nCoeffs))),
448 "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" 450 MMI_LDC1(%[ftmp1], %[block], 0x00)
451 "xor %[ftmp2], %[ftmp2], %[ftmp2] \n\t" 452 MMI_LDC1(%[ftmp3], %[block], 0x08)
453 "xor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" 454 "pcmpgth %[ftmp2], %[ftmp2], %[ftmp1] \n\t" 455 "pcmpgth %[ftmp4], %[ftmp4], %[ftmp3] \n\t" 456 "xor %[ftmp1], %[ftmp1], %[ftmp2] \n\t" 457 "xor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" 458 "psubh %[ftmp1], %[ftmp1], %[ftmp2] \n\t" 459 "psubh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" 460 MMI_LDC1(%[ftmp6], %[offset], 0x00)
461 "mov.d %[ftmp5], %[ftmp1] \n\t" 462 "psubush %[ftmp1], %[ftmp1], %[ftmp6] \n\t" 463 MMI_LDC1(%[ftmp6], %[offset], 0x08)
464 "mov.d %[ftmp7], %[ftmp3] \n\t" 465 "psubush %[ftmp3], %[ftmp3], %[ftmp6] \n\t" 466 "xor %[ftmp1], %[ftmp1], %[ftmp2] \n\t" 467 "xor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" 468 "psubh %[ftmp1], %[ftmp1], %[ftmp2] \n\t" 469 "psubh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" 470 MMI_SDC1(%[ftmp1], %[block], 0x00)
471 MMI_SDC1(%[ftmp3], %[block], 0x08)
472 "mov.d %[ftmp1], %[ftmp5] \n\t" 473 "mov.d %[ftmp3], %[ftmp7] \n\t" 474 "punpcklhw %[ftmp5], %[ftmp5], %[ftmp0] \n\t" 475 "punpckhhw %[ftmp1], %[ftmp1], %[ftmp0] \n\t" 476 "punpcklhw %[ftmp7], %[ftmp7], %[ftmp0] \n\t" 477 "punpckhhw %[ftmp3], %[ftmp3], %[ftmp0] \n\t" 478 MMI_LDC1(%[ftmp2], %[sum], 0x00)
479 "paddw %[ftmp5], %[ftmp5], %[ftmp2] \n\t" 480 MMI_LDC1(%[ftmp2], %[sum], 0x08)
481 "paddw %[ftmp1], %[ftmp1], %[ftmp2] \n\t" 482 MMI_LDC1(%[ftmp2], %[sum], 0x10)
483 "paddw %[ftmp7], %[ftmp7], %[ftmp2] \n\t" 484 MMI_LDC1(%[ftmp2], %[sum], 0x18)
485 "paddw %[ftmp3], %[ftmp3], %[ftmp2] \n\t" 486 MMI_SDC1(%[ftmp5], %[sum], 0x00)
487 MMI_SDC1(%[ftmp1], %[sum], 0x08)
488 MMI_SDC1(%[ftmp7], %[sum], 0x10)
489 MMI_SDC1(%[ftmp3], %[sum], 0x18)
490 PTR_ADDIU "%[block], %[block], 0x10 \n\t" 492 PTR_SUBU "%[addr0], %[block1], %[block] \n\t" 493 PTR_ADDIU "%[offset], %[offset], 0x10 \n\t" 494 "bgtz %[addr0], 1b \n\t" 495 : [ftmp0]
"=&f"(ftmp[0]), [ftmp1]
"=&f"(ftmp[1]),
496 [ftmp2]
"=&f"(ftmp[2]), [ftmp3]
"=&f"(ftmp[3]),
497 [ftmp4]
"=&f"(ftmp[4]), [ftmp5]
"=&f"(ftmp[5]),
498 [ftmp6]
"=&f"(ftmp[6]), [ftmp7]
"=&f"(ftmp[7]),
500 [addr0]
"=&r"(addr[0]),
501 [block]
"+&r"(block), [sum]
"+&r"(sum),
502 [offset]
"+&r"(offset)
void ff_dct_unquantize_mpeg1_inter_mmi(MpegEncContext *s, int16_t *block, int n, int qscale)
int h263_aic
Advanced INTRA Coding (AIC)
#define av_assert2(cond)
assert() equivalent, that does lie in speed critical code.
uint16_t(* dct_offset)[64]
void ff_dct_unquantize_h263_intra_mmi(MpegEncContext *s, int16_t *block, int n, int qscale)
void ff_dct_unquantize_mpeg1_intra_mmi(MpegEncContext *s, int16_t *block, int n, int qscale)
static const uint8_t offset[127][2]
int block_last_index[12]
last non zero coefficient in block
void ff_dct_unquantize_mpeg2_intra_mmi(MpegEncContext *s, int16_t *block, int n, int qscale)
uint16_t inter_matrix[64]
ScanTable intra_scantable
void ff_dct_unquantize_h263_inter_mmi(MpegEncContext *s, int16_t *block, int n, int qscale)
void ff_denoise_dct_mmi(MpegEncContext *s, int16_t *block)
static int16_t block1[64]
uint16_t intra_matrix[64]
matrix transmitted in the bitstream
ScanTable inter_scantable
if inter == intra then intra should be used to reduce the cache usage