Code fixes

This commit is contained in:
pagefault
2001-09-04 15:25:42 +00:00
parent 96c6e0a3b5
commit e8caba1cd1
2 changed files with 10 additions and 14 deletions

View File

@@ -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

View File

@@ -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 ));