aom: rtc: Speed 11 video mode for 360p: set half_pel

From 498e799b8fd163f04e4b0b4447a7e3758c627a2e Mon Sep 17 00:00:00 2001
From: Marco Paniconi <[EMAIL REDACTED]>
Date: Thu, 1 Feb 2024 19:48:22 +0000
Subject: [PATCH] rtc: Speed 11 video mode for 360p: set half_pel

This only affects 360p and 480p video (speed 11 is not applied
for resoln >= 720p), and non-screen content.

This is needed for the aggressive fast speed 11.
Instruction count speedup ~8%, but encoder fps speedup
seems bigger, >10-15%. Quality loss can be ~10%, varies alot
per clip, some additional tuning can be applied to make this
switch local.

Change-Id: I21a5db8b915c4fc699ed52dd0caa142def77dcfc
---
 av1/encoder/speed_features.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 63d69cadc5..7dc84ee5ed 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -1465,6 +1465,7 @@ static void set_rt_speed_feature_framesize_dependent(const AV1_COMP *const cpi,
     if (is_360p_or_larger) {
       sf->part_sf.fixed_partition_size = BLOCK_32X32;
       sf->rt_sf.use_fast_fixed_part = 1;
+      sf->mv_sf.subpel_force_stop = HALF_PEL;
     }
     sf->rt_sf.increase_source_sad_thresh = 1;
     sf->rt_sf.part_early_exit_zeromv = 2;