[svn] / trunk / xvidcore / src / image / x86_asm / reduced_mmx.asm Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/image/x86_asm/reduced_mmx.asm

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

revision 851, Sat Feb 15 15:22:19 2003 UTC revision 1790, Tue Aug 19 09:06:48 2008 UTC
# Line 1  Line 1 
1  ;/*****************************************************************************  ;/*****************************************************************************
2  ; *  ; *
3  ; *  XVID MPEG-4 VIDEO CODEC  ; *  XVID MPEG-4 VIDEO CODEC
4  ; *   Reduced-Resolution utilities  ; *  - Reduced-Resolution utilities -
5  ; *  ; *
6  ; *  Copyright(C) 2002 Pascal Massimino <skal@planet-d.net>  ; *  Copyright(C) 2002 Pascal Massimino <skal@planet-d.net>
7  ; *  ; *
 ; *  This file is part of XviD, a free MPEG-4 video encoder/decoder  
 ; *  
8  ; *  XviD is free software; you can redistribute it and/or modify it  ; *  XviD is free software; you can redistribute it and/or modify it
9  ; *  under the terms of the GNU General Public License as published by  ; *  under the terms of the GNU General Public License as published by
10  ; *  the Free Software Foundation; either version 2 of the License, or  ; *  the Free Software Foundation; either version 2 of the License, or
# Line 21  Line 19 
19  ; *  along with this program; if not, write to the Free Software  ; *  along with this program; if not, write to the Free Software
20  ; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA  ; *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21  ; *  ; *
22  ; *  Under section 8 of the GNU General Public License, the copyright  ; * $Id: reduced_mmx.asm,v 1.7 2008-08-19 09:06:48 Isibaar Exp $
 ; *  holders of XVID explicitly forbid distribution in the following  
 ; *  countries:  
 ; *  
 ; *    - Japan  
 ; *    - United States of America  
 ; *  
 ; *  Linking XviD statically or dynamically with other modules is making a  
 ; *  combined work based on XviD.  Thus, the terms and conditions of the  
 ; *  GNU General Public License cover the whole combination.  
 ; *  
 ; *  As a special exception, the copyright holders of XviD give you  
 ; *  permission to link XviD with independent modules that communicate with  
 ; *  XviD solely through the VFW1.1 and DShow interfaces, regardless of the  
 ; *  license terms of these independent modules, and to copy and distribute  
 ; *  the resulting combined work under terms of your choice, provided that  
 ; *  every copy of the combined work is accompanied by a complete copy of  
 ; *  the source code of XviD (the version of XviD used to produce the  
 ; *  combined work), being distributed under the terms of the GNU General  
 ; *  Public License plus this exception.  An independent module is a module  
 ; *  which is not derived from or based on XviD.  
 ; *  
 ; *  Note that people who make modified versions of XviD are not obligated  
 ; *  to grant this special exception for their modified versions; it is  
 ; *  their choice whether to do so.  The GNU General Public License gives  
 ; *  permission to release a modified version without this exception; this  
 ; *  exception also makes it possible to release a modified version which  
 ; *  carries forward this exception.  
 ; *  
 ; * $Id: reduced_mmx.asm,v 1.2 2003-02-15 15:22:18 edgomez Exp $  
23  ; *  ; *
24  ; *************************************************************************/  ; *************************************************************************/
25    
26  bits 32  BITS 32
27    
28  %macro cglobal 1  %macro cglobal 1
29          %ifdef PREFIX          %ifdef PREFIX
30                    %ifdef MARK_FUNCS
31                            global _%1:function %1.endfunc-%1
32                            %define %1 _%1:function %1.endfunc-%1
33                    %else
34                  global _%1                  global _%1
35                  %define %1 _%1                  %define %1 _%1
36                    %endif
37            %else
38                    %ifdef MARK_FUNCS
39                            global %1:function %1.endfunc-%1
40          %else          %else
41                  global %1                  global %1
42          %endif          %endif
43            %endif
44  %endmacro  %endmacro
45    
46  ;===========================================================================  ;===========================================================================
47    
48  section .data  %ifdef FORMAT_COFF
49    SECTION .rodata
50    %else
51    SECTION .rodata align=16
52    %endif
53    
54  align 16  align 16
55  Up31 dw  3, 1, 3, 1  Up31 dw  3, 1, 3, 1
# Line 85  Line 67 
67    
68  ;===========================================================================  ;===========================================================================
69    
70  section .text  SECTION .text
71    
72  cglobal xvid_Copy_Upsampled_8x8_16To8_mmx  cglobal xvid_Copy_Upsampled_8x8_16To8_mmx
73  cglobal xvid_Add_Upsampled_8x8_16To8_mmx  cglobal xvid_Add_Upsampled_8x8_16To8_mmx
# Line 289  Line 271 
271    STORE_1 mm2, mm3    STORE_1 mm2, mm3
272    
273    ret    ret
274    .endfunc
275    
276  ;===========================================================================  ;===========================================================================
277  ;  ;
# Line 483  Line 466 
466    STORE_ADD_1 mm2, mm3    STORE_ADD_1 mm2, mm3
467    
468    ret    ret
469    .endfunc
470    
471  ;===========================================================================  ;===========================================================================
472  ;  ;
# Line 614  Line 598 
598    STORE_1 mm2, mm3    STORE_1 mm2, mm3
599    
600    ret    ret
601    .endfunc
602    
603  ;===========================================================================  ;===========================================================================
604  ;  ;
# Line 722  Line 707 
707    STORE_ADD_1 mm2, mm3    STORE_ADD_1 mm2, mm3
708    
709    ret    ret
710    .endfunc
711    
712    
713  ;===========================================================================  ;===========================================================================
# Line 778  Line 764 
764    pop edi    pop edi
765    pop esi    pop esi
766    ret    ret
767    .endfunc
768    
769    ; mmx is of no use here. Better use plain ASM. Moreover,    ; mmx is of no use here. Better use plain ASM. Moreover,
770    ; this is for the fun of ASM coding, coz' every modern compiler can    ; this is for the fun of ASM coding, coz' every modern compiler can
# Line 817  Line 804 
804    pop edi    pop edi
805    pop esi    pop esi
806    ret    ret
807    .endfunc
808    
809    ; this one's just a little faster than gcc's code. Very little.    ; this one's just a little faster than gcc's code. Very little.
810    
# Line 853  Line 841 
841    pop edi    pop edi
842    pop esi    pop esi
843    ret    ret
844    .endfunc
845    
846  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
847  ;// 16b downsampling 16x16 -> 8x8  ;// 16b downsampling 16x16 -> 8x8
# Line 942  Line 931 
931    COPY_TWO_LINES_1331 ecx + 6*16 +8    COPY_TWO_LINES_1331 ecx + 6*16 +8
932    
933    ret    ret
934    .endfunc
935    
936  ;===========================================================================  ;===========================================================================
937  ;  ;
# Line 1006  Line 996 
996    DIFF_TWO_LINES_1331 ecx + 6*16 +8    DIFF_TWO_LINES_1331 ecx + 6*16 +8
997    
998    ret    ret
999    .endfunc
1000    
1001  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
1002    
1003    ; pfeewwww... Never Do That On Stage Again. :)    ; pfeewwww... Never Do That On Stage Again. :)
1004    
1005    
1006    %ifidn __OUTPUT_FORMAT__,elf
1007    section ".note.GNU-stack" noalloc noexec nowrite progbits
1008    %endif
1009    

Legend:
Removed from v.851  
changed lines
  Added in v.1790

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