Merge "Replace prefix vp9_ with vpx_ for intra prediction functions"
This commit is contained in:
Коммит
4cbf36b105
|
@ -164,8 +164,8 @@ endif # VP9
|
|||
|
||||
LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS) += sad_test.cc
|
||||
|
||||
TEST_INTRA_PRED_SPEED_SRCS-$(CONFIG_VP9_DECODER) := test_intra_pred_speed.cc
|
||||
TEST_INTRA_PRED_SPEED_SRCS-$(CONFIG_VP9_DECODER) += ../md5_utils.h ../md5_utils.c
|
||||
TEST_INTRA_PRED_SPEED_SRCS-$(CONFIG_VP9) := test_intra_pred_speed.cc
|
||||
TEST_INTRA_PRED_SPEED_SRCS-$(CONFIG_VP9) += ../md5_utils.h ../md5_utils.c
|
||||
|
||||
endif # CONFIG_SHARED
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
// Test and time VP9 intra-predictor functions
|
||||
// Test and time VPX intra-predictor functions
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
@ -170,215 +170,215 @@ void TestIntraPred32(VpxPredFunc const *pred_funcs) {
|
|||
#define INTRA_PRED_TEST(arch, test_func, dc, dc_left, dc_top, dc_128, v, h, \
|
||||
d45, d135, d117, d153, d207, d63, tm) \
|
||||
TEST(arch, test_func) { \
|
||||
static const VpxPredFunc vp9_intra_pred[] = { \
|
||||
static const VpxPredFunc vpx_intra_pred[] = { \
|
||||
dc, dc_left, dc_top, dc_128, v, h, d45, \
|
||||
d135, d117, d153, d207, d63, tm}; \
|
||||
test_func(vp9_intra_pred); \
|
||||
test_func(vpx_intra_pred); \
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// 4x4
|
||||
|
||||
INTRA_PRED_TEST(C, TestIntraPred4, vp9_dc_predictor_4x4_c,
|
||||
vp9_dc_left_predictor_4x4_c, vp9_dc_top_predictor_4x4_c,
|
||||
vp9_dc_128_predictor_4x4_c, vp9_v_predictor_4x4_c,
|
||||
vp9_h_predictor_4x4_c, vp9_d45_predictor_4x4_c,
|
||||
vp9_d135_predictor_4x4_c, vp9_d117_predictor_4x4_c,
|
||||
vp9_d153_predictor_4x4_c, vp9_d207_predictor_4x4_c,
|
||||
vp9_d63_predictor_4x4_c, vp9_tm_predictor_4x4_c)
|
||||
INTRA_PRED_TEST(C, TestIntraPred4, vpx_dc_predictor_4x4_c,
|
||||
vpx_dc_left_predictor_4x4_c, vpx_dc_top_predictor_4x4_c,
|
||||
vpx_dc_128_predictor_4x4_c, vpx_v_predictor_4x4_c,
|
||||
vpx_h_predictor_4x4_c, vpx_d45_predictor_4x4_c,
|
||||
vpx_d135_predictor_4x4_c, vpx_d117_predictor_4x4_c,
|
||||
vpx_d153_predictor_4x4_c, vpx_d207_predictor_4x4_c,
|
||||
vpx_d63_predictor_4x4_c, vpx_tm_predictor_4x4_c)
|
||||
|
||||
#if HAVE_SSE && CONFIG_USE_X86INC
|
||||
INTRA_PRED_TEST(SSE, TestIntraPred4, vp9_dc_predictor_4x4_sse,
|
||||
vp9_dc_left_predictor_4x4_sse, vp9_dc_top_predictor_4x4_sse,
|
||||
vp9_dc_128_predictor_4x4_sse, vp9_v_predictor_4x4_sse, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, vp9_tm_predictor_4x4_sse)
|
||||
INTRA_PRED_TEST(SSE, TestIntraPred4, vpx_dc_predictor_4x4_sse,
|
||||
vpx_dc_left_predictor_4x4_sse, vpx_dc_top_predictor_4x4_sse,
|
||||
vpx_dc_128_predictor_4x4_sse, vpx_v_predictor_4x4_sse, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, vpx_tm_predictor_4x4_sse)
|
||||
#endif // HAVE_SSE && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_SSSE3 && CONFIG_USE_X86INC
|
||||
INTRA_PRED_TEST(SSSE3, TestIntraPred4, NULL, NULL, NULL, NULL, NULL,
|
||||
vp9_h_predictor_4x4_ssse3, vp9_d45_predictor_4x4_ssse3, NULL,
|
||||
NULL, vp9_d153_predictor_4x4_ssse3,
|
||||
vp9_d207_predictor_4x4_ssse3, vp9_d63_predictor_4x4_ssse3, NULL)
|
||||
vpx_h_predictor_4x4_ssse3, vpx_d45_predictor_4x4_ssse3, NULL,
|
||||
NULL, vpx_d153_predictor_4x4_ssse3,
|
||||
vpx_d207_predictor_4x4_ssse3, vpx_d63_predictor_4x4_ssse3, NULL)
|
||||
#endif // HAVE_SSSE3 && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_DSPR2
|
||||
INTRA_PRED_TEST(DSPR2, TestIntraPred4, vp9_dc_predictor_4x4_dspr2, NULL, NULL,
|
||||
NULL, NULL, vp9_h_predictor_4x4_dspr2, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, vp9_tm_predictor_4x4_dspr2)
|
||||
INTRA_PRED_TEST(DSPR2, TestIntraPred4, vpx_dc_predictor_4x4_dspr2, NULL, NULL,
|
||||
NULL, NULL, vpx_h_predictor_4x4_dspr2, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, vpx_tm_predictor_4x4_dspr2)
|
||||
#endif // HAVE_DSPR2
|
||||
|
||||
#if HAVE_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)
|
||||
INTRA_PRED_TEST(NEON, TestIntraPred4, vpx_dc_predictor_4x4_neon,
|
||||
vpx_dc_left_predictor_4x4_neon, vpx_dc_top_predictor_4x4_neon,
|
||||
vpx_dc_128_predictor_4x4_neon, vpx_v_predictor_4x4_neon,
|
||||
vpx_h_predictor_4x4_neon, vpx_d45_predictor_4x4_neon,
|
||||
vpx_d135_predictor_4x4_neon, NULL, NULL, NULL, NULL,
|
||||
vpx_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)
|
||||
INTRA_PRED_TEST(MSA, TestIntraPred4, vpx_dc_predictor_4x4_msa,
|
||||
vpx_dc_left_predictor_4x4_msa, vpx_dc_top_predictor_4x4_msa,
|
||||
vpx_dc_128_predictor_4x4_msa, vpx_v_predictor_4x4_msa,
|
||||
vpx_h_predictor_4x4_msa, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, vpx_tm_predictor_4x4_msa)
|
||||
#endif // HAVE_MSA
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// 8x8
|
||||
|
||||
INTRA_PRED_TEST(C, TestIntraPred8, vp9_dc_predictor_8x8_c,
|
||||
vp9_dc_left_predictor_8x8_c, vp9_dc_top_predictor_8x8_c,
|
||||
vp9_dc_128_predictor_8x8_c, vp9_v_predictor_8x8_c,
|
||||
vp9_h_predictor_8x8_c, vp9_d45_predictor_8x8_c,
|
||||
vp9_d135_predictor_8x8_c, vp9_d117_predictor_8x8_c,
|
||||
vp9_d153_predictor_8x8_c, vp9_d207_predictor_8x8_c,
|
||||
vp9_d63_predictor_8x8_c, vp9_tm_predictor_8x8_c)
|
||||
INTRA_PRED_TEST(C, TestIntraPred8, vpx_dc_predictor_8x8_c,
|
||||
vpx_dc_left_predictor_8x8_c, vpx_dc_top_predictor_8x8_c,
|
||||
vpx_dc_128_predictor_8x8_c, vpx_v_predictor_8x8_c,
|
||||
vpx_h_predictor_8x8_c, vpx_d45_predictor_8x8_c,
|
||||
vpx_d135_predictor_8x8_c, vpx_d117_predictor_8x8_c,
|
||||
vpx_d153_predictor_8x8_c, vpx_d207_predictor_8x8_c,
|
||||
vpx_d63_predictor_8x8_c, vpx_tm_predictor_8x8_c)
|
||||
|
||||
#if HAVE_SSE && CONFIG_USE_X86INC
|
||||
INTRA_PRED_TEST(SSE, TestIntraPred8, vp9_dc_predictor_8x8_sse,
|
||||
vp9_dc_left_predictor_8x8_sse, vp9_dc_top_predictor_8x8_sse,
|
||||
vp9_dc_128_predictor_8x8_sse, vp9_v_predictor_8x8_sse, NULL,
|
||||
INTRA_PRED_TEST(SSE, TestIntraPred8, vpx_dc_predictor_8x8_sse,
|
||||
vpx_dc_left_predictor_8x8_sse, vpx_dc_top_predictor_8x8_sse,
|
||||
vpx_dc_128_predictor_8x8_sse, vpx_v_predictor_8x8_sse, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL)
|
||||
#endif // HAVE_SSE && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_SSE2 && CONFIG_USE_X86INC
|
||||
INTRA_PRED_TEST(SSE2, TestIntraPred8, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, vp9_tm_predictor_8x8_sse2)
|
||||
NULL, NULL, NULL, NULL, NULL, vpx_tm_predictor_8x8_sse2)
|
||||
#endif // HAVE_SSE2 && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_SSSE3 && CONFIG_USE_X86INC
|
||||
INTRA_PRED_TEST(SSSE3, TestIntraPred8, NULL, NULL, NULL, NULL, NULL,
|
||||
vp9_h_predictor_8x8_ssse3, vp9_d45_predictor_8x8_ssse3, NULL,
|
||||
NULL, vp9_d153_predictor_8x8_ssse3,
|
||||
vp9_d207_predictor_8x8_ssse3, vp9_d63_predictor_8x8_ssse3, NULL)
|
||||
vpx_h_predictor_8x8_ssse3, vpx_d45_predictor_8x8_ssse3, NULL,
|
||||
NULL, vpx_d153_predictor_8x8_ssse3,
|
||||
vpx_d207_predictor_8x8_ssse3, vpx_d63_predictor_8x8_ssse3, NULL)
|
||||
#endif // HAVE_SSSE3 && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_DSPR2
|
||||
INTRA_PRED_TEST(DSPR2, TestIntraPred8, vp9_dc_predictor_8x8_dspr2, NULL, NULL,
|
||||
NULL, NULL, vp9_h_predictor_8x8_dspr2, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, vp9_tm_predictor_8x8_c)
|
||||
INTRA_PRED_TEST(DSPR2, TestIntraPred8, vpx_dc_predictor_8x8_dspr2, NULL, NULL,
|
||||
NULL, NULL, vpx_h_predictor_8x8_dspr2, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, vpx_tm_predictor_8x8_c)
|
||||
#endif // HAVE_DSPR2
|
||||
|
||||
#if HAVE_NEON
|
||||
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, vp9_d45_predictor_8x8_neon, NULL,
|
||||
NULL, NULL, NULL, NULL, vp9_tm_predictor_8x8_neon)
|
||||
INTRA_PRED_TEST(NEON, TestIntraPred8, vpx_dc_predictor_8x8_neon,
|
||||
vpx_dc_left_predictor_8x8_neon, vpx_dc_top_predictor_8x8_neon,
|
||||
vpx_dc_128_predictor_8x8_neon, vpx_v_predictor_8x8_neon,
|
||||
vpx_h_predictor_8x8_neon, vpx_d45_predictor_8x8_neon, NULL,
|
||||
NULL, NULL, NULL, NULL, vpx_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)
|
||||
INTRA_PRED_TEST(MSA, TestIntraPred8, vpx_dc_predictor_8x8_msa,
|
||||
vpx_dc_left_predictor_8x8_msa, vpx_dc_top_predictor_8x8_msa,
|
||||
vpx_dc_128_predictor_8x8_msa, vpx_v_predictor_8x8_msa,
|
||||
vpx_h_predictor_8x8_msa, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, vpx_tm_predictor_8x8_msa)
|
||||
#endif // HAVE_MSA
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// 16x16
|
||||
|
||||
INTRA_PRED_TEST(C, TestIntraPred16, vp9_dc_predictor_16x16_c,
|
||||
vp9_dc_left_predictor_16x16_c, vp9_dc_top_predictor_16x16_c,
|
||||
vp9_dc_128_predictor_16x16_c, vp9_v_predictor_16x16_c,
|
||||
vp9_h_predictor_16x16_c, vp9_d45_predictor_16x16_c,
|
||||
vp9_d135_predictor_16x16_c, vp9_d117_predictor_16x16_c,
|
||||
vp9_d153_predictor_16x16_c, vp9_d207_predictor_16x16_c,
|
||||
vp9_d63_predictor_16x16_c, vp9_tm_predictor_16x16_c)
|
||||
INTRA_PRED_TEST(C, TestIntraPred16, vpx_dc_predictor_16x16_c,
|
||||
vpx_dc_left_predictor_16x16_c, vpx_dc_top_predictor_16x16_c,
|
||||
vpx_dc_128_predictor_16x16_c, vpx_v_predictor_16x16_c,
|
||||
vpx_h_predictor_16x16_c, vpx_d45_predictor_16x16_c,
|
||||
vpx_d135_predictor_16x16_c, vpx_d117_predictor_16x16_c,
|
||||
vpx_d153_predictor_16x16_c, vpx_d207_predictor_16x16_c,
|
||||
vpx_d63_predictor_16x16_c, vpx_tm_predictor_16x16_c)
|
||||
|
||||
#if HAVE_SSE2 && CONFIG_USE_X86INC
|
||||
INTRA_PRED_TEST(SSE2, TestIntraPred16, vp9_dc_predictor_16x16_sse2,
|
||||
vp9_dc_left_predictor_16x16_sse2,
|
||||
vp9_dc_top_predictor_16x16_sse2,
|
||||
vp9_dc_128_predictor_16x16_sse2, vp9_v_predictor_16x16_sse2,
|
||||
INTRA_PRED_TEST(SSE2, TestIntraPred16, vpx_dc_predictor_16x16_sse2,
|
||||
vpx_dc_left_predictor_16x16_sse2,
|
||||
vpx_dc_top_predictor_16x16_sse2,
|
||||
vpx_dc_128_predictor_16x16_sse2, vpx_v_predictor_16x16_sse2,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
vp9_tm_predictor_16x16_sse2)
|
||||
vpx_tm_predictor_16x16_sse2)
|
||||
#endif // HAVE_SSE2 && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_SSSE3 && CONFIG_USE_X86INC
|
||||
INTRA_PRED_TEST(SSSE3, TestIntraPred16, NULL, NULL, NULL, NULL, NULL,
|
||||
vp9_h_predictor_16x16_ssse3, vp9_d45_predictor_16x16_ssse3,
|
||||
NULL, NULL, vp9_d153_predictor_16x16_ssse3,
|
||||
vp9_d207_predictor_16x16_ssse3, vp9_d63_predictor_16x16_ssse3,
|
||||
vpx_h_predictor_16x16_ssse3, vpx_d45_predictor_16x16_ssse3,
|
||||
NULL, NULL, vpx_d153_predictor_16x16_ssse3,
|
||||
vpx_d207_predictor_16x16_ssse3, vpx_d63_predictor_16x16_ssse3,
|
||||
NULL)
|
||||
#endif // HAVE_SSSE3 && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_DSPR2
|
||||
INTRA_PRED_TEST(DSPR2, TestIntraPred16, vp9_dc_predictor_16x16_dspr2, NULL,
|
||||
NULL, NULL, NULL, vp9_h_predictor_16x16_dspr2, NULL, NULL, NULL,
|
||||
INTRA_PRED_TEST(DSPR2, TestIntraPred16, vpx_dc_predictor_16x16_dspr2, NULL,
|
||||
NULL, NULL, NULL, vpx_h_predictor_16x16_dspr2, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL)
|
||||
#endif // HAVE_DSPR2
|
||||
|
||||
#if HAVE_NEON
|
||||
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, vp9_d45_predictor_16x16_neon, NULL,
|
||||
NULL, NULL, NULL, NULL, vp9_tm_predictor_16x16_neon)
|
||||
INTRA_PRED_TEST(NEON, TestIntraPred16, vpx_dc_predictor_16x16_neon,
|
||||
vpx_dc_left_predictor_16x16_neon,
|
||||
vpx_dc_top_predictor_16x16_neon,
|
||||
vpx_dc_128_predictor_16x16_neon, vpx_v_predictor_16x16_neon,
|
||||
vpx_h_predictor_16x16_neon, vpx_d45_predictor_16x16_neon, NULL,
|
||||
NULL, NULL, NULL, NULL, vpx_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)
|
||||
INTRA_PRED_TEST(MSA, TestIntraPred16, vpx_dc_predictor_16x16_msa,
|
||||
vpx_dc_left_predictor_16x16_msa, vpx_dc_top_predictor_16x16_msa,
|
||||
vpx_dc_128_predictor_16x16_msa, vpx_v_predictor_16x16_msa,
|
||||
vpx_h_predictor_16x16_msa, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, vpx_tm_predictor_16x16_msa)
|
||||
#endif // HAVE_MSA
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// 32x32
|
||||
|
||||
INTRA_PRED_TEST(C, TestIntraPred32, vp9_dc_predictor_32x32_c,
|
||||
vp9_dc_left_predictor_32x32_c, vp9_dc_top_predictor_32x32_c,
|
||||
vp9_dc_128_predictor_32x32_c, vp9_v_predictor_32x32_c,
|
||||
vp9_h_predictor_32x32_c, vp9_d45_predictor_32x32_c,
|
||||
vp9_d135_predictor_32x32_c, vp9_d117_predictor_32x32_c,
|
||||
vp9_d153_predictor_32x32_c, vp9_d207_predictor_32x32_c,
|
||||
vp9_d63_predictor_32x32_c, vp9_tm_predictor_32x32_c)
|
||||
INTRA_PRED_TEST(C, TestIntraPred32, vpx_dc_predictor_32x32_c,
|
||||
vpx_dc_left_predictor_32x32_c, vpx_dc_top_predictor_32x32_c,
|
||||
vpx_dc_128_predictor_32x32_c, vpx_v_predictor_32x32_c,
|
||||
vpx_h_predictor_32x32_c, vpx_d45_predictor_32x32_c,
|
||||
vpx_d135_predictor_32x32_c, vpx_d117_predictor_32x32_c,
|
||||
vpx_d153_predictor_32x32_c, vpx_d207_predictor_32x32_c,
|
||||
vpx_d63_predictor_32x32_c, vpx_tm_predictor_32x32_c)
|
||||
|
||||
#if HAVE_SSE2 && CONFIG_USE_X86INC
|
||||
#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,
|
||||
INTRA_PRED_TEST(SSE2, TestIntraPred32, vpx_dc_predictor_32x32_sse2,
|
||||
vpx_dc_left_predictor_32x32_sse2,
|
||||
vpx_dc_top_predictor_32x32_sse2,
|
||||
vpx_dc_128_predictor_32x32_sse2, vpx_v_predictor_32x32_sse2,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
vp9_tm_predictor_32x32_sse2)
|
||||
vpx_tm_predictor_32x32_sse2)
|
||||
#else
|
||||
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,
|
||||
INTRA_PRED_TEST(SSE2, TestIntraPred32, vpx_dc_predictor_32x32_sse2,
|
||||
vpx_dc_left_predictor_32x32_sse2,
|
||||
vpx_dc_top_predictor_32x32_sse2,
|
||||
vpx_dc_128_predictor_32x32_sse2, vpx_v_predictor_32x32_sse2,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
|
||||
#endif // ARCH_X86_64
|
||||
#endif // HAVE_SSE2 && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_SSSE3 && CONFIG_USE_X86INC
|
||||
INTRA_PRED_TEST(SSSE3, TestIntraPred32, NULL, NULL, NULL, NULL, NULL,
|
||||
vp9_h_predictor_32x32_ssse3, vp9_d45_predictor_32x32_ssse3,
|
||||
NULL, NULL, vp9_d153_predictor_32x32_ssse3,
|
||||
vp9_d207_predictor_32x32_ssse3, vp9_d63_predictor_32x32_ssse3,
|
||||
vpx_h_predictor_32x32_ssse3, vpx_d45_predictor_32x32_ssse3,
|
||||
NULL, NULL, vpx_d153_predictor_32x32_ssse3,
|
||||
vpx_d207_predictor_32x32_ssse3, vpx_d63_predictor_32x32_ssse3,
|
||||
NULL)
|
||||
#endif // HAVE_SSSE3 && CONFIG_USE_X86INC
|
||||
|
||||
#if HAVE_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)
|
||||
INTRA_PRED_TEST(NEON, TestIntraPred32, vpx_dc_predictor_32x32_neon,
|
||||
vpx_dc_left_predictor_32x32_neon,
|
||||
vpx_dc_top_predictor_32x32_neon,
|
||||
vpx_dc_128_predictor_32x32_neon, vpx_v_predictor_32x32_neon,
|
||||
vpx_h_predictor_32x32_neon, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
vpx_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)
|
||||
INTRA_PRED_TEST(MSA, TestIntraPred32, vpx_dc_predictor_32x32_msa,
|
||||
vpx_dc_left_predictor_32x32_msa, vpx_dc_top_predictor_32x32_msa,
|
||||
vpx_dc_128_predictor_32x32_msa, vpx_v_predictor_32x32_msa,
|
||||
vpx_h_predictor_32x32_msa, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, vpx_tm_predictor_32x32_msa)
|
||||
#endif // HAVE_MSA
|
||||
|
||||
#include "test/test_libvpx.cc"
|
||||
|
|
|
@ -135,165 +135,165 @@ using std::tr1::make_tuple;
|
|||
#if ARCH_X86_64
|
||||
INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest,
|
||||
::testing::Values(
|
||||
make_tuple(&vp9_highbd_dc_predictor_32x32_sse2,
|
||||
&vp9_highbd_dc_predictor_32x32_c, 32, 8),
|
||||
make_tuple(&vp9_highbd_tm_predictor_16x16_sse2,
|
||||
&vp9_highbd_tm_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vp9_highbd_tm_predictor_32x32_sse2,
|
||||
&vp9_highbd_tm_predictor_32x32_c, 32, 8),
|
||||
make_tuple(&vp9_highbd_dc_predictor_4x4_sse,
|
||||
&vp9_highbd_dc_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vp9_highbd_dc_predictor_8x8_sse2,
|
||||
&vp9_highbd_dc_predictor_8x8_c, 8, 8),
|
||||
make_tuple(&vp9_highbd_dc_predictor_16x16_sse2,
|
||||
&vp9_highbd_dc_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vp9_highbd_v_predictor_4x4_sse,
|
||||
&vp9_highbd_v_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vp9_highbd_v_predictor_8x8_sse2,
|
||||
&vp9_highbd_v_predictor_8x8_c, 8, 8),
|
||||
make_tuple(&vp9_highbd_v_predictor_16x16_sse2,
|
||||
&vp9_highbd_v_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vp9_highbd_v_predictor_32x32_sse2,
|
||||
&vp9_highbd_v_predictor_32x32_c, 32, 8),
|
||||
make_tuple(&vp9_highbd_tm_predictor_4x4_sse,
|
||||
&vp9_highbd_tm_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vp9_highbd_tm_predictor_8x8_sse2,
|
||||
&vp9_highbd_tm_predictor_8x8_c, 8, 8)));
|
||||
make_tuple(&vpx_highbd_dc_predictor_32x32_sse2,
|
||||
&vpx_highbd_dc_predictor_32x32_c, 32, 8),
|
||||
make_tuple(&vpx_highbd_tm_predictor_16x16_sse2,
|
||||
&vpx_highbd_tm_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vpx_highbd_tm_predictor_32x32_sse2,
|
||||
&vpx_highbd_tm_predictor_32x32_c, 32, 8),
|
||||
make_tuple(&vpx_highbd_dc_predictor_4x4_sse,
|
||||
&vpx_highbd_dc_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vpx_highbd_dc_predictor_8x8_sse2,
|
||||
&vpx_highbd_dc_predictor_8x8_c, 8, 8),
|
||||
make_tuple(&vpx_highbd_dc_predictor_16x16_sse2,
|
||||
&vpx_highbd_dc_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vpx_highbd_v_predictor_4x4_sse,
|
||||
&vpx_highbd_v_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vpx_highbd_v_predictor_8x8_sse2,
|
||||
&vpx_highbd_v_predictor_8x8_c, 8, 8),
|
||||
make_tuple(&vpx_highbd_v_predictor_16x16_sse2,
|
||||
&vpx_highbd_v_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vpx_highbd_v_predictor_32x32_sse2,
|
||||
&vpx_highbd_v_predictor_32x32_c, 32, 8),
|
||||
make_tuple(&vpx_highbd_tm_predictor_4x4_sse,
|
||||
&vpx_highbd_tm_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vpx_highbd_tm_predictor_8x8_sse2,
|
||||
&vpx_highbd_tm_predictor_8x8_c, 8, 8)));
|
||||
#else
|
||||
INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest,
|
||||
::testing::Values(
|
||||
make_tuple(&vp9_highbd_dc_predictor_4x4_sse,
|
||||
&vp9_highbd_dc_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vp9_highbd_dc_predictor_8x8_sse2,
|
||||
&vp9_highbd_dc_predictor_8x8_c, 8, 8),
|
||||
make_tuple(&vp9_highbd_dc_predictor_16x16_sse2,
|
||||
&vp9_highbd_dc_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vp9_highbd_v_predictor_4x4_sse,
|
||||
&vp9_highbd_v_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vp9_highbd_v_predictor_8x8_sse2,
|
||||
&vp9_highbd_v_predictor_8x8_c, 8, 8),
|
||||
make_tuple(&vp9_highbd_v_predictor_16x16_sse2,
|
||||
&vp9_highbd_v_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vp9_highbd_v_predictor_32x32_sse2,
|
||||
&vp9_highbd_v_predictor_32x32_c, 32, 8),
|
||||
make_tuple(&vp9_highbd_tm_predictor_4x4_sse,
|
||||
&vp9_highbd_tm_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vp9_highbd_tm_predictor_8x8_sse2,
|
||||
&vp9_highbd_tm_predictor_8x8_c, 8, 8)));
|
||||
make_tuple(&vpx_highbd_dc_predictor_4x4_sse,
|
||||
&vpx_highbd_dc_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vpx_highbd_dc_predictor_8x8_sse2,
|
||||
&vpx_highbd_dc_predictor_8x8_c, 8, 8),
|
||||
make_tuple(&vpx_highbd_dc_predictor_16x16_sse2,
|
||||
&vpx_highbd_dc_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vpx_highbd_v_predictor_4x4_sse,
|
||||
&vpx_highbd_v_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vpx_highbd_v_predictor_8x8_sse2,
|
||||
&vpx_highbd_v_predictor_8x8_c, 8, 8),
|
||||
make_tuple(&vpx_highbd_v_predictor_16x16_sse2,
|
||||
&vpx_highbd_v_predictor_16x16_c, 16, 8),
|
||||
make_tuple(&vpx_highbd_v_predictor_32x32_sse2,
|
||||
&vpx_highbd_v_predictor_32x32_c, 32, 8),
|
||||
make_tuple(&vpx_highbd_tm_predictor_4x4_sse,
|
||||
&vpx_highbd_tm_predictor_4x4_c, 4, 8),
|
||||
make_tuple(&vpx_highbd_tm_predictor_8x8_sse2,
|
||||
&vpx_highbd_tm_predictor_8x8_c, 8, 8)));
|
||||
#endif // !ARCH_X86_64
|
||||
|
||||
#if ARCH_X86_64
|
||||
INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest,
|
||||
::testing::Values(
|
||||
make_tuple(&vp9_highbd_dc_predictor_32x32_sse2,
|
||||
&vp9_highbd_dc_predictor_32x32_c, 32,
|
||||
make_tuple(&vpx_highbd_dc_predictor_32x32_sse2,
|
||||
&vpx_highbd_dc_predictor_32x32_c, 32,
|
||||
10),
|
||||
make_tuple(&vp9_highbd_tm_predictor_16x16_sse2,
|
||||
&vp9_highbd_tm_predictor_16x16_c, 16,
|
||||
make_tuple(&vpx_highbd_tm_predictor_16x16_sse2,
|
||||
&vpx_highbd_tm_predictor_16x16_c, 16,
|
||||
10),
|
||||
make_tuple(&vp9_highbd_tm_predictor_32x32_sse2,
|
||||
&vp9_highbd_tm_predictor_32x32_c, 32,
|
||||
make_tuple(&vpx_highbd_tm_predictor_32x32_sse2,
|
||||
&vpx_highbd_tm_predictor_32x32_c, 32,
|
||||
10),
|
||||
make_tuple(&vp9_highbd_dc_predictor_4x4_sse,
|
||||
&vp9_highbd_dc_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vp9_highbd_dc_predictor_8x8_sse2,
|
||||
&vp9_highbd_dc_predictor_8x8_c, 8, 10),
|
||||
make_tuple(&vp9_highbd_dc_predictor_16x16_sse2,
|
||||
&vp9_highbd_dc_predictor_16x16_c, 16,
|
||||
make_tuple(&vpx_highbd_dc_predictor_4x4_sse,
|
||||
&vpx_highbd_dc_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vpx_highbd_dc_predictor_8x8_sse2,
|
||||
&vpx_highbd_dc_predictor_8x8_c, 8, 10),
|
||||
make_tuple(&vpx_highbd_dc_predictor_16x16_sse2,
|
||||
&vpx_highbd_dc_predictor_16x16_c, 16,
|
||||
10),
|
||||
make_tuple(&vp9_highbd_v_predictor_4x4_sse,
|
||||
&vp9_highbd_v_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vp9_highbd_v_predictor_8x8_sse2,
|
||||
&vp9_highbd_v_predictor_8x8_c, 8, 10),
|
||||
make_tuple(&vp9_highbd_v_predictor_16x16_sse2,
|
||||
&vp9_highbd_v_predictor_16x16_c, 16,
|
||||
make_tuple(&vpx_highbd_v_predictor_4x4_sse,
|
||||
&vpx_highbd_v_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vpx_highbd_v_predictor_8x8_sse2,
|
||||
&vpx_highbd_v_predictor_8x8_c, 8, 10),
|
||||
make_tuple(&vpx_highbd_v_predictor_16x16_sse2,
|
||||
&vpx_highbd_v_predictor_16x16_c, 16,
|
||||
10),
|
||||
make_tuple(&vp9_highbd_v_predictor_32x32_sse2,
|
||||
&vp9_highbd_v_predictor_32x32_c, 32,
|
||||
make_tuple(&vpx_highbd_v_predictor_32x32_sse2,
|
||||
&vpx_highbd_v_predictor_32x32_c, 32,
|
||||
10),
|
||||
make_tuple(&vp9_highbd_tm_predictor_4x4_sse,
|
||||
&vp9_highbd_tm_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vp9_highbd_tm_predictor_8x8_sse2,
|
||||
&vp9_highbd_tm_predictor_8x8_c, 8, 10)));
|
||||
make_tuple(&vpx_highbd_tm_predictor_4x4_sse,
|
||||
&vpx_highbd_tm_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vpx_highbd_tm_predictor_8x8_sse2,
|
||||
&vpx_highbd_tm_predictor_8x8_c, 8, 10)));
|
||||
#else
|
||||
INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest,
|
||||
::testing::Values(
|
||||
make_tuple(&vp9_highbd_dc_predictor_4x4_sse,
|
||||
&vp9_highbd_dc_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vp9_highbd_dc_predictor_8x8_sse2,
|
||||
&vp9_highbd_dc_predictor_8x8_c, 8, 10),
|
||||
make_tuple(&vp9_highbd_dc_predictor_16x16_sse2,
|
||||
&vp9_highbd_dc_predictor_16x16_c, 16,
|
||||
make_tuple(&vpx_highbd_dc_predictor_4x4_sse,
|
||||
&vpx_highbd_dc_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vpx_highbd_dc_predictor_8x8_sse2,
|
||||
&vpx_highbd_dc_predictor_8x8_c, 8, 10),
|
||||
make_tuple(&vpx_highbd_dc_predictor_16x16_sse2,
|
||||
&vpx_highbd_dc_predictor_16x16_c, 16,
|
||||
10),
|
||||
make_tuple(&vp9_highbd_v_predictor_4x4_sse,
|
||||
&vp9_highbd_v_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vp9_highbd_v_predictor_8x8_sse2,
|
||||
&vp9_highbd_v_predictor_8x8_c, 8, 10),
|
||||
make_tuple(&vp9_highbd_v_predictor_16x16_sse2,
|
||||
&vp9_highbd_v_predictor_16x16_c, 16, 10),
|
||||
make_tuple(&vp9_highbd_v_predictor_32x32_sse2,
|
||||
&vp9_highbd_v_predictor_32x32_c, 32, 10),
|
||||
make_tuple(&vp9_highbd_tm_predictor_4x4_sse,
|
||||
&vp9_highbd_tm_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vp9_highbd_tm_predictor_8x8_sse2,
|
||||
&vp9_highbd_tm_predictor_8x8_c, 8, 10)));
|
||||
make_tuple(&vpx_highbd_v_predictor_4x4_sse,
|
||||
&vpx_highbd_v_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vpx_highbd_v_predictor_8x8_sse2,
|
||||
&vpx_highbd_v_predictor_8x8_c, 8, 10),
|
||||
make_tuple(&vpx_highbd_v_predictor_16x16_sse2,
|
||||
&vpx_highbd_v_predictor_16x16_c, 16, 10),
|
||||
make_tuple(&vpx_highbd_v_predictor_32x32_sse2,
|
||||
&vpx_highbd_v_predictor_32x32_c, 32, 10),
|
||||
make_tuple(&vpx_highbd_tm_predictor_4x4_sse,
|
||||
&vpx_highbd_tm_predictor_4x4_c, 4, 10),
|
||||
make_tuple(&vpx_highbd_tm_predictor_8x8_sse2,
|
||||
&vpx_highbd_tm_predictor_8x8_c, 8, 10)));
|
||||
#endif // !ARCH_X86_64
|
||||
|
||||
#if ARCH_X86_64
|
||||
INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest,
|
||||
::testing::Values(
|
||||
make_tuple(&vp9_highbd_dc_predictor_32x32_sse2,
|
||||
&vp9_highbd_dc_predictor_32x32_c, 32,
|
||||
make_tuple(&vpx_highbd_dc_predictor_32x32_sse2,
|
||||
&vpx_highbd_dc_predictor_32x32_c, 32,
|
||||
12),
|
||||
make_tuple(&vp9_highbd_tm_predictor_16x16_sse2,
|
||||
&vp9_highbd_tm_predictor_16x16_c, 16,
|
||||
make_tuple(&vpx_highbd_tm_predictor_16x16_sse2,
|
||||
&vpx_highbd_tm_predictor_16x16_c, 16,
|
||||
12),
|
||||
make_tuple(&vp9_highbd_tm_predictor_32x32_sse2,
|
||||
&vp9_highbd_tm_predictor_32x32_c, 32,
|
||||
make_tuple(&vpx_highbd_tm_predictor_32x32_sse2,
|
||||
&vpx_highbd_tm_predictor_32x32_c, 32,
|
||||
12),
|
||||
make_tuple(&vp9_highbd_dc_predictor_4x4_sse,
|
||||
&vp9_highbd_dc_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vp9_highbd_dc_predictor_8x8_sse2,
|
||||
&vp9_highbd_dc_predictor_8x8_c, 8, 12),
|
||||
make_tuple(&vp9_highbd_dc_predictor_16x16_sse2,
|
||||
&vp9_highbd_dc_predictor_16x16_c, 16,
|
||||
make_tuple(&vpx_highbd_dc_predictor_4x4_sse,
|
||||
&vpx_highbd_dc_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vpx_highbd_dc_predictor_8x8_sse2,
|
||||
&vpx_highbd_dc_predictor_8x8_c, 8, 12),
|
||||
make_tuple(&vpx_highbd_dc_predictor_16x16_sse2,
|
||||
&vpx_highbd_dc_predictor_16x16_c, 16,
|
||||
12),
|
||||
make_tuple(&vp9_highbd_v_predictor_4x4_sse,
|
||||
&vp9_highbd_v_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vp9_highbd_v_predictor_8x8_sse2,
|
||||
&vp9_highbd_v_predictor_8x8_c, 8, 12),
|
||||
make_tuple(&vp9_highbd_v_predictor_16x16_sse2,
|
||||
&vp9_highbd_v_predictor_16x16_c, 16,
|
||||
make_tuple(&vpx_highbd_v_predictor_4x4_sse,
|
||||
&vpx_highbd_v_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vpx_highbd_v_predictor_8x8_sse2,
|
||||
&vpx_highbd_v_predictor_8x8_c, 8, 12),
|
||||
make_tuple(&vpx_highbd_v_predictor_16x16_sse2,
|
||||
&vpx_highbd_v_predictor_16x16_c, 16,
|
||||
12),
|
||||
make_tuple(&vp9_highbd_v_predictor_32x32_sse2,
|
||||
&vp9_highbd_v_predictor_32x32_c, 32,
|
||||
make_tuple(&vpx_highbd_v_predictor_32x32_sse2,
|
||||
&vpx_highbd_v_predictor_32x32_c, 32,
|
||||
12),
|
||||
make_tuple(&vp9_highbd_tm_predictor_4x4_sse,
|
||||
&vp9_highbd_tm_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vp9_highbd_tm_predictor_8x8_sse2,
|
||||
&vp9_highbd_tm_predictor_8x8_c, 8, 12)));
|
||||
make_tuple(&vpx_highbd_tm_predictor_4x4_sse,
|
||||
&vpx_highbd_tm_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vpx_highbd_tm_predictor_8x8_sse2,
|
||||
&vpx_highbd_tm_predictor_8x8_c, 8, 12)));
|
||||
#else
|
||||
INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest,
|
||||
::testing::Values(
|
||||
make_tuple(&vp9_highbd_dc_predictor_4x4_sse,
|
||||
&vp9_highbd_dc_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vp9_highbd_dc_predictor_8x8_sse2,
|
||||
&vp9_highbd_dc_predictor_8x8_c, 8, 12),
|
||||
make_tuple(&vp9_highbd_dc_predictor_16x16_sse2,
|
||||
&vp9_highbd_dc_predictor_16x16_c, 16,
|
||||
make_tuple(&vpx_highbd_dc_predictor_4x4_sse,
|
||||
&vpx_highbd_dc_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vpx_highbd_dc_predictor_8x8_sse2,
|
||||
&vpx_highbd_dc_predictor_8x8_c, 8, 12),
|
||||
make_tuple(&vpx_highbd_dc_predictor_16x16_sse2,
|
||||
&vpx_highbd_dc_predictor_16x16_c, 16,
|
||||
12),
|
||||
make_tuple(&vp9_highbd_v_predictor_4x4_sse,
|
||||
&vp9_highbd_v_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vp9_highbd_v_predictor_8x8_sse2,
|
||||
&vp9_highbd_v_predictor_8x8_c, 8, 12),
|
||||
make_tuple(&vp9_highbd_v_predictor_16x16_sse2,
|
||||
&vp9_highbd_v_predictor_16x16_c, 16, 12),
|
||||
make_tuple(&vp9_highbd_v_predictor_32x32_sse2,
|
||||
&vp9_highbd_v_predictor_32x32_c, 32, 12),
|
||||
make_tuple(&vp9_highbd_tm_predictor_4x4_sse,
|
||||
&vp9_highbd_tm_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vp9_highbd_tm_predictor_8x8_sse2,
|
||||
&vp9_highbd_tm_predictor_8x8_c, 8, 12)));
|
||||
make_tuple(&vpx_highbd_v_predictor_4x4_sse,
|
||||
&vpx_highbd_v_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vpx_highbd_v_predictor_8x8_sse2,
|
||||
&vpx_highbd_v_predictor_8x8_c, 8, 12),
|
||||
make_tuple(&vpx_highbd_v_predictor_16x16_sse2,
|
||||
&vpx_highbd_v_predictor_16x16_c, 16, 12),
|
||||
make_tuple(&vpx_highbd_v_predictor_32x32_sse2,
|
||||
&vpx_highbd_v_predictor_32x32_c, 32, 12),
|
||||
make_tuple(&vpx_highbd_tm_predictor_4x4_sse,
|
||||
&vpx_highbd_tm_predictor_4x4_c, 4, 12),
|
||||
make_tuple(&vpx_highbd_tm_predictor_8x8_sse2,
|
||||
&vpx_highbd_tm_predictor_8x8_c, 8, 12)));
|
||||
#endif // !ARCH_X86_64
|
||||
#endif // CONFIG_USE_X86INC
|
||||
#endif // CONFIG_VP9_HIGHBITDEPTH
|
||||
|
|
|
@ -66,10 +66,10 @@ static intra_high_pred_fn dc_pred_high[2][2][4];
|
|||
|
||||
static void vp9_init_intra_predictors_internal(void) {
|
||||
#define INIT_ALL_SIZES(p, type) \
|
||||
p[TX_4X4] = vp9_##type##_predictor_4x4; \
|
||||
p[TX_8X8] = vp9_##type##_predictor_8x8; \
|
||||
p[TX_16X16] = vp9_##type##_predictor_16x16; \
|
||||
p[TX_32X32] = vp9_##type##_predictor_32x32
|
||||
p[TX_4X4] = vpx_##type##_predictor_4x4; \
|
||||
p[TX_8X8] = vpx_##type##_predictor_8x8; \
|
||||
p[TX_16X16] = vpx_##type##_predictor_16x16; \
|
||||
p[TX_32X32] = vpx_##type##_predictor_32x32
|
||||
|
||||
INIT_ALL_SIZES(pred[V_PRED], v);
|
||||
INIT_ALL_SIZES(pred[H_PRED], h);
|
||||
|
|
|
@ -59,24 +59,24 @@ static INLINE void dc_4x4(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
dc_4x4(dst, stride, above, left, 1, 1);
|
||||
}
|
||||
|
||||
void vp9_dc_left_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_left_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
dc_4x4(dst, stride, NULL, left, 0, 1);
|
||||
}
|
||||
|
||||
void vp9_dc_top_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_top_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
dc_4x4(dst, stride, above, NULL, 1, 0);
|
||||
}
|
||||
|
||||
void vp9_dc_128_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_128_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
(void)left;
|
||||
|
@ -130,24 +130,24 @@ static INLINE void dc_8x8(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
dc_8x8(dst, stride, above, left, 1, 1);
|
||||
}
|
||||
|
||||
void vp9_dc_left_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_left_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
dc_8x8(dst, stride, NULL, left, 0, 1);
|
||||
}
|
||||
|
||||
void vp9_dc_top_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_top_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
dc_8x8(dst, stride, above, NULL, 1, 0);
|
||||
}
|
||||
|
||||
void vp9_dc_128_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_128_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
(void)left;
|
||||
|
@ -203,26 +203,26 @@ static INLINE void dc_16x16(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
dc_16x16(dst, stride, above, left, 1, 1);
|
||||
}
|
||||
|
||||
void vp9_dc_left_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_left_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above,
|
||||
const uint8_t *left) {
|
||||
(void)above;
|
||||
dc_16x16(dst, stride, NULL, left, 0, 1);
|
||||
}
|
||||
|
||||
void vp9_dc_top_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_top_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above,
|
||||
const uint8_t *left) {
|
||||
(void)left;
|
||||
dc_16x16(dst, stride, above, NULL, 1, 0);
|
||||
}
|
||||
|
||||
void vp9_dc_128_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_128_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above,
|
||||
const uint8_t *left) {
|
||||
(void)above;
|
||||
|
@ -286,26 +286,26 @@ static INLINE void dc_32x32(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
dc_32x32(dst, stride, above, left, 1, 1);
|
||||
}
|
||||
|
||||
void vp9_dc_left_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_left_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above,
|
||||
const uint8_t *left) {
|
||||
(void)above;
|
||||
dc_32x32(dst, stride, NULL, left, 0, 1);
|
||||
}
|
||||
|
||||
void vp9_dc_top_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_top_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above,
|
||||
const uint8_t *left) {
|
||||
(void)left;
|
||||
dc_32x32(dst, stride, above, NULL, 1, 0);
|
||||
}
|
||||
|
||||
void vp9_dc_128_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_128_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above,
|
||||
const uint8_t *left) {
|
||||
(void)above;
|
||||
|
@ -315,7 +315,7 @@ void vp9_dc_128_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
void vp9_d45_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d45_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const uint64x1_t A0 = vreinterpret_u64_u8(vld1_u8(above)); // top row
|
||||
const uint64x1_t A1 = vshr_n_u64(A0, 8);
|
||||
|
@ -338,7 +338,7 @@ void vp9_d45_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
dst[3 * stride + 3] = above[7];
|
||||
}
|
||||
|
||||
void vp9_d45_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d45_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
static const uint8_t shuffle1[8] = { 1, 2, 3, 4, 5, 6, 7, 7 };
|
||||
static const uint8_t shuffle2[8] = { 2, 3, 4, 5, 6, 7, 7, 7 };
|
||||
|
@ -358,7 +358,7 @@ void vp9_d45_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
vst1_u8(dst + i * stride, row);
|
||||
}
|
||||
|
||||
void vp9_d45_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d45_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const uint8x16_t A0 = vld1q_u8(above); // top row
|
||||
const uint8x16_t above_right = vld1q_dup_u8(above + 15);
|
||||
|
@ -377,7 +377,7 @@ void vp9_d45_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
void vp9_d135_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d135_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const uint8x8_t XABCD_u8 = vld1_u8(above - 1);
|
||||
const uint64x1_t XABCD = vreinterpret_u64_u8(XABCD_u8);
|
||||
|
@ -407,7 +407,7 @@ void vp9_d135_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
|
||||
#if !HAVE_NEON_ASM
|
||||
|
||||
void vp9_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int i;
|
||||
uint32x2_t d0u32 = vdup_n_u32(0);
|
||||
|
@ -418,7 +418,7 @@ void vp9_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
vst1_lane_u32((uint32_t *)dst, d0u32, 0);
|
||||
}
|
||||
|
||||
void vp9_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int i;
|
||||
uint8x8_t d0u8 = vdup_n_u8(0);
|
||||
|
@ -429,7 +429,7 @@ void vp9_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
vst1_u8(dst, d0u8);
|
||||
}
|
||||
|
||||
void vp9_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int i;
|
||||
uint8x16_t q0u8 = vdupq_n_u8(0);
|
||||
|
@ -440,7 +440,7 @@ void vp9_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
vst1q_u8(dst, q0u8);
|
||||
}
|
||||
|
||||
void vp9_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int i;
|
||||
uint8x16_t q0u8 = vdupq_n_u8(0);
|
||||
|
@ -455,7 +455,7 @@ void vp9_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
uint8x8_t d0u8 = vdup_n_u8(0);
|
||||
uint32x2_t d1u32 = vdup_n_u32(0);
|
||||
|
@ -476,7 +476,7 @@ void vp9_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
vst1_lane_u32((uint32_t *)dst, vreinterpret_u32_u8(d0u8), 0);
|
||||
}
|
||||
|
||||
void vp9_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
uint8x8_t d0u8 = vdup_n_u8(0);
|
||||
uint64x1_t d1u64 = vdup_n_u64(0);
|
||||
|
@ -509,7 +509,7 @@ void vp9_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
vst1_u8(dst, d0u8);
|
||||
}
|
||||
|
||||
void vp9_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int j;
|
||||
uint8x8_t d2u8 = vdup_n_u8(0);
|
||||
|
@ -547,7 +547,7 @@ void vp9_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int j, k;
|
||||
uint8x8_t d2u8 = vdup_n_u8(0);
|
||||
|
@ -595,7 +595,7 @@ void vp9_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int i;
|
||||
uint16x8_t q1u16, q3u16;
|
||||
|
@ -615,7 +615,7 @@ void vp9_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int j;
|
||||
uint16x8_t q0u16, q3u16, q10u16;
|
||||
|
@ -657,7 +657,7 @@ void vp9_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int j, k;
|
||||
uint16x8_t q0u16, q2u16, q3u16, q8u16, q10u16;
|
||||
|
@ -720,7 +720,7 @@ void vp9_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t stride,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int j, k;
|
||||
uint16x8_t q0u16, q3u16, q8u16, q9u16, q10u16, q11u16;
|
||||
|
|
|
@ -8,25 +8,25 @@
|
|||
; be found in the AUTHORS file in the root of the source tree.
|
||||
;
|
||||
|
||||
EXPORT |vp9_v_predictor_4x4_neon|
|
||||
EXPORT |vp9_v_predictor_8x8_neon|
|
||||
EXPORT |vp9_v_predictor_16x16_neon|
|
||||
EXPORT |vp9_v_predictor_32x32_neon|
|
||||
EXPORT |vp9_h_predictor_4x4_neon|
|
||||
EXPORT |vp9_h_predictor_8x8_neon|
|
||||
EXPORT |vp9_h_predictor_16x16_neon|
|
||||
EXPORT |vp9_h_predictor_32x32_neon|
|
||||
EXPORT |vp9_tm_predictor_4x4_neon|
|
||||
EXPORT |vp9_tm_predictor_8x8_neon|
|
||||
EXPORT |vp9_tm_predictor_16x16_neon|
|
||||
EXPORT |vp9_tm_predictor_32x32_neon|
|
||||
EXPORT |vpx_v_predictor_4x4_neon|
|
||||
EXPORT |vpx_v_predictor_8x8_neon|
|
||||
EXPORT |vpx_v_predictor_16x16_neon|
|
||||
EXPORT |vpx_v_predictor_32x32_neon|
|
||||
EXPORT |vpx_h_predictor_4x4_neon|
|
||||
EXPORT |vpx_h_predictor_8x8_neon|
|
||||
EXPORT |vpx_h_predictor_16x16_neon|
|
||||
EXPORT |vpx_h_predictor_32x32_neon|
|
||||
EXPORT |vpx_tm_predictor_4x4_neon|
|
||||
EXPORT |vpx_tm_predictor_8x8_neon|
|
||||
EXPORT |vpx_tm_predictor_16x16_neon|
|
||||
EXPORT |vpx_tm_predictor_32x32_neon|
|
||||
ARM
|
||||
REQUIRE8
|
||||
PRESERVE8
|
||||
|
||||
AREA ||.text||, CODE, READONLY, ALIGN=2
|
||||
|
||||
;void vp9_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -34,16 +34,16 @@
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_v_predictor_4x4_neon| PROC
|
||||
|vpx_v_predictor_4x4_neon| PROC
|
||||
vld1.32 {d0[0]}, [r2]
|
||||
vst1.32 {d0[0]}, [r0], r1
|
||||
vst1.32 {d0[0]}, [r0], r1
|
||||
vst1.32 {d0[0]}, [r0], r1
|
||||
vst1.32 {d0[0]}, [r0], r1
|
||||
bx lr
|
||||
ENDP ; |vp9_v_predictor_4x4_neon|
|
||||
ENDP ; |vpx_v_predictor_4x4_neon|
|
||||
|
||||
;void vp9_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -51,7 +51,7 @@
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_v_predictor_8x8_neon| PROC
|
||||
|vpx_v_predictor_8x8_neon| PROC
|
||||
vld1.8 {d0}, [r2]
|
||||
vst1.8 {d0}, [r0], r1
|
||||
vst1.8 {d0}, [r0], r1
|
||||
|
@ -62,9 +62,9 @@
|
|||
vst1.8 {d0}, [r0], r1
|
||||
vst1.8 {d0}, [r0], r1
|
||||
bx lr
|
||||
ENDP ; |vp9_v_predictor_8x8_neon|
|
||||
ENDP ; |vpx_v_predictor_8x8_neon|
|
||||
|
||||
;void vp9_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -72,7 +72,7 @@
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_v_predictor_16x16_neon| PROC
|
||||
|vpx_v_predictor_16x16_neon| PROC
|
||||
vld1.8 {q0}, [r2]
|
||||
vst1.8 {q0}, [r0], r1
|
||||
vst1.8 {q0}, [r0], r1
|
||||
|
@ -91,9 +91,9 @@
|
|||
vst1.8 {q0}, [r0], r1
|
||||
vst1.8 {q0}, [r0], r1
|
||||
bx lr
|
||||
ENDP ; |vp9_v_predictor_16x16_neon|
|
||||
ENDP ; |vpx_v_predictor_16x16_neon|
|
||||
|
||||
;void vp9_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -101,7 +101,7 @@
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_v_predictor_32x32_neon| PROC
|
||||
|vpx_v_predictor_32x32_neon| PROC
|
||||
vld1.8 {q0, q1}, [r2]
|
||||
mov r2, #2
|
||||
loop_v
|
||||
|
@ -124,9 +124,9 @@ loop_v
|
|||
subs r2, r2, #1
|
||||
bgt loop_v
|
||||
bx lr
|
||||
ENDP ; |vp9_v_predictor_32x32_neon|
|
||||
ENDP ; |vpx_v_predictor_32x32_neon|
|
||||
|
||||
;void vp9_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -134,7 +134,7 @@ loop_v
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_h_predictor_4x4_neon| PROC
|
||||
|vpx_h_predictor_4x4_neon| PROC
|
||||
vld1.32 {d1[0]}, [r3]
|
||||
vdup.8 d0, d1[0]
|
||||
vst1.32 {d0[0]}, [r0], r1
|
||||
|
@ -145,9 +145,9 @@ loop_v
|
|||
vdup.8 d0, d1[3]
|
||||
vst1.32 {d0[0]}, [r0], r1
|
||||
bx lr
|
||||
ENDP ; |vp9_h_predictor_4x4_neon|
|
||||
ENDP ; |vpx_h_predictor_4x4_neon|
|
||||
|
||||
;void vp9_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -155,7 +155,7 @@ loop_v
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_h_predictor_8x8_neon| PROC
|
||||
|vpx_h_predictor_8x8_neon| PROC
|
||||
vld1.64 {d1}, [r3]
|
||||
vdup.8 d0, d1[0]
|
||||
vst1.64 {d0}, [r0], r1
|
||||
|
@ -174,9 +174,9 @@ loop_v
|
|||
vdup.8 d0, d1[7]
|
||||
vst1.64 {d0}, [r0], r1
|
||||
bx lr
|
||||
ENDP ; |vp9_h_predictor_8x8_neon|
|
||||
ENDP ; |vpx_h_predictor_8x8_neon|
|
||||
|
||||
;void vp9_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -184,7 +184,7 @@ loop_v
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_h_predictor_16x16_neon| PROC
|
||||
|vpx_h_predictor_16x16_neon| PROC
|
||||
vld1.8 {q1}, [r3]
|
||||
vdup.8 q0, d2[0]
|
||||
vst1.8 {q0}, [r0], r1
|
||||
|
@ -219,9 +219,9 @@ loop_v
|
|||
vdup.8 q0, d3[7]
|
||||
vst1.8 {q0}, [r0], r1
|
||||
bx lr
|
||||
ENDP ; |vp9_h_predictor_16x16_neon|
|
||||
ENDP ; |vpx_h_predictor_16x16_neon|
|
||||
|
||||
;void vp9_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -229,7 +229,7 @@ loop_v
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_h_predictor_32x32_neon| PROC
|
||||
|vpx_h_predictor_32x32_neon| PROC
|
||||
sub r1, r1, #16
|
||||
mov r2, #2
|
||||
loop_h
|
||||
|
@ -285,9 +285,9 @@ loop_h
|
|||
subs r2, r2, #1
|
||||
bgt loop_h
|
||||
bx lr
|
||||
ENDP ; |vp9_h_predictor_32x32_neon|
|
||||
ENDP ; |vpx_h_predictor_32x32_neon|
|
||||
|
||||
;void vp9_tm_predictor_4x4_neon (uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_tm_predictor_4x4_neon (uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -295,7 +295,7 @@ loop_h
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_tm_predictor_4x4_neon| PROC
|
||||
|vpx_tm_predictor_4x4_neon| PROC
|
||||
; Load ytop_left = above[-1];
|
||||
sub r12, r2, #1
|
||||
vld1.u8 {d0[]}, [r12]
|
||||
|
@ -331,9 +331,9 @@ loop_h
|
|||
vst1.32 {d0[0]}, [r0], r1
|
||||
vst1.32 {d1[0]}, [r0], r1
|
||||
bx lr
|
||||
ENDP ; |vp9_tm_predictor_4x4_neon|
|
||||
ENDP ; |vpx_tm_predictor_4x4_neon|
|
||||
|
||||
;void vp9_tm_predictor_8x8_neon (uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_tm_predictor_8x8_neon (uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -341,7 +341,7 @@ loop_h
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_tm_predictor_8x8_neon| PROC
|
||||
|vpx_tm_predictor_8x8_neon| PROC
|
||||
; Load ytop_left = above[-1];
|
||||
sub r12, r2, #1
|
||||
vld1.8 {d0[]}, [r12]
|
||||
|
@ -403,9 +403,9 @@ loop_h
|
|||
vst1.64 {d3}, [r0], r1
|
||||
|
||||
bx lr
|
||||
ENDP ; |vp9_tm_predictor_8x8_neon|
|
||||
ENDP ; |vpx_tm_predictor_8x8_neon|
|
||||
|
||||
;void vp9_tm_predictor_16x16_neon (uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_tm_predictor_16x16_neon (uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -413,7 +413,7 @@ loop_h
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_tm_predictor_16x16_neon| PROC
|
||||
|vpx_tm_predictor_16x16_neon| PROC
|
||||
; Load ytop_left = above[-1];
|
||||
sub r12, r2, #1
|
||||
vld1.8 {d0[]}, [r12]
|
||||
|
@ -496,9 +496,9 @@ loop_16x16_neon
|
|||
bgt loop_16x16_neon
|
||||
|
||||
bx lr
|
||||
ENDP ; |vp9_tm_predictor_16x16_neon|
|
||||
ENDP ; |vpx_tm_predictor_16x16_neon|
|
||||
|
||||
;void vp9_tm_predictor_32x32_neon (uint8_t *dst, ptrdiff_t y_stride,
|
||||
;void vpx_tm_predictor_32x32_neon (uint8_t *dst, ptrdiff_t y_stride,
|
||||
; const uint8_t *above,
|
||||
; const uint8_t *left)
|
||||
; r0 uint8_t *dst
|
||||
|
@ -506,7 +506,7 @@ loop_16x16_neon
|
|||
; r2 const uint8_t *above
|
||||
; r3 const uint8_t *left
|
||||
|
||||
|vp9_tm_predictor_32x32_neon| PROC
|
||||
|vpx_tm_predictor_32x32_neon| PROC
|
||||
; Load ytop_left = above[-1];
|
||||
sub r12, r2, #1
|
||||
vld1.8 {d0[]}, [r12]
|
||||
|
@ -625,6 +625,6 @@ loop_32x32_neon
|
|||
bgt loop_32x32_neon
|
||||
|
||||
bx lr
|
||||
ENDP ; |vp9_tm_predictor_32x32_neon|
|
||||
ENDP ; |vpx_tm_predictor_32x32_neon|
|
||||
|
||||
END
|
||||
|
|
|
@ -247,7 +247,7 @@ static INLINE void dc_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const int I = left[0];
|
||||
const int J = left[1];
|
||||
|
@ -264,7 +264,7 @@ void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
|||
DST(0, 3) = DST(1, 3) = DST(2, 3) = DST(3, 3) = L;
|
||||
}
|
||||
|
||||
void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const int A = above[0];
|
||||
const int B = above[1];
|
||||
|
@ -287,7 +287,7 @@ void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
|||
DST(3, 3) = AVG3(E, F, G); // differs from vp8
|
||||
}
|
||||
|
||||
void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const int A = above[0];
|
||||
const int B = above[1];
|
||||
|
@ -308,7 +308,7 @@ void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
|||
DST(3, 3) = H; // differs from vp8
|
||||
}
|
||||
|
||||
void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const int I = left[0];
|
||||
const int J = left[1];
|
||||
|
@ -331,7 +331,7 @@ void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
|||
DST(3, 1) = AVG3(B, C, D);
|
||||
}
|
||||
|
||||
void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const int I = left[0];
|
||||
const int J = left[1];
|
||||
|
@ -352,7 +352,7 @@ void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
|||
DST(3, 0) = AVG3(D, C, B);
|
||||
}
|
||||
|
||||
void vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
const int I = left[0];
|
||||
const int J = left[1];
|
||||
|
@ -629,7 +629,7 @@ static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride,
|
|||
// can be unified and accessed as a pointer array. Note that the boundary
|
||||
// above and left are not necessarily used all the time.
|
||||
#define intra_pred_sized(type, size) \
|
||||
void vp9_##type##_predictor_##size##x##size##_c(uint8_t *dst, \
|
||||
void vpx_##type##_predictor_##size##x##size##_c(uint8_t *dst, \
|
||||
ptrdiff_t stride, \
|
||||
const uint8_t *above, \
|
||||
const uint8_t *left) { \
|
||||
|
@ -638,7 +638,7 @@ static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride,
|
|||
|
||||
#if CONFIG_VP9_HIGHBITDEPTH
|
||||
#define intra_pred_highbd_sized(type, size) \
|
||||
void vp9_highbd_##type##_predictor_##size##x##size##_c( \
|
||||
void vpx_highbd_##type##_predictor_##size##x##size##_c( \
|
||||
uint16_t *dst, ptrdiff_t stride, const uint16_t *above, \
|
||||
const uint16_t *left, int bd) { \
|
||||
highbd_##type##_predictor(dst, stride, size, above, left, bd); \
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "vpx_dsp/mips/common_dspr2.h"
|
||||
|
||||
#if HAVE_DSPR2
|
||||
void vp9_h_predictor_16x16_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_h_predictor_16x16_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int32_t tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
|
||||
int32_t tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16;
|
||||
|
@ -158,7 +158,7 @@ void vp9_h_predictor_16x16_dspr2(uint8_t *dst, ptrdiff_t stride,
|
|||
);
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_16x16_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_predictor_16x16_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int32_t expected_dc;
|
||||
int32_t average;
|
||||
|
|
|
@ -27,7 +27,7 @@ void vpx_dsputil_static_init(void) {
|
|||
vpx_ff_cropTbl = &vpx_ff_cropTbl_a[CROP_WIDTH];
|
||||
}
|
||||
|
||||
void vp9_h_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_h_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int32_t tmp1, tmp2, tmp3, tmp4;
|
||||
|
||||
|
@ -54,7 +54,7 @@ void vp9_h_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t stride,
|
|||
);
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int32_t expected_dc;
|
||||
int32_t average;
|
||||
|
@ -96,7 +96,7 @@ void vp9_dc_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t stride,
|
|||
);
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_tm_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int32_t abovel, abover;
|
||||
int32_t left0, left1, left2, left3;
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "vpx_dsp/mips/common_dspr2.h"
|
||||
|
||||
#if HAVE_DSPR2
|
||||
void vp9_h_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_h_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int32_t tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
|
||||
|
||||
|
@ -67,7 +67,7 @@ void vp9_h_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t stride,
|
|||
);
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_dc_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int32_t expected_dc;
|
||||
int32_t average;
|
||||
|
@ -150,7 +150,7 @@ void vp9_dc_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t stride,
|
|||
);
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
void vpx_tm_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
int32_t abovel, abover;
|
||||
int32_t abovel_1, abover_1;
|
||||
|
|
|
@ -550,125 +550,125 @@ static void intra_predict_tm_32x32_msa(const uint8_t *src_top,
|
|||
}
|
||||
}
|
||||
|
||||
void vp9_v_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_v_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
|
||||
intra_predict_vert_4x4_msa(above, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_v_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_v_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
|
||||
intra_predict_vert_8x8_msa(above, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_v_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_v_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
|
||||
intra_predict_vert_16x16_msa(above, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_v_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_v_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
|
||||
intra_predict_vert_32x32_msa(above, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_h_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_h_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
|
||||
intra_predict_horiz_4x4_msa(left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_h_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_h_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
|
||||
intra_predict_horiz_8x8_msa(left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_h_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_h_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
|
||||
intra_predict_horiz_16x16_msa(left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_h_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_h_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
|
||||
intra_predict_horiz_32x32_msa(left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
intra_predict_dc_4x4_msa(above, left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
intra_predict_dc_8x8_msa(above, left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
intra_predict_dc_16x16_msa(above, left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
intra_predict_dc_32x32_msa(above, left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_top_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_top_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
|
||||
intra_predict_dc_tl_4x4_msa(above, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_top_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_top_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
|
||||
intra_predict_dc_tl_8x8_msa(above, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_top_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_top_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
|
||||
intra_predict_dc_tl_16x16_msa(above, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_top_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_top_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)left;
|
||||
|
||||
intra_predict_dc_tl_32x32_msa(above, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_left_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_left_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
|
||||
intra_predict_dc_tl_4x4_msa(left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_left_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_left_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
|
||||
intra_predict_dc_tl_8x8_msa(left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_left_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_left_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above,
|
||||
const uint8_t *left) {
|
||||
(void)above;
|
||||
|
@ -676,7 +676,7 @@ void vp9_dc_left_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
|||
intra_predict_dc_tl_16x16_msa(left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_left_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_left_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above,
|
||||
const uint8_t *left) {
|
||||
(void)above;
|
||||
|
@ -684,7 +684,7 @@ void vp9_dc_left_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
|||
intra_predict_dc_tl_32x32_msa(left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_128_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_128_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
(void)left;
|
||||
|
@ -692,7 +692,7 @@ void vp9_dc_128_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
|||
intra_predict_128dc_4x4_msa(dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_128_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_128_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
(void)left;
|
||||
|
@ -700,7 +700,7 @@ void vp9_dc_128_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
|||
intra_predict_128dc_8x8_msa(dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_128_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_128_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
(void)left;
|
||||
|
@ -708,7 +708,7 @@ void vp9_dc_128_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
|||
intra_predict_128dc_16x16_msa(dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_dc_128_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_dc_128_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
(void)above;
|
||||
(void)left;
|
||||
|
@ -716,22 +716,22 @@ void vp9_dc_128_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
|||
intra_predict_128dc_32x32_msa(dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_tm_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
intra_predict_tm_4x4_msa(above, left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_tm_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
intra_predict_tm_8x8_msa(above, left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_tm_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
intra_predict_tm_16x16_msa(above, left, dst, y_stride);
|
||||
}
|
||||
|
||||
void vp9_tm_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
void vpx_tm_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
|
||||
const uint8_t *above, const uint8_t *left) {
|
||||
intra_predict_tm_32x32_msa(above, left, dst, y_stride);
|
||||
}
|
||||
|
|
|
@ -47,319 +47,319 @@ if ($opts{arch} eq "x86_64") {
|
|||
#
|
||||
# Intra prediction
|
||||
#
|
||||
add_proto qw/void vp9_d207_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d207_predictor_4x4/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d207_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d207_predictor_4x4/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d45_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d45_predictor_4x4 neon/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d45_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d45_predictor_4x4 neon/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d63_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d63_predictor_4x4/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d63_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d63_predictor_4x4/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_h_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_h_predictor_4x4 neon dspr2 msa/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_h_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_h_predictor_4x4 neon dspr2 msa/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d117_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d117_predictor_4x4/;
|
||||
add_proto qw/void vpx_d117_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d117_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_d135_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d135_predictor_4x4 neon/;
|
||||
add_proto qw/void vpx_d135_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d135_predictor_4x4 neon/;
|
||||
|
||||
add_proto qw/void vp9_d153_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d153_predictor_4x4/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d153_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d153_predictor_4x4/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_v_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_v_predictor_4x4 neon msa/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_v_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_v_predictor_4x4 neon msa/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_tm_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_tm_predictor_4x4 neon dspr2 msa/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_tm_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_tm_predictor_4x4 neon dspr2 msa/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_predictor_4x4 dspr2 msa neon/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_dc_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_predictor_4x4 dspr2 msa neon/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_top_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_top_predictor_4x4 msa neon/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_dc_top_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_top_predictor_4x4 msa neon/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_left_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_left_predictor_4x4 msa neon/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_dc_left_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_left_predictor_4x4 msa neon/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_128_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_128_predictor_4x4 msa neon/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_dc_128_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_128_predictor_4x4 msa neon/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d207_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d207_predictor_8x8/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d207_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d207_predictor_8x8/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d45_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d45_predictor_8x8 neon/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d45_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d45_predictor_8x8 neon/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d63_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d63_predictor_8x8/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d63_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d63_predictor_8x8/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_h_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_h_predictor_8x8 neon dspr2 msa/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_h_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_h_predictor_8x8 neon dspr2 msa/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d117_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d117_predictor_8x8/;
|
||||
add_proto qw/void vpx_d117_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d117_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_d135_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d135_predictor_8x8/;
|
||||
add_proto qw/void vpx_d135_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d135_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_d153_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d153_predictor_8x8/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d153_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d153_predictor_8x8/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_v_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_v_predictor_8x8 neon msa/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_v_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_v_predictor_8x8 neon msa/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_tm_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_tm_predictor_8x8 neon dspr2 msa/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_tm_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_tm_predictor_8x8 neon dspr2 msa/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_predictor_8x8 dspr2 neon msa/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_dc_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_predictor_8x8 dspr2 neon msa/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_top_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_top_predictor_8x8 neon msa/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_dc_top_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_top_predictor_8x8 neon msa/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_left_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_left_predictor_8x8 neon msa/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_dc_left_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_left_predictor_8x8 neon msa/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_128_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_128_predictor_8x8 neon msa/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_dc_128_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_128_predictor_8x8 neon msa/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d207_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d207_predictor_16x16/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d207_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d207_predictor_16x16/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d45_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d45_predictor_16x16 neon/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d45_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d45_predictor_16x16 neon/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d63_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d63_predictor_16x16/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d63_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d63_predictor_16x16/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_h_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_h_predictor_16x16 neon dspr2 msa/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_h_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_h_predictor_16x16 neon dspr2 msa/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d117_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d117_predictor_16x16/;
|
||||
add_proto qw/void vpx_d117_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d117_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_d135_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d135_predictor_16x16/;
|
||||
add_proto qw/void vpx_d135_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d135_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_d153_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d153_predictor_16x16/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d153_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d153_predictor_16x16/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_v_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_v_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_v_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_v_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_tm_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_tm_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_tm_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_tm_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_predictor_16x16 dspr2 neon msa/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_dc_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_predictor_16x16 dspr2 neon msa/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_top_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_top_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_dc_top_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_top_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_left_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_left_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_dc_left_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_left_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_128_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_128_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_dc_128_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_128_predictor_16x16 neon msa/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d207_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d207_predictor_32x32/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d207_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d207_predictor_32x32/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d45_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d45_predictor_32x32/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d45_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d45_predictor_32x32/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d63_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d63_predictor_32x32/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d63_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d63_predictor_32x32/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_h_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_h_predictor_32x32 neon msa/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_h_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_h_predictor_32x32 neon msa/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_d117_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d117_predictor_32x32/;
|
||||
add_proto qw/void vpx_d117_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d117_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_d135_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d135_predictor_32x32/;
|
||||
add_proto qw/void vpx_d135_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d135_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_d153_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_d153_predictor_32x32/, "$ssse3_x86inc";
|
||||
add_proto qw/void vpx_d153_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_d153_predictor_32x32/, "$ssse3_x86inc";
|
||||
|
||||
add_proto qw/void vp9_v_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_v_predictor_32x32 neon msa/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_v_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_v_predictor_32x32 neon msa/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_tm_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_tm_predictor_32x32 neon msa/, "$sse2_x86_64_x86inc";
|
||||
add_proto qw/void vpx_tm_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_tm_predictor_32x32 neon msa/, "$sse2_x86_64_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_predictor_32x32 msa neon/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_dc_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_predictor_32x32 msa neon/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_top_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_top_predictor_32x32 msa neon/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_dc_top_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_top_predictor_32x32 msa neon/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_left_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_left_predictor_32x32 msa neon/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_dc_left_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_left_predictor_32x32 msa neon/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_dc_128_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vp9_dc_128_predictor_32x32 msa neon/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_dc_128_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
|
||||
specialize qw/vpx_dc_128_predictor_32x32 msa neon/, "$sse2_x86inc";
|
||||
|
||||
# High bitdepth functions
|
||||
if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") {
|
||||
add_proto qw/void vp9_highbd_d207_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d207_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_d207_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d207_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d45_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d45_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_d45_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d45_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d63_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d63_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_d63_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d63_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_h_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_h_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_h_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_h_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d117_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d117_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_d117_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d117_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d135_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d135_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_d135_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d135_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d153_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d153_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_d153_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d153_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_v_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_v_predictor_4x4/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_highbd_v_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_v_predictor_4x4/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_tm_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_tm_predictor_4x4/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_highbd_tm_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_tm_predictor_4x4/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_predictor_4x4/, "$sse_x86inc";
|
||||
add_proto qw/void vpx_highbd_dc_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_predictor_4x4/, "$sse_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_top_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_top_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_dc_top_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_top_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_left_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_left_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_dc_left_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_left_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_128_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_128_predictor_4x4/;
|
||||
add_proto qw/void vpx_highbd_dc_128_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_128_predictor_4x4/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d207_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d207_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_d207_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d207_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d45_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d45_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_d45_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d45_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d63_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d63_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_d63_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d63_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_h_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_h_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_h_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_h_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d117_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d117_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_d117_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d117_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d135_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d135_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_d135_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d135_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d153_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d153_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_d153_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d153_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_v_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_v_predictor_8x8/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_highbd_v_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_v_predictor_8x8/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_tm_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_tm_predictor_8x8/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_highbd_tm_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_tm_predictor_8x8/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_predictor_8x8/, "$sse2_x86inc";;
|
||||
add_proto qw/void vpx_highbd_dc_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_predictor_8x8/, "$sse2_x86inc";;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_top_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_top_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_dc_top_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_top_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_left_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_left_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_dc_left_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_left_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_128_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_128_predictor_8x8/;
|
||||
add_proto qw/void vpx_highbd_dc_128_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_128_predictor_8x8/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d207_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d207_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_d207_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d207_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d45_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d45_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_d45_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d45_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d63_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d63_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_d63_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d63_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_h_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_h_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_h_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_h_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d117_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d117_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_d117_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d117_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d135_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d135_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_d135_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d135_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d153_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d153_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_d153_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d153_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_v_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_v_predictor_16x16/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_highbd_v_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_v_predictor_16x16/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_tm_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_tm_predictor_16x16/, "$sse2_x86_64_x86inc";
|
||||
add_proto qw/void vpx_highbd_tm_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_tm_predictor_16x16/, "$sse2_x86_64_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_predictor_16x16/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_highbd_dc_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_predictor_16x16/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_top_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_top_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_dc_top_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_top_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_left_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_left_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_dc_left_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_left_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_128_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_128_predictor_16x16/;
|
||||
add_proto qw/void vpx_highbd_dc_128_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_128_predictor_16x16/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d207_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d207_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_d207_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d207_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d45_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d45_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_d45_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d45_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d63_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d63_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_d63_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d63_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_h_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_h_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_h_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_h_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d117_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d117_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_d117_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d117_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d135_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d135_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_d135_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d135_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_d153_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_d153_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_d153_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_d153_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_v_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_v_predictor_32x32/, "$sse2_x86inc";
|
||||
add_proto qw/void vpx_highbd_v_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_v_predictor_32x32/, "$sse2_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_tm_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_tm_predictor_32x32/, "$sse2_x86_64_x86inc";
|
||||
add_proto qw/void vpx_highbd_tm_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_tm_predictor_32x32/, "$sse2_x86_64_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_predictor_32x32/, "$sse2_x86_64_x86inc";
|
||||
add_proto qw/void vpx_highbd_dc_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_predictor_32x32/, "$sse2_x86_64_x86inc";
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_top_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_top_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_dc_top_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_top_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_left_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_left_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_dc_left_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_left_predictor_32x32/;
|
||||
|
||||
add_proto qw/void vp9_highbd_dc_128_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vp9_highbd_dc_128_predictor_32x32/;
|
||||
add_proto qw/void vpx_highbd_dc_128_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
|
||||
specialize qw/vpx_highbd_dc_128_predictor_32x32/;
|
||||
}
|
||||
|
||||
#
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
; be found in the AUTHORS file in the root of the source tree.
|
||||
;
|
||||
|
||||
%define program_name vpx
|
||||
|
||||
%include "third_party/x86inc/x86inc.asm"
|
||||
|
||||
SECTION_RODATA
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
; be found in the AUTHORS file in the root of the source tree.
|
||||
;
|
||||
|
||||
%define program_name vpx
|
||||
|
||||
%include "third_party/x86inc/x86inc.asm"
|
||||
|
||||
SECTION_RODATA
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
; be found in the AUTHORS file in the root of the source tree.
|
||||
;
|
||||
|
||||
%define program_name vpx
|
||||
|
||||
%include "third_party/x86inc/x86inc.asm"
|
||||
|
||||
SECTION_RODATA
|
||||
|
|
Загрузка…
Ссылка в новой задаче