Make last intra-inter mode explicit. The last mode in the intra-inter-modes is sometimes used to determine whether the predictor needs to be recomputed (since buffers are re-used). Instead of hard-coding it to II_SMOOTH_PRED, use INTERINTRA_MODES - 1. There is no functional change, but the experimental branch is expanding the number of INTERINTRA_MODES, and this change will help keep the two in sync. Change-Id: Ib43de4f0b38430bf48d12bcec388b1db9f69bcf2
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index 42e72ff..9820d43 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -9719,7 +9719,7 @@ cpi->sf.disable_smooth_interintra, best_interintra_mode != II_SMOOTH_PRED)); rmode = interintra_mode_cost[best_interintra_mode]; - if (j == 0 || best_interintra_mode != II_SMOOTH_PRED) { + if (j == 0 || best_interintra_mode != INTERINTRA_MODES - 1) { mbmi->interintra_mode = best_interintra_mode; av1_build_intra_predictors_for_interintra(cm, xd, bsize, 0, orig_dst, intrapred, bw); @@ -9758,8 +9758,8 @@ if (!cpi->oxcf.enable_smooth_interintra || cpi->sf.disable_smooth_interintra) { if (best_interintra_mode == INTERINTRA_MODES) { - mbmi->interintra_mode = II_SMOOTH_PRED; - best_interintra_mode = II_SMOOTH_PRED; + mbmi->interintra_mode = INTERINTRA_MODES - 1; + best_interintra_mode = INTERINTRA_MODES - 1; av1_build_intra_predictors_for_interintra(cm, xd, bsize, 0, orig_dst, intrapred, bw); best_interintra_rd_wedge = @@ -9784,7 +9784,7 @@ args->inter_intra_mode[mbmi->ref_frame[0]] = best_interintra_mode; mbmi->interintra_mode = best_interintra_mode; - if (best_interintra_mode != II_SMOOTH_PRED) { + if (best_interintra_mode != INTERINTRA_MODES - 1) { av1_build_intra_predictors_for_interintra(cm, xd, bsize, 0, orig_dst, intrapred, bw); }