| Index: source/libvpx/test/test_intra_pred_speed.cc
|
| diff --git a/source/libvpx/test/test_intra_pred_speed.cc b/source/libvpx/test/test_intra_pred_speed.cc
|
| index a684ea462926dc7f2f50c8b7387334011e3ae5f7..46d4a2582ddde20073f038c79fdb1369c7ce3203 100644
|
| --- a/source/libvpx/test/test_intra_pred_speed.cc
|
| +++ b/source/libvpx/test/test_intra_pred_speed.cc
|
| @@ -16,6 +16,7 @@
|
|
|
| #include "./vp9_rtcd.h"
|
| #include "test/acm_random.h"
|
| +#include "test/clear_system_state.h"
|
| #include "test/md5_helper.h"
|
| #include "vpx/vpx_integer.h"
|
| #include "vpx_ports/mem.h"
|
| @@ -66,6 +67,7 @@ void TestIntraPred(const char name[], VpxPredFunc const *pred_funcs,
|
| for (int num_tests = 0; num_tests < kNumTests; ++num_tests) {
|
| pred_funcs[k](src, kBPS, above, left);
|
| }
|
| + libvpx_test::ClearSystemState();
|
| vpx_usec_timer_mark(&timer);
|
| const int elapsed_time =
|
| static_cast<int>(vpx_usec_timer_elapsed(&timer) / 1000);
|
| @@ -206,11 +208,22 @@ INTRA_PRED_TEST(DSPR2, TestIntraPred4, vp9_dc_predictor_4x4_dspr2, NULL, NULL,
|
| #endif // HAVE_DSPR2
|
|
|
| #if HAVE_NEON
|
| -INTRA_PRED_TEST(NEON, TestIntraPred4, NULL, NULL, NULL, NULL,
|
| - vp9_v_predictor_4x4_neon, vp9_h_predictor_4x4_neon, NULL, NULL,
|
| - NULL, NULL, NULL, NULL, vp9_tm_predictor_4x4_neon)
|
| +INTRA_PRED_TEST(NEON, TestIntraPred4, vp9_dc_predictor_4x4_neon,
|
| + vp9_dc_left_predictor_4x4_neon, vp9_dc_top_predictor_4x4_neon,
|
| + vp9_dc_128_predictor_4x4_neon, vp9_v_predictor_4x4_neon,
|
| + vp9_h_predictor_4x4_neon, vp9_d45_predictor_4x4_neon,
|
| + vp9_d135_predictor_4x4_neon, NULL, NULL, NULL, NULL,
|
| + vp9_tm_predictor_4x4_neon)
|
| #endif // HAVE_NEON
|
|
|
| +#if HAVE_MSA
|
| +INTRA_PRED_TEST(MSA, TestIntraPred4, vp9_dc_predictor_4x4_msa,
|
| + vp9_dc_left_predictor_4x4_msa, vp9_dc_top_predictor_4x4_msa,
|
| + vp9_dc_128_predictor_4x4_msa, vp9_v_predictor_4x4_msa,
|
| + vp9_h_predictor_4x4_msa, NULL, NULL, NULL, NULL, NULL,
|
| + NULL, vp9_tm_predictor_4x4_msa)
|
| +#endif // HAVE_MSA
|
| +
|
| // -----------------------------------------------------------------------------
|
| // 8x8
|
|
|
| @@ -251,11 +264,19 @@ INTRA_PRED_TEST(DSPR2, TestIntraPred8, vp9_dc_predictor_8x8_dspr2, NULL, NULL,
|
| INTRA_PRED_TEST(NEON, TestIntraPred8, vp9_dc_predictor_8x8_neon,
|
| vp9_dc_left_predictor_8x8_neon, vp9_dc_top_predictor_8x8_neon,
|
| vp9_dc_128_predictor_8x8_neon, vp9_v_predictor_8x8_neon,
|
| - vp9_h_predictor_8x8_neon, NULL, NULL, NULL, NULL, NULL, NULL,
|
| - vp9_tm_predictor_8x8_neon)
|
| + vp9_h_predictor_8x8_neon, vp9_d45_predictor_8x8_neon, NULL,
|
| + NULL, NULL, NULL, NULL, vp9_tm_predictor_8x8_neon)
|
|
|
| #endif // HAVE_NEON
|
|
|
| +#if HAVE_MSA
|
| +INTRA_PRED_TEST(MSA, TestIntraPred8, vp9_dc_predictor_8x8_msa,
|
| + vp9_dc_left_predictor_8x8_msa, vp9_dc_top_predictor_8x8_msa,
|
| + vp9_dc_128_predictor_8x8_msa, vp9_v_predictor_8x8_msa,
|
| + vp9_h_predictor_8x8_msa, NULL, NULL, NULL, NULL, NULL,
|
| + NULL, vp9_tm_predictor_8x8_msa)
|
| +#endif // HAVE_MSA
|
| +
|
| // -----------------------------------------------------------------------------
|
| // 16x16
|
|
|
| @@ -295,10 +316,18 @@ INTRA_PRED_TEST(NEON, TestIntraPred16, vp9_dc_predictor_16x16_neon,
|
| vp9_dc_left_predictor_16x16_neon,
|
| vp9_dc_top_predictor_16x16_neon,
|
| vp9_dc_128_predictor_16x16_neon, vp9_v_predictor_16x16_neon,
|
| - vp9_h_predictor_16x16_neon, NULL, NULL, NULL, NULL, NULL, NULL,
|
| - vp9_tm_predictor_16x16_neon)
|
| + vp9_h_predictor_16x16_neon, vp9_d45_predictor_16x16_neon, NULL,
|
| + NULL, NULL, NULL, NULL, vp9_tm_predictor_16x16_neon)
|
| #endif // HAVE_NEON
|
|
|
| +#if HAVE_MSA
|
| +INTRA_PRED_TEST(MSA, TestIntraPred16, vp9_dc_predictor_16x16_msa,
|
| + vp9_dc_left_predictor_16x16_msa, vp9_dc_top_predictor_16x16_msa,
|
| + vp9_dc_128_predictor_16x16_msa, vp9_v_predictor_16x16_msa,
|
| + vp9_h_predictor_16x16_msa, NULL, NULL, NULL, NULL, NULL,
|
| + NULL, vp9_tm_predictor_16x16_msa)
|
| +#endif // HAVE_MSA
|
| +
|
| // -----------------------------------------------------------------------------
|
| // 32x32
|
|
|
| @@ -311,30 +340,45 @@ INTRA_PRED_TEST(C, TestIntraPred32, vp9_dc_predictor_32x32_c,
|
| vp9_d63_predictor_32x32_c, vp9_tm_predictor_32x32_c)
|
|
|
| #if HAVE_SSE2
|
| +#if ARCH_X86_64
|
| INTRA_PRED_TEST(SSE2, TestIntraPred32, vp9_dc_predictor_32x32_sse2,
|
| vp9_dc_left_predictor_32x32_sse2,
|
| vp9_dc_top_predictor_32x32_sse2,
|
| vp9_dc_128_predictor_32x32_sse2, vp9_v_predictor_32x32_sse2,
|
| NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
| -#if ARCH_X86_64
|
| - vp9_tm_predictor_32x32_sse2
|
| + vp9_tm_predictor_32x32_sse2)
|
| #else
|
| - NULL
|
| -#endif
|
| - )
|
| +INTRA_PRED_TEST(SSE2, TestIntraPred32, vp9_dc_predictor_32x32_sse2,
|
| + vp9_dc_left_predictor_32x32_sse2,
|
| + vp9_dc_top_predictor_32x32_sse2,
|
| + vp9_dc_128_predictor_32x32_sse2, vp9_v_predictor_32x32_sse2,
|
| + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
|
| +#endif // ARCH_X86_64
|
| #endif // HAVE_SSE2
|
|
|
| #if HAVE_SSSE3
|
| INTRA_PRED_TEST(SSSE3, TestIntraPred32, NULL, NULL, NULL, NULL, NULL,
|
| vp9_h_predictor_32x32_ssse3, vp9_d45_predictor_32x32_ssse3,
|
| - NULL, NULL, NULL, vp9_d207_predictor_32x32_ssse3,
|
| - vp9_d63_predictor_32x32_ssse3, NULL)
|
| + NULL, NULL, vp9_d153_predictor_32x32_ssse3,
|
| + vp9_d207_predictor_32x32_ssse3, vp9_d63_predictor_32x32_ssse3,
|
| + NULL)
|
| #endif // HAVE_SSSE3
|
|
|
| #if HAVE_NEON
|
| -INTRA_PRED_TEST(NEON, TestIntraPred32, NULL, NULL, NULL, NULL,
|
| - vp9_v_predictor_32x32_neon, vp9_h_predictor_32x32_neon, NULL,
|
| - NULL, NULL, NULL, NULL, NULL, vp9_tm_predictor_32x32_neon)
|
| +INTRA_PRED_TEST(NEON, TestIntraPred32, vp9_dc_predictor_32x32_neon,
|
| + vp9_dc_left_predictor_32x32_neon,
|
| + vp9_dc_top_predictor_32x32_neon,
|
| + vp9_dc_128_predictor_32x32_neon, vp9_v_predictor_32x32_neon,
|
| + vp9_h_predictor_32x32_neon, NULL, NULL, NULL, NULL, NULL, NULL,
|
| + vp9_tm_predictor_32x32_neon)
|
| #endif // HAVE_NEON
|
|
|
| +#if HAVE_MSA
|
| +INTRA_PRED_TEST(MSA, TestIntraPred32, vp9_dc_predictor_32x32_msa,
|
| + vp9_dc_left_predictor_32x32_msa, vp9_dc_top_predictor_32x32_msa,
|
| + vp9_dc_128_predictor_32x32_msa, vp9_v_predictor_32x32_msa,
|
| + vp9_h_predictor_32x32_msa, NULL, NULL, NULL, NULL, NULL,
|
| + NULL, vp9_tm_predictor_32x32_msa)
|
| +#endif // HAVE_MSA
|
| +
|
| #include "test/test_libvpx.cc"
|
|
|