|
|
|
@@ -80,14 +80,10 @@ LPC_32 sse4 |
|
|
|
;---------------------------------------------------------------------------------- |
|
|
|
%macro FLAC_DECORRELATE_16 3-4 |
|
|
|
cglobal flac_decorrelate_%1_16, 2, 4, 4, out, in0, in1, len |
|
|
|
%if ARCH_X86_32 || WIN64 |
|
|
|
movd m3, r4m |
|
|
|
%if ARCH_X86_32 |
|
|
|
mov lend, lenm |
|
|
|
%endif |
|
|
|
%else ; UNIX64 |
|
|
|
movd m3, r4d |
|
|
|
%endif |
|
|
|
movd m3, r4m |
|
|
|
shl lend, 2 |
|
|
|
mov in1q, [in0q + gprsize] |
|
|
|
mov in0q, [in0q] |
|
|
|
@@ -129,14 +125,10 @@ FLAC_DECORRELATE_16 ms, 2, 0, add |
|
|
|
;---------------------------------------------------------------------------------- |
|
|
|
%macro FLAC_DECORRELATE_32 5 |
|
|
|
cglobal flac_decorrelate_%1_32, 2, 4, 4, out, in0, in1, len |
|
|
|
%if ARCH_X86_32 || WIN64 |
|
|
|
movd m3, r4m |
|
|
|
%if ARCH_X86_32 |
|
|
|
mov lend, lenm |
|
|
|
%endif |
|
|
|
%else ; UNIX64 |
|
|
|
movd m3, r4d |
|
|
|
%endif |
|
|
|
movd m3, r4m |
|
|
|
mov in1q, [in0q + gprsize] |
|
|
|
mov in0q, [in0q] |
|
|
|
mov outq, [outq] |
|
|
|
@@ -183,18 +175,14 @@ FLAC_DECORRELATE_32 ms, 2, 0, 1, add |
|
|
|
%define REPCOUNT %2/(32/%1) ; 16bits = channels / 2; 32bits = channels |
|
|
|
cglobal flac_decorrelate_indep%2_%1, 2, %2+2, %3+1, out, in0, in1, len, in2, in3, in4, in5, in6, in7 |
|
|
|
%if ARCH_X86_32 |
|
|
|
movd m%3, r4m |
|
|
|
%if %2 == 6 |
|
|
|
DEFINE_ARGS out, in0, in1, in2, in3, in4, in5 |
|
|
|
%define lend dword r3m |
|
|
|
%else |
|
|
|
mov lend, lenm |
|
|
|
%endif |
|
|
|
%elif WIN64 |
|
|
|
movd m%3, r4m |
|
|
|
%else ; UNIX64 |
|
|
|
movd m%3, r4d |
|
|
|
%endif |
|
|
|
movd m%3, r4m |
|
|
|
|
|
|
|
%assign %%i 1 |
|
|
|
%rep %2-1 |
|
|
|
|