Make ALT_INTRA experiment work with FILTER_INTRA experiment.
Correctly use FILTER_INTRA_MODE enums instead of PREDICTION_MODE enums.
Change-Id: I3d89c0c5a926b9f8603b8492e7c8c9b32b41d4cc
diff --git a/av1/common/enums.h b/av1/common/enums.h
index 2aaa5a2..1ab4749 100644
--- a/av1/common/enums.h
+++ b/av1/common/enums.h
@@ -354,8 +354,7 @@
} COMPOUND_TYPE;
#endif // CONFIG_EXT_INTER
-// TODO(urvang): Make "CONFIG_ALT_INTRA" work with "CONFIG_FILTER_INTRA".
-
+// TODO(huisu): Consider adding FILTER_SMOOTH_PRED to "FILTER_INTRA_MODE".
#if CONFIG_FILTER_INTRA
typedef enum {
FILTER_DC_PRED,
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index fc59daa..6d2de30 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -1055,32 +1055,40 @@
filter_intra_predictors_4tap(dst, stride, bs, above, left, TM_PRED);
}
-static void filter_intra_predictors(int mode, uint8_t *dst, ptrdiff_t stride,
- int bs, const uint8_t *above,
- const uint8_t *left) {
+static void filter_intra_predictors(FILTER_INTRA_MODE mode, uint8_t *dst,
+ ptrdiff_t stride, int bs,
+ const uint8_t *above, const uint8_t *left) {
switch (mode) {
- case DC_PRED: av1_dc_filter_predictor(dst, stride, bs, above, left); break;
- case V_PRED: av1_v_filter_predictor(dst, stride, bs, above, left); break;
- case H_PRED: av1_h_filter_predictor(dst, stride, bs, above, left); break;
- case D45_PRED:
+ case FILTER_DC_PRED:
+ av1_dc_filter_predictor(dst, stride, bs, above, left);
+ break;
+ case FILTER_V_PRED:
+ av1_v_filter_predictor(dst, stride, bs, above, left);
+ break;
+ case FILTER_H_PRED:
+ av1_h_filter_predictor(dst, stride, bs, above, left);
+ break;
+ case FILTER_D45_PRED:
av1_d45_filter_predictor(dst, stride, bs, above, left);
break;
- case D135_PRED:
+ case FILTER_D135_PRED:
av1_d135_filter_predictor(dst, stride, bs, above, left);
break;
- case D117_PRED:
+ case FILTER_D117_PRED:
av1_d117_filter_predictor(dst, stride, bs, above, left);
break;
- case D153_PRED:
+ case FILTER_D153_PRED:
av1_d153_filter_predictor(dst, stride, bs, above, left);
break;
- case D207_PRED:
+ case FILTER_D207_PRED:
av1_d207_filter_predictor(dst, stride, bs, above, left);
break;
- case D63_PRED:
+ case FILTER_D63_PRED:
av1_d63_filter_predictor(dst, stride, bs, above, left);
break;
- case TM_PRED: av1_tm_filter_predictor(dst, stride, bs, above, left); break;
+ case FILTER_TM_PRED:
+ av1_tm_filter_predictor(dst, stride, bs, above, left);
+ break;
default: assert(0);
}
}
@@ -1199,39 +1207,39 @@
bd);
}
-static void highbd_filter_intra_predictors(int mode, uint16_t *dst,
- ptrdiff_t stride, int bs,
- const uint16_t *above,
+static void highbd_filter_intra_predictors(FILTER_INTRA_MODE mode,
+ uint16_t *dst, ptrdiff_t stride,
+ int bs, const uint16_t *above,
const uint16_t *left, int bd) {
switch (mode) {
- case DC_PRED:
+ case FILTER_DC_PRED:
av1_highbd_dc_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case V_PRED:
+ case FILTER_V_PRED:
av1_highbd_v_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case H_PRED:
+ case FILTER_H_PRED:
av1_highbd_h_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case D45_PRED:
+ case FILTER_D45_PRED:
av1_highbd_d45_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case D135_PRED:
+ case FILTER_D135_PRED:
av1_highbd_d135_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case D117_PRED:
+ case FILTER_D117_PRED:
av1_highbd_d117_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case D153_PRED:
+ case FILTER_D153_PRED:
av1_highbd_d153_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case D207_PRED:
+ case FILTER_D207_PRED:
av1_highbd_d207_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case D63_PRED:
+ case FILTER_D63_PRED:
av1_highbd_d63_filter_predictor(dst, stride, bs, above, left, bd);
break;
- case TM_PRED:
+ case FILTER_TM_PRED:
av1_highbd_tm_filter_predictor(dst, stride, bs, above, left, bd);
break;
default: assert(0);