[cvs] / xvidcore / src / dct / x86_asm / simple_idct_mmx.asm Repository:
ViewVC logotype

Diff of /xvidcore/src/dct/x86_asm/simple_idct_mmx.asm

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

revision 1.3, Mon Jun 9 17:08:36 2003 UTC revision 1.7, Sun Aug 29 10:02:38 2004 UTC
# Line 20  Line 20 
20  ; * Ported to nasm by Peter Ross <pross@xvid.org>  ; * Ported to nasm by Peter Ross <pross@xvid.org>
21  ; */  ; */
22    
23  bits 32  BITS 32
24    
25    ;=============================================================================
26    ; Macros and other preprocessor constants
27    ;=============================================================================
28    
29  ;===========================================================================  %macro cglobal 1
30  ; data          %ifdef PREFIX
31  ;===========================================================================                  %ifdef MARK_FUNCS
32                            global _%1:function %1.endfunc-%1
33  %ifdef FORMAT_COFF                          %define %1 _%1:function %1.endfunc-%1
 section .data  
 align 8  
34  %else  %else
35  section .data data align=8                          global _%1
36                            %define %1 _%1
37  %endif  %endif
38            %else
39  wm1010  dw              0, 0xffff, 0, 0xffff                  %ifdef MARK_FUNCS
40  d40000  dd              0x40000, 0                          global %1:function %1.endfunc-%1
41                    %else
42                            global %1
43                    %endif
44            %endif
45    %endmacro
46    
47  %define ROW_SHIFT 11  %define ROW_SHIFT 11
48  %define COL_SHIFT 20  %define COL_SHIFT 20
# Line 49  Line 55 
55  %define C6 8867         ;cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 = 8866.956905  %define C6 8867         ;cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 = 8866.956905
56  %define C7 4520         ;cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 = 4520.335430  %define C7 4520         ;cos(i*M_PI/16)*sqrt(2)*(1<<14) + 0.5 = 4520.335430
57    
58  coeffs  ;===========================================================================
59    ; Data (Read Only)
60    ;===========================================================================
61    
62    %ifdef FORMAT_COFF
63    SECTION .rodata
64    %else
65    SECTION .rodata align=16
66    %endif
67    
68    ;-----------------------------------------------------------------------------
69    ; Trigonometric Tables
70    ;-----------------------------------------------------------------------------
71    
72    ALIGN 16
73    wm1010:
74            dw 0, 0xffff, 0, 0xffff
75    
76    ALIGN 16
77    d40000:
78            dd 0x40000, 0
79    
80    ALIGN 16
81    coeffs:
82          dw      1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,               ; 0          dw      1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,               ; 0
83          dw      1<<(ROW_SHIFT-1), 1, 1<<(ROW_SHIFT-1), 0,               ; 8          dw      1<<(ROW_SHIFT-1), 1, 1<<(ROW_SHIFT-1), 0,               ; 8
84    
# Line 73  Line 102 
102    
103    
104  ;===========================================================================  ;===========================================================================
105  ; text  ; Helper macros
106  ;===========================================================================  ;===========================================================================
107  section .text  
108    ;---------------------------------------------------------------------------
109    ; DC_COND_IDCT
110    ;---------------------------------------------------------------------------
111    
112  %macro  DC_COND_IDCT    8  %macro  DC_COND_IDCT    8
113  %define src0            %1  %define src0            %1
# Line 182  Line 214 
214  %undef  shift  %undef  shift
215  %endmacro  %endmacro
216    
217    ;---------------------------------------------------------------------------
218    ; Z_COND_IDCT
219    ;---------------------------------------------------------------------------
220    
221  %macro  Z_COND_IDCT     9  %macro  Z_COND_IDCT     9
222  %define src0            %1  %define src0            %1
# Line 279  Line 313 
313  %undef  bt  %undef  bt
314  %endmacro  %endmacro
315    
316    ;---------------------------------------------------------------------------
317    ; IDCT0
318    ;---------------------------------------------------------------------------
319    
320  %macro  IDCT0           8  %macro  IDCT0           8
321  %define src0            %1  %define src0            %1
# Line 374  Line 410 
410  %undef  shift  %undef  shift
411  %endmacro  %endmacro
412    
413    ;---------------------------------------------------------------------------
414    ; IDCT4
415    ;---------------------------------------------------------------------------
416    
417  %macro  IDCT4           8  %macro  IDCT4           8
418  %define src0            %1  %define src0            %1
# Line 457  Line 495 
495  %undef  shift  %undef  shift
496  %endmacro  %endmacro
497    
498    ;---------------------------------------------------------------------------
499    ; IDCT6
500    ;---------------------------------------------------------------------------
501    
502  %macro  IDCT6           8  %macro  IDCT6           8
503  %define src0            %1  %define src0            %1
# Line 531  Line 571 
571  %undef  shift  %undef  shift
572  %endmacro  %endmacro
573    
574    ;---------------------------------------------------------------------------
575    ; IDCT2
576    ;---------------------------------------------------------------------------
577    
578  %macro  IDCT2           8  %macro  IDCT2           8
579  %define src0            %1  %define src0            %1
# Line 618  Line 659 
659  %undef  shift  %undef  shift
660  %endmacro  %endmacro
661    
662    ;---------------------------------------------------------------------------
663    ; IDCT3
664    ;---------------------------------------------------------------------------
665    
666  %macro  IDCT3           8  %macro  IDCT3           8
667  %define src0            %1  %define src0            %1
# Line 692  Line 735 
735  %undef  shift  %undef  shift
736  %endmacro  %endmacro
737    
738    ;---------------------------------------------------------------------------
739    ; IDCT5
740    ;---------------------------------------------------------------------------
741    
742  %macro  IDCT5           8  %macro  IDCT5           8
743  %define src0            %1  %define src0            %1
# Line 768  Line 813 
813  %undef  shift  %undef  shift
814  %endmacro  %endmacro
815    
816    ;---------------------------------------------------------------------------
817    ; IDCT1
818    ;---------------------------------------------------------------------------
819    
820  %macro  IDCT1           8  %macro  IDCT1           8
821  %define src0            %1  %define src0            %1
# Line 850  Line 898 
898  %undef  shift  %undef  shift
899  %endmacro  %endmacro
900    
901    ;---------------------------------------------------------------------------
902    ; IDCT7
903    ;---------------------------------------------------------------------------
904    
905  %macro  IDCT7           8  %macro  IDCT7           8
906  %define src0            %1  %define src0            %1
# Line 901  Line 950 
950  %undef  shift  %undef  shift
951  %endmacro  %endmacro
952    
953    ;---------------------------------------------------------------------------
954    ; Permutation helpers
955  %macro cglobal 1  ;---------------------------------------------------------------------------
         %ifdef PREFIX  
                 global _%1  
                 %define %1 _%1  
         %else  
                 global %1  
         %endif  
 %endmacro  
   
   
 ; void simple_idct_mmx_P(int16_t * const block);  
 ; expects input data to be permutated  
 ;  
 align 16  
 cglobal simple_idct_mmx_P  
 simple_idct_mmx_P  
         sub esp, 128  
         mov edx, [esp+128+4]  
   
 ;                               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,         shift,  bt  
   
         DC_COND_IDCT edx+0,     edx+8,  edx+16, edx+24, esp,    paddd,  [coeffs+8],     11  
         Z_COND_IDCT     edx+32, edx+40, edx+48, edx+56, esp+32, paddd,  [coeffs],       11,             .four  
         Z_COND_IDCT     edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],       11,             .two  
         Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .one  
         IDCT0           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20  
         IDCT0           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20  
         IDCT0           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20  
         IDCT0           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20  
         jmp     .ret  
   
 align 16  
 .four  
         Z_COND_IDCT     edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],       11,             .six  
         Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .five  
         IDCT4           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20  
         IDCT4           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20  
         IDCT4           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20  
         IDCT4           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20  
         jmp     .ret  
   
 align 16  
 .six  
         Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .seven  
         IDCT6           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20  
         IDCT6           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20  
         IDCT6           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20  
         IDCT6           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20  
         jmp     .ret  
   
 align 16  
 .two  
         Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .three  
         IDCT2           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20  
         IDCT2           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20  
         IDCT2           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20  
         IDCT2           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20  
         jmp     .ret  
   
 align 16  
 .three  
         IDCT3           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20  
         IDCT3           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20  
         IDCT3           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20  
         IDCT3           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20  
         jmp     .ret  
   
 align 16  
 .five  
         IDCT5           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20  
         ; IDCT5         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20  
         IDCT5           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20  
         ; IDCT5         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20  
         jmp     .ret  
   
 align 16  
 .one  
         IDCT1           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20  
         IDCT1           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20  
         IDCT1           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20  
         IDCT1           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20  
         jmp     .ret  
   
 align 16  
 .seven  
         IDCT7           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20  
         ; IDCT7         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20  
         IDCT7           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20  
         ; IDCT7         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20  
   
 .ret  
         add esp, 128  
         ret  
   
   
 ;------------------ again with permuted parms --------  
 ;  
 ; simple_idct_mmx is the same function as simple_idct_mmx_P above except that on entry it will  
 ; do a fast in-line and in-place permutation on the iDCT parm list.  This means that same parm list  
 ; will also not have to be copied on the way out. - trbarry 6/2003  
956    
957  %macro XLODA 2  %macro XLODA 2
958          mov     bx, [srcP+2*%2]         ; get src contents          mov     bx, [srcP+2*%2]         ; get src contents
# Line 1028  Line 978 
978          mov     [srcP+2*%1], ax     ; store dest val          mov     [srcP+2*%1], ax     ; store dest val
979  %endmacro  %endmacro
980    
981    ;---------------------------------------------------------------------------
982    ; Permutation macro
983    ;---------------------------------------------------------------------------
984    
985  %macro PERMUTEP 1  %macro PERMUTEP 1
986  %define srcP            %1  %define srcP            %1
987          push ebx          push ebx
# Line 1113  Line 1067 
1067  %undef  srcP  %undef  srcP
1068  %endmacro  %endmacro
1069    
1070  ; void simple_idct_mmx(int16_t * const block);  ;=============================================================================
1071  align 16  ;  Code
1072    ;=============================================================================
1073    
1074    SECTION .text
1075    
1076    cglobal simple_idct_mmx_P
1077  cglobal simple_idct_mmx  cglobal simple_idct_mmx
1078    
1079  simple_idct_mmx  ;-----------------------------------------------------------------------------
1080    ; void simple_idct_mmx_P(int16_t * const block)
1081    ; expects input data to be permutated
1082    ;-----------------------------------------------------------------------------
1083    
1084    ALIGN 16
1085    simple_idct_mmx_P:
1086          sub esp, 128          sub esp, 128
1087          mov edx, [esp+128+4]          mov edx, [esp+128+4]
         PERMUTEP edx                    ; permute parm list in place  
1088    
1089  ;                               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,         shift,  bt  ;                               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,         shift,  bt
1090      DC_COND_IDCT  edx+0,  edx+8,  edx+16, edx+24, esp,    paddd,  [coeffs+8], 11
1091      Z_COND_IDCT   edx+32, edx+40, edx+48, edx+56, esp+32, paddd,  [coeffs],   11,     .four
1092      Z_COND_IDCT   edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],   11,     .two
1093      Z_COND_IDCT   edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],   11,     .one
1094      IDCT0         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1095      IDCT0         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1096      IDCT0         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1097      IDCT0         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1098      jmp .ret
1099    
1100    ALIGN 16
1101    .four
1102      Z_COND_IDCT   edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],   11,     .six
1103      Z_COND_IDCT   edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],   11,     .five
1104      IDCT4         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1105      IDCT4         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1106      IDCT4         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1107      IDCT4         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1108      jmp .ret
1109    
1110    ALIGN 16
1111    .six
1112      Z_COND_IDCT   edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],   11,     .seven
1113      IDCT6         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1114      IDCT6         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1115      IDCT6         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1116      IDCT6         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1117      jmp .ret
1118    
1119    ALIGN 16
1120    .two
1121      Z_COND_IDCT   edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],   11,     .three
1122      IDCT2         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1123      IDCT2         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1124      IDCT2         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1125      IDCT2         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1126      jmp .ret
1127    
1128    ALIGN 16
1129    .three
1130      IDCT3                 esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1131      IDCT3                 esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1132      IDCT3                 esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1133      IDCT3                 esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1134      jmp .ret
1135    
1136    ALIGN 16
1137    .five
1138      IDCT5 esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1139      ; IDCT5       esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1140      IDCT5 esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1141      ; IDCT5       esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1142      jmp .ret
1143    
1144    ALIGN 16
1145    .one
1146      IDCT1         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1147      IDCT1         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1148      IDCT1         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1149      IDCT1         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1150      jmp .ret
1151    
1152    ALIGN 16
1153    .seven
1154      IDCT7 esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1155      ; IDCT7       esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1156      IDCT7 esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1157      ; IDCT7       esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1158    
1159    .ret
1160      add esp, 128
1161    
1162      ret
1163    .endfunc
1164    
1165    
1166    ;-----------------------------------------------------------------------------
1167    ; void simple_idct_mmx(int16_t * const block)
1168    ;
1169    ; simple_idct_mmx is the same function as simple_idct_mmx_P above except that
1170    ; on entry it will do a fast in-line and in-place permutation on the iDCT parm
1171    ; list.  This means that same parm list will also not have to be copied on the
1172    ; way out. - trbarry 6/2003
1173    ;-----------------------------------------------------------------------------
1174    
1175    ALIGN 16
1176    simple_idct_mmx:
1177      sub esp, 128
1178      mov edx, [esp+128+4]
1179      PERMUTEP edx                  ; permute parm list in place
1180    
1181    ;               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,     shift,  bt
1182          DC_COND_IDCT edx+0,     edx+8,  edx+16, edx+24, esp,    paddd,  [coeffs+8],     11          DC_COND_IDCT edx+0,     edx+8,  edx+16, edx+24, esp,    paddd,  [coeffs+8],     11
1183          Z_COND_IDCT     edx+32, edx+40, edx+48, edx+56, esp+32, paddd,  [coeffs],       11,             .fourP          Z_COND_IDCT     edx+32, edx+40, edx+48, edx+56, esp+32, paddd,  [coeffs],       11,             .fourP
1184          Z_COND_IDCT     edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],       11,             .twoP          Z_COND_IDCT     edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],       11,             .twoP
# Line 1134  Line 1189 
1189          IDCT0           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20          IDCT0           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1190          jmp     .retP          jmp     .retP
1191    
1192  align 16  ALIGN 16
1193  .fourP  .fourP
1194          Z_COND_IDCT     edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],       11,             .sixP          Z_COND_IDCT     edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],       11,             .sixP
1195          Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .fiveP          Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .fiveP
# Line 1144  Line 1199 
1199          IDCT4           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20          IDCT4           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1200          jmp     .retP          jmp     .retP
1201    
1202  align 16  ALIGN 16
1203  .sixP  .sixP
1204          Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .sevenP          Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .sevenP
1205          IDCT6           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT6           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
# Line 1153  Line 1208 
1208          IDCT6           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20          IDCT6           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1209          jmp     .retP          jmp     .retP
1210    
1211  align 16  ALIGN 16
1212  .twoP  .twoP
1213          Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .threeP          Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .threeP
1214          IDCT2           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT2           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
# Line 1162  Line 1217 
1217          IDCT2           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20          IDCT2           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1218          jmp     .retP          jmp     .retP
1219    
1220  align 16  ALIGN 16
1221  .threeP  .threeP
1222          IDCT3           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT3           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1223          IDCT3           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20          IDCT3           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
# Line 1170  Line 1225 
1225          IDCT3           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20          IDCT3           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1226          jmp     .retP          jmp     .retP
1227    
1228  align 16  ALIGN 16
1229  .fiveP  .fiveP
1230          IDCT5           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT5           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1231          ; IDCT5         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20          ; IDCT5         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
# Line 1178  Line 1233 
1233          ; IDCT5         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20          ; IDCT5         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1234          jmp     .retP          jmp     .retP
1235    
1236  align 16  ALIGN 16
1237  .oneP  .oneP
1238          IDCT1           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT1           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1239          IDCT1           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20          IDCT1           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
# Line 1186  Line 1241 
1241          IDCT1           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20          IDCT1           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1242          jmp     .retP          jmp     .retP
1243    
1244  align 16  ALIGN 16
1245  .sevenP  .sevenP
1246          IDCT7           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT7           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1247          ; IDCT7         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20          ; IDCT7         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
# Line 1195  Line 1250 
1250    
1251  .retP  .retP
1252          add esp, 128          add esp, 128
         ret  
1253    
1254      ret
1255    .endfunc
1256    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

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