135 |
; Code |
; Code |
136 |
;============================================================================= |
;============================================================================= |
137 |
|
|
138 |
SECTION .rotext align=SECTION_ALIGN |
TEXT |
|
|
|
139 |
|
|
140 |
;----------------------------------------------------------------------------- |
;----------------------------------------------------------------------------- |
141 |
; |
; |
351 |
mov _EBP, [_ESP + (4+4)*PTR_SIZE] ; dcscalar |
mov _EBP, [_ESP + (4+4)*PTR_SIZE] ; dcscalar |
352 |
; NB -- there are 3 pushes in the function preambule and one more |
; NB -- there are 3 pushes in the function preambule and one more |
353 |
; in "quant_intra 0", thus an added offset of 16 bytes |
; in "quant_intra 0", thus an added offset of 16 bytes |
354 |
movsx _EAX, word [byte _ECX] ; DC |
XVID_MOVSX _EAX, word [byte _ECX] ; DC |
355 |
|
|
356 |
quant_intra 1 |
quant_intra 1 |
357 |
mov _EDI, _EAX |
mov _EDI, _EAX |
398 |
.q1loop: |
.q1loop: |
399 |
quant_intra1 0 |
quant_intra1 0 |
400 |
mov _EBP, [_ESP + (4+4)*PTR_SIZE] ; dcscalar |
mov _EBP, [_ESP + (4+4)*PTR_SIZE] ; dcscalar |
401 |
movsx _EAX, word [byte _ECX] ; DC |
XVID_MOVSX _EAX, word [byte _ECX] ; DC |
402 |
|
|
403 |
quant_intra1 1 |
quant_intra1 1 |
404 |
mov _EDI, _EAX |
mov _EDI, _EAX |
753 |
%endif |
%endif |
754 |
push _EBP |
push _EBP |
755 |
mov _EBX, mmx_2047 |
mov _EBX, mmx_2047 |
756 |
movsx _EBP, word [_ECX] |
XVID_MOVSX _EBP, word [_ECX] |
757 |
%ifdef ARCH_IS_X86_64 |
%ifdef ARCH_IS_X86_64 |
758 |
lea r9, [mmx_add] |
lea r9, [mmx_add] |
759 |
lea _EAX, [r9 + _EAX*8 - 8] ; quant or quant-1 |
lea _EAX, [r9 + _EAX*8 - 8] ; quant or quant-1 |