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

Diff of /branches/dev-api-4/xvidcore/src/dct/x86_asm/simple_idct_mmx.asm

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

revision 1058, Mon Jun 9 19:42:25 2003 UTC revision 1190, Mon Oct 27 01:03:06 2003 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  ;===========================================================================                  global _%1
32                    %define %1 _%1
 %ifdef FORMAT_COFF  
 section .data  
 align 8  
33  %else  %else
34  section .data data align=8                  global %1
35  %endif  %endif
36    %endmacro
 wm1010  dw              0, 0xffff, 0, 0xffff  
 d40000  dd              0x40000, 0  
   
37    
38  %define ROW_SHIFT 11  %define ROW_SHIFT 11
39  %define COL_SHIFT 20  %define COL_SHIFT 20
# Line 49  Line 46 
46  %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
47  %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
48    
49  coeffs  ;===========================================================================
50    ; Data (Read Only)
51    ;===========================================================================
52    
53    SECTION .rodata
54    
55    ;-----------------------------------------------------------------------------
56    ; Trigonometric Tables
57    ;-----------------------------------------------------------------------------
58    
59    ALIGN 16
60    wm1010:
61            dw 0, 0xffff, 0, 0xffff
62    
63    ALIGN 16
64    d40000:
65            dd 0x40000, 0
66    
67    ALIGN 16
68    coeffs:
69          dw      1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,               ; 0          dw      1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,               ; 0
70          dw      1<<(ROW_SHIFT-1), 1, 1<<(ROW_SHIFT-1), 0,               ; 8          dw      1<<(ROW_SHIFT-1), 1, 1<<(ROW_SHIFT-1), 0,               ; 8
71    
# Line 73  Line 89 
89    
90    
91  ;===========================================================================  ;===========================================================================
92  ; text  ; Helper macros
93  ;===========================================================================  ;===========================================================================
94  section .text  
95    ;---------------------------------------------------------------------------
96    ; DC_COND_IDCT
97    ;---------------------------------------------------------------------------
98    
99  %macro  DC_COND_IDCT    8  %macro  DC_COND_IDCT    8
100  %define src0            %1  %define src0            %1
# Line 182  Line 201 
201  %undef  shift  %undef  shift
202  %endmacro  %endmacro
203    
204    ;---------------------------------------------------------------------------
205    ; Z_COND_IDCT
206    ;---------------------------------------------------------------------------
207    
208  %macro  Z_COND_IDCT     9  %macro  Z_COND_IDCT     9
209  %define src0            %1  %define src0            %1
# Line 279  Line 300 
300  %undef  bt  %undef  bt
301  %endmacro  %endmacro
302    
303    ;---------------------------------------------------------------------------
304    ; IDCT0
305    ;---------------------------------------------------------------------------
306    
307  %macro  IDCT0           8  %macro  IDCT0           8
308  %define src0            %1  %define src0            %1
# Line 374  Line 397 
397  %undef  shift  %undef  shift
398  %endmacro  %endmacro
399    
400    ;---------------------------------------------------------------------------
401    ; IDCT4
402    ;---------------------------------------------------------------------------
403    
404  %macro  IDCT4           8  %macro  IDCT4           8
405  %define src0            %1  %define src0            %1
# Line 457  Line 482 
482  %undef  shift  %undef  shift
483  %endmacro  %endmacro
484    
485    ;---------------------------------------------------------------------------
486    ; IDCT6
487    ;---------------------------------------------------------------------------
488    
489  %macro  IDCT6           8  %macro  IDCT6           8
490  %define src0            %1  %define src0            %1
# Line 531  Line 558 
558  %undef  shift  %undef  shift
559  %endmacro  %endmacro
560    
561    ;---------------------------------------------------------------------------
562    ; IDCT2
563    ;---------------------------------------------------------------------------
564    
565  %macro  IDCT2           8  %macro  IDCT2           8
566  %define src0            %1  %define src0            %1
# Line 618  Line 646 
646  %undef  shift  %undef  shift
647  %endmacro  %endmacro
648    
649    ;---------------------------------------------------------------------------
650    ; IDCT3
651    ;---------------------------------------------------------------------------
652    
653  %macro  IDCT3           8  %macro  IDCT3           8
654  %define src0            %1  %define src0            %1
# Line 692  Line 722 
722  %undef  shift  %undef  shift
723  %endmacro  %endmacro
724    
725    ;---------------------------------------------------------------------------
726    ; IDCT5
727    ;---------------------------------------------------------------------------
728    
729  %macro  IDCT5           8  %macro  IDCT5           8
730  %define src0            %1  %define src0            %1
# Line 768  Line 800 
800  %undef  shift  %undef  shift
801  %endmacro  %endmacro
802    
803    ;---------------------------------------------------------------------------
804    ; IDCT1
805    ;---------------------------------------------------------------------------
806    
807  %macro  IDCT1           8  %macro  IDCT1           8
808  %define src0            %1  %define src0            %1
# Line 850  Line 885 
885  %undef  shift  %undef  shift
886  %endmacro  %endmacro
887    
888    ;---------------------------------------------------------------------------
889    ; IDCT7
890    ;---------------------------------------------------------------------------
891    
892  %macro  IDCT7           8  %macro  IDCT7           8
893  %define src0            %1  %define src0            %1
# Line 901  Line 937 
937  %undef  shift  %undef  shift
938  %endmacro  %endmacro
939    
940    ;---------------------------------------------------------------------------
941    ; Permutation helpers
942  %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  
943    
944  %macro XLODA 2  %macro XLODA 2
945          mov     bx, [srcP+2*%2]         ; get src contents          mov     bx, [srcP+2*%2]         ; get src contents
# Line 1028  Line 965 
965          mov     [srcP+2*%1], ax     ; store dest val          mov     [srcP+2*%1], ax     ; store dest val
966  %endmacro  %endmacro
967    
968    ;---------------------------------------------------------------------------
969    ; Permutation macro
970    ;---------------------------------------------------------------------------
971    
972  %macro PERMUTEP 1  %macro PERMUTEP 1
973  %define srcP            %1  %define srcP            %1
974          push ebx          push ebx
# Line 1113  Line 1054 
1054  %undef  srcP  %undef  srcP
1055  %endmacro  %endmacro
1056    
1057  ; void simple_idct_mmx(int16_t * const block);  ;=============================================================================
1058  align 16  ;  Code
1059  cglobal simple_idct_mmx  ;=============================================================================
1060    
1061    SECTION .text
1062    
1063  simple_idct_mmx  ;-----------------------------------------------------------------------------
1064    ; void simple_idct_mmx_P(int16_t * const block)
1065    ; expects input data to be permutated
1066    ;-----------------------------------------------------------------------------
1067    
1068    ALIGN 16
1069    cglobal simple_idct_mmx_P
1070    simple_idct_mmx_P:
1071          sub esp, 128          sub esp, 128
1072          mov edx, [esp+128+4]          mov edx, [esp+128+4]
         PERMUTEP edx                    ; permute parm list in place  
1073    
1074  ;                               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,         shift,  bt  ;                               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,         shift,  bt
1075            DC_COND_IDCT edx+0,     edx+8,  edx+16, edx+24, esp,    paddd,  [coeffs+8],     11
1076            Z_COND_IDCT     edx+32, edx+40, edx+48, edx+56, esp+32, paddd,  [coeffs],       11,             .four
1077            Z_COND_IDCT     edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],       11,             .two
1078            Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .one
1079            IDCT0           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1080            IDCT0           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1081            IDCT0           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1082            IDCT0           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1083            jmp     .ret
1084    
1085    ALIGN 16
1086    .four
1087            Z_COND_IDCT     edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],       11,             .six
1088            Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .five
1089            IDCT4           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1090            IDCT4           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1091            IDCT4           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1092            IDCT4           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1093            jmp     .ret
1094    
1095    ALIGN 16
1096    .six
1097            Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .seven
1098            IDCT6           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1099            IDCT6           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1100            IDCT6           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1101            IDCT6           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1102            jmp     .ret
1103    
1104    ALIGN 16
1105    .two
1106            Z_COND_IDCT     edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],       11,             .three
1107            IDCT2           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1108            IDCT2           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1109            IDCT2           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1110            IDCT2           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1111            jmp     .ret
1112    
1113    ALIGN 16
1114    .three
1115            IDCT3           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1116            IDCT3           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1117            IDCT3           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1118            IDCT3           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1119            jmp     .ret
1120    
1121    ALIGN 16
1122    .five
1123            IDCT5           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1124            ; IDCT5         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1125            IDCT5           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1126            ; IDCT5         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1127            jmp     .ret
1128    
1129    ALIGN 16
1130    .one
1131            IDCT1           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1132            IDCT1           esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1133            IDCT1           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1134            IDCT1           esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1135            jmp     .ret
1136    
1137    ALIGN 16
1138    .seven
1139            IDCT7           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1140            ; IDCT7         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1141            IDCT7           esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1142            ; IDCT7         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1143    
1144    .ret
1145            add esp, 128
1146    
1147            ret
1148    
1149    
1150    ;-----------------------------------------------------------------------------
1151    ; void simple_idct_mmx(int16_t * const block)
1152    ;
1153    ; simple_idct_mmx is the same function as simple_idct_mmx_P above except that
1154    ; on entry it will do a fast in-line and in-place permutation on the iDCT parm
1155    ; list.  This means that same parm list will also not have to be copied on the
1156    ; way out. - trbarry 6/2003
1157    ;-----------------------------------------------------------------------------
1158    
1159    ALIGN 16
1160    cglobal simple_idct_mmx
1161    simple_idct_mmx:
1162            sub esp, 128
1163            mov edx, [esp+128+4]
1164            PERMUTEP edx                    ; permute parm list in place
1165    
1166    ;                               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,         shift,  bt
1167          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
1168          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
1169          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 1174 
1174          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
1175          jmp     .retP          jmp     .retP
1176    
1177  align 16  ALIGN 16
1178  .fourP  .fourP
1179          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
1180          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 1184 
1184          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
1185          jmp     .retP          jmp     .retP
1186    
1187  align 16  ALIGN 16
1188  .sixP  .sixP
1189          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
1190          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 1193 
1193          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
1194          jmp     .retP          jmp     .retP
1195    
1196  align 16  ALIGN 16
1197  .twoP  .twoP
1198          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
1199          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 1202 
1202          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
1203          jmp     .retP          jmp     .retP
1204    
1205  align 16  ALIGN 16
1206  .threeP  .threeP
1207          IDCT3           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT3           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1208          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 1210 
1210          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
1211          jmp     .retP          jmp     .retP
1212    
1213  align 16  ALIGN 16
1214  .fiveP  .fiveP
1215          IDCT5           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT5           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1216          ; 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 1218 
1218          ; 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
1219          jmp     .retP          jmp     .retP
1220    
1221  align 16  ALIGN 16
1222  .oneP  .oneP
1223          IDCT1           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT1           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1224          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 1226 
1226          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
1227          jmp     .retP          jmp     .retP
1228    
1229  align 16  ALIGN 16
1230  .sevenP  .sevenP
1231          IDCT7           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT7           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1232          ; 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 1235 
1235    
1236  .retP  .retP
1237          add esp, 128          add esp, 128
1238    
1239          ret          ret
1240    
1241    

Legend:
Removed from v.1058  
changed lines
  Added in v.1190

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