add_proto qw/void aom_ve_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_ve_predictor_4x4/;
-add_proto qw/void aom_tm_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
-specialize qw/aom_tm_predictor_4x4 neon dspr2 msa sse2/;
+if ((aom_config("CONFIG_ALT_INTRA") eq "yes")) {
+ add_proto qw/void aom_paeth_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
+} else {
+ add_proto qw/void aom_tm_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
+ specialize qw/aom_tm_predictor_4x4 neon dspr2 msa sse2/;
+} # CONFIG_ALT_INTRA
add_proto qw/void aom_dc_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_dc_predictor_4x4 dspr2 msa neon sse2/;
add_proto qw/void aom_v_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_v_predictor_8x8 neon msa sse2/;
-add_proto qw/void aom_tm_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
-specialize qw/aom_tm_predictor_8x8 neon dspr2 msa sse2/;
+if ((aom_config("CONFIG_ALT_INTRA") eq "yes")) {
+ add_proto qw/void aom_paeth_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
+} else {
+ add_proto qw/void aom_tm_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
+ specialize qw/aom_tm_predictor_8x8 neon dspr2 msa sse2/;
+} # CONFIG_ALT_INTRA
add_proto qw/void aom_dc_predictor_8x8/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_dc_predictor_8x8 dspr2 neon msa sse2/;
add_proto qw/void aom_v_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_v_predictor_16x16 neon msa sse2/;
-add_proto qw/void aom_tm_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
-specialize qw/aom_tm_predictor_16x16 neon msa sse2/;
+if ((aom_config("CONFIG_ALT_INTRA") eq "yes")) {
+ add_proto qw/void aom_paeth_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
+} else {
+ add_proto qw/void aom_tm_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
+ specialize qw/aom_tm_predictor_16x16 neon msa sse2/;
+} # CONFIG_ALT_INTRA
+
add_proto qw/void aom_dc_predictor_16x16/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_dc_predictor_16x16 dspr2 neon msa sse2/;
add_proto qw/void aom_v_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_v_predictor_32x32 neon msa sse2/;
-add_proto qw/void aom_tm_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
-specialize qw/aom_tm_predictor_32x32 neon msa sse2/;
+if ((aom_config("CONFIG_ALT_INTRA") eq "yes")) {
+ add_proto qw/void aom_paeth_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
+} else {
+ add_proto qw/void aom_tm_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
+ specialize qw/aom_tm_predictor_32x32 neon msa sse2/;
+} # CONFIG_ALT_INTRA
+
add_proto qw/void aom_dc_predictor_32x32/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_dc_predictor_32x32 msa neon sse2/;
add_proto qw/void aom_highbd_v_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
specialize qw/aom_highbd_v_predictor_4x4 sse2/;
- add_proto qw/void aom_highbd_tm_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
- specialize qw/aom_highbd_tm_predictor_4x4 sse2/;
+ if ((aom_config("CONFIG_ALT_INTRA") eq "yes")) {
+ add_proto qw/void aom_highbd_paeth_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
+ } else {
+ add_proto qw/void aom_highbd_tm_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
+ specialize qw/aom_highbd_tm_predictor_4x4 sse2/;
+ } # CONFIG_ALT_INTRA
+
add_proto qw/void aom_highbd_dc_predictor_4x4/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
specialize qw/aom_highbd_dc_predictor_4x4 sse2/;
add_proto qw/void aom_highbd_v_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
specialize qw/aom_highbd_v_predictor_8x8 sse2/;
- add_proto qw/void aom_highbd_tm_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
- specialize qw/aom_highbd_tm_predictor_8x8 sse2/;
+ if ((aom_config("CONFIG_ALT_INTRA") eq "yes")) {
+ add_proto qw/void aom_highbd_paeth_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
+ } else {
+ add_proto qw/void aom_highbd_tm_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
+ specialize qw/aom_highbd_tm_predictor_8x8 sse2/;
+ } # CONFIG_ALT_INTRA
add_proto qw/void aom_highbd_dc_predictor_8x8/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
specialize qw/aom_highbd_dc_predictor_8x8 sse2/;;
add_proto qw/void aom_highbd_v_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
specialize qw/aom_highbd_v_predictor_16x16 sse2/;
- add_proto qw/void aom_highbd_tm_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
- specialize qw/aom_highbd_tm_predictor_16x16 sse2/;
+ if ((aom_config("CONFIG_ALT_INTRA") eq "yes")) {
+ add_proto qw/void aom_highbd_paeth_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
+ } else {
+ add_proto qw/void aom_highbd_tm_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
+ specialize qw/aom_highbd_tm_predictor_16x16 sse2/;
+ } # CONFIG_ALT_INTRA
add_proto qw/void aom_highbd_dc_predictor_16x16/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
specialize qw/aom_highbd_dc_predictor_16x16 sse2/;
add_proto qw/void aom_highbd_v_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
specialize qw/aom_highbd_v_predictor_32x32 sse2/;
- add_proto qw/void aom_highbd_tm_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
- specialize qw/aom_highbd_tm_predictor_32x32 sse2/;
+ if ((aom_config("CONFIG_ALT_INTRA") eq "yes")) {
+ add_proto qw/void aom_highbd_paeth_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
+ } else {
+ add_proto qw/void aom_highbd_tm_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
+ specialize qw/aom_highbd_tm_predictor_32x32 sse2/;
+ } # CONFIG_ALT_INTRA
add_proto qw/void aom_highbd_dc_predictor_32x32/, "uint16_t *dst, ptrdiff_t y_stride, const uint16_t *above, const uint16_t *left, int bd";
specialize qw/aom_highbd_dc_predictor_32x32 sse2/;
}
}
+#if CONFIG_ALT_INTRA
+static INLINE int abs_diff(int a, int b) { return (a > b) ? a - b : b - a; }
+
+static INLINE uint16_t paeth_predictor_single(uint16_t left, uint16_t top,
+ uint16_t top_left) {
+ const int base = top + left - top_left;
+ const int p_left = abs_diff(base, left);
+ const int p_top = abs_diff(base, top);
+ const int p_top_left = abs_diff(base, top_left);
+
+ // Return nearest to base of left, top and top_left.
+ return (p_left <= p_top && p_left <= p_top_left)
+ ? left
+ : (p_top <= p_top_left) ? top : top_left;
+}
+
+static INLINE void paeth_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
+ const uint8_t *above, const uint8_t *left) {
+ int r, c;
+ const uint8_t ytop_left = above[-1];
+
+ for (r = 0; r < bs; r++) {
+ for (c = 0; c < bs; c++)
+ dst[c] = (uint8_t)paeth_predictor_single(left[r], above[c], ytop_left);
+ dst += stride;
+ }
+}
+
+#else
+
static INLINE void tm_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
const uint8_t *above, const uint8_t *left) {
int r, c;
dst += stride;
}
}
+#endif // CONFIG_ALT_INTRA
static INLINE void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
const uint8_t *above, const uint8_t *left) {
}
}
+#if CONFIG_ALT_INTRA
+static INLINE void highbd_paeth_predictor(uint16_t *dst, ptrdiff_t stride,
+ int bs, const uint16_t *above,
+ const uint16_t *left, int bd) {
+ int r, c;
+ const uint16_t ytop_left = above[-1];
+ (void)bd;
+
+ for (r = 0; r < bs; r++) {
+ for (c = 0; c < bs; c++)
+ dst[c] = paeth_predictor_single(left[r], above[c], ytop_left);
+ dst += stride;
+ }
+}
+
+#else
static INLINE void highbd_tm_predictor(uint16_t *dst, ptrdiff_t stride, int bs,
const uint16_t *above,
const uint16_t *left, int bd) {
dst += stride;
}
}
+#endif // CONFIG_ALT_INTRA
static INLINE void highbd_dc_128_predictor(uint16_t *dst, ptrdiff_t stride,
int bs, const uint16_t *above,
intra_pred_no_4x4(d153)
intra_pred_allsizes(v)
intra_pred_allsizes(h)
+#if CONFIG_ALT_INTRA
+intra_pred_allsizes(paeth)
+#else
intra_pred_allsizes(tm)
+#endif // CONFIG_ALT_INTRA
intra_pred_allsizes(dc_128)
intra_pred_allsizes(dc_left)
intra_pred_allsizes(dc_top)
INIT_ALL_SIZES(pred[D117_PRED], d117);
INIT_ALL_SIZES(pred[D135_PRED], d135);
INIT_ALL_SIZES(pred[D153_PRED], d153);
+
+#if CONFIG_ALT_INTRA
+ INIT_ALL_SIZES(pred[TM_PRED], paeth);
+#else
INIT_ALL_SIZES(pred[TM_PRED], tm);
+#endif // CONFIG_ALT_INTRA
INIT_ALL_SIZES(dc_pred[0][0], dc_128);
INIT_ALL_SIZES(dc_pred[0][1], dc_top);
INIT_ALL_SIZES(pred_high[D117_PRED], highbd_d117);
INIT_ALL_SIZES(pred_high[D135_PRED], highbd_d135);
INIT_ALL_SIZES(pred_high[D153_PRED], highbd_d153);
+
+#if CONFIG_ALT_INTRA
+ INIT_ALL_SIZES(pred_high[TM_PRED], highbd_paeth);
+#else
INIT_ALL_SIZES(pred_high[TM_PRED], highbd_tm);
+#endif // CONFIG_ALT_INTRA
INIT_ALL_SIZES(dc_pred_high[0][0], highbd_dc_128);
INIT_ALL_SIZES(dc_pred_high[0][1], highbd_dc_top);
entropy
bidir_pred
bitstream_debug
+ alt_intra
"
CONFIG_LIST="
dependency_tracking
SSE2_TO_C_8, AV1IntraPredTest,
::testing::Values(IntraPredFunc(&aom_highbd_dc_predictor_32x32_sse2,
&aom_highbd_dc_predictor_32x32_c, 32, 8),
+#if !CONFIG_ALT_INTRA
IntraPredFunc(&aom_highbd_tm_predictor_16x16_sse2,
&aom_highbd_tm_predictor_16x16_c, 16, 8),
IntraPredFunc(&aom_highbd_tm_predictor_32x32_sse2,
&aom_highbd_tm_predictor_32x32_c, 32, 8),
+#endif // !CONFIG_ALT_INTRA
+
IntraPredFunc(&aom_highbd_dc_predictor_4x4_sse2,
&aom_highbd_dc_predictor_4x4_c, 4, 8),
IntraPredFunc(&aom_highbd_dc_predictor_8x8_sse2,
IntraPredFunc(&aom_highbd_v_predictor_16x16_sse2,
&aom_highbd_v_predictor_16x16_c, 16, 8),
IntraPredFunc(&aom_highbd_v_predictor_32x32_sse2,
- &aom_highbd_v_predictor_32x32_c, 32, 8),
+ &aom_highbd_v_predictor_32x32_c, 32, 8)
+#if !CONFIG_ALT_INTRA
+ ,
IntraPredFunc(&aom_highbd_tm_predictor_4x4_sse2,
&aom_highbd_tm_predictor_4x4_c, 4, 8),
IntraPredFunc(&aom_highbd_tm_predictor_8x8_sse2,
- &aom_highbd_tm_predictor_8x8_c, 8, 8)));
+ &aom_highbd_tm_predictor_8x8_c, 8, 8)
+#endif // !CONFIG_ALT_INTRA
+ ));
INSTANTIATE_TEST_CASE_P(
SSE2_TO_C_10, AV1IntraPredTest,
::testing::Values(IntraPredFunc(&aom_highbd_dc_predictor_32x32_sse2,
&aom_highbd_dc_predictor_32x32_c, 32, 10),
+#if !CONFIG_ALT_INTRA
IntraPredFunc(&aom_highbd_tm_predictor_16x16_sse2,
&aom_highbd_tm_predictor_16x16_c, 16, 10),
IntraPredFunc(&aom_highbd_tm_predictor_32x32_sse2,
&aom_highbd_tm_predictor_32x32_c, 32, 10),
+#endif // !CONFIG_ALT_INTRA
IntraPredFunc(&aom_highbd_dc_predictor_4x4_sse2,
&aom_highbd_dc_predictor_4x4_c, 4, 10),
IntraPredFunc(&aom_highbd_dc_predictor_8x8_sse2,
IntraPredFunc(&aom_highbd_v_predictor_16x16_sse2,
&aom_highbd_v_predictor_16x16_c, 16, 10),
IntraPredFunc(&aom_highbd_v_predictor_32x32_sse2,
- &aom_highbd_v_predictor_32x32_c, 32, 10),
+ &aom_highbd_v_predictor_32x32_c, 32, 10)
+#if !CONFIG_ALT_INTRA
+ ,
IntraPredFunc(&aom_highbd_tm_predictor_4x4_sse2,
&aom_highbd_tm_predictor_4x4_c, 4, 10),
IntraPredFunc(&aom_highbd_tm_predictor_8x8_sse2,
- &aom_highbd_tm_predictor_8x8_c, 8, 10)));
+ &aom_highbd_tm_predictor_8x8_c, 8, 10)
+#endif // !CONFIG_ALT_INTRA
+ ));
INSTANTIATE_TEST_CASE_P(
SSE2_TO_C_12, AV1IntraPredTest,
::testing::Values(IntraPredFunc(&aom_highbd_dc_predictor_32x32_sse2,
&aom_highbd_dc_predictor_32x32_c, 32, 12),
+#if !CONFIG_ALT_INTRA
IntraPredFunc(&aom_highbd_tm_predictor_16x16_sse2,
&aom_highbd_tm_predictor_16x16_c, 16, 12),
IntraPredFunc(&aom_highbd_tm_predictor_32x32_sse2,
&aom_highbd_tm_predictor_32x32_c, 32, 12),
+#endif // !CONFIG_ALT_INTRA
IntraPredFunc(&aom_highbd_dc_predictor_4x4_sse2,
&aom_highbd_dc_predictor_4x4_c, 4, 12),
IntraPredFunc(&aom_highbd_dc_predictor_8x8_sse2,
IntraPredFunc(&aom_highbd_v_predictor_16x16_sse2,
&aom_highbd_v_predictor_16x16_c, 16, 12),
IntraPredFunc(&aom_highbd_v_predictor_32x32_sse2,
- &aom_highbd_v_predictor_32x32_c, 32, 12),
+ &aom_highbd_v_predictor_32x32_c, 32, 12)
+#if !CONFIG_ALT_INTRA
+ ,
IntraPredFunc(&aom_highbd_tm_predictor_4x4_sse2,
&aom_highbd_tm_predictor_4x4_c, 4, 12),
IntraPredFunc(&aom_highbd_tm_predictor_8x8_sse2,
- &aom_highbd_tm_predictor_8x8_c, 8, 12)));
+ &aom_highbd_tm_predictor_8x8_c, 8, 12)
+#endif // !CONFIG_ALT_INTRA
+ ));
#endif // CONFIG_AOM_HIGHBITDEPTH
#endif // HAVE_SSE2
aom_h_predictor_4x4_c, aom_d45_predictor_4x4_c,
aom_d135_predictor_4x4_c, aom_d117_predictor_4x4_c,
aom_d153_predictor_4x4_c, aom_d207_predictor_4x4_c,
- aom_d63_predictor_4x4_c, aom_tm_predictor_4x4_c)
+ aom_d63_predictor_4x4_c,
+#if CONFIG_ALT_INTRA
+ aom_paeth_predictor_4x4_c
+#else
+ aom_tm_predictor_4x4_c
+#endif // CONFIG_ALT_INTRA
+ )
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2, TestIntraPred4, aom_dc_predictor_4x4_sse2,
aom_dc_128_predictor_4x4_sse2, aom_v_predictor_4x4_sse2,
aom_h_predictor_4x4_sse2, aom_d45_predictor_4x4_sse2, NULL,
NULL, NULL, aom_d207_predictor_4x4_sse2, NULL,
- aom_tm_predictor_4x4_sse2)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_4x4_sse2
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_SSE2
#if HAVE_SSSE3
#if HAVE_DSPR2
INTRA_PRED_TEST(DSPR2, TestIntraPred4, aom_dc_predictor_4x4_dspr2, NULL, NULL,
NULL, NULL, aom_h_predictor_4x4_dspr2, NULL, NULL, NULL, NULL,
- NULL, NULL, aom_tm_predictor_4x4_dspr2)
+ NULL, NULL,
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_4x4_dspr2
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_DSPR2
#if HAVE_NEON
aom_dc_128_predictor_4x4_neon, aom_v_predictor_4x4_neon,
aom_h_predictor_4x4_neon, aom_d45_predictor_4x4_neon,
aom_d135_predictor_4x4_neon, NULL, NULL, NULL, NULL,
- aom_tm_predictor_4x4_neon)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_4x4_neon
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_NEON
#if HAVE_MSA
aom_dc_left_predictor_4x4_msa, aom_dc_top_predictor_4x4_msa,
aom_dc_128_predictor_4x4_msa, aom_v_predictor_4x4_msa,
aom_h_predictor_4x4_msa, NULL, NULL, NULL, NULL, NULL, NULL,
- aom_tm_predictor_4x4_msa)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_4x4_msa
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_MSA
// -----------------------------------------------------------------------------
aom_h_predictor_8x8_c, aom_d45_predictor_8x8_c,
aom_d135_predictor_8x8_c, aom_d117_predictor_8x8_c,
aom_d153_predictor_8x8_c, aom_d207_predictor_8x8_c,
- aom_d63_predictor_8x8_c, aom_tm_predictor_8x8_c)
+ aom_d63_predictor_8x8_c,
+#if CONFIG_ALT_INTRA
+ aom_paeth_predictor_8x8_c
+#else
+ aom_tm_predictor_8x8_c
+#endif // CONFIG_ALT_INTRA
+ )
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2, TestIntraPred8, aom_dc_predictor_8x8_sse2,
aom_dc_left_predictor_8x8_sse2, aom_dc_top_predictor_8x8_sse2,
aom_dc_128_predictor_8x8_sse2, aom_v_predictor_8x8_sse2,
aom_h_predictor_8x8_sse2, aom_d45_predictor_8x8_sse2, NULL,
- NULL, NULL, NULL, NULL, aom_tm_predictor_8x8_sse2)
+ NULL, NULL, NULL, NULL,
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_8x8_sse2
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_SSE2
#if HAVE_SSSE3
#if HAVE_DSPR2
INTRA_PRED_TEST(DSPR2, TestIntraPred8, aom_dc_predictor_8x8_dspr2, NULL, NULL,
NULL, NULL, aom_h_predictor_8x8_dspr2, NULL, NULL, NULL, NULL,
- NULL, NULL, aom_tm_predictor_8x8_dspr2)
+ NULL, NULL,
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_8x8_dspr2
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_DSPR2
#if HAVE_NEON
aom_dc_left_predictor_8x8_neon, aom_dc_top_predictor_8x8_neon,
aom_dc_128_predictor_8x8_neon, aom_v_predictor_8x8_neon,
aom_h_predictor_8x8_neon, aom_d45_predictor_8x8_neon, NULL,
- NULL, NULL, NULL, NULL, aom_tm_predictor_8x8_neon)
+ NULL, NULL, NULL, NULL,
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_8x8_neon
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_NEON
aom_dc_left_predictor_8x8_msa, aom_dc_top_predictor_8x8_msa,
aom_dc_128_predictor_8x8_msa, aom_v_predictor_8x8_msa,
aom_h_predictor_8x8_msa, NULL, NULL, NULL, NULL, NULL, NULL,
- aom_tm_predictor_8x8_msa)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_8x8_msa
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_MSA
// -----------------------------------------------------------------------------
aom_h_predictor_16x16_c, aom_d45_predictor_16x16_c,
aom_d135_predictor_16x16_c, aom_d117_predictor_16x16_c,
aom_d153_predictor_16x16_c, aom_d207_predictor_16x16_c,
- aom_d63_predictor_16x16_c, aom_tm_predictor_16x16_c)
+ aom_d63_predictor_16x16_c,
+#if CONFIG_ALT_INTRA
+ aom_paeth_predictor_16x16_c
+#else
+ aom_tm_predictor_16x16_c
+#endif // CONFIG_ALT_INTRA
+ )
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2, TestIntraPred16, aom_dc_predictor_16x16_sse2,
aom_dc_top_predictor_16x16_sse2,
aom_dc_128_predictor_16x16_sse2, aom_v_predictor_16x16_sse2,
aom_h_predictor_16x16_sse2, NULL, NULL, NULL, NULL, NULL, NULL,
- aom_tm_predictor_16x16_sse2)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_16x16_sse2
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_SSE2
#if HAVE_SSSE3
aom_dc_top_predictor_16x16_neon,
aom_dc_128_predictor_16x16_neon, aom_v_predictor_16x16_neon,
aom_h_predictor_16x16_neon, aom_d45_predictor_16x16_neon, NULL,
- NULL, NULL, NULL, NULL, aom_tm_predictor_16x16_neon)
+ NULL, NULL, NULL, NULL,
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_16x16_neon
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_NEON
#if HAVE_MSA
aom_dc_left_predictor_16x16_msa, aom_dc_top_predictor_16x16_msa,
aom_dc_128_predictor_16x16_msa, aom_v_predictor_16x16_msa,
aom_h_predictor_16x16_msa, NULL, NULL, NULL, NULL, NULL, NULL,
- aom_tm_predictor_16x16_msa)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_16x16_msa
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_MSA
// -----------------------------------------------------------------------------
aom_h_predictor_32x32_c, aom_d45_predictor_32x32_c,
aom_d135_predictor_32x32_c, aom_d117_predictor_32x32_c,
aom_d153_predictor_32x32_c, aom_d207_predictor_32x32_c,
- aom_d63_predictor_32x32_c, aom_tm_predictor_32x32_c)
+ aom_d63_predictor_32x32_c,
+#if CONFIG_ALT_INTRA
+ aom_paeth_predictor_32x32_c
+#else
+ aom_tm_predictor_32x32_c
+#endif // CONFIG_ALT_INTRA
+ )
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2, TestIntraPred32, aom_dc_predictor_32x32_sse2,
aom_dc_top_predictor_32x32_sse2,
aom_dc_128_predictor_32x32_sse2, aom_v_predictor_32x32_sse2,
aom_h_predictor_32x32_sse2, NULL, NULL, NULL, NULL, NULL, NULL,
- aom_tm_predictor_32x32_sse2)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_32x32_sse2
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_SSE2
#if HAVE_SSSE3
aom_dc_top_predictor_32x32_neon,
aom_dc_128_predictor_32x32_neon, aom_v_predictor_32x32_neon,
aom_h_predictor_32x32_neon, NULL, NULL, NULL, NULL, NULL, NULL,
- aom_tm_predictor_32x32_neon)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_32x32_neon
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_NEON
#if HAVE_MSA
aom_dc_left_predictor_32x32_msa, aom_dc_top_predictor_32x32_msa,
aom_dc_128_predictor_32x32_msa, aom_v_predictor_32x32_msa,
aom_h_predictor_32x32_msa, NULL, NULL, NULL, NULL, NULL, NULL,
- aom_tm_predictor_32x32_msa)
+#if CONFIG_ALT_INTRA
+ NULL
+#else
+ aom_tm_predictor_32x32_msa
+#endif // CONFIG_ALT_INTRA
+ )
#endif // HAVE_MSA
#include "test/test_libaom.cc"