Set mv_cost_upd_level to 1 when row-mt is enabled
An encoder run to run mismatch was observed with row multithreading
for cpu-used 6. This CL fixes the mismatch by setting the speed
feature mv_cost_upd_level to use row level update when row-mt is
enabled.
STATS_CHANGED for row-mt=1, cpu-used=6
Change-Id: I87ad05bcc02a4e3bad07e69d509334af094469e1
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index c07731f..5dcc974 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -1301,6 +1301,13 @@
cpi->mv_search_params.find_fractional_mv_step = av1_return_max_sub_pixel_mv;
else if (cpi->oxcf.unit_test_cfg.motion_vector_unit_test == 2)
cpi->mv_search_params.find_fractional_mv_step = av1_return_min_sub_pixel_mv;
+
+ if ((cpi->oxcf.row_mt == 1) && (cpi->oxcf.max_threads > 1)) {
+ if (sf->inter_sf.mv_cost_upd_level > 1) {
+ // Set mv_cost_upd_level to use row level update.
+ sf->inter_sf.mv_cost_upd_level = 1;
+ }
+ }
}
void av1_set_speed_features_framesize_independent(AV1_COMP *cpi, int speed) {