490 |
s = 0; for(i=0; i<8*32; ++i) { s += (Src8[i]-Ref1[i])&i; } |
s = 0; for(i=0; i<8*32; ++i) { s += (Src8[i]-Ref1[i])&i; } |
491 |
printf( "crc2=%d\n", s); |
printf( "crc2=%d\n", s); |
492 |
if (s!=16256) printf( "*** CRC ERROR! ***\n" ); |
if (s!=16256) printf( "*** CRC ERROR! ***\n" ); |
493 |
#if 1 |
|
494 |
TEST_TRANSFER3(transfer_8to16sub2, Dst16, Src8, Ref1, Ref2); |
TEST_TRANSFER3(transfer_8to16sub2, Dst16, Src8, Ref1, Ref2); |
495 |
printf( "%s - 8to16sub2 %.3f usec crc=%d\n", cpu->name, t, s ); |
printf( "%s - 8to16sub2 %.3f usec crc=%d\n", cpu->name, t, s ); |
496 |
if (s!=20384) printf( "*** CRC ERROR! ***\n" ); |
if (s!=22368) printf( "*** CRC ERROR! ***\n" ); |
497 |
// for(i=0; i<64; ++i) printf( "[%d]", Dst16[i]); |
|
|
// printf("\n"); |
|
|
#endif |
|
498 |
printf( " --- \n" ); |
printf( " --- \n" ); |
499 |
} |
} |
500 |
} |
} |
1356 |
} |
} |
1357 |
|
|
1358 |
/********************************************************************* |
/********************************************************************* |
1359 |
* 'Reference' output (except for timing) on a PIII 1.13Ghz/linux |
* 'Reference' output (except for timing) on an Athlon XP 2200+ |
1360 |
*********************************************************************/ |
*********************************************************************/ |
1361 |
|
|
1362 |
/* as of 07/01/2002, there's a problem with mpeg4-quantization */ |
/* as of 07/01/2002, there's a problem with MMX mpeg4-quantization */ |
1363 |
/* |
/* |
1364 |
|
|
1365 |
===== test fdct/idct ===== |
===== test fdct/idct ===== |
1366 |
PLAINC - 3.312 usec PSNR=13.291 MSE=3.000 |
PLAINC - 1.446 usec PSNR=13.291 MSE=3.000 |
1367 |
MMX - 0.591 usec PSNR=13.291 MSE=3.000 |
MMX - -0.260 usec PSNR=9.611 MSE=7.000 |
1368 |
MMXEXT - 0.577 usec PSNR=13.291 MSE=3.000 |
MMXEXT - -0.293 usec PSNR=9.611 MSE=7.000 |
1369 |
SSE2 - 0.588 usec PSNR=13.291 MSE=3.000 |
3DNOW - 1.535 usec PSNR=13.291 MSE=3.000 |
1370 |
3DNOW - skipped... |
3DNOWE - 0.376 usec PSNR=13.291 MSE=3.000 |
|
3DNOWE - skipped... |
|
1371 |
|
|
1372 |
=== test block motion === |
=== test block motion === |
1373 |
PLAINC - interp- h-round0 0.911 usec iCrc=8107 |
PLAINC - interp- h-round0 0.126 usec iCrc=8107 |
1374 |
PLAINC - round1 0.863 usec iCrc=8100 |
PLAINC - round1 0.136 usec iCrc=8100 |
1375 |
PLAINC - interp- v-round0 0.860 usec iCrc=8108 |
PLAINC - interp- v-round0 0.121 usec iCrc=8108 |
1376 |
PLAINC - round1 0.857 usec iCrc=8105 |
PLAINC - round1 0.127 usec iCrc=8105 |
1377 |
PLAINC - interp-hv-round0 2.103 usec iCrc=8112 |
PLAINC - interp-hv-round0 0.192 usec iCrc=8112 |
1378 |
PLAINC - round1 2.050 usec iCrc=8103 |
PLAINC - round1 0.213 usec iCrc=8103 |
1379 |
--- |
--- |
1380 |
MMX - interp- h-round0 0.105 usec iCrc=8107 |
MMX - interp- h-round0 0.048 usec iCrc=8107 |
1381 |
MMX - round1 0.106 usec iCrc=8100 |
MMX - round1 0.048 usec iCrc=8100 |
1382 |
MMX - interp- v-round0 0.106 usec iCrc=8108 |
MMX - interp- v-round0 0.046 usec iCrc=8108 |
1383 |
MMX - round1 0.106 usec iCrc=8105 |
MMX - round1 0.047 usec iCrc=8105 |
1384 |
MMX - interp-hv-round0 0.145 usec iCrc=8112 |
MMX - interp-hv-round0 0.074 usec iCrc=8112 |
1385 |
MMX - round1 0.145 usec iCrc=8103 |
MMX - round1 0.074 usec iCrc=8103 |
1386 |
--- |
--- |
1387 |
MMXEXT - interp- h-round0 0.028 usec iCrc=8107 |
MMXEXT - interp- h-round0 0.019 usec iCrc=8107 |
1388 |
MMXEXT - round1 0.041 usec iCrc=8100 |
MMXEXT - round1 0.025 usec iCrc=8100 |
1389 |
MMXEXT - interp- v-round0 0.027 usec iCrc=8108 |
MMXEXT - interp- v-round0 0.015 usec iCrc=8108 |
1390 |
MMXEXT - round1 0.041 usec iCrc=8105 |
MMXEXT - round1 0.024 usec iCrc=8105 |
1391 |
MMXEXT - interp-hv-round0 0.066 usec iCrc=8112 |
MMXEXT - interp-hv-round0 0.039 usec iCrc=8112 |
1392 |
MMXEXT - round1 0.065 usec iCrc=8103 |
MMXEXT - round1 0.037 usec iCrc=8103 |
1393 |
--- |
--- |
1394 |
SSE2 - interp- h-round0 0.109 usec iCrc=8107 |
3DNOW - interp- h-round0 0.019 usec iCrc=8107 |
1395 |
SSE2 - round1 0.105 usec iCrc=8100 |
3DNOW - round1 0.023 usec iCrc=8100 |
1396 |
SSE2 - interp- v-round0 0.106 usec iCrc=8108 |
3DNOW - interp- v-round0 0.015 usec iCrc=8108 |
1397 |
SSE2 - round1 0.109 usec iCrc=8105 |
3DNOW - round1 0.024 usec iCrc=8105 |
1398 |
SSE2 - interp-hv-round0 0.145 usec iCrc=8112 |
3DNOW - interp-hv-round0 0.037 usec iCrc=8112 |
1399 |
SSE2 - round1 0.145 usec iCrc=8103 |
3DNOW - round1 0.038 usec iCrc=8103 |
1400 |
|
--- |
1401 |
|
3DNOWE - interp- h-round0 0.022 usec iCrc=8107 |
1402 |
|
3DNOWE - round1 0.023 usec iCrc=8100 |
1403 |
|
3DNOWE - interp- v-round0 0.016 usec iCrc=8108 |
1404 |
|
3DNOWE - round1 0.021 usec iCrc=8105 |
1405 |
|
3DNOWE - interp-hv-round0 0.036 usec iCrc=8112 |
1406 |
|
3DNOWE - round1 0.036 usec iCrc=8103 |
1407 |
--- |
--- |
|
3DNOW - skipped... |
|
|
3DNOWE - skipped... |
|
1408 |
|
|
1409 |
====== test SAD ====== |
====== test SAD ====== |
1410 |
PLAINC - sad8 0.251 usec sad=3776 |
PLAINC - sad8 0.165 usec sad=3776 |
1411 |
PLAINC - sad16 1.601 usec sad=27214 |
PLAINC - sad16 0.587 usec sad=27214 |
1412 |
PLAINC - sad16bi 2.371 usec sad=26274 |
PLAINC - sad16bi 1.290 usec sad=26274 |
1413 |
PLAINC - dev16 1.564 usec sad=3344 |
PLAINC - dev16 1.535 usec sad=3344 |
1414 |
--- |
--- |
1415 |
MMX - sad8 0.057 usec sad=3776 |
MMX - sad8 0.036 usec sad=3776 |
1416 |
MMX - sad16 0.182 usec sad=27214 |
MMX - sad16 0.113 usec sad=27214 |
1417 |
MMX - sad16bi 2.462 usec sad=26274 |
MMX - sad16bi 0.250 usec sad=26274 |
1418 |
MMX - dev16 0.311 usec sad=3344 |
MMX - dev16 0.187 usec sad=3344 |
1419 |
--- |
--- |
1420 |
MMXEXT - sad8 0.036 usec sad=3776 |
MMXEXT - sad8 0.015 usec sad=3776 |
1421 |
MMXEXT - sad16 0.109 usec sad=27214 |
MMXEXT - sad16 0.046 usec sad=27214 |
1422 |
MMXEXT - sad16bi 0.143 usec sad=26274 |
MMXEXT - sad16bi 0.059 usec sad=26274 |
1423 |
MMXEXT - dev16 0.192 usec sad=3344 |
MMXEXT - dev16 0.088 usec sad=3344 |
1424 |
--- |
--- |
1425 |
SSE2 - sad8 0.057 usec sad=3776 |
3DNOW - sad8 0.165 usec sad=3776 |
1426 |
SSE2 - sad16 0.179 usec sad=27214 |
3DNOW - sad16 0.589 usec sad=27214 |
1427 |
SSE2 - sad16bi 2.456 usec sad=26274 |
3DNOW - sad16bi 0.119 usec sad=26274 |
1428 |
SSE2 - dev16 0.321 usec sad=3344 |
3DNOW - dev16 1.541 usec sad=3344 |
1429 |
|
--- |
1430 |
|
3DNOWE - sad8 0.018 usec sad=3776 |
1431 |
|
3DNOWE - sad16 0.039 usec sad=27214 |
1432 |
|
3DNOWE - sad16bi 0.051 usec sad=26274 |
1433 |
|
3DNOWE - dev16 0.070 usec sad=3344 |
1434 |
--- |
--- |
|
3DNOW - skipped... |
|
|
3DNOWE - skipped... |
|
1435 |
|
|
1436 |
=== test transfer === |
=== test transfer === |
1437 |
PLAINC - 8to16 0.151 usec crc=28288 |
PLAINC - 8to16 0.207 usec crc=28288 |
1438 |
PLAINC - 16to8 1.113 usec crc=28288 |
PLAINC - 16to8 0.357 usec crc=28288 |
1439 |
PLAINC - 8to8 0.043 usec crc=20352 |
PLAINC - 8to8 0.154 usec crc=20352 |
1440 |
PLAINC - 16to8add 1.069 usec crc=25536 |
PLAINC - 16to8add 0.391 usec crc=25536 |
1441 |
PLAINC - 8to16sub 0.631 usec crc1=28064 crc2=16256 |
PLAINC - 8to16sub 0.562 usec crc1=28064 crc2=16256 |
1442 |
PLAINC - 8to16sub2 0.597 usec crc=20384 |
PLAINC - 8to16sub2 0.519 usec crc=22368 |
1443 |
--- |
--- |
1444 |
MMX - 8to16 0.032 usec crc=28288 |
MMX - 8to16 0.048 usec crc=28288 |
1445 |
MMX - 16to8 0.024 usec crc=28288 |
MMX - 16to8 0.205 usec crc=28288 |
1446 |
MMX - 8to8 0.020 usec crc=20352 |
MMX - 8to8 -0.158 usec crc=20352 |
1447 |
MMX - 16to8add 0.043 usec crc=25536 |
MMX - 16to8add 0.015 usec crc=25536 |
1448 |
MMX - 8to16sub 0.066 usec crc1=28064 crc2=16256 |
MMX - 8to16sub 0.203 usec crc1=28064 crc2=16256 |
1449 |
MMX - 8to16sub2 0.111 usec crc=20384 |
MMX - 8to16sub2 0.087 usec crc=22368 |
1450 |
|
--- |
1451 |
|
MMXEXT - 8to16 0.013 usec crc=28288 |
1452 |
|
MMXEXT - 16to8 0.011 usec crc=28288 |
1453 |
|
MMXEXT - 8to8 -0.023 usec crc=20352 |
1454 |
|
MMXEXT - 16to8add 0.023 usec crc=25536 |
1455 |
|
MMXEXT - 8to16sub 0.072 usec crc1=28064 crc2=16256 |
1456 |
|
MMXEXT - 8to16sub2 0.093 usec crc=22368 |
1457 |
|
--- |
1458 |
|
3DNOW - 8to16 0.192 usec crc=28288 |
1459 |
|
3DNOW - 16to8 0.367 usec crc=28288 |
1460 |
|
3DNOW - 8to8 0.132 usec crc=20352 |
1461 |
|
3DNOW - 16to8add 0.440 usec crc=25536 |
1462 |
|
3DNOW - 8to16sub 0.557 usec crc1=28064 crc2=16256 |
1463 |
|
3DNOW - 8to16sub2 0.691 usec crc=22368 |
1464 |
|
--- |
1465 |
|
3DNOWE - 8to16 0.004 usec crc=28288 |
1466 |
|
3DNOWE - 16to8 0.019 usec crc=28288 |
1467 |
|
3DNOWE - 8to8 -0.294 usec crc=20352 |
1468 |
|
3DNOWE - 16to8add 0.028 usec crc=25536 |
1469 |
|
3DNOWE - 8to16sub 0.065 usec crc1=28064 crc2=16256 |
1470 |
|
3DNOWE - 8to16sub2 0.027 usec crc=22368 |
1471 |
--- |
--- |
1472 |
|
|
1473 |
===== test quant ===== |
===== test quant ===== |
1474 |
PLAINC - quant4_intra 74.248 usec crc=29809 |
PLAINC - quant_mpeg_intra 67.757 usec crc=29809 |
1475 |
PLAINC - quant4_inter 70.850 usec crc=12574 |
PLAINC - quant_mpeg_inter 68.482 usec crc=12574 |
1476 |
PLAINC - dequant4_intra 40.628 usec crc=24052 |
PLAINC - dequant_mpeg_intra 20.764 usec crc=24052 |
1477 |
PLAINC - dequant4_inter 45.691 usec crc=63847 |
PLAINC - dequant_mpeg_inter 24.413 usec crc=63847 |
1478 |
PLAINC - quant_intra 43.357 usec crc=25662 |
PLAINC - quant_h263_intra 16.446 usec crc=25662 |
1479 |
PLAINC - quant_inter 33.410 usec crc=23972 |
PLAINC - quant_h263_inter 14.499 usec crc=23972 |
1480 |
PLAINC - dequant_intra 36.384 usec crc=49900 |
PLAINC - dequant_h263_intra 16.419 usec crc=49900 |
1481 |
PLAINC - dequant_inter 48.930 usec crc=48899 |
PLAINC - dequant_h263_inter 18.679 usec crc=48899 |
1482 |
--- |
--- |
1483 |
MMX - quant4_intra 7.445 usec crc=3459 |
MMX - quant_mpeg_intra 8.299 usec crc=3459 |
1484 |
*** CRC ERROR! *** |
*** CRC ERROR! *** |
1485 |
MMX - quant4_inter 5.384 usec crc=51072 |
MMX - quant_mpeg_inter 7.078 usec crc=13247 |
1486 |
*** CRC ERROR! *** |
*** CRC ERROR! *** |
1487 |
MMX - dequant4_intra 5.515 usec crc=24052 |
MMX - dequant_mpeg_intra 3.455 usec crc=24052 |
1488 |
MMX - dequant4_inter 7.745 usec crc=63847 |
MMX - dequant_mpeg_inter 4.483 usec crc=63847 |
1489 |
MMX - quant_intra 4.661 usec crc=25662 |
MMX - quant_h263_intra 2.597 usec crc=25662 |
1490 |
MMX - quant_inter 4.406 usec crc=23972 |
MMX - quant_h263_inter 2.151 usec crc=23972 |
1491 |
MMX - dequant_intra 4.928 usec crc=49900 |
MMX - dequant_h263_intra 2.684 usec crc=49900 |
1492 |
MMX - dequant_inter 4.532 usec crc=48899 |
MMX - dequant_h263_inter 2.647 usec crc=48899 |
1493 |
|
--- |
1494 |
|
MMXEXT - quant_mpeg_intra 3.878 usec crc=29809 |
1495 |
|
MMXEXT - quant_mpeg_inter 4.112 usec crc=12574 |
1496 |
|
MMXEXT - dequant_mpeg_intra 3.452 usec crc=24052 |
1497 |
|
MMXEXT - dequant_mpeg_inter 4.473 usec crc=63847 |
1498 |
|
MMXEXT - quant_h263_intra 2.608 usec crc=25662 |
1499 |
|
MMXEXT - quant_h263_inter 2.145 usec crc=23972 |
1500 |
|
MMXEXT - dequant_h263_intra 2.478 usec crc=49900 |
1501 |
|
MMXEXT - dequant_h263_inter 2.450 usec crc=48899 |
1502 |
|
--- |
1503 |
|
3DNOW - quant_mpeg_intra 66.051 usec crc=29809 |
1504 |
|
3DNOW - quant_mpeg_inter 73.494 usec crc=12574 |
1505 |
|
3DNOW - dequant_mpeg_intra 20.374 usec crc=24052 |
1506 |
|
3DNOW - dequant_mpeg_inter 23.645 usec crc=63847 |
1507 |
|
3DNOW - quant_h263_intra 16.292 usec crc=25662 |
1508 |
|
3DNOW - quant_h263_inter 14.322 usec crc=23972 |
1509 |
|
3DNOW - dequant_h263_intra 16.613 usec crc=49900 |
1510 |
|
3DNOW - dequant_h263_inter 18.382 usec crc=48899 |
1511 |
|
--- |
1512 |
|
3DNOWE - quant_mpeg_intra 66.140 usec crc=29809 |
1513 |
|
3DNOWE - quant_mpeg_inter 68.454 usec crc=12574 |
1514 |
|
3DNOWE - dequant_mpeg_intra 2.881 usec crc=24052 |
1515 |
|
3DNOWE - dequant_mpeg_inter 4.155 usec crc=63847 |
1516 |
|
3DNOWE - quant_h263_intra 1.451 usec crc=25662 |
1517 |
|
3DNOWE - quant_h263_inter 1.849 usec crc=23972 |
1518 |
|
3DNOWE - dequant_h263_intra 2.101 usec crc=49900 |
1519 |
|
3DNOWE - dequant_h263_inter 2.109 usec crc=48899 |
1520 |
--- |
--- |
1521 |
|
|
1522 |
===== test cbp ===== |
===== test cbp ===== |
1523 |
PLAINC - calc_cbp#1 0.371 usec cbp=0x15 |
PLAINC - calc_cbp#1 0.090 usec cbp=0x15 |
1524 |
PLAINC - calc_cbp#2 0.432 usec cbp=0x38 |
PLAINC - calc_cbp#2 0.086 usec cbp=0x38 |
1525 |
PLAINC - calc_cbp#3 0.339 usec cbp=0xf |
PLAINC - calc_cbp#3 0.087 usec cbp=0xf |
1526 |
PLAINC - calc_cbp#4 0.506 usec cbp=0x5 |
PLAINC - calc_cbp#4 0.114 usec cbp=0x5 |
1527 |
--- |
--- |
1528 |
MMX - calc_cbp#1 0.136 usec cbp=0x15 |
MMX - calc_cbp#1 0.061 usec cbp=0x15 |
1529 |
MMX - calc_cbp#2 0.134 usec cbp=0x38 |
MMX - calc_cbp#2 0.063 usec cbp=0x38 |
1530 |
MMX - calc_cbp#3 0.138 usec cbp=0xf |
MMX - calc_cbp#3 0.061 usec cbp=0xf |
1531 |
MMX - calc_cbp#4 0.135 usec cbp=0x5 |
MMX - calc_cbp#4 0.060 usec cbp=0x5 |
1532 |
--- |
--- |
1533 |
SSE2 - calc_cbp#1 0.136 usec cbp=0x15 |
MMXEXT - calc_cbp#1 0.062 usec cbp=0x15 |
1534 |
SSE2 - calc_cbp#2 0.133 usec cbp=0x38 |
MMXEXT - calc_cbp#2 0.060 usec cbp=0x38 |
1535 |
SSE2 - calc_cbp#3 0.133 usec cbp=0xf |
MMXEXT - calc_cbp#3 0.062 usec cbp=0xf |
1536 |
SSE2 - calc_cbp#4 0.141 usec cbp=0x5 |
MMXEXT - calc_cbp#4 0.061 usec cbp=0x5 |
1537 |
|
--- |
1538 |
|
3DNOW - calc_cbp#1 0.089 usec cbp=0x15 |
1539 |
|
3DNOW - calc_cbp#2 0.087 usec cbp=0x38 |
1540 |
|
3DNOW - calc_cbp#3 0.087 usec cbp=0xf |
1541 |
|
3DNOW - calc_cbp#4 0.116 usec cbp=0x5 |
1542 |
|
--- |
1543 |
|
3DNOWE - calc_cbp#1 0.050 usec cbp=0x15 |
1544 |
|
3DNOWE - calc_cbp#2 0.051 usec cbp=0x38 |
1545 |
|
3DNOWE - calc_cbp#3 0.050 usec cbp=0xf |
1546 |
|
3DNOWE - calc_cbp#4 0.049 usec cbp=0x5 |
1547 |
--- |
--- |
1548 |
|
|
1549 |
*/ |
*/ |