| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 468 make_tuple(16, 16, sad_16x16_neon), | 468 make_tuple(16, 16, sad_16x16_neon), |
| 469 make_tuple(8, 16, sad_8x16_neon), | 469 make_tuple(8, 16, sad_8x16_neon), |
| 470 make_tuple(16, 8, sad_16x8_neon), | 470 make_tuple(16, 8, sad_16x8_neon), |
| 471 make_tuple(8, 8, sad_8x8_neon), | 471 make_tuple(8, 8, sad_8x8_neon), |
| 472 make_tuple(4, 4, sad_4x4_neon))); | 472 make_tuple(4, 4, sad_4x4_neon))); |
| 473 #endif // CONFIG_VP8_ENCODER | 473 #endif // CONFIG_VP8_ENCODER |
| 474 #if CONFIG_VP9_ENCODER | 474 #if CONFIG_VP9_ENCODER |
| 475 const SadMxNVp9Func sad_64x64_neon_vp9 = vp9_sad64x64_neon; | 475 const SadMxNVp9Func sad_64x64_neon_vp9 = vp9_sad64x64_neon; |
| 476 const SadMxNVp9Func sad_32x32_neon_vp9 = vp9_sad32x32_neon; | 476 const SadMxNVp9Func sad_32x32_neon_vp9 = vp9_sad32x32_neon; |
| 477 const SadMxNVp9Func sad_16x16_neon_vp9 = vp9_sad16x16_neon; | 477 const SadMxNVp9Func sad_16x16_neon_vp9 = vp9_sad16x16_neon; |
| 478 const SadMxNVp9Func sad_8x8_neon_vp9 = vp9_sad8x8_neon; |
| 478 const SadMxNVp9Param neon_vp9_tests[] = { | 479 const SadMxNVp9Param neon_vp9_tests[] = { |
| 479 make_tuple(64, 64, sad_64x64_neon_vp9), | 480 make_tuple(64, 64, sad_64x64_neon_vp9), |
| 480 make_tuple(32, 32, sad_32x32_neon_vp9), | 481 make_tuple(32, 32, sad_32x32_neon_vp9), |
| 481 make_tuple(16, 16, sad_16x16_neon_vp9), | 482 make_tuple(16, 16, sad_16x16_neon_vp9), |
| 483 make_tuple(8, 8, sad_8x8_neon_vp9), |
| 482 }; | 484 }; |
| 483 INSTANTIATE_TEST_CASE_P(NEON, SADVP9Test, ::testing::ValuesIn(neon_vp9_tests)); | 485 INSTANTIATE_TEST_CASE_P(NEON, SADVP9Test, ::testing::ValuesIn(neon_vp9_tests)); |
| 484 #endif // CONFIG_VP9_ENCODER | 486 #endif // CONFIG_VP9_ENCODER |
| 485 #endif // HAVE_NEON | 487 #endif // HAVE_NEON |
| 486 | 488 |
| 487 //------------------------------------------------------------------------------ | 489 //------------------------------------------------------------------------------ |
| 488 // x86 functions | 490 // x86 functions |
| 489 #if HAVE_MMX | 491 #if HAVE_MMX |
| 490 #if CONFIG_VP8_ENCODER | 492 #if CONFIG_VP8_ENCODER |
| 491 const SadMxNFunc sad_16x16_mmx = vp8_sad16x16_mmx; | 493 const SadMxNFunc sad_16x16_mmx = vp8_sad16x16_mmx; |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 631 #if CONFIG_VP8_ENCODER | 633 #if CONFIG_VP8_ENCODER |
| 632 const SadMxNFunc sad_16x16_sse3 = vp8_sad16x16_sse3; | 634 const SadMxNFunc sad_16x16_sse3 = vp8_sad16x16_sse3; |
| 633 INSTANTIATE_TEST_CASE_P(SSE3, SADTest, ::testing::Values( | 635 INSTANTIATE_TEST_CASE_P(SSE3, SADTest, ::testing::Values( |
| 634 make_tuple(16, 16, sad_16x16_sse3))); | 636 make_tuple(16, 16, sad_16x16_sse3))); |
| 635 #endif // CONFIG_VP8_ENCODER | 637 #endif // CONFIG_VP8_ENCODER |
| 636 #endif // CONFIG_USE_X86INC | 638 #endif // CONFIG_USE_X86INC |
| 637 #endif // HAVE_SSSE3 | 639 #endif // HAVE_SSSE3 |
| 638 | 640 |
| 639 #if HAVE_AVX2 | 641 #if HAVE_AVX2 |
| 640 #if CONFIG_VP9_ENCODER | 642 #if CONFIG_VP9_ENCODER |
| 641 // TODO(jzern): these prototypes can be removed after the avx2 versions are | |
| 642 // reenabled in vp9_rtcd_defs.pl. | |
| 643 extern "C" { | |
| 644 void vp9_sad32x32x4d_avx2(const uint8_t *src_ptr, int src_stride, | |
| 645 const uint8_t *const ref_ptr[], int ref_stride, | |
| 646 unsigned int *sad_array); | |
| 647 void vp9_sad64x64x4d_avx2(const uint8_t *src_ptr, int src_stride, | |
| 648 const uint8_t *const ref_ptr[], int ref_stride, | |
| 649 unsigned int *sad_array); | |
| 650 } | |
| 651 const SadMxNx4Func sad_64x64x4d_avx2 = vp9_sad64x64x4d_avx2; | 643 const SadMxNx4Func sad_64x64x4d_avx2 = vp9_sad64x64x4d_avx2; |
| 652 const SadMxNx4Func sad_32x32x4d_avx2 = vp9_sad32x32x4d_avx2; | 644 const SadMxNx4Func sad_32x32x4d_avx2 = vp9_sad32x32x4d_avx2; |
| 653 INSTANTIATE_TEST_CASE_P(DISABLED_AVX2, SADx4Test, ::testing::Values( | 645 INSTANTIATE_TEST_CASE_P(AVX2, SADx4Test, ::testing::Values( |
| 654 make_tuple(32, 32, sad_32x32x4d_avx2), | 646 make_tuple(32, 32, sad_32x32x4d_avx2), |
| 655 make_tuple(64, 64, sad_64x64x4d_avx2))); | 647 make_tuple(64, 64, sad_64x64x4d_avx2))); |
| 656 #endif // CONFIG_VP9_ENCODER | 648 #endif // CONFIG_VP9_ENCODER |
| 657 #endif // HAVE_AVX2 | 649 #endif // HAVE_AVX2 |
| 658 | 650 |
| 659 } // namespace | 651 } // namespace |
| OLD | NEW |