comparison dct-test.c @ 635:3e0f62e5eed6 libavcodec

dct cleanup more accurate mmx dct (dont discard bits for fun) fixing mmx quantizer bug for qscale%2==1 (bias was slightly wrong)
author michaelni
date Sun, 01 Sep 2002 16:52:33 +0000
parents e7b72c1dfa1b
children 9abb13c21fbe
comparison
equal deleted inserted replaced
634:be1cb0e1f276 635:3e0f62e5eed6
99 block1[i] = 0; 99 block1[i] = 0;
100 switch(test){ 100 switch(test){
101 case 0: 101 case 0:
102 for(i=0;i<64;i++) 102 for(i=0;i<64;i++)
103 block1[i] = (random() % 512) -256; 103 block1[i] = (random() % 512) -256;
104 if (is_idct) 104 if (is_idct){
105 fdct(block1); 105 fdct(block1);
106
107 for(i=0;i<64;i++)
108 block1[i]>>=3;
109 }
106 break; 110 break;
107 case 1:{ 111 case 1:{
108 int num= (random()%10)+1; 112 int num= (random()%10)+1;
109 for(i=0;i<num;i++) 113 for(i=0;i<num;i++)
110 block1[random()%64] = (random() % 512) -256; 114 block1[random()%64] = (random() % 512) -256;
151 fdct_func(block); 155 fdct_func(block);
152 emms(); /* for ff_mmx_idct */ 156 emms(); /* for ff_mmx_idct */
153 157
154 if (fdct_func == fdct_ifast) { 158 if (fdct_func == fdct_ifast) {
155 for(i=0; i<64; i++) { 159 for(i=0; i<64; i++) {
156 scale = (1 << (AANSCALE_BITS + 11)) / aanscales[i]; 160 scale = 8*(1 << (AANSCALE_BITS + 11)) / aanscales[i];
157 block[i] = (block[i] * scale /*+ (1<<(AANSCALE_BITS-1))*/) >> AANSCALE_BITS; 161 block[i] = (block[i] * scale /*+ (1<<(AANSCALE_BITS-1))*/) >> AANSCALE_BITS;
158 }
159 }
160
161 if (fdct_func == ff_jpeg_fdct_islow) {
162 for(i=0; i<64; i++) {
163 block[i] = (block[i]+3)>>3;
164 } 162 }
165 } 163 }
166 164
167 fdct_ref(block1); 165 fdct_ref(block1);
168 166
210 block1[i] = 0; 208 block1[i] = 0;
211 switch(test){ 209 switch(test){
212 case 0: 210 case 0:
213 for(i=0;i<64;i++) 211 for(i=0;i<64;i++)
214 block1[i] = (random() % 512) -256; 212 block1[i] = (random() % 512) -256;
215 if (is_idct) 213 if (is_idct){
216 fdct(block1); 214 fdct(block1);
215
216 for(i=0;i<64;i++)
217 block1[i]>>=3;
218 }
217 break; 219 break;
218 case 1:{ 220 case 1:{
219 case 2: 221 case 2:
220 block1[0] = (random() % 512) -256; 222 block1[0] = (random() % 512) -256;
221 block1[1] = (random() % 512) -256; 223 block1[1] = (random() % 512) -256;