576 |
movq mm6,[mmx_div + ecx * 8 - 8] ; divs for q<=16 |
movq mm6,[mmx_div + ecx * 8 - 8] ; divs for q<=16 |
577 |
pmulhuw mm0,[inter_matrix_fix + 8*esi+112] ;correction |
pmulhuw mm0,[inter_matrix_fix + 8*esi+112] ;correction |
578 |
pmulhuw mm3,[inter_matrix_fix + 8*esi+120] |
pmulhuw mm3,[inter_matrix_fix + 8*esi+120] |
579 |
|
paddw mm2,[ebx+8] ;sum |
580 |
paddw mm5,mm0 ;final result |
paddw mm5,mm0 ;final result |
581 |
paddw mm7,mm3 |
paddw mm7,mm3 |
582 |
movq mm0,[edi] |
movq mm0,[edi] |
583 |
movq mm3,[edi] |
movq mm3,[edi] |
|
mov esp,esp |
|
584 |
pmulhuw mm5, mm6 ; mm0 = (mm0 / 2Q) >> 16 |
pmulhuw mm5, mm6 ; mm0 = (mm0 / 2Q) >> 16 |
585 |
pmulhuw mm7, mm6 ; (level ) / quant (0<quant<32) |
pmulhuw mm7, mm6 ; (level ) / quant (0<quant<32) |
586 |
add esi,byte 2 |
add esi,byte 2 |
|
paddw mm2,mm5 ;sum += x1 |
|
|
movq [ebx],mm7 ;store x2 |
|
587 |
psrlw mm5, 1 ; (level ) / (2*quant) |
psrlw mm5, 1 ; (level ) / (2*quant) |
588 |
|
paddw mm2,mm5 ;sum += x1 |
589 |
psrlw mm7, 1 |
psrlw mm7, 1 |
590 |
|
movq [ebx],mm7 ;store x2 |
591 |
pxor mm5, mm1 ; mm0 *= sign(mm0) |
pxor mm5, mm1 ; mm0 *= sign(mm0) |
592 |
pxor mm7, mm4 ; |
pxor mm7, mm4 ; |
593 |
psubw mm5, mm1 ; undisplace |
psubw mm5, mm1 ; undisplace |