| 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 |