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 #include <stdlib.h> | 10 #include <stdlib.h> |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
695 make_tuple(4, 3, subpel_avg_variance16x8_ssse3), | 695 make_tuple(4, 3, subpel_avg_variance16x8_ssse3), |
696 make_tuple(4, 4, subpel_avg_variance16x16_ssse3), | 696 make_tuple(4, 4, subpel_avg_variance16x16_ssse3), |
697 make_tuple(4, 5, subpel_avg_variance16x32_ssse3), | 697 make_tuple(4, 5, subpel_avg_variance16x32_ssse3), |
698 make_tuple(5, 4, subpel_avg_variance32x16_ssse3), | 698 make_tuple(5, 4, subpel_avg_variance32x16_ssse3), |
699 make_tuple(5, 5, subpel_avg_variance32x32_ssse3), | 699 make_tuple(5, 5, subpel_avg_variance32x32_ssse3), |
700 make_tuple(5, 6, subpel_avg_variance32x64_ssse3), | 700 make_tuple(5, 6, subpel_avg_variance32x64_ssse3), |
701 make_tuple(6, 5, subpel_avg_variance64x32_ssse3), | 701 make_tuple(6, 5, subpel_avg_variance64x32_ssse3), |
702 make_tuple(6, 6, subpel_avg_variance64x64_ssse3))); | 702 make_tuple(6, 6, subpel_avg_variance64x64_ssse3))); |
703 #endif | 703 #endif |
704 #endif | 704 #endif |
| 705 |
| 706 #if HAVE_AVX2 |
| 707 // TODO(jzern): these prototypes can be removed after the avx2 versions are |
| 708 // reenabled in vp9_rtcd_defs.pl. |
| 709 extern "C" { |
| 710 unsigned int vp9_sub_pixel_variance32x32_avx2( |
| 711 const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, |
| 712 const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); |
| 713 unsigned int vp9_sub_pixel_variance64x64_avx2( |
| 714 const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, |
| 715 const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); |
| 716 unsigned int vp9_sub_pixel_avg_variance32x32_avx2( |
| 717 const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, |
| 718 const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, |
| 719 const uint8_t *second_pred); |
| 720 unsigned int vp9_sub_pixel_avg_variance64x64_avx2( |
| 721 const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, |
| 722 const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, |
| 723 const uint8_t *second_pred); |
| 724 } |
| 725 const vp9_variance_fn_t variance16x16_avx2 = vp9_variance16x16_avx2; |
| 726 const vp9_variance_fn_t variance32x16_avx2 = vp9_variance32x16_avx2; |
| 727 const vp9_variance_fn_t variance32x32_avx2 = vp9_variance32x32_avx2; |
| 728 const vp9_variance_fn_t variance64x32_avx2 = vp9_variance64x32_avx2; |
| 729 const vp9_variance_fn_t variance64x64_avx2 = vp9_variance64x64_avx2; |
| 730 INSTANTIATE_TEST_CASE_P( |
| 731 AVX2, VP9VarianceTest, |
| 732 ::testing::Values(make_tuple(4, 4, variance16x16_avx2), |
| 733 make_tuple(5, 4, variance32x16_avx2), |
| 734 make_tuple(5, 5, variance32x32_avx2), |
| 735 make_tuple(6, 5, variance64x32_avx2), |
| 736 make_tuple(6, 6, variance64x64_avx2))); |
| 737 |
| 738 const vp9_subpixvariance_fn_t subpel_variance32x32_avx2 = |
| 739 vp9_sub_pixel_variance32x32_avx2; |
| 740 const vp9_subpixvariance_fn_t subpel_variance64x64_avx2 = |
| 741 vp9_sub_pixel_variance64x64_avx2; |
| 742 INSTANTIATE_TEST_CASE_P( |
| 743 DISABLED_AVX2, VP9SubpelVarianceTest, |
| 744 ::testing::Values(make_tuple(5, 5, subpel_variance32x32_avx2), |
| 745 make_tuple(6, 6, subpel_variance64x64_avx2))); |
| 746 |
| 747 const vp9_subp_avg_variance_fn_t subpel_avg_variance32x32_avx2 = |
| 748 vp9_sub_pixel_avg_variance32x32_avx2; |
| 749 const vp9_subp_avg_variance_fn_t subpel_avg_variance64x64_avx2 = |
| 750 vp9_sub_pixel_avg_variance64x64_avx2; |
| 751 INSTANTIATE_TEST_CASE_P( |
| 752 DISABLED_AVX2, VP9SubpelAvgVarianceTest, |
| 753 ::testing::Values(make_tuple(5, 5, subpel_avg_variance32x32_avx2), |
| 754 make_tuple(6, 6, subpel_avg_variance64x64_avx2))); |
| 755 #endif // HAVE_AVX2 |
705 #endif // CONFIG_VP9_ENCODER | 756 #endif // CONFIG_VP9_ENCODER |
706 | 757 |
707 } // namespace vp9 | 758 } // namespace vp9 |
708 | 759 |
709 } // namespace | 760 } // namespace |
OLD | NEW |