[cvs] / xvidcore / src / utils / x86_asm / mem_transfer_3dne.asm Repository:
ViewVC logotype

Diff of /xvidcore/src/utils/x86_asm/mem_transfer_3dne.asm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6, Sun Aug 29 10:02:38 2004 UTC revision 1.10, Tue Nov 11 20:46:24 2008 UTC
# Line 33  Line 33 
33                  %ifdef MARK_FUNCS                  %ifdef MARK_FUNCS
34                          global _%1:function %1.endfunc-%1                          global _%1:function %1.endfunc-%1
35                          %define %1 _%1:function %1.endfunc-%1                          %define %1 _%1:function %1.endfunc-%1
36                            %define ENDFUNC .endfunc
37                  %else                  %else
38                          global _%1                          global _%1
39                          %define %1 _%1                          %define %1 _%1
40                            %define ENDFUNC
41                  %endif                  %endif
42          %else          %else
43                  %ifdef MARK_FUNCS                  %ifdef MARK_FUNCS
44                          global %1:function %1.endfunc-%1                          global %1:function %1.endfunc-%1
45                            %define ENDFUNC .endfunc
46                  %else                  %else
47                          global %1                          global %1
48                            %define ENDFUNC
49                  %endif                  %endif
50          %endif          %endif
51  %endmacro  %endmacro
# Line 80  Line 84 
84  cglobal transfer_8to16sub2_3dne  cglobal transfer_8to16sub2_3dne
85  cglobal transfer_16to8add_3dne  cglobal transfer_16to8add_3dne
86  cglobal transfer8x8_copy_3dne  cglobal transfer8x8_copy_3dne
87    cglobal transfer8x4_copy_3dne
88    
89  ;-----------------------------------------------------------------------------  ;-----------------------------------------------------------------------------
90  ;  ;
# Line 148  Line 153 
153    movq [byte ecx+1*64+48], mm6    movq [byte ecx+1*64+48], mm6
154    movq [ecx+1*64+40], mm7    movq [ecx+1*64+40], mm7
155    ret    ret
156  .endfunc  ENDFUNC
157    
158    
159  ;-----------------------------------------------------------------------------  ;-----------------------------------------------------------------------------
# Line 194  Line 199 
199    movq [eax+4*edx], mm7    movq [eax+4*edx], mm7
200    movq [ecx+2*edx], mm6    movq [ecx+2*edx], mm6
201    ret    ret
202  .endfunc  ENDFUNC
203    
204  ;-----------------------------------------------------------------------------  ;-----------------------------------------------------------------------------
205  ;  ;
# Line 253  Line 258 
258    mov eax, [esp + 8] ; Cur    mov eax, [esp + 8] ; Cur
259    mov ecx, [esp +12] ; Ref    mov ecx, [esp +12] ; Ref
260    push edi    push edi
261    mov edx, [dword esp+4+16] ; Stride    mov edx, [esp+4+16] ; Stride
262    mov edi, [esp+4+ 4] ; Dst    mov edi, [esp+4+ 4] ; Dst
263    pxor mm7, mm7    pxor mm7, mm7
264    nop    nop
# Line 264  Line 269 
269    COPY_8_TO_16_SUB 3, 1    COPY_8_TO_16_SUB 3, 1
270    mov edi, ecx    mov edi, ecx
271    ret    ret
272  .endfunc  ENDFUNC
273    
274  ALIGN 16  ALIGN 16
275  transfer_8to16subro_3dne:  transfer_8to16subro_3dne:
276    mov eax, [esp + 8] ; Cur    mov eax, [esp + 8] ; Cur
277    mov ecx, [esp +12] ; Ref    mov ecx, [esp +12] ; Ref
278    push edi    push edi
279    mov edx, [dword esp+4+16] ; Stride    mov edx, [esp+4+16] ; Stride
280    mov edi, [esp+4+ 4] ; Dst    mov edi, [esp+4+ 4] ; Dst
281    pxor mm7, mm7    pxor mm7, mm7
282    nop    nop
# Line 282  Line 287 
287    COPY_8_TO_16_SUB 3, 0    COPY_8_TO_16_SUB 3, 0
288    mov edi, ecx    mov edi, ecx
289    ret    ret
290  .endfunc  ENDFUNC
291    
292    
293  ;-----------------------------------------------------------------------------  ;-----------------------------------------------------------------------------
# Line 354  Line 359 
359    COPY_8_TO_16_SUB2_SSE 3    COPY_8_TO_16_SUB2_SSE 3
360    
361    ret    ret
362  .endfunc  ENDFUNC
363    
364    
365  ;-----------------------------------------------------------------------------  ;-----------------------------------------------------------------------------
# Line 402  Line 407 
407    lea ecx,[byte ecx+2*edx]    lea ecx,[byte ecx+2*edx]
408    COPY_16_TO_8_ADD 3    COPY_16_TO_8_ADD 3
409    ret    ret
410  .endfunc  ENDFUNC
411    
412  ;-----------------------------------------------------------------------------  ;-----------------------------------------------------------------------------
413  ;  ;
# Line 435  Line 440 
440    lea ecx,[byte ecx+2*edx]    lea ecx,[byte ecx+2*edx]
441    COPY_8_TO_8    COPY_8_TO_8
442    ret    ret
443  .endfunc  ENDFUNC
444    
445    ;-----------------------------------------------------------------------------
446    ;
447    ; void transfer8x4_copy_3dne(uint8_t * const dst,
448    ;                                       const uint8_t * const src,
449    ;                                       const uint32_t stride);
450    ;
451    ;
452    ;-----------------------------------------------------------------------------
453    
454    ALIGN 16
455    transfer8x4_copy_3dne:
456      mov eax, [esp+ 8] ; Src
457      mov edx, [esp+12] ; Stride
458      mov ecx, [esp+ 4] ; Dst
459    
460      COPY_8_TO_8
461      lea ecx,[byte ecx+2*edx]
462      COPY_8_TO_8
463      ret
464    ENDFUNC
465    
466    
467    %ifidn __OUTPUT_FORMAT__,elf
468    section ".note.GNU-stack" noalloc noexec nowrite progbits
469    %endif
470    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.10

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4