Code fixes
This commit is contained in:
@@ -1780,7 +1780,7 @@ EXTSYM fir_downsample
|
|||||||
lea ebx,[DLPFsamples+ebx*4]
|
lea ebx,[DLPFsamples+ebx*4]
|
||||||
cmp byte[LowPassFilterType],3
|
cmp byte[LowPassFilterType],3
|
||||||
je near %%DLPF_fir
|
je near %%DLPF_fir
|
||||||
DLPF_dynamic:
|
;dynamic
|
||||||
mov eax,[ebx+21*4]
|
mov eax,[ebx+21*4]
|
||||||
mov [ebx],eax
|
mov [ebx],eax
|
||||||
mov eax,[ebx+22*4]
|
mov eax,[ebx+22*4]
|
||||||
@@ -1829,7 +1829,6 @@ ALIGN16
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
%%dlpf_by_3
|
%%dlpf_by_3
|
||||||
push ebx
|
|
||||||
mov eax,[ebx+3*4]
|
mov eax,[ebx+3*4]
|
||||||
mov ebp,[ebx+4*4]
|
mov ebp,[ebx+4*4]
|
||||||
jmp Short %%dlpf_by_3_loop
|
jmp Short %%dlpf_by_3_loop
|
||||||
@@ -1847,14 +1846,12 @@ ALIGN16
|
|||||||
mov ebp,ebx
|
mov ebp,ebx
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz %%dlpf_by_3_loop
|
jnz %%dlpf_by_3_loop
|
||||||
pop ebx
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%%dlpf_by_4
|
%%dlpf_by_4
|
||||||
push ebx
|
mov eax,[ebx+2*4]
|
||||||
mov ebp,[ebx+2*4]
|
|
||||||
mov edx,[ebx+3*4]
|
mov edx,[ebx+3*4]
|
||||||
mov eax,[ebx+4*4]
|
mov ebp,[ebx+4*4]
|
||||||
jmp Short %%dlpf_by_4_loop
|
jmp Short %%dlpf_by_4_loop
|
||||||
|
|
||||||
ALIGN16
|
ALIGN16
|
||||||
@@ -1871,16 +1868,14 @@ ALIGN16
|
|||||||
mov ebp,ebx
|
mov ebp,ebx
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz %%dlpf_by_4_loop
|
jnz %%dlpf_by_4_loop
|
||||||
pop ebx
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%%dlpf_by_5
|
%%dlpf_by_5
|
||||||
push ebx
|
|
||||||
push ecx
|
push ecx
|
||||||
mov ecx,[ebx+1*4]
|
mov eax,[ebx+1*4]
|
||||||
mov ebp,[ebx+2*4]
|
mov esi,[ebx+2*4]
|
||||||
mov esi,[ebx+3*4]
|
mov ebp,[ebx+3*4]
|
||||||
mov eax,[ebx+4*4]
|
mov ecx,[ebx+4*4]
|
||||||
jmp Short %%dlpf_by_5_loop
|
jmp Short %%dlpf_by_5_loop
|
||||||
|
|
||||||
ALIGN16
|
ALIGN16
|
||||||
@@ -1891,6 +1886,7 @@ ALIGN16
|
|||||||
add eax,ebp
|
add eax,ebp
|
||||||
add eax,ecx
|
add eax,ecx
|
||||||
mov edx,33333333h ; 1/5
|
mov edx,33333333h ; 1/5
|
||||||
|
imul edx
|
||||||
mov [edi],dx
|
mov [edi],dx
|
||||||
add edi,2
|
add edi,2
|
||||||
mov eax,esi
|
mov eax,esi
|
||||||
@@ -1900,7 +1896,6 @@ ALIGN16
|
|||||||
dec dword [esp]
|
dec dword [esp]
|
||||||
jnz %%dlpf_by_5_loop
|
jnz %%dlpf_by_5_loop
|
||||||
pop ecx
|
pop ecx
|
||||||
pop ebx
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
%%DLPF_fir
|
%%DLPF_fir
|
||||||
@@ -1966,6 +1961,7 @@ ALIGN16
|
|||||||
section .data
|
section .data
|
||||||
NEWSYM lastblockbrr, times 8 dd 0
|
NEWSYM lastblockbrr, times 8 dd 0
|
||||||
NEWSYM curvoice, dd 0
|
NEWSYM curvoice, dd 0
|
||||||
|
section .text
|
||||||
|
|
||||||
BRRDecode:
|
BRRDecode:
|
||||||
mov [curvoice],ecx
|
mov [curvoice],ecx
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ CzWINDOWEDFIR::CzWINDOWEDFIR()
|
|||||||
for( _LPcl=0;_LPcl<WFIR_CUTOFFLEN;_LPcl++ )
|
for( _LPcl=0;_LPcl<WFIR_CUTOFFLEN;_LPcl++ )
|
||||||
{
|
{
|
||||||
int _LCc,_LIdx = _LPcl<<WFIR_LOG2WIDTH;
|
int _LCc,_LIdx = _LPcl<<WFIR_LOG2WIDTH;
|
||||||
_LCut = WFIR_CUTOFF / (1.0f + ((float)_LPcl / (WFIR_CUTOFFLEN / 15.0f)));
|
_LCut = 1.0f - pow((float)_LPcl / WFIR_CUTOFFLEN,1/5.0f); // bleh (1.0f + 5.0f * (log2(2.0f + (_LPcl / (WFIR_CUTOFFLEN / 256.0f))) - 1.0f));
|
||||||
for(_LCc=0,_LGain=0.0f;_LCc<WFIR_WIDTH;_LCc++ )
|
for(_LCc=0,_LGain=0.0f;_LCc<WFIR_WIDTH;_LCc++ )
|
||||||
{
|
{
|
||||||
_LGain += (_LCoefs[_LCc] = coef( _LCc, -0.5f, _LCut, WFIR_WIDTH, WFIR_TYPE ));
|
_LGain += (_LCoefs[_LCc] = coef( _LCc, -0.5f, _LCut, WFIR_WIDTH, WFIR_TYPE ));
|
||||||
|
|||||||
Reference in New Issue
Block a user