@ -80,14 +80,10 @@ LPC_32 sse4
;----------------------------------------------------------------------------------
;----------------------------------------------------------------------------------
% macro FLAC_DECORRELATE_16 3-4
% macro FLAC_DECORRELATE_16 3-4
cglobal flac_decorrelate_ % 1 _16 , 2 , 4 , 4 , out , in0 , in1 , len
cglobal flac_decorrelate_ % 1 _16 , 2 , 4 , 4 , out , in0 , in1 , len
% if ARCH_X86_32 || WIN64
movd m3 , r4m
% if ARCH_X86_32
% if ARCH_X86_32
mov lend , lenm
mov lend , lenm
% endif
% endif
% else ; UNIX64
movd m3 , r4m
movd m3 , r4d
% endif
shl lend , 2
shl lend , 2
mov in1q , [ in0q + gprsize ]
mov in1q , [ in0q + gprsize ]
mov in0q , [ in0q ]
mov in0q , [ in0q ]
@ -129,14 +125,10 @@ FLAC_DECORRELATE_16 ms, 2, 0, add
;----------------------------------------------------------------------------------
;----------------------------------------------------------------------------------
% macro FLAC_DECORRELATE_32 5
% macro FLAC_DECORRELATE_32 5
cglobal flac_decorrelate_ % 1 _32 , 2 , 4 , 4 , out , in0 , in1 , len
cglobal flac_decorrelate_ % 1 _32 , 2 , 4 , 4 , out , in0 , in1 , len
% if ARCH_X86_32 || WIN64
movd m3 , r4m
% if ARCH_X86_32
% if ARCH_X86_32
mov lend , lenm
mov lend , lenm
% endif
% endif
% else ; UNIX64
movd m3 , r4m
movd m3 , r4d
% endif
mov in1q , [ in0q + gprsize ]
mov in1q , [ in0q + gprsize ]
mov in0q , [ in0q ]
mov in0q , [ in0q ]
mov outq , [ outq ]
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
% 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
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
% if ARCH_X86_32
movd m % 3 , r4m
% if %2 == 6
% if %2 == 6
DEFINE_ARGS out , in0 , in1 , in2 , in3 , in4 , in5
DEFINE_ARGS out , in0 , in1 , in2 , in3 , in4 , in5
% define lend dword r3m
% define lend dword r3m
% else
% else
mov lend , lenm
mov lend , lenm
% endif
% endif
% elif WIN64
movd m % 3 , r4m
% else ; UNIX64
movd m % 3 , r4d
% endif
% endif
movd m % 3 , r4m
% assign %%i 1
% assign %%i 1
% rep %2-1
% rep %2-1