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

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

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

revision 1.9.2.1, Tue Oct 28 22:23:03 2003 UTC revision 1.14, Sun Aug 22 11:46:10 2004 UTC
# Line 29  Line 29 
29    
30  %macro cglobal 1  %macro cglobal 1
31          %ifdef PREFIX          %ifdef PREFIX
32                    %ifdef MARK_FUNCS
33                            global _%1:function
34                            %define %1 _%1:function
35                    %else
36                  global _%1                  global _%1
37                  %define %1 _%1                  %define %1 _%1
38                    %endif
39            %else
40                    %ifdef MARK_FUNCS
41                            global %1:function
42          %else          %else
43                  global %1                  global %1
44          %endif          %endif
45            %endif
46  %endmacro  %endmacro
47    
48  ;=============================================================================  ;=============================================================================
49    ; Read only data
50    ;=============================================================================
51    
52    %ifdef FORMAT_COFF
53    SECTION .rodata
54    %else
55    SECTION .rodata align=16
56    %endif
57    
58    ALIGN 16
59    mmx_one:
60            dw 1, 1, 1, 1
61    
62    ;=============================================================================
63  ; Code  ; Code
64  ;=============================================================================  ;=============================================================================
65    
# Line 231  Line 254 
254    punpckhbw mm3, mm7    punpckhbw mm3, mm7
255    paddusw mm4, mm1    paddusw mm4, mm1
256    paddusw mm6, mm3    paddusw mm6, mm3
257      paddusw mm4, [mmx_one]
258      paddusw mm6, [mmx_one]
259    psrlw mm4, 1    psrlw mm4, 1
260    psrlw mm6, 1    psrlw mm6, 1
261    packuswb mm4, mm6    packuswb mm4, mm6
262      movq [eax], mm4
263    
264      ; mm5 <- (ref1+ref2+1) / 2      ; mm5 <- (ref1+ref2+1) / 2
265    movq mm5, [ebx+edx]  ; ref1    movq mm5, [ebx+edx]  ; ref1
# Line 246  Line 272 
272    punpckhbw mm3, mm7    punpckhbw mm3, mm7
273    paddusw mm5, mm1    paddusw mm5, mm1
274    paddusw mm6, mm3    paddusw mm6, mm3
275      paddusw mm5, [mmx_one]
276      paddusw mm6, [mmx_one]
277    lea esi, [esi+2*edx]    lea esi, [esi+2*edx]
278    psrlw mm5, 1    psrlw mm5, 1
279    psrlw mm6, 1    psrlw mm6, 1
280    packuswb mm5, mm6    packuswb mm5, mm6
281      movq [eax+edx], mm5
282    
283    movq mm1, mm0    movq mm1, mm0
284    movq mm3, mm2    movq mm3, mm2
# Line 318  Line 346 
346    punpcklbw mm2, mm7    punpcklbw mm2, mm7
347    movq mm4, [ebx]     ; ref1    movq mm4, [ebx]     ; ref1
348    pavgb mm4, [esi]     ; ref2    pavgb mm4, [esi]     ; ref2
349      movq [eax], mm4
350    punpckhbw mm1, mm7    punpckhbw mm1, mm7
351    punpckhbw mm3, mm7    punpckhbw mm3, mm7
352    movq mm5, [ebx+edx] ; ref    movq mm5, [ebx+edx] ; ref
353    pavgb mm5, [esi+edx] ; ref2    pavgb mm5, [esi+edx] ; ref2
354      movq [eax+edx], mm5
355    
356    movq mm6, mm4    movq mm6, mm4
357    punpcklbw mm4, mm7    punpcklbw mm4, mm7

Legend:
Removed from v.1.9.2.1  
changed lines
  Added in v.1.14

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