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

Diff of /branches/dev-api-4/xvidcore/src/utils/x86_asm/mem_transfer_mmx.asm

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

revision 1200, Wed Nov 5 16:15:47 2003 UTC revision 1201, Sun Nov 9 20:47:14 2003 UTC
# Line 21  Line 21 
21  ; *  along with this program ; if not, write to the Free Software  ; *  along with this program ; if not, write to the Free Software
22  ; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA  ; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
23  ; *  ; *
24  ; * $Id: mem_transfer_mmx.asm,v 1.9.2.1 2003-10-28 22:23:03 edgomez Exp $  ; * $Id: mem_transfer_mmx.asm,v 1.9.2.2 2003-11-09 20:47:14 edgomez Exp $
25  ; *  ; *
26  ; ***************************************************************************/  ; ***************************************************************************/
27    
# Line 37  Line 37 
37  %endmacro  %endmacro
38    
39  ;=============================================================================  ;=============================================================================
40    ; Read only data
41    ;=============================================================================
42    
43    %ifdef FORMAT_COFF
44    SECTION .rodata data
45    %else
46    SECTION .rodata data align=16
47    %endif
48    
49    ALIGN 16
50    mmx_one:
51            dw 1, 1, 1, 1
52    
53    ;=============================================================================
54  ; Code  ; Code
55  ;=============================================================================  ;=============================================================================
56    
# Line 231  Line 245 
245    punpckhbw mm3, mm7    punpckhbw mm3, mm7
246    paddusw mm4, mm1    paddusw mm4, mm1
247    paddusw mm6, mm3    paddusw mm6, mm3
248      paddusw mm4, [mmx_one]
249      paddusw mm6, [mmx_one]
250    psrlw mm4, 1    psrlw mm4, 1
251    psrlw mm6, 1    psrlw mm6, 1
252    packuswb mm4, mm6    packuswb mm4, mm6
253      movq [eax], mm4
254    
255      ; mm5 <- (ref1+ref2+1) / 2      ; mm5 <- (ref1+ref2+1) / 2
256    movq mm5, [ebx+edx]  ; ref1    movq mm5, [ebx+edx]  ; ref1
# Line 246  Line 263 
263    punpckhbw mm3, mm7    punpckhbw mm3, mm7
264    paddusw mm5, mm1    paddusw mm5, mm1
265    paddusw mm6, mm3    paddusw mm6, mm3
266      paddusw mm5, [mmx_one]
267      paddusw mm6, [mmx_one]
268    lea esi, [esi+2*edx]    lea esi, [esi+2*edx]
269    psrlw mm5, 1    psrlw mm5, 1
270    psrlw mm6, 1    psrlw mm6, 1
271    packuswb mm5, mm6    packuswb mm5, mm6
272      movq [eax+edx], mm5
273    
274    movq mm1, mm0    movq mm1, mm0
275    movq mm3, mm2    movq mm3, mm2
# Line 318  Line 337 
337    punpcklbw mm2, mm7    punpcklbw mm2, mm7
338    movq mm4, [ebx]     ; ref1    movq mm4, [ebx]     ; ref1
339    pavgb mm4, [esi]     ; ref2    pavgb mm4, [esi]     ; ref2
340      movq [eax], mm4
341    punpckhbw mm1, mm7    punpckhbw mm1, mm7
342    punpckhbw mm3, mm7    punpckhbw mm3, mm7
343    movq mm5, [ebx+edx] ; ref    movq mm5, [ebx+edx] ; ref
344    pavgb mm5, [esi+edx] ; ref2    pavgb mm5, [esi+edx] ; ref2
345      movq [eax+edx], mm5
346    
347    movq mm6, mm4    movq mm6, mm4
348    punpcklbw mm4, mm7    punpcklbw mm4, mm7

Legend:
Removed from v.1200  
changed lines
  Added in v.1201

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