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

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

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

revision 1055, Mon Jun 9 17:08:36 2003 UTC revision 1382, Mon Mar 22 22:36:25 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  ;===========================================================================                  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    %ifdef FORMAT_COFF
54    SECTION .rodata data
55    %else
56    SECTION .rodata data align=16
57    %endif
58    
59    ;-----------------------------------------------------------------------------
60    ; Trigonometric Tables
61    ;-----------------------------------------------------------------------------
62    
63    ALIGN 16
64    wm1010:
65            dw 0, 0xffff, 0, 0xffff
66    
67    ALIGN 16
68    d40000:
69            dd 0x40000, 0
70    
71    ALIGN 16
72    coeffs:
73          dw      1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,               ; 0          dw      1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,               ; 0
74          dw      1<<(ROW_SHIFT-1), 1, 1<<(ROW_SHIFT-1), 0,               ; 8          dw      1<<(ROW_SHIFT-1), 1, 1<<(ROW_SHIFT-1), 0,               ; 8
75    
# Line 73  Line 93 
93    
94    
95  ;===========================================================================  ;===========================================================================
96  ; text  ; Helper macros
97  ;===========================================================================  ;===========================================================================
98  section .text  
99    ;---------------------------------------------------------------------------
100    ; DC_COND_IDCT
101    ;---------------------------------------------------------------------------
102    
103  %macro  DC_COND_IDCT    8  %macro  DC_COND_IDCT    8
104  %define src0            %1  %define src0            %1
# Line 182  Line 205 
205  %undef  shift  %undef  shift
206  %endmacro  %endmacro
207    
208    ;---------------------------------------------------------------------------
209    ; Z_COND_IDCT
210    ;---------------------------------------------------------------------------
211    
212  %macro  Z_COND_IDCT     9  %macro  Z_COND_IDCT     9
213  %define src0            %1  %define src0            %1
# Line 279  Line 304 
304  %undef  bt  %undef  bt
305  %endmacro  %endmacro
306    
307    ;---------------------------------------------------------------------------
308    ; IDCT0
309    ;---------------------------------------------------------------------------
310    
311  %macro  IDCT0           8  %macro  IDCT0           8
312  %define src0            %1  %define src0            %1
# Line 374  Line 401 
401  %undef  shift  %undef  shift
402  %endmacro  %endmacro
403    
404    ;---------------------------------------------------------------------------
405    ; IDCT4
406    ;---------------------------------------------------------------------------
407    
408  %macro  IDCT4           8  %macro  IDCT4           8
409  %define src0            %1  %define src0            %1
# Line 457  Line 486 
486  %undef  shift  %undef  shift
487  %endmacro  %endmacro
488    
489    ;---------------------------------------------------------------------------
490    ; IDCT6
491    ;---------------------------------------------------------------------------
492    
493  %macro  IDCT6           8  %macro  IDCT6           8
494  %define src0            %1  %define src0            %1
# Line 531  Line 562 
562  %undef  shift  %undef  shift
563  %endmacro  %endmacro
564    
565    ;---------------------------------------------------------------------------
566    ; IDCT2
567    ;---------------------------------------------------------------------------
568    
569  %macro  IDCT2           8  %macro  IDCT2           8
570  %define src0            %1  %define src0            %1
# Line 618  Line 650 
650  %undef  shift  %undef  shift
651  %endmacro  %endmacro
652    
653    ;---------------------------------------------------------------------------
654    ; IDCT3
655    ;---------------------------------------------------------------------------
656    
657  %macro  IDCT3           8  %macro  IDCT3           8
658  %define src0            %1  %define src0            %1
# Line 692  Line 726 
726  %undef  shift  %undef  shift
727  %endmacro  %endmacro
728    
729    ;---------------------------------------------------------------------------
730    ; IDCT5
731    ;---------------------------------------------------------------------------
732    
733  %macro  IDCT5           8  %macro  IDCT5           8
734  %define src0            %1  %define src0            %1
# Line 768  Line 804 
804  %undef  shift  %undef  shift
805  %endmacro  %endmacro
806    
807    ;---------------------------------------------------------------------------
808    ; IDCT1
809    ;---------------------------------------------------------------------------
810    
811  %macro  IDCT1           8  %macro  IDCT1           8
812  %define src0            %1  %define src0            %1
# Line 850  Line 889 
889  %undef  shift  %undef  shift
890  %endmacro  %endmacro
891    
892    ;---------------------------------------------------------------------------
893    ; IDCT7
894    ;---------------------------------------------------------------------------
895    
896  %macro  IDCT7           8  %macro  IDCT7           8
897  %define src0            %1  %define src0            %1
# Line 901  Line 941 
941  %undef  shift  %undef  shift
942  %endmacro  %endmacro
943    
944    ;---------------------------------------------------------------------------
945    ; Permutation helpers
946  %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  
947    
948  %macro XLODA 2  %macro XLODA 2
949          mov     bx, [srcP+2*%2]         ; get src contents          mov     bx, [srcP+2*%2]         ; get src contents
# Line 1028  Line 969 
969          mov     [srcP+2*%1], ax     ; store dest val          mov     [srcP+2*%1], ax     ; store dest val
970  %endmacro  %endmacro
971    
972    ;---------------------------------------------------------------------------
973    ; Permutation macro
974    ;---------------------------------------------------------------------------
975    
976  %macro PERMUTEP 1  %macro PERMUTEP 1
977  %define srcP            %1  %define srcP            %1
978          push ebx          push ebx
# Line 1113  Line 1058 
1058  %undef  srcP  %undef  srcP
1059  %endmacro  %endmacro
1060    
1061  ; void simple_idct_mmx(int16_t * const block);  ;=============================================================================
1062  align 16  ;  Code
1063    ;=============================================================================
1064    
1065    SECTION .text
1066    
1067    cglobal simple_idct_mmx_P
1068  cglobal simple_idct_mmx  cglobal simple_idct_mmx
1069    
1070  simple_idct_mmx  ;-----------------------------------------------------------------------------
1071    ; void simple_idct_mmx_P(int16_t * const block)
1072    ; expects input data to be permutated
1073    ;-----------------------------------------------------------------------------
1074    
1075    ALIGN 16
1076    simple_idct_mmx_P:
1077          sub esp, 128          sub esp, 128
1078          mov edx, [esp+128+4]          mov edx, [esp+128+4]
         PERMUTEP edx                    ; permute parm list in place  
1079    
1080  ;                               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,         shift,  bt  ;                               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,         shift,  bt
1081      DC_COND_IDCT  edx+0,  edx+8,  edx+16, edx+24, esp,    paddd,  [coeffs+8], 11
1082      Z_COND_IDCT   edx+32, edx+40, edx+48, edx+56, esp+32, paddd,  [coeffs],   11,     .four
1083      Z_COND_IDCT   edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],   11,     .two
1084      Z_COND_IDCT   edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],   11,     .one
1085      IDCT0         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1086      IDCT0         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1087      IDCT0         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1088      IDCT0         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1089      jmp .ret
1090    
1091    ALIGN 16
1092    .four
1093      Z_COND_IDCT   edx+64, edx+72, edx+80, edx+88, esp+64, paddd,  [coeffs],   11,     .six
1094      Z_COND_IDCT   edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],   11,     .five
1095      IDCT4         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1096      IDCT4         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1097      IDCT4         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1098      IDCT4         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1099      jmp .ret
1100    
1101    ALIGN 16
1102    .six
1103      Z_COND_IDCT   edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],   11,     .seven
1104      IDCT6         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1105      IDCT6         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1106      IDCT6         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1107      IDCT6         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1108      jmp .ret
1109    
1110    ALIGN 16
1111    .two
1112      Z_COND_IDCT   edx+96, edx+104,edx+112,edx+120,esp+96, paddd,  [coeffs],   11,     .three
1113      IDCT2         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1114      IDCT2         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1115      IDCT2         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1116      IDCT2         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1117      jmp .ret
1118    
1119    ALIGN 16
1120    .three
1121      IDCT3                 esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1122      IDCT3                 esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,                      20
1123      IDCT3                 esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,                      20
1124      IDCT3                 esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,                      20
1125      jmp .ret
1126    
1127    ALIGN 16
1128    .five
1129      IDCT5 esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1130      ; IDCT5       esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1131      IDCT5 esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1132      ; IDCT5       esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1133      jmp .ret
1134    
1135    ALIGN 16
1136    .one
1137      IDCT1         esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1138      IDCT1         esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1139      IDCT1         esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1140      IDCT1         esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1141      jmp .ret
1142    
1143    ALIGN 16
1144    .seven
1145      IDCT7 esp,    esp+64, esp+32, esp+96, edx,    nop,    0,          20
1146      ; IDCT7       esp+8,  esp+72, esp+40, esp+104,edx+4,  nop,    0,          20
1147      IDCT7 esp+16, esp+80, esp+48, esp+112,edx+8,  nop,    0,          20
1148      ; IDCT7       esp+24, esp+88, esp+56, esp+120,edx+12, nop,    0,          20
1149    
1150    .ret
1151      add esp, 128
1152    
1153      ret
1154    
1155    
1156    ;-----------------------------------------------------------------------------
1157    ; void simple_idct_mmx(int16_t * const block)
1158    ;
1159    ; simple_idct_mmx is the same function as simple_idct_mmx_P above except that
1160    ; on entry it will do a fast in-line and in-place permutation on the iDCT parm
1161    ; list.  This means that same parm list will also not have to be copied on the
1162    ; way out. - trbarry 6/2003
1163    ;-----------------------------------------------------------------------------
1164    
1165    ALIGN 16
1166    simple_idct_mmx:
1167      sub esp, 128
1168      mov edx, [esp+128+4]
1169      PERMUTEP edx                  ; permute parm list in place
1170    
1171    ;               src0,   src4,   src1,   src5,   dst,    rndop,  rndarg,     shift,  bt
1172          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
1173          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
1174          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 1179 
1179          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
1180          jmp     .retP          jmp     .retP
1181    
1182  align 16  ALIGN 16
1183  .fourP  .fourP
1184          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
1185          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 1189 
1189          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
1190          jmp     .retP          jmp     .retP
1191    
1192  align 16  ALIGN 16
1193  .sixP  .sixP
1194          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
1195          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 1198 
1198          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
1199          jmp     .retP          jmp     .retP
1200    
1201  align 16  ALIGN 16
1202  .twoP  .twoP
1203          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
1204          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 1207 
1207          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
1208          jmp     .retP          jmp     .retP
1209    
1210  align 16  ALIGN 16
1211  .threeP  .threeP
1212          IDCT3           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT3           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1213          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 1215 
1215          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
1216          jmp     .retP          jmp     .retP
1217    
1218  align 16  ALIGN 16
1219  .fiveP  .fiveP
1220          IDCT5           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT5           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1221          ; 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 1223 
1223          ; 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
1224          jmp     .retP          jmp     .retP
1225    
1226  align 16  ALIGN 16
1227  .oneP  .oneP
1228          IDCT1           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT1           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1229          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 1231 
1231          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
1232          jmp     .retP          jmp     .retP
1233    
1234  align 16  ALIGN 16
1235  .sevenP  .sevenP
1236          IDCT7           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20          IDCT7           esp,    esp+64, esp+32, esp+96, edx,    nop,    0,                      20
1237          ; 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 1240 
1240    
1241  .retP  .retP
1242          add esp, 128          add esp, 128
         ret  
   
1243    
1244      ret

Legend:
Removed from v.1055  
changed lines
  Added in v.1382

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