Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 284 → Rev 285

/kernel/trunk/drivers/mixer.asm
223,9 → 223,8
.m2:
mov esi, [ebx+STREAM.curr_seg]
mov edi, [ebx+STREAM.work_write]
mov edx, [ebx+STREAM.r_buff]
 
stdcall [ebx+STREAM.resample], edi, esi, edx,\
stdcall [ebx+STREAM.resample], edi, esi, \
[ebx+STREAM.r_dt],[ebx+STREAM.r_size],[ebx+STREAM.r_end]
 
mov ebx, [str]
238,6 → 237,13
cmp eax, [ebx+STREAM.lim_0]
jb @f
 
mov esi, [ebx+STREAM.seg_0]
lea edi, [esi-128]
add esi, 0x7F80
mov ecx, 128/4
cld
rep movsd
 
mov eax, [ebx+STREAM.seg_0]
mov ecx, [ebx+STREAM.lim_0]
xchg eax, [ebx+STREAM.seg_1]
273,18 → 279,18
endp
 
align 4
proc resample_1 stdcall, dest:dword,src:dword,r_buff:dword,\
proc resample_1 stdcall, dest:dword,src:dword,\
r_dt:dword, r_size:dword,r_end:dword
 
mov edi, [r_buff]
add edi, 32*2
mov esi, [src]
mov ecx, [r_size]
shr ecx, 2
rep movsd
; dest equ esp+8
; src equ esp+12
; r_dt equ esp+16
; r_size equ esp+20
;r_end equ esp+24
 
mov edi, [dest]
mov edx, [r_buff]
mov edx, [src]
sub edx, 32*2
mov eax, 16
 
align 16
318,25 → 324,12
mov [edi], ebx
add edi, 4
 
add eax, [esp+20] ;rdt
cmp eax, [esp+28] ;r_end
add eax, [esp+16]
cmp eax, [esp+24]
jb .l1
 
mov ebp, esp
 
mov esi, [src]
add esi, [r_size]
sub esi, 32*2
mov edx, [r_buff]
mov ecx, 16
@@:
mov ebx, [esi]
mov [edx], ebx
add esi, 4
add edx, 4
dec ecx
jnz @B
 
sub edi, [dest]
mov eax, edi
ret
343,18 → 336,14
endp
 
align 4
proc resample_18 stdcall, dest:dword,src:dword,r_buff:dword,\
proc resample_18 stdcall, dest:dword,src:dword,\
r_dt:dword, r_size:dword,r_end:dword
 
mov edi, [r_buff]
add edi, 32
mov esi, [src]
mov ecx, [r_size]
shr ecx, 2
rep movsd
 
mov edi, [dest]
mov edx, [r_buff]
mov edx, [src]
sub edx, 32
 
mov esi, 16
 
align 16
393,25 → 382,11
mov [edi], ebx
add edi, 4
 
add esi, [esp+20] ;rdt
cmp esi, [esp+28] ;r_end
add esi, [esp+16]
cmp esi, [esp+24]
jb .l1
 
mov ebp, esp
 
mov esi, [src]
add esi, [r_size]
sub esi, 32
mov edx, [r_buff]
mov ecx, 8
@@:
mov ebx, [esi]
mov [edx], ebx
add esi, 4
add edx, 4
dec ecx
jnz @B
 
sub edi, [dest]
mov eax, edi
ret
418,7 → 393,7
endp
 
align 4
proc copy_stream stdcall, dest:dword,src:dword,r_buff:dword,\
proc copy_stream stdcall, dest:dword,src:dword,\
r_dt:dword, r_size:dword,r_end:dword
 
mov ecx, [r_size]
432,17 → 407,11
endp
 
align 4
proc resample_2 stdcall, dest:dword,src:dword,r_buff:dword,\
proc resample_2 stdcall, dest:dword,src:dword,\
r_dt:dword, r_size:dword,r_end:dword
 
mov edi, [r_buff]
add edi, 32*4
mov esi, [src]
mov ecx, [r_size]
shr ecx, 2
rep movsd ;call memcpy
 
mov edx, [r_buff]
mov edx, [src]
sub edx, 32*4
mov edi, [dest]
mov ebx, [r_dt]
mov eax, 16
461,9 → 430,9
 
movd mm2, ecx
punpcklwd mm2, mm2
movq mm3, qword [m7] ; // 0x8000
movq mm3, qword [m7] ;0x8000
 
psubw mm3, mm2 ; // 0x8000 - iconst
psubw mm3, mm2 ; ;0x8000 - iconst
punpckldq mm3, mm2
 
pmulhw mm0, mm3
483,19 → 452,6
jb .l1
emms
 
mov esi, [src]
add esi, [r_size]
sub esi, 32*4
mov edx, [r_buff]
mov ecx, 32
@@:
mov ebx, [esi]
mov [edx], ebx
add esi, 4
add edx, 4
dec ecx
jnz @B
 
sub edi, [dest]
mov eax, edi
ret
502,17 → 458,11
endp
 
align 4
proc resample_28 stdcall, dest:dword,src:dword,r_buff:dword,\
proc resample_28 stdcall, dest:dword,src:dword,\
r_dt:dword, r_size:dword,r_end:dword
 
mov edi, [r_buff]
add edi, 32*2
mov esi, [src]
mov ecx, [r_size]
shr ecx, 2
rep movsd ;call memcpy
 
mov edx, [r_buff]
mov edx, [src]
sub edx, 32*2
mov edi, [dest]
mov ebx, [r_dt]
mov eax, 16
559,18 → 509,6
jb .l1
emms
 
mov esi, [src]
add esi, [r_size]
sub esi, 32*2
mov edx, [r_buff]
mov ecx, 16
@@:
mov ebx, [esi]
mov [edx], ebx
add esi, 4
add edx, 4
dec ecx
jnz @B
 
sub edi, [dest]
mov eax, edi
578,7 → 516,7
endp
 
 
proc m16_stereo stdcall, dest:dword,src:dword,r_buff:dword,\
proc m16_stereo stdcall, dest:dword,src:dword,\
r_dt:dword, r_size:dword,r_end:dword
 
mov esi, [src]
607,7 → 545,7
endp
 
align 4
proc s8_stereo stdcall, dest:dword,src:dword,r_buff:dword,\
proc s8_stereo stdcall, dest:dword,src:dword,\
r_dt:dword, r_size:dword,r_end:dword
 
mov esi, [src]
638,7 → 576,7
ret
endp
 
proc m8_stereo stdcall, dest:dword,src:dword,r_buff:dword,\
proc m8_stereo stdcall, dest:dword,src:dword,\
r_dt:dword, r_size:dword,r_end:dword
 
mov esi, [src]