[svn] / trunk / xvidcore / src / motion / x86_asm / sad_mmx.asm Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/motion/x86_asm/sad_mmx.asm

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

revision 1598, Tue Feb 1 11:46:32 2005 UTC revision 1599, Sat Feb 19 23:20:27 2005 UTC
# Line 20  Line 20 
20  ; *  along with this program; if not, write to the Free Software  ; *  along with this program; if not, write to the Free Software
21  ; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA  ; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
22  ; *  ; *
23  ; * $Id: sad_mmx.asm,v 1.16 2004-08-29 10:02:38 edgomez Exp $  ; * $Id: sad_mmx.asm,v 1.17 2005-02-19 23:20:27 suxen_drol Exp $
24  ; *  ; *
25  ; ***************************************************************************/  ; ***************************************************************************/
26    
# Line 74  Line 74 
74    lea eax, [eax+ecx]    lea eax, [eax+ecx]
75    movq mm5, mm2    movq mm5, mm2
76    psubusb mm2, mm3    psubusb mm2, mm3
   lea edx, [edx+ecx]  
77    
78    psubusb mm1, mm4    psubusb mm1, mm4
   por mm0, mm1  
79    psubusb mm3, mm5    psubusb mm3, mm5
80      por mm0, mm1
81    por mm2, mm3    por mm2, mm3
82    
83    movq mm1, mm0    movq mm1, mm0
   movq mm3, mm2  
   
84    punpcklbw mm0,mm7    punpcklbw mm0,mm7
85      movq mm3, mm2
86    punpckhbw mm1,mm7    punpckhbw mm1,mm7
87      lea edx, [edx+ecx]
88    punpcklbw mm2,mm7    punpcklbw mm2,mm7
   punpckhbw mm3,mm7  
   
89    paddusw mm0, mm1    paddusw mm0, mm1
90      punpckhbw mm3,mm7
91    paddusw mm6, mm0    paddusw mm6, mm0
92    paddusw mm2, mm3    paddusw mm2, mm3
93    paddusw mm6, mm2    paddusw mm6, mm2
94    
95  %endmacro  %endmacro
96    
97  %macro SAD_8x8_MMX      0  %macro SAD_8x8_MMX      0
# Line 111  Line 110 
110    psubusb mm2, mm3    psubusb mm2, mm3
111    
112    psubusb mm1, mm4    psubusb mm1, mm4
   por mm0, mm1  
113    psubusb mm3, mm5    psubusb mm3, mm5
114      por mm0, mm1
115    por mm2, mm3    por mm2, mm3
116    
117    movq mm1,mm0    movq mm1,mm0
   movq mm3,mm2  
   
118    punpcklbw mm0,mm7    punpcklbw mm0,mm7
119      movq mm3,mm2
120    punpckhbw mm1,mm7    punpckhbw mm1,mm7
121    punpcklbw mm2,mm7    punpcklbw mm2,mm7
   punpckhbw mm3,mm7  
   
122    paddusw mm0,mm1    paddusw mm0,mm1
123      punpckhbw mm3,mm7
124    paddusw mm6,mm0    paddusw mm6,mm0
125    paddusw mm2,mm3    paddusw mm2,mm3
126    paddusw mm6,mm2    paddusw mm6,mm2
127  %endmacro  %endmacro
128    
129    
130  %macro SADV_16x16_MMX 0  %macro SADV_16x16_MMX 0
131    movq mm0, [eax]    movq mm0, [eax]
132    movq mm1, [edx]    movq mm1, [edx]
133    
134    movq mm2, [eax+8]    movq mm2, [eax+8]
   movq mm3, [edx+8]  
   
135    movq mm4, mm0    movq mm4, mm0
136      movq mm3, [edx+8]
137    psubusb mm0, mm1    psubusb mm0, mm1
138    
139    psubusb mm1, mm4    psubusb mm1, mm4
   por mm0, mm1  
140    lea eax,[eax+ecx]    lea eax,[eax+ecx]
141      por mm0, mm1
142    
143    movq mm4, mm2    movq mm4, mm2
144    psubusb mm2, mm3    psubusb mm2, mm3
145    
146    psubusb mm3, mm4    psubusb mm3, mm4
147    por mm2, mm3    por mm2, mm3
   lea edx,[edx+ecx]  
148    
149    movq mm1,mm0    movq mm1,mm0
   movq mm3,mm2  
   
150    punpcklbw mm0,mm7    punpcklbw mm0,mm7
151      movq mm3,mm2
152    punpckhbw mm1,mm7    punpckhbw mm1,mm7
153    punpcklbw mm2,mm7    punpcklbw mm2,mm7
   punpckhbw mm3,mm7  
   
154    paddusw mm0,mm1    paddusw mm0,mm1
155    paddusw mm2,mm3    punpckhbw mm3,mm7
   
156    paddusw mm5, mm0    paddusw mm5, mm0
157      paddusw mm2,mm3
158      lea edx,[edx+ecx]
159    paddusw mm6, mm2    paddusw mm6, mm2
160  %endmacro  %endmacro
161    
# Line 220  Line 214 
214    movq mm2, [eax+8]    movq mm2, [eax+8]
215    lea eax, [eax+ecx]    lea eax, [eax+ecx]
216    movq mm1, mm0    movq mm1, mm0
   movq mm3, mm2  
217    punpcklbw mm0, mm7    punpcklbw mm0, mm7
218    punpcklbw mm2, mm7    movq mm3, mm2
219    punpckhbw mm1, mm7    punpckhbw mm1, mm7
   punpckhbw mm3, mm7  
220    paddw mm5, mm0    paddw mm5, mm0
221      punpcklbw mm2, mm7
222    paddw mm6, mm1    paddw mm6, mm1
223      punpckhbw mm3, mm7
224    paddw mm5, mm2    paddw mm5, mm2
225    paddw mm6, mm3    paddw mm6, mm3
226  %endmacro  %endmacro

Legend:
Removed from v.1598  
changed lines
  Added in v.1599

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