Remove 4x rectangular tx size from intra pred.
170K reduction on linux
Bug: aomedia:2865
Change-Id: If80df793f1e2302979ed495c9190ce360c80ee0d
diff --git a/aom_dsp/aom_dsp_rtcd_defs.pl b/aom_dsp/aom_dsp_rtcd_defs.pl
index 844115a..3a31ad6 100755
--- a/aom_dsp/aom_dsp_rtcd_defs.pl
+++ b/aom_dsp/aom_dsp_rtcd_defs.pl
@@ -63,7 +63,9 @@
push @tx_sizes, [$w, $w];
foreach $h (@tx_dims) {
push @tx_sizes, [$w, $h] if ($w >=4 && $h >=4 && ($w == 2*$h || $h == 2*$w));
- push @tx_sizes, [$w, $h] if ($w >=4 && $h >=4 && ($w == 4*$h || $h == 4*$w));
+ if (aom_config("CONFIG_REALTIME_ONLY") ne "yes") {
+ push @tx_sizes, [$w, $h] if ($w >=4 && $h >=4 && ($w == 4*$h || $h == 4*$w));
+ }
}
}
@@ -87,183 +89,194 @@
specialize qw/aom_dc_top_predictor_4x4 msa neon sse2/;
specialize qw/aom_dc_top_predictor_4x8 sse2/;
-specialize qw/aom_dc_top_predictor_4x16 sse2/;
specialize qw/aom_dc_top_predictor_8x4 sse2/;
specialize qw/aom_dc_top_predictor_8x8 neon msa sse2/;
specialize qw/aom_dc_top_predictor_8x16 sse2/;
-specialize qw/aom_dc_top_predictor_8x32 sse2/;
-specialize qw/aom_dc_top_predictor_16x4 sse2/;
specialize qw/aom_dc_top_predictor_16x8 sse2/;
specialize qw/aom_dc_top_predictor_16x16 neon msa sse2/;
-
specialize qw/aom_dc_top_predictor_16x32 sse2/;
-specialize qw/aom_dc_top_predictor_16x64 sse2/;
-specialize qw/aom_dc_top_predictor_32x8 sse2/;
specialize qw/aom_dc_top_predictor_32x16 sse2 avx2/;
specialize qw/aom_dc_top_predictor_32x32 msa neon sse2 avx2/;
specialize qw/aom_dc_top_predictor_32x64 sse2 avx2/;
specialize qw/aom_dc_top_predictor_64x64 sse2 avx2/;
specialize qw/aom_dc_top_predictor_64x32 sse2 avx2/;
-specialize qw/aom_dc_top_predictor_64x16 sse2 avx2/;
+
specialize qw/aom_dc_left_predictor_4x4 msa neon sse2/;
specialize qw/aom_dc_left_predictor_4x8 sse2/;
-specialize qw/aom_dc_left_predictor_4x16 sse2/;
specialize qw/aom_dc_left_predictor_8x4 sse2/;
specialize qw/aom_dc_left_predictor_8x8 neon msa sse2/;
specialize qw/aom_dc_left_predictor_8x16 sse2/;
-specialize qw/aom_dc_left_predictor_8x32 sse2/;
-specialize qw/aom_dc_left_predictor_16x4 sse2/;
specialize qw/aom_dc_left_predictor_16x8 sse2/;
specialize qw/aom_dc_left_predictor_16x16 neon msa sse2/;
specialize qw/aom_dc_left_predictor_16x32 sse2/;
-specialize qw/aom_dc_left_predictor_16x64 sse2/;
-specialize qw/aom_dc_left_predictor_32x8 sse2/;
specialize qw/aom_dc_left_predictor_32x16 sse2 avx2/;
specialize qw/aom_dc_left_predictor_32x32 msa neon sse2 avx2/;
specialize qw/aom_dc_left_predictor_32x64 sse2 avx2/;
specialize qw/aom_dc_left_predictor_64x64 sse2 avx2/;
specialize qw/aom_dc_left_predictor_64x32 sse2 avx2/;
-specialize qw/aom_dc_left_predictor_64x16 sse2 avx2/;
+
specialize qw/aom_dc_128_predictor_4x4 msa neon sse2/;
specialize qw/aom_dc_128_predictor_4x8 sse2/;
-specialize qw/aom_dc_128_predictor_4x16 sse2/;
specialize qw/aom_dc_128_predictor_8x4 sse2/;
specialize qw/aom_dc_128_predictor_8x8 neon msa sse2/;
specialize qw/aom_dc_128_predictor_8x16 sse2/;
-specialize qw/aom_dc_128_predictor_8x32 sse2/;
-specialize qw/aom_dc_128_predictor_16x4 sse2/;
specialize qw/aom_dc_128_predictor_16x8 sse2/;
specialize qw/aom_dc_128_predictor_16x16 neon msa sse2/;
specialize qw/aom_dc_128_predictor_16x32 sse2/;
-specialize qw/aom_dc_128_predictor_16x64 sse2/;
-specialize qw/aom_dc_128_predictor_32x8 sse2/;
specialize qw/aom_dc_128_predictor_32x16 sse2 avx2/;
specialize qw/aom_dc_128_predictor_32x32 msa neon sse2 avx2/;
specialize qw/aom_dc_128_predictor_32x64 sse2 avx2/;
specialize qw/aom_dc_128_predictor_64x64 sse2 avx2/;
specialize qw/aom_dc_128_predictor_64x32 sse2 avx2/;
-specialize qw/aom_dc_128_predictor_64x16 sse2 avx2/;
+
specialize qw/aom_v_predictor_4x4 neon msa sse2/;
specialize qw/aom_v_predictor_4x8 sse2/;
-specialize qw/aom_v_predictor_4x16 sse2/;
specialize qw/aom_v_predictor_8x4 sse2/;
specialize qw/aom_v_predictor_8x8 neon msa sse2/;
specialize qw/aom_v_predictor_8x16 sse2/;
-specialize qw/aom_v_predictor_8x32 sse2/;
-specialize qw/aom_v_predictor_16x4 sse2/;
specialize qw/aom_v_predictor_16x8 sse2/;
specialize qw/aom_v_predictor_16x16 neon msa sse2/;
specialize qw/aom_v_predictor_16x32 sse2/;
-specialize qw/aom_v_predictor_16x64 sse2/;
-specialize qw/aom_v_predictor_32x8 sse2/;
specialize qw/aom_v_predictor_32x16 sse2 avx2/;
specialize qw/aom_v_predictor_32x32 neon msa sse2 avx2/;
specialize qw/aom_v_predictor_32x64 sse2 avx2/;
specialize qw/aom_v_predictor_64x64 sse2 avx2/;
specialize qw/aom_v_predictor_64x32 sse2 avx2/;
-specialize qw/aom_v_predictor_64x16 sse2 avx2/;
+
specialize qw/aom_h_predictor_4x8 sse2/;
-specialize qw/aom_h_predictor_4x16 sse2/;
specialize qw/aom_h_predictor_4x4 neon dspr2 msa sse2/;
specialize qw/aom_h_predictor_8x4 sse2/;
specialize qw/aom_h_predictor_8x8 neon dspr2 msa sse2/;
specialize qw/aom_h_predictor_8x16 sse2/;
-specialize qw/aom_h_predictor_8x32 sse2/;
-specialize qw/aom_h_predictor_16x4 sse2/;
specialize qw/aom_h_predictor_16x8 sse2/;
specialize qw/aom_h_predictor_16x16 neon dspr2 msa sse2/;
specialize qw/aom_h_predictor_16x32 sse2/;
-specialize qw/aom_h_predictor_16x64 sse2/;
-specialize qw/aom_h_predictor_32x8 sse2/;
specialize qw/aom_h_predictor_32x16 sse2/;
specialize qw/aom_h_predictor_32x32 neon msa sse2 avx2/;
specialize qw/aom_h_predictor_32x64 sse2/;
specialize qw/aom_h_predictor_64x64 sse2/;
specialize qw/aom_h_predictor_64x32 sse2/;
-specialize qw/aom_h_predictor_64x16 sse2/;
+
specialize qw/aom_paeth_predictor_4x4 ssse3/;
specialize qw/aom_paeth_predictor_4x8 ssse3/;
-specialize qw/aom_paeth_predictor_4x16 ssse3/;
specialize qw/aom_paeth_predictor_8x4 ssse3/;
specialize qw/aom_paeth_predictor_8x8 ssse3/;
specialize qw/aom_paeth_predictor_8x16 ssse3/;
-specialize qw/aom_paeth_predictor_8x32 ssse3/;
-specialize qw/aom_paeth_predictor_16x4 ssse3/;
specialize qw/aom_paeth_predictor_16x8 ssse3 avx2/;
specialize qw/aom_paeth_predictor_16x16 ssse3 avx2/;
specialize qw/aom_paeth_predictor_16x32 ssse3 avx2/;
-specialize qw/aom_paeth_predictor_16x64 ssse3 avx2/;
-specialize qw/aom_paeth_predictor_32x8 ssse3/;
specialize qw/aom_paeth_predictor_32x16 ssse3 avx2/;
specialize qw/aom_paeth_predictor_32x32 ssse3 avx2/;
specialize qw/aom_paeth_predictor_32x64 ssse3 avx2/;
specialize qw/aom_paeth_predictor_64x32 ssse3 avx2/;
specialize qw/aom_paeth_predictor_64x64 ssse3 avx2/;
-specialize qw/aom_paeth_predictor_64x16 ssse3 avx2/;
-specialize qw/aom_paeth_predictor_16x8 ssse3/;
-specialize qw/aom_paeth_predictor_16x16 ssse3/;
-specialize qw/aom_paeth_predictor_16x32 ssse3/;
-specialize qw/aom_paeth_predictor_32x16 ssse3/;
-specialize qw/aom_paeth_predictor_32x32 ssse3/;
+
specialize qw/aom_smooth_predictor_4x4 neon ssse3/;
specialize qw/aom_smooth_predictor_4x8 neon ssse3/;
-specialize qw/aom_smooth_predictor_4x16 neon ssse3/;
specialize qw/aom_smooth_predictor_8x4 neon ssse3/;
specialize qw/aom_smooth_predictor_8x8 neon ssse3/;
specialize qw/aom_smooth_predictor_8x16 neon ssse3/;
-specialize qw/aom_smooth_predictor_8x32 neon ssse3/;
-specialize qw/aom_smooth_predictor_16x4 neon ssse3/;
specialize qw/aom_smooth_predictor_16x8 neon ssse3/;
specialize qw/aom_smooth_predictor_16x16 neon ssse3/;
specialize qw/aom_smooth_predictor_16x32 neon ssse3/;
-specialize qw/aom_smooth_predictor_16x64 neon ssse3/;
-specialize qw/aom_smooth_predictor_32x8 neon ssse3/;
specialize qw/aom_smooth_predictor_32x16 neon ssse3/;
specialize qw/aom_smooth_predictor_32x32 neon ssse3/;
specialize qw/aom_smooth_predictor_32x64 neon ssse3/;
specialize qw/aom_smooth_predictor_64x64 neon ssse3/;
specialize qw/aom_smooth_predictor_64x32 neon ssse3/;
-specialize qw/aom_smooth_predictor_64x16 neon ssse3/;
specialize qw/aom_smooth_v_predictor_4x4 ssse3/;
specialize qw/aom_smooth_v_predictor_4x8 ssse3/;
-specialize qw/aom_smooth_v_predictor_4x16 ssse3/;
specialize qw/aom_smooth_v_predictor_8x4 ssse3/;
specialize qw/aom_smooth_v_predictor_8x8 ssse3/;
specialize qw/aom_smooth_v_predictor_8x16 ssse3/;
-specialize qw/aom_smooth_v_predictor_8x32 ssse3/;
-specialize qw/aom_smooth_v_predictor_16x4 ssse3/;
specialize qw/aom_smooth_v_predictor_16x8 ssse3/;
specialize qw/aom_smooth_v_predictor_16x16 ssse3/;
specialize qw/aom_smooth_v_predictor_16x32 ssse3/;
-specialize qw/aom_smooth_v_predictor_16x64 ssse3/;
-specialize qw/aom_smooth_v_predictor_32x8 ssse3/;
specialize qw/aom_smooth_v_predictor_32x16 ssse3/;
specialize qw/aom_smooth_v_predictor_32x32 ssse3/;
specialize qw/aom_smooth_v_predictor_32x64 ssse3/;
specialize qw/aom_smooth_v_predictor_64x64 ssse3/;
specialize qw/aom_smooth_v_predictor_64x32 ssse3/;
-specialize qw/aom_smooth_v_predictor_64x16 ssse3/;
specialize qw/aom_smooth_h_predictor_4x4 ssse3/;
specialize qw/aom_smooth_h_predictor_4x8 ssse3/;
-specialize qw/aom_smooth_h_predictor_4x16 ssse3/;
specialize qw/aom_smooth_h_predictor_8x4 ssse3/;
specialize qw/aom_smooth_h_predictor_8x8 ssse3/;
specialize qw/aom_smooth_h_predictor_8x16 ssse3/;
-specialize qw/aom_smooth_h_predictor_8x32 ssse3/;
-specialize qw/aom_smooth_h_predictor_16x4 ssse3/;
specialize qw/aom_smooth_h_predictor_16x8 ssse3/;
specialize qw/aom_smooth_h_predictor_16x16 ssse3/;
specialize qw/aom_smooth_h_predictor_16x32 ssse3/;
-specialize qw/aom_smooth_h_predictor_16x64 ssse3/;
-specialize qw/aom_smooth_h_predictor_32x8 ssse3/;
specialize qw/aom_smooth_h_predictor_32x16 ssse3/;
specialize qw/aom_smooth_h_predictor_32x32 ssse3/;
specialize qw/aom_smooth_h_predictor_32x64 ssse3/;
specialize qw/aom_smooth_h_predictor_64x64 ssse3/;
specialize qw/aom_smooth_h_predictor_64x32 ssse3/;
-specialize qw/aom_smooth_h_predictor_64x16 ssse3/;
+
+if (aom_config("CONFIG_REALTIME_ONLY") ne "yes") {
+ specialize qw/aom_dc_top_predictor_4x16 sse2/;
+ specialize qw/aom_dc_top_predictor_8x32 sse2/;
+ specialize qw/aom_dc_top_predictor_16x4 sse2/;
+ specialize qw/aom_dc_top_predictor_16x64 sse2/;
+ specialize qw/aom_dc_top_predictor_32x8 sse2/;
+ specialize qw/aom_dc_top_predictor_64x16 sse2 avx2/;
+
+ specialize qw/aom_dc_left_predictor_4x16 sse2/;
+ specialize qw/aom_dc_left_predictor_8x32 sse2/;
+ specialize qw/aom_dc_left_predictor_16x4 sse2/;
+ specialize qw/aom_dc_left_predictor_16x64 sse2/;
+ specialize qw/aom_dc_left_predictor_32x8 sse2/;
+ specialize qw/aom_dc_left_predictor_64x16 sse2 avx2/;
+
+ specialize qw/aom_dc_128_predictor_4x16 sse2/;
+ specialize qw/aom_dc_128_predictor_8x32 sse2/;
+ specialize qw/aom_dc_128_predictor_16x4 sse2/;
+ specialize qw/aom_dc_128_predictor_16x64 sse2/;
+ specialize qw/aom_dc_128_predictor_32x8 sse2/;
+ specialize qw/aom_dc_128_predictor_64x16 sse2 avx2/;
+
+ specialize qw/aom_v_predictor_4x16 sse2/;
+ specialize qw/aom_v_predictor_8x32 sse2/;
+ specialize qw/aom_v_predictor_16x4 sse2/;
+ specialize qw/aom_v_predictor_16x64 sse2/;
+ specialize qw/aom_v_predictor_32x8 sse2/;
+ specialize qw/aom_v_predictor_64x16 sse2 avx2/;
+
+ specialize qw/aom_h_predictor_4x16 sse2/;
+ specialize qw/aom_h_predictor_8x32 sse2/;
+ specialize qw/aom_h_predictor_16x4 sse2/;
+ specialize qw/aom_h_predictor_16x64 sse2/;
+ specialize qw/aom_h_predictor_32x8 sse2/;
+ specialize qw/aom_h_predictor_64x16 sse2/;
+
+ specialize qw/aom_paeth_predictor_4x16 ssse3/;
+ specialize qw/aom_paeth_predictor_8x32 ssse3/;
+ specialize qw/aom_paeth_predictor_16x4 ssse3/;
+ specialize qw/aom_paeth_predictor_16x64 ssse3 avx2/;
+ specialize qw/aom_paeth_predictor_32x8 ssse3/;
+ specialize qw/aom_paeth_predictor_64x16 ssse3 avx2/;
+
+ specialize qw/aom_smooth_predictor_4x16 neon ssse3/;
+ specialize qw/aom_smooth_predictor_8x32 neon ssse3/;
+ specialize qw/aom_smooth_predictor_16x4 neon ssse3/;
+ specialize qw/aom_smooth_predictor_16x64 neon ssse3/;
+ specialize qw/aom_smooth_predictor_32x8 neon ssse3/;
+ specialize qw/aom_smooth_predictor_64x16 neon ssse3/;
+
+ specialize qw/aom_smooth_v_predictor_4x16 ssse3/;
+ specialize qw/aom_smooth_v_predictor_8x32 ssse3/;
+ specialize qw/aom_smooth_v_predictor_16x4 ssse3/;
+ specialize qw/aom_smooth_v_predictor_16x64 ssse3/;
+ specialize qw/aom_smooth_v_predictor_32x8 ssse3/;
+ specialize qw/aom_smooth_v_predictor_64x16 ssse3/;
+
+ specialize qw/aom_smooth_h_predictor_4x16 ssse3/;
+ specialize qw/aom_smooth_h_predictor_8x32 ssse3/;
+ specialize qw/aom_smooth_h_predictor_16x4 ssse3/;
+ specialize qw/aom_smooth_h_predictor_16x64 ssse3/;
+ specialize qw/aom_smooth_h_predictor_32x8 ssse3/;
+ specialize qw/aom_smooth_h_predictor_64x16 ssse3/;
+}
# TODO(yunqingwang): optimize rectangular DC_PRED to replace division
# by multiply and shift.
diff --git a/aom_dsp/intrapred.c b/aom_dsp/intrapred.c
index 72ccfd8..2e43538 100644
--- a/aom_dsp/intrapred.c
+++ b/aom_dsp/intrapred.c
@@ -723,6 +723,25 @@
}
/* clang-format off */
+#if CONFIG_REALTIME_ONLY
+#define intra_pred_rectangular(type) \
+ intra_pred_sized(type, 4, 8) \
+ intra_pred_sized(type, 8, 4) \
+ intra_pred_sized(type, 8, 16) \
+ intra_pred_sized(type, 16, 8) \
+ intra_pred_sized(type, 16, 32) \
+ intra_pred_sized(type, 32, 16) \
+ intra_pred_sized(type, 32, 64) \
+ intra_pred_sized(type, 64, 32) \
+ intra_pred_highbd_sized(type, 4, 8) \
+ intra_pred_highbd_sized(type, 8, 4) \
+ intra_pred_highbd_sized(type, 8, 16) \
+ intra_pred_highbd_sized(type, 16, 8) \
+ intra_pred_highbd_sized(type, 16, 32) \
+ intra_pred_highbd_sized(type, 32, 16) \
+ intra_pred_highbd_sized(type, 32, 64) \
+ intra_pred_highbd_sized(type, 64, 32)
+#else
#define intra_pred_rectangular(type) \
intra_pred_sized(type, 4, 8) \
intra_pred_sized(type, 8, 4) \
@@ -752,6 +771,8 @@
intra_pred_highbd_sized(type, 32, 8) \
intra_pred_highbd_sized(type, 16, 64) \
intra_pred_highbd_sized(type, 64, 16)
+#endif
+
#define intra_pred_above_4x4(type) \
intra_pred_sized(type, 8, 8) \
intra_pred_sized(type, 16, 16) \
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index 9e481b5..90ad8b7 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -464,6 +464,17 @@
static void init_intra_predictors_internal(void) {
assert(NELEMENTS(mode_to_angle_map) == INTRA_MODES);
+#if CONFIG_REALTIME_ONLY
+#define INIT_RECTANGULAR(p, type) \
+ p[TX_4X8] = aom_##type##_predictor_4x8; \
+ p[TX_8X4] = aom_##type##_predictor_8x4; \
+ p[TX_8X16] = aom_##type##_predictor_8x16; \
+ p[TX_16X8] = aom_##type##_predictor_16x8; \
+ p[TX_16X32] = aom_##type##_predictor_16x32; \
+ p[TX_32X16] = aom_##type##_predictor_32x16; \
+ p[TX_32X64] = aom_##type##_predictor_32x64; \
+ p[TX_64X32] = aom_##type##_predictor_64x32;
+#else
#define INIT_RECTANGULAR(p, type) \
p[TX_4X8] = aom_##type##_predictor_4x8; \
p[TX_8X4] = aom_##type##_predictor_8x4; \
@@ -479,6 +490,7 @@
p[TX_32X8] = aom_##type##_predictor_32x8; \
p[TX_16X64] = aom_##type##_predictor_16x64; \
p[TX_64X16] = aom_##type##_predictor_64x16;
+#endif
#define INIT_NO_4X4(p, type) \
p[TX_8X8] = aom_##type##_predictor_8x8; \
diff --git a/test/intrapred_test.cc b/test/intrapred_test.cc
index 6be52eb..b04ab50 100644
--- a/test/intrapred_test.cc
+++ b/test/intrapred_test.cc
@@ -324,15 +324,17 @@
#if HAVE_NEON
const IntraPredFunc<IntraPred> LowbdIntraPredTestVectorNeon[] = {
lowbd_entry(smooth, 4, 4, neon), lowbd_entry(smooth, 4, 8, neon),
- lowbd_entry(smooth, 4, 16, neon), lowbd_entry(smooth, 8, 4, neon),
- lowbd_entry(smooth, 8, 8, neon), lowbd_entry(smooth, 8, 16, neon),
- lowbd_entry(smooth, 8, 32, neon), lowbd_entry(smooth, 16, 4, neon),
- lowbd_entry(smooth, 16, 8, neon), lowbd_entry(smooth, 16, 16, neon),
- lowbd_entry(smooth, 16, 32, neon), lowbd_entry(smooth, 16, 64, neon),
- lowbd_entry(smooth, 32, 8, neon), lowbd_entry(smooth, 32, 16, neon),
- lowbd_entry(smooth, 32, 32, neon), lowbd_entry(smooth, 32, 64, neon),
- lowbd_entry(smooth, 64, 16, neon), lowbd_entry(smooth, 64, 32, neon),
- lowbd_entry(smooth, 64, 64, neon)
+ lowbd_entry(smooth, 8, 4, neon), lowbd_entry(smooth, 8, 8, neon),
+ lowbd_entry(smooth, 8, 16, neon), lowbd_entry(smooth, 16, 8, neon),
+ lowbd_entry(smooth, 16, 16, neon), lowbd_entry(smooth, 16, 32, neon),
+ lowbd_entry(smooth, 32, 16, neon), lowbd_entry(smooth, 32, 32, neon),
+ lowbd_entry(smooth, 32, 64, neon), lowbd_entry(smooth, 64, 32, neon),
+ lowbd_entry(smooth, 64, 64, neon),
+#if !CONFIG_REALTIME_ONLY
+ lowbd_entry(smooth, 4, 16, neon), lowbd_entry(smooth, 8, 32, neon),
+ lowbd_entry(smooth, 16, 4, neon), lowbd_entry(smooth, 16, 64, neon),
+ lowbd_entry(smooth, 32, 8, neon), lowbd_entry(smooth, 64, 16, neon),
+#endif
};
INSTANTIATE_TEST_SUITE_P(NEON, LowbdIntraPredTest,
::testing::ValuesIn(LowbdIntraPredTestVectorNeon));
diff --git a/test/test_intra_pred_speed.cc b/test/test_intra_pred_speed.cc
index 25c50d0..54bdbcb 100644
--- a/test/test_intra_pred_speed.cc
+++ b/test/test_intra_pred_speed.cc
@@ -427,12 +427,14 @@
aom_smooth_predictor_4x8_c, aom_smooth_v_predictor_4x8_c,
aom_smooth_h_predictor_4x8_c)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(C_3, TX_4X16, aom_dc_predictor_4x16_c,
aom_dc_left_predictor_4x16_c, aom_dc_top_predictor_4x16_c,
aom_dc_128_predictor_4x16_c, aom_v_predictor_4x16_c,
aom_h_predictor_4x16_c, aom_paeth_predictor_4x16_c,
aom_smooth_predictor_4x16_c, aom_smooth_v_predictor_4x16_c,
aom_smooth_h_predictor_4x16_c)
+#endif
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2_1, TX_4X4, aom_dc_predictor_4x4_sse2,
@@ -443,10 +445,12 @@
aom_dc_left_predictor_4x8_sse2, aom_dc_top_predictor_4x8_sse2,
aom_dc_128_predictor_4x8_sse2, aom_v_predictor_4x8_sse2,
aom_h_predictor_4x8_sse2, NULL, NULL, NULL, NULL)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSE2_3, TX_4X16, aom_dc_predictor_4x16_sse2,
aom_dc_left_predictor_4x16_sse2, aom_dc_top_predictor_4x16_sse2,
aom_dc_128_predictor_4x16_sse2, aom_v_predictor_4x16_sse2,
aom_h_predictor_4x16_sse2, NULL, NULL, NULL, NULL)
+#endif
#endif // HAVE_SSE2
#if HAVE_SSSE3
@@ -458,10 +462,12 @@
aom_paeth_predictor_4x8_ssse3, aom_smooth_predictor_4x8_ssse3,
aom_smooth_v_predictor_4x8_ssse3,
aom_smooth_h_predictor_4x8_ssse3)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSSE3_3, TX_4X16, NULL, NULL, NULL, NULL, NULL, NULL,
aom_paeth_predictor_4x16_ssse3, aom_smooth_predictor_4x16_ssse3,
aom_smooth_v_predictor_4x16_ssse3,
aom_smooth_h_predictor_4x16_ssse3)
+#endif
#endif // HAVE_SSSE3
#if HAVE_DSPR2
@@ -507,12 +513,14 @@
aom_smooth_predictor_8x16_c, aom_smooth_v_predictor_8x16_c,
aom_smooth_h_predictor_8x16_c)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(C_4, TX_8X32, aom_dc_predictor_8x32_c,
aom_dc_left_predictor_8x32_c, aom_dc_top_predictor_8x32_c,
aom_dc_128_predictor_8x32_c, aom_v_predictor_8x32_c,
aom_h_predictor_8x32_c, aom_paeth_predictor_8x32_c,
aom_smooth_predictor_8x32_c, aom_smooth_v_predictor_8x32_c,
aom_smooth_h_predictor_8x32_c)
+#endif
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2_1, TX_8X8, aom_dc_predictor_8x8_sse2,
@@ -527,10 +535,12 @@
aom_dc_left_predictor_8x16_sse2, aom_dc_top_predictor_8x16_sse2,
aom_dc_128_predictor_8x16_sse2, aom_v_predictor_8x16_sse2,
aom_h_predictor_8x16_sse2, NULL, NULL, NULL, NULL)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSE2_4, TX_8X32, aom_dc_predictor_8x32_sse2,
aom_dc_left_predictor_8x32_sse2, aom_dc_top_predictor_8x32_sse2,
aom_dc_128_predictor_8x32_sse2, aom_v_predictor_8x32_sse2,
aom_h_predictor_8x32_sse2, NULL, NULL, NULL, NULL)
+#endif
#endif // HAVE_SSE2
#if HAVE_SSSE3
@@ -546,10 +556,12 @@
aom_paeth_predictor_8x16_ssse3, aom_smooth_predictor_8x16_ssse3,
aom_smooth_v_predictor_8x16_ssse3,
aom_smooth_h_predictor_8x16_ssse3)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSSE3_4, TX_8X32, NULL, NULL, NULL, NULL, NULL, NULL,
aom_paeth_predictor_8x32_ssse3, aom_smooth_predictor_8x32_ssse3,
aom_smooth_v_predictor_8x32_ssse3,
aom_smooth_h_predictor_8x32_ssse3)
+#endif
#endif // HAVE_SSSE3
#if HAVE_DSPR2
@@ -595,6 +607,7 @@
aom_smooth_predictor_16x32_c, aom_smooth_v_predictor_16x32_c,
aom_smooth_h_predictor_16x32_c)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(C_4, TX_16X4, aom_dc_predictor_16x4_c,
aom_dc_left_predictor_16x4_c, aom_dc_top_predictor_16x4_c,
aom_dc_128_predictor_16x4_c, aom_v_predictor_16x4_c,
@@ -608,6 +621,7 @@
aom_h_predictor_16x64_c, aom_paeth_predictor_16x64_c,
aom_smooth_predictor_16x64_c, aom_smooth_v_predictor_16x64_c,
aom_smooth_h_predictor_16x64_c)
+#endif
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2_1, TX_16X16, aom_dc_predictor_16x16_sse2,
@@ -624,6 +638,7 @@
aom_dc_top_predictor_16x32_sse2,
aom_dc_128_predictor_16x32_sse2, aom_v_predictor_16x32_sse2,
aom_h_predictor_16x32_sse2, NULL, NULL, NULL, NULL)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSE2_4, TX_16X64, aom_dc_predictor_16x64_sse2,
aom_dc_left_predictor_16x64_sse2,
aom_dc_top_predictor_16x64_sse2,
@@ -633,6 +648,7 @@
aom_dc_left_predictor_16x4_sse2, aom_dc_top_predictor_16x4_sse2,
aom_dc_128_predictor_16x4_sse2, aom_v_predictor_16x4_sse2,
aom_h_predictor_16x4_sse2, NULL, NULL, NULL, NULL)
+#endif
#endif // HAVE_SSE2
#if HAVE_SSSE3
@@ -650,6 +666,7 @@
aom_smooth_predictor_16x32_ssse3,
aom_smooth_v_predictor_16x32_ssse3,
aom_smooth_h_predictor_16x32_ssse3)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSSE3_4, TX_16X64, NULL, NULL, NULL, NULL, NULL, NULL,
aom_paeth_predictor_16x64_ssse3,
aom_smooth_predictor_16x64_ssse3,
@@ -659,6 +676,7 @@
aom_paeth_predictor_16x4_ssse3, aom_smooth_predictor_16x4_ssse3,
aom_smooth_v_predictor_16x4_ssse3,
aom_smooth_h_predictor_16x4_ssse3)
+#endif
#endif // HAVE_SSSE3
#if HAVE_AVX2
@@ -668,8 +686,10 @@
aom_paeth_predictor_16x8_avx2, NULL, NULL, NULL)
INTRA_PRED_TEST(AVX2_3, TX_16X32, NULL, NULL, NULL, NULL, NULL, NULL,
aom_paeth_predictor_16x32_avx2, NULL, NULL, NULL)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(AVX2_4, TX_16X64, NULL, NULL, NULL, NULL, NULL, NULL,
aom_paeth_predictor_16x64_avx2, NULL, NULL, NULL)
+#endif
#endif // HAVE_AVX2
#if HAVE_DSPR2
@@ -716,12 +736,14 @@
aom_smooth_predictor_32x64_c, aom_smooth_v_predictor_32x64_c,
aom_smooth_h_predictor_32x64_c)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(C_4, TX_32X8, aom_dc_predictor_32x8_c,
aom_dc_left_predictor_32x8_c, aom_dc_top_predictor_32x8_c,
aom_dc_128_predictor_32x8_c, aom_v_predictor_32x8_c,
aom_h_predictor_32x8_c, aom_paeth_predictor_32x8_c,
aom_smooth_predictor_32x8_c, aom_smooth_v_predictor_32x8_c,
aom_smooth_h_predictor_32x8_c)
+#endif
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2_1, TX_32X32, aom_dc_predictor_32x32_sse2,
@@ -739,10 +761,12 @@
aom_dc_top_predictor_32x64_sse2,
aom_dc_128_predictor_32x64_sse2, aom_v_predictor_32x64_sse2,
aom_h_predictor_32x64_sse2, NULL, NULL, NULL, NULL)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSE2_4, TX_32X8, aom_dc_predictor_32x8_sse2,
aom_dc_left_predictor_32x8_sse2, aom_dc_top_predictor_32x8_sse2,
aom_dc_128_predictor_32x8_sse2, aom_v_predictor_32x8_sse2,
aom_h_predictor_32x8_sse2, NULL, NULL, NULL, NULL)
+#endif
#endif // HAVE_SSE2
#if HAVE_SSSE3
@@ -761,10 +785,12 @@
aom_smooth_predictor_32x64_ssse3,
aom_smooth_v_predictor_32x64_ssse3,
aom_smooth_h_predictor_32x64_ssse3)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSSE3_4, TX_32X8, NULL, NULL, NULL, NULL, NULL, NULL,
aom_paeth_predictor_32x8_ssse3, aom_smooth_predictor_32x8_ssse3,
aom_smooth_v_predictor_32x8_ssse3,
aom_smooth_h_predictor_32x8_ssse3)
+#endif
#endif // HAVE_SSSE3
#if HAVE_AVX2
@@ -818,12 +844,14 @@
aom_smooth_predictor_64x32_c, aom_smooth_v_predictor_64x32_c,
aom_smooth_h_predictor_64x32_c)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(C_3, TX_64X16, aom_dc_predictor_64x16_c,
aom_dc_left_predictor_64x16_c, aom_dc_top_predictor_64x16_c,
aom_dc_128_predictor_64x16_c, aom_v_predictor_64x16_c,
aom_h_predictor_64x16_c, aom_paeth_predictor_64x16_c,
aom_smooth_predictor_64x16_c, aom_smooth_v_predictor_64x16_c,
aom_smooth_h_predictor_64x16_c)
+#endif
#if HAVE_SSE2
INTRA_PRED_TEST(SSE2_4, TX_64X64, aom_dc_predictor_64x64_sse2,
@@ -836,12 +864,14 @@
aom_dc_top_predictor_64x32_sse2,
aom_dc_128_predictor_64x32_sse2, aom_v_predictor_64x32_sse2,
aom_h_predictor_64x32_sse2, NULL, NULL, NULL, NULL)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSE2_6, TX_64X16, aom_dc_predictor_64x16_sse2,
aom_dc_left_predictor_64x16_sse2,
aom_dc_top_predictor_64x16_sse2,
aom_dc_128_predictor_64x16_sse2, aom_v_predictor_64x16_sse2,
aom_h_predictor_64x16_sse2, NULL, NULL, NULL, NULL)
#endif
+#endif
#if HAVE_SSSE3
INTRA_PRED_TEST(SSSE3_4, TX_64X64, NULL, NULL, NULL, NULL, NULL, NULL,
@@ -854,12 +884,14 @@
aom_smooth_predictor_64x32_ssse3,
aom_smooth_v_predictor_64x32_ssse3,
aom_smooth_h_predictor_64x32_ssse3)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(SSSE3_6, TX_64X16, NULL, NULL, NULL, NULL, NULL, NULL,
aom_paeth_predictor_64x16_ssse3,
aom_smooth_predictor_64x16_ssse3,
aom_smooth_v_predictor_64x16_ssse3,
aom_smooth_h_predictor_64x16_ssse3)
#endif
+#endif
#if HAVE_AVX2
INTRA_PRED_TEST(AVX2_4, TX_64X64, aom_dc_predictor_64x64_avx2,
@@ -872,12 +904,14 @@
aom_dc_top_predictor_64x32_avx2,
aom_dc_128_predictor_64x32_avx2, aom_v_predictor_64x32_avx2,
NULL, aom_paeth_predictor_64x32_avx2, NULL, NULL, NULL)
+#if !CONFIG_REALTIME_ONLY
INTRA_PRED_TEST(AVX2_6, TX_64X16, aom_dc_predictor_64x16_avx2,
aom_dc_left_predictor_64x16_avx2,
aom_dc_top_predictor_64x16_avx2,
aom_dc_128_predictor_64x16_avx2, aom_v_predictor_64x16_avx2,
NULL, aom_paeth_predictor_64x16_avx2, NULL, NULL, NULL)
#endif
+#endif
#if CONFIG_AV1_HIGHBITDEPTH
// -----------------------------------------------------------------------------
@@ -1201,7 +1235,7 @@
aom_highbd_h_predictor_4x8_c, aom_highbd_paeth_predictor_4x8_c,
aom_highbd_smooth_predictor_4x8_c, aom_highbd_smooth_v_predictor_4x8_c,
aom_highbd_smooth_h_predictor_4x8_c)
-
+#if !CONFIG_REALTIME_ONLY
HIGHBD_INTRA_PRED_TEST(
C_3, TX_4X16, aom_highbd_dc_predictor_4x16_c,
aom_highbd_dc_left_predictor_4x16_c, aom_highbd_dc_top_predictor_4x16_c,
@@ -1209,7 +1243,7 @@
aom_highbd_h_predictor_4x16_c, aom_highbd_paeth_predictor_4x16_c,
aom_highbd_smooth_predictor_4x16_c, aom_highbd_smooth_v_predictor_4x16_c,
aom_highbd_smooth_h_predictor_4x16_c)
-
+#endif
#if HAVE_SSE2
HIGHBD_INTRA_PRED_TEST(SSE2_1, TX_4X4, aom_highbd_dc_predictor_4x4_sse2,
aom_highbd_dc_left_predictor_4x4_sse2,
@@ -1252,7 +1286,7 @@
aom_highbd_h_predictor_8x16_c, aom_highbd_paeth_predictor_8x16_c,
aom_highbd_smooth_predictor_8x16_c, aom_highbd_smooth_v_predictor_8x16_c,
aom_highbd_smooth_h_predictor_8x16_c)
-
+#if !CONFIG_REALTIME_ONLY
HIGHBD_INTRA_PRED_TEST(
C_4, TX_8X32, aom_highbd_dc_predictor_8x32_c,
aom_highbd_dc_left_predictor_8x32_c, aom_highbd_dc_top_predictor_8x32_c,
@@ -1260,7 +1294,7 @@
aom_highbd_h_predictor_8x32_c, aom_highbd_paeth_predictor_8x32_c,
aom_highbd_smooth_predictor_8x32_c, aom_highbd_smooth_v_predictor_8x32_c,
aom_highbd_smooth_h_predictor_8x32_c)
-
+#endif
#if HAVE_SSE2
HIGHBD_INTRA_PRED_TEST(SSE2_1, TX_8X8, aom_highbd_dc_predictor_8x8_sse2,
aom_highbd_dc_left_predictor_8x8_sse2,
@@ -1314,6 +1348,7 @@
aom_highbd_smooth_predictor_16x32_c, aom_highbd_smooth_v_predictor_16x32_c,
aom_highbd_smooth_h_predictor_16x32_c)
+#if !CONFIG_REALTIME_ONLY
HIGHBD_INTRA_PRED_TEST(
C_4, TX_16X4, aom_highbd_dc_predictor_16x4_c,
aom_highbd_dc_left_predictor_16x4_c, aom_highbd_dc_top_predictor_16x4_c,
@@ -1329,6 +1364,7 @@
aom_highbd_h_predictor_16x64_c, aom_highbd_paeth_predictor_16x64_c,
aom_highbd_smooth_predictor_16x64_c, aom_highbd_smooth_v_predictor_16x64_c,
aom_highbd_smooth_h_predictor_16x64_c)
+#endif
#if HAVE_SSE2
HIGHBD_INTRA_PRED_TEST(SSE2_1, TX_16X16, aom_highbd_dc_predictor_16x16_sse2,
@@ -1396,6 +1432,7 @@
aom_highbd_smooth_predictor_32x64_c, aom_highbd_smooth_v_predictor_32x64_c,
aom_highbd_smooth_h_predictor_32x64_c)
+#if !CONFIG_REALTIME_ONLY
HIGHBD_INTRA_PRED_TEST(
C_4, TX_32X8, aom_highbd_dc_predictor_32x8_c,
aom_highbd_dc_left_predictor_32x8_c, aom_highbd_dc_top_predictor_32x8_c,
@@ -1403,6 +1440,7 @@
aom_highbd_h_predictor_32x8_c, aom_highbd_paeth_predictor_32x8_c,
aom_highbd_smooth_predictor_32x8_c, aom_highbd_smooth_v_predictor_32x8_c,
aom_highbd_smooth_h_predictor_32x8_c)
+#endif
#if HAVE_SSE2
HIGHBD_INTRA_PRED_TEST(SSE2_1, TX_32X32, aom_highbd_dc_predictor_32x32_sse2,
@@ -1453,6 +1491,7 @@
aom_highbd_smooth_predictor_64x32_c, aom_highbd_smooth_v_predictor_64x32_c,
aom_highbd_smooth_h_predictor_64x32_c)
+#if !CONFIG_REALTIME_ONLY
HIGHBD_INTRA_PRED_TEST(
C_3, TX_64X16, aom_highbd_dc_predictor_64x16_c,
aom_highbd_dc_left_predictor_64x16_c, aom_highbd_dc_top_predictor_64x16_c,
@@ -1460,6 +1499,7 @@
aom_highbd_h_predictor_64x16_c, aom_highbd_paeth_predictor_64x16_c,
aom_highbd_smooth_predictor_64x16_c, aom_highbd_smooth_v_predictor_64x16_c,
aom_highbd_smooth_h_predictor_64x16_c)
+#endif
// -----------------------------------------------------------------------------
#endif // CONFIG_AV1_HIGHBITDEPTH