|
|
|
@ -697,6 +697,38 @@ cglobal h264_idct_add8_8, 5, 8 + npicregs, 0, dst1, block_offset, block, stride, |
|
|
|
|
call h264_idct_add8_mmx_plane |
|
|
|
|
RET |
|
|
|
|
|
|
|
|
|
cglobal h264_idct_add8_422_8, 5, 8 + npicregs, 0, dst1, block_offset, block, stride, nnzc, cntr, coeff, dst2, picreg |
|
|
|
|
; dst1, block_offset, block, stride, nnzc, cntr, coeff, dst2, picreg |
|
|
|
|
movsxdifnidn r3, r3d |
|
|
|
|
%ifdef PIC |
|
|
|
|
lea picregq, [scan8_mem] |
|
|
|
|
%endif |
|
|
|
|
%if ARCH_X86_64 |
|
|
|
|
mov dst2q, r0 |
|
|
|
|
%endif |
|
|
|
|
|
|
|
|
|
mov r5, 16 ; i |
|
|
|
|
add r2, 512 ; i * 16 * sizeof(dctcoef) ; #define dctcoef int16_t |
|
|
|
|
|
|
|
|
|
call h264_idct_add8_mmx_plane |
|
|
|
|
add r5, 4 |
|
|
|
|
call h264_idct_add8_mmx_plane |
|
|
|
|
|
|
|
|
|
%if ARCH_X86_64 |
|
|
|
|
add dst2q, gprsize ; dest[1] |
|
|
|
|
%else |
|
|
|
|
add r0mp, gprsize |
|
|
|
|
%endif |
|
|
|
|
|
|
|
|
|
add r5, 4 ; set to 32 |
|
|
|
|
add r2, 256 ; set to i * 16 * sizeof(dctcoef) |
|
|
|
|
|
|
|
|
|
call h264_idct_add8_mmx_plane |
|
|
|
|
add r5, 4 |
|
|
|
|
call h264_idct_add8_mmx_plane |
|
|
|
|
|
|
|
|
|
RET |
|
|
|
|
|
|
|
|
|
h264_idct_add8_mmxext_plane: |
|
|
|
|
movsxdifnidn r3, r3d |
|
|
|
|
.nextblock: |
|
|
|
|