Call calc_mb_wiener_var() if auto_intra_tools_off
av1_calc_mb_wiener_var_mt() ignores its sum_rec_distortion and
sum_est_rate in/out parameters. sum_rec_distortion and sum_est_rate are
only used when auto_intra_tools_off is true. So we need to call
calc_mb_wiener_var() instead if auto_intra_tools_off is true.
Change-Id: I79275225a257f701259357658e27da912e411028
diff --git a/av1/encoder/allintra_vis.c b/av1/encoder/allintra_vis.c
index 5103f4e..236b296 100644
--- a/av1/encoder/allintra_vis.c
+++ b/av1/encoder/allintra_vis.c
@@ -587,7 +587,10 @@
intra_mt->intra_sync_read_ptr = av1_row_mt_sync_read_dummy;
intra_mt->intra_sync_write_ptr = av1_row_mt_sync_write_dummy;
// Calculate differential contrast for each block for the entire image.
- if (num_workers > 1) {
+ // TODO(chengchen): properly accumulate the distortion and rate in
+ // av1_calc_mb_wiener_var_mt(). Until then, call calc_mb_wiener_var() if
+ // auto_intra_tools_off is true.
+ if (num_workers > 1 && !cpi->oxcf.intra_mode_cfg.auto_intra_tools_off) {
intra_mt->intra_sync_read_ptr = av1_row_mt_sync_read;
intra_mt->intra_sync_write_ptr = av1_row_mt_sync_write;
av1_calc_mb_wiener_var_mt(cpi, num_workers, &sum_rec_distortion,