intrabc: adapt use_intrabc prob
First keyframe BD-RATE objective-1-fast:
PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
-0.3705 | -0.3232 | -0.3812 | -0.3782 | N/A | -0.3412 | N/A
First keyframe BD-RATE twitch-1:
PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
-0.2479 | -0.2477 | -0.2467 | -0.2567 | -0.2486 | -0.2508 | -0.2487
Change-Id: Iea6c895c6fe9e9764887a8968f6e5330903969d3
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index d94a8c6..56714ab 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8109,6 +8109,11 @@
MACROBLOCKD *const xd = &x->e_mbd;
const TileInfo *tile = &xd->tile;
+#if CONFIG_EC_ADAPT
+ FRAME_CONTEXT *const ec_ctx = xd->tile_ctx;
+#else
+ FRAME_CONTEXT *const ec_ctx = cm->fc;
+#endif // CONFIG_EC_ADAPT
MODE_INFO *const mi = xd->mi[0];
const int mi_row = -xd->mb_to_top_edge / (8 * MI_SIZE);
const int mi_col = -xd->mb_to_left_edge / (8 * MI_SIZE);
@@ -8223,8 +8228,8 @@
x->mvcost, MV_COST_WEIGHT);
const PREDICTION_MODE A = av1_above_block_mode(mi, xd->above_mi, 0);
const PREDICTION_MODE L = av1_left_block_mode(mi, xd->left_mi, 0);
- const int rate_mode =
- cpi->y_mode_costs[A][L][DC_PRED] + av1_cost_bit(INTRABC_PROB, 1);
+ const int rate_mode = cpi->y_mode_costs[A][L][DC_PRED] +
+ av1_cost_bit(ec_ctx->intrabc_prob, 1);
RD_STATS rd_stats, rd_stats_uv;
av1_subtract_plane(x, bsize, 0);