OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 << "Error: Loop8Test9Param, C output doesn't match SSE2" | 467 << "Error: Loop8Test9Param, C output doesn't match SSE2" |
468 "loopfilter output. " | 468 "loopfilter output. " |
469 << "First failed at test case " << first_failure; | 469 << "First failed at test case " << first_failure; |
470 } | 470 } |
471 | 471 |
472 using std::tr1::make_tuple; | 472 using std::tr1::make_tuple; |
473 | 473 |
474 #if HAVE_SSE2 | 474 #if HAVE_SSE2 |
475 #if CONFIG_VP9_HIGHBITDEPTH | 475 #if CONFIG_VP9_HIGHBITDEPTH |
476 INSTANTIATE_TEST_CASE_P( | 476 INSTANTIATE_TEST_CASE_P( |
477 SSE2_C_COMPARE_SINGLE, Loop8Test6Param, | 477 SSE2, Loop8Test6Param, |
478 ::testing::Values( | 478 ::testing::Values( |
479 make_tuple(&vp9_highbd_lpf_horizontal_4_sse2, | 479 make_tuple(&vp9_highbd_lpf_horizontal_4_sse2, |
480 &vp9_highbd_lpf_horizontal_4_c, 8), | 480 &vp9_highbd_lpf_horizontal_4_c, 8), |
481 make_tuple(&vp9_highbd_lpf_vertical_4_sse2, | 481 make_tuple(&vp9_highbd_lpf_vertical_4_sse2, |
482 &vp9_highbd_lpf_vertical_4_c, 8), | 482 &vp9_highbd_lpf_vertical_4_c, 8), |
483 make_tuple(&vp9_highbd_lpf_horizontal_8_sse2, | 483 make_tuple(&vp9_highbd_lpf_horizontal_8_sse2, |
484 &vp9_highbd_lpf_horizontal_8_c, 8), | 484 &vp9_highbd_lpf_horizontal_8_c, 8), |
485 make_tuple(&vp9_highbd_lpf_horizontal_16_sse2, | 485 make_tuple(&vp9_highbd_lpf_horizontal_16_sse2, |
486 &vp9_highbd_lpf_horizontal_16_c, 8), | 486 &vp9_highbd_lpf_horizontal_16_c, 8), |
487 make_tuple(&vp9_highbd_lpf_vertical_8_sse2, | 487 make_tuple(&vp9_highbd_lpf_vertical_8_sse2, |
(...skipping 16 matching lines...) Expand all Loading... |
504 &vp9_highbd_lpf_horizontal_4_c, 12), | 504 &vp9_highbd_lpf_horizontal_4_c, 12), |
505 make_tuple(&vp9_highbd_lpf_vertical_4_sse2, | 505 make_tuple(&vp9_highbd_lpf_vertical_4_sse2, |
506 &vp9_highbd_lpf_vertical_4_c, 12), | 506 &vp9_highbd_lpf_vertical_4_c, 12), |
507 make_tuple(&vp9_highbd_lpf_horizontal_8_sse2, | 507 make_tuple(&vp9_highbd_lpf_horizontal_8_sse2, |
508 &vp9_highbd_lpf_horizontal_8_c, 12), | 508 &vp9_highbd_lpf_horizontal_8_c, 12), |
509 make_tuple(&vp9_highbd_lpf_horizontal_16_sse2, | 509 make_tuple(&vp9_highbd_lpf_horizontal_16_sse2, |
510 &vp9_highbd_lpf_horizontal_16_c, 12), | 510 &vp9_highbd_lpf_horizontal_16_c, 12), |
511 make_tuple(&vp9_highbd_lpf_vertical_8_sse2, | 511 make_tuple(&vp9_highbd_lpf_vertical_8_sse2, |
512 &vp9_highbd_lpf_vertical_8_c, 12), | 512 &vp9_highbd_lpf_vertical_8_c, 12), |
513 make_tuple(&wrapper_vertical_16_sse2, | 513 make_tuple(&wrapper_vertical_16_sse2, |
514 &wrapper_vertical_16_c, 12))); | 514 &wrapper_vertical_16_c, 12), |
515 #else | |
516 INSTANTIATE_TEST_CASE_P( | |
517 SSE2_C_COMPARE_SINGLE, Loop8Test6Param, | |
518 ::testing::Values( | |
519 make_tuple(&vp9_lpf_horizontal_8_sse2, &vp9_lpf_horizontal_8_c, 8), | |
520 make_tuple(&vp9_lpf_horizontal_16_sse2, &vp9_lpf_horizontal_16_c, 8), | |
521 make_tuple(&vp9_lpf_vertical_8_sse2, &vp9_lpf_vertical_8_c, 8))); | |
522 #endif // CONFIG_VP9_HIGHBITDEPTH | |
523 #endif | |
524 | |
525 #if HAVE_SSE2 | |
526 #if CONFIG_VP9_HIGHBITDEPTH | |
527 INSTANTIATE_TEST_CASE_P( | |
528 SSE2_C_COMPARE_DUAL, Loop8Test6Param, | |
529 ::testing::Values( | |
530 make_tuple(&wrapper_vertical_16_dual_sse2, | 515 make_tuple(&wrapper_vertical_16_dual_sse2, |
531 &wrapper_vertical_16_dual_c, 8), | 516 &wrapper_vertical_16_dual_c, 8), |
532 make_tuple(&wrapper_vertical_16_dual_sse2, | 517 make_tuple(&wrapper_vertical_16_dual_sse2, |
533 &wrapper_vertical_16_dual_c, 10), | 518 &wrapper_vertical_16_dual_c, 10), |
534 make_tuple(&wrapper_vertical_16_dual_sse2, | 519 make_tuple(&wrapper_vertical_16_dual_sse2, |
535 &wrapper_vertical_16_dual_c, 12))); | 520 &wrapper_vertical_16_dual_c, 12))); |
536 #else | 521 #else |
537 INSTANTIATE_TEST_CASE_P( | 522 INSTANTIATE_TEST_CASE_P( |
538 SSE2_C_COMPARE_DUAL, Loop8Test6Param, | 523 SSE2, Loop8Test6Param, |
539 ::testing::Values( | 524 ::testing::Values( |
| 525 make_tuple(&vp9_lpf_horizontal_8_sse2, &vp9_lpf_horizontal_8_c, 8), |
| 526 make_tuple(&vp9_lpf_horizontal_16_sse2, &vp9_lpf_horizontal_16_c, 8), |
| 527 make_tuple(&vp9_lpf_vertical_8_sse2, &vp9_lpf_vertical_8_c, 8), |
540 make_tuple(&wrapper_vertical_16_sse2, &wrapper_vertical_16_c, 8))); | 528 make_tuple(&wrapper_vertical_16_sse2, &wrapper_vertical_16_c, 8))); |
541 #endif // CONFIG_VP9_HIGHBITDEPTH | 529 #endif // CONFIG_VP9_HIGHBITDEPTH |
542 #endif // HAVE_SSE2 | 530 #endif |
| 531 |
| 532 #if HAVE_AVX2 && (!CONFIG_VP9_HIGHBITDEPTH) |
| 533 INSTANTIATE_TEST_CASE_P( |
| 534 AVX2, Loop8Test6Param, |
| 535 ::testing::Values( |
| 536 make_tuple(&vp9_lpf_horizontal_16_avx2, &vp9_lpf_horizontal_16_c, 8))); |
| 537 #endif |
543 | 538 |
544 #if HAVE_SSE2 | 539 #if HAVE_SSE2 |
545 #if CONFIG_VP9_HIGHBITDEPTH | 540 #if CONFIG_VP9_HIGHBITDEPTH |
546 INSTANTIATE_TEST_CASE_P( | 541 INSTANTIATE_TEST_CASE_P( |
547 SSE_C_COMPARE_DUAL, Loop8Test9Param, | 542 SSE2, Loop8Test9Param, |
548 ::testing::Values( | 543 ::testing::Values( |
549 make_tuple(&vp9_highbd_lpf_horizontal_4_dual_sse2, | 544 make_tuple(&vp9_highbd_lpf_horizontal_4_dual_sse2, |
550 &vp9_highbd_lpf_horizontal_4_dual_c, 8), | 545 &vp9_highbd_lpf_horizontal_4_dual_c, 8), |
551 make_tuple(&vp9_highbd_lpf_horizontal_8_dual_sse2, | 546 make_tuple(&vp9_highbd_lpf_horizontal_8_dual_sse2, |
552 &vp9_highbd_lpf_horizontal_8_dual_c, 8), | 547 &vp9_highbd_lpf_horizontal_8_dual_c, 8), |
553 make_tuple(&vp9_highbd_lpf_vertical_4_dual_sse2, | 548 make_tuple(&vp9_highbd_lpf_vertical_4_dual_sse2, |
554 &vp9_highbd_lpf_vertical_4_dual_c, 8), | 549 &vp9_highbd_lpf_vertical_4_dual_c, 8), |
555 make_tuple(&vp9_highbd_lpf_vertical_8_dual_sse2, | 550 make_tuple(&vp9_highbd_lpf_vertical_8_dual_sse2, |
556 &vp9_highbd_lpf_vertical_8_dual_c, 8), | 551 &vp9_highbd_lpf_vertical_8_dual_c, 8), |
557 make_tuple(&vp9_highbd_lpf_horizontal_4_dual_sse2, | 552 make_tuple(&vp9_highbd_lpf_horizontal_4_dual_sse2, |
558 &vp9_highbd_lpf_horizontal_4_dual_c, 10), | 553 &vp9_highbd_lpf_horizontal_4_dual_c, 10), |
559 make_tuple(&vp9_highbd_lpf_horizontal_8_dual_sse2, | 554 make_tuple(&vp9_highbd_lpf_horizontal_8_dual_sse2, |
560 &vp9_highbd_lpf_horizontal_8_dual_c, 10), | 555 &vp9_highbd_lpf_horizontal_8_dual_c, 10), |
561 make_tuple(&vp9_highbd_lpf_vertical_4_dual_sse2, | 556 make_tuple(&vp9_highbd_lpf_vertical_4_dual_sse2, |
562 &vp9_highbd_lpf_vertical_4_dual_c, 10), | 557 &vp9_highbd_lpf_vertical_4_dual_c, 10), |
563 make_tuple(&vp9_highbd_lpf_vertical_8_dual_sse2, | 558 make_tuple(&vp9_highbd_lpf_vertical_8_dual_sse2, |
564 &vp9_highbd_lpf_vertical_8_dual_c, 10), | 559 &vp9_highbd_lpf_vertical_8_dual_c, 10), |
565 make_tuple(&vp9_highbd_lpf_horizontal_4_dual_sse2, | 560 make_tuple(&vp9_highbd_lpf_horizontal_4_dual_sse2, |
566 &vp9_highbd_lpf_horizontal_4_dual_c, 12), | 561 &vp9_highbd_lpf_horizontal_4_dual_c, 12), |
567 make_tuple(&vp9_highbd_lpf_horizontal_8_dual_sse2, | 562 make_tuple(&vp9_highbd_lpf_horizontal_8_dual_sse2, |
568 &vp9_highbd_lpf_horizontal_8_dual_c, 12), | 563 &vp9_highbd_lpf_horizontal_8_dual_c, 12), |
569 make_tuple(&vp9_highbd_lpf_vertical_4_dual_sse2, | 564 make_tuple(&vp9_highbd_lpf_vertical_4_dual_sse2, |
570 &vp9_highbd_lpf_vertical_4_dual_c, 12), | 565 &vp9_highbd_lpf_vertical_4_dual_c, 12), |
571 make_tuple(&vp9_highbd_lpf_vertical_8_dual_sse2, | 566 make_tuple(&vp9_highbd_lpf_vertical_8_dual_sse2, |
572 &vp9_highbd_lpf_vertical_8_dual_c, 12))); | 567 &vp9_highbd_lpf_vertical_8_dual_c, 12))); |
573 #else | 568 #else |
574 INSTANTIATE_TEST_CASE_P( | 569 INSTANTIATE_TEST_CASE_P( |
575 SSE_C_COMPARE_DUAL, Loop8Test9Param, | 570 SSE2, Loop8Test9Param, |
576 ::testing::Values( | 571 ::testing::Values( |
577 make_tuple(&vp9_lpf_horizontal_4_dual_sse2, | 572 make_tuple(&vp9_lpf_horizontal_4_dual_sse2, |
578 &vp9_lpf_horizontal_4_dual_c, 8), | 573 &vp9_lpf_horizontal_4_dual_c, 8), |
579 make_tuple(&vp9_lpf_horizontal_8_dual_sse2, | 574 make_tuple(&vp9_lpf_horizontal_8_dual_sse2, |
580 &vp9_lpf_horizontal_8_dual_c, 8), | 575 &vp9_lpf_horizontal_8_dual_c, 8), |
581 make_tuple(&vp9_lpf_vertical_4_dual_sse2, | 576 make_tuple(&vp9_lpf_vertical_4_dual_sse2, |
582 &vp9_lpf_vertical_4_dual_c, 8), | 577 &vp9_lpf_vertical_4_dual_c, 8), |
583 make_tuple(&vp9_lpf_vertical_8_dual_sse2, | 578 make_tuple(&vp9_lpf_vertical_8_dual_sse2, |
584 &vp9_lpf_vertical_8_dual_c, 8))); | 579 &vp9_lpf_vertical_8_dual_c, 8))); |
585 #endif // CONFIG_VP9_HIGHBITDEPTH | 580 #endif // CONFIG_VP9_HIGHBITDEPTH |
586 #endif | 581 #endif |
| 582 |
587 } // namespace | 583 } // namespace |
OLD | NEW |