[svn] / branches / dev-api-3 / xvidcore / src / utils / x86_asm / mem_transfer_3dne.asm Repository:
ViewVC logotype

Diff of /branches/dev-api-3/xvidcore/src/utils/x86_asm/mem_transfer_3dne.asm

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

revision 830, Tue Feb 11 21:56:31 2003 UTC revision 831, Wed Feb 12 11:46:18 2003 UTC
# Line 66  Line 66 
66  cglobal transfer_8to16copy_3dne  cglobal transfer_8to16copy_3dne
67  cglobal transfer_16to8copy_3dne  cglobal transfer_16to8copy_3dne
68  cglobal transfer_8to16sub_3dne  cglobal transfer_8to16sub_3dne
69    cglobal transfer_8to16subro_3dne
70  cglobal transfer_8to16sub2_3dne  cglobal transfer_8to16sub2_3dne
71  cglobal transfer_16to8add_3dne  cglobal transfer_16to8add_3dne
72  cglobal transfer8x8_copy_3dne  cglobal transfer8x8_copy_3dne
# Line 204  Line 205 
205  ; *  ; *
206  ; *************************************************************************/  ; *************************************************************************/
207    
208  %macro COPY_8_TO_16_SUB 1  ; when second argument == 1, reference (ebx) block is to current (eax)
209    %macro COPY_8_TO_16_SUB 2
210    movq mm1, [eax]      ; cur    movq mm1, [eax]      ; cur
211    movq mm0, mm1    movq mm0, mm1
212    movq mm4, [ecx]      ; ref    movq mm4, [ecx]      ; ref
213    movq mm6, mm4    movq mm6, mm4
214    %if %2 == 1
215    movq [eax], mm4    movq [eax], mm4
216    %endif
217    punpckhbw mm1, mm7    punpckhbw mm1, mm7
218    punpckhbw mm6, mm7    punpckhbw mm6, mm7
219    punpcklbw mm4, mm7    punpcklbw mm4, mm7
# Line 220  Line 224 
224    punpcklbw mm2, mm7    punpcklbw mm2, mm7
225    movq mm5, [byte ecx+edx]  ; ref    movq mm5, [byte ecx+edx]  ; ref
226    punpckhbw mm3, mm7    punpckhbw mm3, mm7
227    %if %2 == 1
228    movq [byte eax+edx], mm5    movq [byte eax+edx], mm5
229    %endif
230    psubsw mm1, mm6    psubsw mm1, mm6
231    
232    movq mm6, mm5    movq mm6, mm5
# Line 252  Line 258 
258    pxor mm7, mm7    pxor mm7, mm7
259    nop    nop
260  align 4  align 4
261    COPY_8_TO_16_SUB 0    COPY_8_TO_16_SUB 0, 1
262    COPY_8_TO_16_SUB 1    COPY_8_TO_16_SUB 1, 1
263    COPY_8_TO_16_SUB 2    COPY_8_TO_16_SUB 2, 1
264    COPY_8_TO_16_SUB 3    COPY_8_TO_16_SUB 3, 1
265      mov edi,ecx
266      ret
267    
268    align 16
269    transfer_8to16subro_3dne:
270      mov eax, [esp + 8] ; Cur
271      mov ecx, [esp +12] ; Ref
272      push edi
273      mov edx, [dword esp+4+16] ; Stride
274      mov edi, [esp+4+ 4] ; Dst
275      pxor mm7, mm7
276      nop
277    align 4
278      COPY_8_TO_16_SUB 0, 0
279      COPY_8_TO_16_SUB 1, 0
280      COPY_8_TO_16_SUB 2, 0
281      COPY_8_TO_16_SUB 3, 0
282    mov edi,ecx    mov edi,ecx
283    ret    ret
284    

Legend:
Removed from v.830  
changed lines
  Added in v.831

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