Reduce the mfmv stack size in use
Change-Id: I43c3f337e2a648ec4ee17ceab0a8f6892924d3b2
diff --git a/av1/common/mvref_common.c b/av1/common/mvref_common.c
index 6eedb6f..ef51e88 100644
--- a/av1/common/mvref_common.c
+++ b/av1/common/mvref_common.c
@@ -1602,7 +1602,8 @@
}
static void motion_field_projection(AV1_COMMON *cm,
- MV_REFERENCE_FRAME ref_frame) {
+ MV_REFERENCE_FRAME ref_frame,
+ int ref_stamp) {
TPL_MV_REF *tpl_mvs_base = cm->tpl_mvs;
int cur_frame_index = cm->cur_frame->cur_frame_offset;
@@ -1678,7 +1679,6 @@
int cur_to_lst3 = cur_frame_index - lst3_frame_index;
int cur_to_bwd = bwd_frame_index - cur_frame_index;
int cur_to_alt2 = alt2_frame_index - cur_frame_index;
- const int ref_stamp = FWD_RF_OFFSET(ref_frame);
// clang-format off
const int ref_frame_offset_buffer[TOTAL_REFS_PER_FRAME] = {
0, lst_offset, lst2_offset, lst3_offset, gld_offset,
@@ -1934,12 +1934,10 @@
}
}
- motion_field_projection(cm, ALTREF_FRAME);
-
+ motion_field_projection(cm, BWDREF_FRAME, 1);
if (alt2_frame_index > cur_frame_index)
- motion_field_projection(cm, ALTREF2_FRAME);
-
- motion_field_projection(cm, BWDREF_FRAME);
+ motion_field_projection(cm, ALTREF2_FRAME, 2);
+ motion_field_projection(cm, ALTREF_FRAME, 3);
}
#endif // CONFIG_MFMV