Commit 91f0010688 for aom
commit 91f00106883401aef4e052c7fec2163d5f71d44e
Author: Marco Paniconi <marpan@google.com>
Date: Wed Jun 17 16:28:20 2026 -0700
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 176c9cdb17..79b92f8bc8 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -2456,8 +2456,7 @@ void av1_set_screen_content_options(AV1_COMP *cpi, FeatureFlags *features) {
}
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 a71217b835..fcbc4dbd19 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -3431,7 +3431,7 @@ static int64_t rd_pick_intrabc_mode_sb(const AV1_COMP *cpi, MACROBLOCK *x,
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) {