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

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

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

revision 1519, Sat Jul 24 11:46:08 2004 UTC revision 1793, Tue Nov 11 20:46:24 2008 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: qpel_mmx.asm,v 1.3 2004-07-24 11:46:08 edgomez Exp $  ; * $Id: qpel_mmx.asm,v 1.7 2008-11-11 20:46:24 Isibaar Exp $
24  ; *  ; *
25  ; *************************************************************************/  ; *************************************************************************/
26    
# Line 42  Line 42 
42    
43  %macro cglobal 1  %macro cglobal 1
44          %ifdef PREFIX          %ifdef PREFIX
45                    %ifdef MARK_FUNCS
46                            global _%1:function %1.endfunc-%1
47                            %define %1 _%1:function %1.endfunc-%1
48                            %define ENDFUNC .endfunc
49                    %else
50                  global _%1                  global _%1
51                  %define %1 _%1                  %define %1 _%1
52                            %define ENDFUNC
53                    %endif
54            %else
55                    %ifdef MARK_FUNCS
56                            global %1:function %1.endfunc-%1
57                            %define ENDFUNC .endfunc
58          %else          %else
59                  global %1                  global %1
60                            %define ENDFUNC
61                    %endif
62          %endif          %endif
63  %endmacro  %endmacro
64  %macro cextern 1  %macro cextern 1
# Line 130  Line 143 
143  times 4 dw 0  times 4 dw 0
144    
145  align 16  align 16
146  Rounder_QP_MMX  Rounder_QP_MMX:
147  times 4 dw 16  times 4 dw 16
148  times 4 dw 15  times 4 dw 15
149    
# Line 340  Line 353 
353     PROLOG_AVRG     PROLOG_AVRG
354  %endif  %endif
355    
356  .Loop  .Loop:
357    
358      ;  mm0..mm3 serves as a 4x4 delay line      ;  mm0..mm3 serves as a 4x4 delay line
359    
# Line 449  Line 462 
462    PROLOG_AVRG    PROLOG_AVRG
463  %endif  %endif
464    
465  .Loop  .Loop:
466      ;  mm0..mm3 serves as a 4x4 delay line      ;  mm0..mm3 serves as a 4x4 delay line
467    
468  %ifndef USE_TABLES  %ifndef USE_TABLES
# Line 551  Line 564 
564    
565  xvid_H_Pass_16_mmx:  xvid_H_Pass_16_mmx:
566    H_PASS_16 0, 0    H_PASS_16 0, 0
567    ENDFUNC
568  xvid_H_Pass_Avrg_16_mmx:  xvid_H_Pass_Avrg_16_mmx:
569    H_PASS_16 1, 0    H_PASS_16 1, 0
570    ENDFUNC
571  xvid_H_Pass_Avrg_Up_16_mmx:  xvid_H_Pass_Avrg_Up_16_mmx:
572    H_PASS_16 2, 0    H_PASS_16 2, 0
573    ENDFUNC
574    
575  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
576  ;// 8x? copy Functions  ;// 8x? copy Functions
577    
578  xvid_H_Pass_8_mmx:  xvid_H_Pass_8_mmx:
579    H_PASS_8 0, 0    H_PASS_8 0, 0
580    ENDFUNC
581  xvid_H_Pass_Avrg_8_mmx:  xvid_H_Pass_Avrg_8_mmx:
582    H_PASS_8 1, 0    H_PASS_8 1, 0
583    ENDFUNC
584  xvid_H_Pass_Avrg_Up_8_mmx:  xvid_H_Pass_Avrg_Up_8_mmx:
585    H_PASS_8 2, 0    H_PASS_8 2, 0
586    ENDFUNC
587    
588  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
589  ;// 16x? avrg Functions  ;// 16x? avrg Functions
590    
591  xvid_H_Pass_Add_16_mmx:  xvid_H_Pass_Add_16_mmx:
592    H_PASS_16 0, 1    H_PASS_16 0, 1
593    ENDFUNC
594  xvid_H_Pass_Avrg_Add_16_mmx:  xvid_H_Pass_Avrg_Add_16_mmx:
595    H_PASS_16 1, 1    H_PASS_16 1, 1
596    ENDFUNC
597  xvid_H_Pass_Avrg_Up_Add_16_mmx:  xvid_H_Pass_Avrg_Up_Add_16_mmx:
598    H_PASS_16 2, 1    H_PASS_16 2, 1
599    ENDFUNC
600    
601  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
602  ;// 8x? avrg Functions  ;// 8x? avrg Functions
603    
604  xvid_H_Pass_8_Add_mmx:  xvid_H_Pass_8_Add_mmx:
605    H_PASS_8 0, 1    H_PASS_8 0, 1
606    ENDFUNC
607  xvid_H_Pass_Avrg_8_Add_mmx:  xvid_H_Pass_Avrg_8_Add_mmx:
608    H_PASS_8 1, 1    H_PASS_8 1, 1
609    ENDFUNC
610  xvid_H_Pass_Avrg_Up_8_Add_mmx:  xvid_H_Pass_Avrg_Up_8_Add_mmx:
611    H_PASS_8 2, 1    H_PASS_8 2, 1
612    ENDFUNC
613    
614    
615    
# Line 683  Line 708 
708      ; the size (3rd argument) is meant to be a multiple of 4      ; the size (3rd argument) is meant to be a multiple of 4
709      ;  mm0..mm3 serves as a 4x4 delay line      ;  mm0..mm3 serves as a 4x4 delay line
710    
711  .Loop  .Loop:
712    
713    push edi    push edi
714    push esi      ; esi is preserved for src-mixing    push esi      ; esi is preserved for src-mixing
# Line 889  Line 914 
914      ; we process one stripe of 4x8 pixel each time      ; we process one stripe of 4x8 pixel each time
915      ; the size (3rd argument) is meant to be a multiple of 4      ; the size (3rd argument) is meant to be a multiple of 4
916      ;  mm0..mm3 serves as a 4x4 delay line      ;  mm0..mm3 serves as a 4x4 delay line
917  .Loop  .Loop:
918    
919    push edi    push edi
920    push esi      ; esi is preserved for src-mixing    push esi      ; esi is preserved for src-mixing
# Line 991  Line 1016 
1016    
1017  xvid_V_Pass_16_mmx:  xvid_V_Pass_16_mmx:
1018    V_PASS_16 0, 0    V_PASS_16 0, 0
1019    ENDFUNC
1020  xvid_V_Pass_Avrg_16_mmx:  xvid_V_Pass_Avrg_16_mmx:
1021    V_PASS_16 1, 0    V_PASS_16 1, 0
1022    ENDFUNC
1023  xvid_V_Pass_Avrg_Up_16_mmx:  xvid_V_Pass_Avrg_Up_16_mmx:
1024    V_PASS_16 2, 0    V_PASS_16 2, 0
1025    ENDFUNC
1026    
1027  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
1028  ;// 8x? copy Functions  ;// 8x? copy Functions
1029    
1030  xvid_V_Pass_8_mmx:  xvid_V_Pass_8_mmx:
1031    V_PASS_8 0, 0    V_PASS_8 0, 0
1032    ENDFUNC
1033  xvid_V_Pass_Avrg_8_mmx:  xvid_V_Pass_Avrg_8_mmx:
1034    V_PASS_8 1, 0    V_PASS_8 1, 0
1035    ENDFUNC
1036  xvid_V_Pass_Avrg_Up_8_mmx:  xvid_V_Pass_Avrg_Up_8_mmx:
1037    V_PASS_8 2, 0    V_PASS_8 2, 0
1038    ENDFUNC
1039    
1040  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
1041  ;// 16x? avrg Functions  ;// 16x? avrg Functions
1042    
1043  xvid_V_Pass_Add_16_mmx:  xvid_V_Pass_Add_16_mmx:
1044    V_PASS_16 0, 1    V_PASS_16 0, 1
1045    ENDFUNC
1046  xvid_V_Pass_Avrg_Add_16_mmx:  xvid_V_Pass_Avrg_Add_16_mmx:
1047    V_PASS_16 1, 1    V_PASS_16 1, 1
1048    ENDFUNC
1049  xvid_V_Pass_Avrg_Up_Add_16_mmx:  xvid_V_Pass_Avrg_Up_Add_16_mmx:
1050    V_PASS_16 2, 1    V_PASS_16 2, 1
1051    ENDFUNC
1052    
1053  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
1054  ;// 8x? avrg Functions  ;// 8x? avrg Functions
1055    
1056  xvid_V_Pass_8_Add_mmx:  xvid_V_Pass_8_Add_mmx:
1057    V_PASS_8 0, 1    V_PASS_8 0, 1
1058    ENDFUNC
1059  xvid_V_Pass_Avrg_8_Add_mmx:  xvid_V_Pass_Avrg_8_Add_mmx:
1060    V_PASS_8 1, 1    V_PASS_8 1, 1
1061    ENDFUNC
1062  xvid_V_Pass_Avrg_Up_8_Add_mmx:  xvid_V_Pass_Avrg_Up_8_Add_mmx:
1063    V_PASS_8 2, 1    V_PASS_8 2, 1
1064    ENDFUNC
1065    
1066  ;//////////////////////////////////////////////////////////////////////  ;//////////////////////////////////////////////////////////////////////
1067    
1068    %ifidn __OUTPUT_FORMAT__,elf
1069    section ".note.GNU-stack" noalloc noexec nowrite progbits
1070    %endif
1071    

Legend:
Removed from v.1519  
changed lines
  Added in v.1793

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