rtc-screen: Adjust threshold for high moton detection This reduces some dips in quality for scrolling with scaled input. Bug: b:444116924 Change-Id: I3cea6f59bdd4af439510d86c324c6344b53b2bb0
diff --git a/av1/encoder/ratectrl.c b/av1/encoder/ratectrl.c index ead6f34..7a2ea67 100644 --- a/av1/encoder/ratectrl.c +++ b/av1/encoder/ratectrl.c
@@ -3348,8 +3348,12 @@ } // Update the high_motion_content_screen_rtc flag on TL0. Avoid the update // if too many consecutive frame drops occurred. + // The threshold_high_motion is set to a large value, to account for + // mis-detection for scroll for scaled input (where scroll motion can be + // subpel and not detected below). The threshold may be reduced when better + // scroll detection (for subpel) is added. const int scale = - (unscaled_src->y_width * unscaled_src->y_height > 1920 * 1080) ? 24 : 10; + (unscaled_src->y_width * unscaled_src->y_height >= 1920 * 1080) ? 40 : 16; const uint64_t thresh_high_motion = scale * 64 * 64; if (cpi->svc.temporal_layer_id == 0 && rc->drop_count_consec < 3) { cpi->rc.high_motion_content_screen_rtc = 0;