Refactor ext-intra
Remove the code about block size dependent angle steps and deltas,
as they are modefied to be the same for all blocks in c81ea6e.
BUG=aomedia:442
Change-Id: I54607dd752ef895c1418f979410b14c02fc9ce22
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 4005d88..8f7761e 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -890,31 +890,12 @@
}
#if CONFIG_EXT_INTRA
-#define MAX_ANGLE_DELTA_UV 3
-#define ANGLE_STEP_UV 3
-
-static const uint8_t av1_angle_step_y[TX_SIZES] = {
- 0, 3, 3, 3,
-};
-static const uint8_t av1_max_angle_delta_y[TX_SIZES] = {
- 0, 3, 3, 3,
-};
-
+#define MAX_ANGLE_DELTA 3
+#define ANGLE_STEP 3
extern const int16_t dr_intra_derivative[90];
static const uint8_t mode_to_angle_map[INTRA_MODES] = {
0, 90, 180, 45, 135, 111, 157, 203, 67, 0,
};
-
-static INLINE int av1_get_angle_step(BLOCK_SIZE sb_type, int plane) {
- const TX_SIZE max_tx_size = max_txsize_lookup[sb_type];
- return plane ? ANGLE_STEP_UV : av1_angle_step_y[max_tx_size];
-}
-
-static INLINE int av1_get_max_angle_delta(BLOCK_SIZE sb_type, int plane) {
- const TX_SIZE max_tx_size = max_txsize_lookup[sb_type];
- return plane ? MAX_ANGLE_DELTA_UV : av1_max_angle_delta_y[max_tx_size];
-}
-
#if CONFIG_INTRA_INTERP
// Returns whether filter selection is needed for a given
// intra prediction angle.
diff --git a/av1/common/pred_common.c b/av1/common/pred_common.c
index afb27bf..f8041f8 100644
--- a/av1/common/pred_common.c
+++ b/av1/common/pred_common.c
@@ -108,7 +108,7 @@
INTRA_FILTER ref_type = INTRA_FILTERS;
if (ref_mbmi->sb_type >= BLOCK_8X8) {
- PREDICTION_MODE mode = ref_mbmi->mode;
+ const PREDICTION_MODE mode = ref_mbmi->mode;
if (is_inter_block(ref_mbmi)) {
#if CONFIG_DUAL_FILTER
switch (ref_mbmi->interp_filter[0]) {
@@ -123,9 +123,8 @@
}
} else {
if (av1_is_directional_mode(mode, ref_mbmi->sb_type)) {
- const int angle_step = av1_get_angle_step(ref_mbmi->sb_type, 0);
- int p_angle =
- mode_to_angle_map[mode] + ref_mbmi->angle_delta[0] * angle_step;
+ const int p_angle =
+ mode_to_angle_map[mode] + ref_mbmi->angle_delta[0] * ANGLE_STEP;
if (av1_is_intra_filter_switchable(p_angle)) {
ref_type = ref_mbmi->intra_filter;
}
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index a002c91..2692c48 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -1852,8 +1852,6 @@
const uint16_t *above_ref = ref - ref_stride;
#if CONFIG_EXT_INTRA
int p_angle = 0;
- const MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
- const int angle_step = av1_get_angle_step(mbmi->sb_type, plane);
const int is_dr_mode = av1_is_directional_mode(mode, xd->mi[0]->mbmi.sb_type);
#endif // CONFIG_EXT_INTRA
#if CONFIG_FILTER_INTRA
@@ -1874,7 +1872,7 @@
#if CONFIG_EXT_INTRA
if (is_dr_mode) {
p_angle = mode_to_angle_map[mode] +
- xd->mi[0]->mbmi.angle_delta[plane != 0] * angle_step;
+ xd->mi[0]->mbmi.angle_delta[plane != 0] * ANGLE_STEP;
if (p_angle <= 90)
need_above = 1, need_left = 0, need_above_left = 1;
else if (p_angle < 180)
@@ -2023,7 +2021,6 @@
#if CONFIG_EXT_INTRA
int p_angle = 0;
const MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
- const int angle_step = av1_get_angle_step(mbmi->sb_type, plane);
const int is_dr_mode = av1_is_directional_mode(mode, mbmi->sb_type);
#endif // CONFIG_EXT_INTRA
#if CONFIG_FILTER_INTRA
@@ -2044,7 +2041,7 @@
#if CONFIG_EXT_INTRA
if (is_dr_mode) {
p_angle = mode_to_angle_map[mode] +
- xd->mi[0]->mbmi.angle_delta[plane != 0] * angle_step;
+ xd->mi[0]->mbmi.angle_delta[plane != 0] * ANGLE_STEP;
if (p_angle <= 90)
need_above = 1, need_left = 0, need_above_left = 1;
else if (p_angle < 180)