Commit c2b223c888 for aom
commit c2b223c888cd7994356f185f638bacaeb98fc93e
Author: Yunqing Wang <yunqingwang@google.com>
Date: Wed Feb 25 14:57:22 2026 -0800
Fix frame parallel encode failure
Bug: 487328945
Change-Id: I1444cc22d1d0d4bb6b36c9b74659b06f6ae42a75
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index dde46f697f..0905b2bdbe 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -6257,6 +6257,13 @@ void av1_rd_pick_inter_mode(struct AV1_COMP *cpi, struct TileDataEnc *tile_data,
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 @@ void av1_rd_pick_inter_mode(struct AV1_COMP *cpi, struct TileDataEnc *tile_data,
#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++) {