rtc: Fix conditions for intrabc realtime mode Follow-up to: 8ad2e72af7f The condition in rd_pick_intrabc_mode() should use realtime mode instead of use_nonrd_pick_mode (which is always 0 for speed < 7). And the rt_use_intrabc should be removed from the realtime condition in av1_set_screen_content_options(). This is to avoid any potential change in behavior for speeds 5,6 realtime mode, w/wo intrabc or content_screen. Change-Id: I76939c86484bbb1a367c290fb16414786e940a54
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index 176c9cd..79b92f8 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c
@@ -2456,8 +2456,7 @@ } if (cpi->oxcf.mode == REALTIME) { - features->allow_screen_content_tools = features->allow_intrabc = - cpi->sf.rt_sf.rt_use_intrabc; + features->allow_screen_content_tools = features->allow_intrabc = 0; return; }
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index a71217b..fcbc4db 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -3431,7 +3431,7 @@ const AV1_COMMON *const cm = &cpi->common; if (!av1_allow_intrabc(cm) || !cpi->oxcf.kf_cfg.enable_intrabc || !cpi->sf.mv_sf.use_intrabc || - (cpi->sf.rt_sf.use_nonrd_pick_mode && !cpi->sf.rt_sf.rt_use_intrabc)) + (cpi->oxcf.mode == REALTIME && !cpi->sf.rt_sf.rt_use_intrabc)) return INT64_MAX; if (cpi->sf.mv_sf.intrabc_search_level >= 1 && bsize != BLOCK_4X4 && bsize != BLOCK_8X8 && bsize != BLOCK_16X16) {