Fix frame parallel encode failure

Bug: 487328945
Change-Id: I1444cc22d1d0d4bb6b36c9b74659b06f6ae42a75
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index dde46f6..0905b2b 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -6257,6 +6257,13 @@
 
     txfm_info->skip_txfm = 0;
     sf_args.num_single_modes_processed += is_single_pred;
+
+    const bool optimized_init = !cpi->oxcf.fp_mt;
+    if (!optimized_init) {
+      init_mbmi(mbmi, this_mode, ref_frames, cm);
+      set_ref_ptrs(cm, xd, ref_frame, second_ref_frame);
+    }
+
 #if CONFIG_COLLECT_COMPONENT_TIMING
     start_timing(cpi, skip_inter_mode_time);
 #endif
@@ -6268,8 +6275,10 @@
 #endif
     if (is_skip_inter_mode) continue;
 
-    init_mbmi(mbmi, this_mode, ref_frames, cm);
-    set_ref_ptrs(cm, xd, ref_frame, second_ref_frame);
+    if (optimized_init) {
+      init_mbmi(mbmi, this_mode, ref_frames, cm);
+      set_ref_ptrs(cm, xd, ref_frame, second_ref_frame);
+    }
 
     // Select prediction reference frames.
     for (i = 0; i < num_planes; i++) {