diff options
author | Jerome Jiang <jianj@google.com> | 2024-04-16 11:35:51 -0400 |
---|---|---|
committer | Jerome Jiang <jianj@google.com> | 2024-04-16 14:51:27 -0400 |
commit | 85dafa9c61f99330f484e77297684b42af6ff37d (patch) | |
tree | 83ab6cc8898cbc90eec24ffe714ba62edbc565b7 | |
parent | 976134c50d1f9d67c582c4e35805121117b0f178 (diff) | |
download | libvpx-85dafa9c61f99330f484e77297684b42af6ff37d.tar.gz |
Initialize frame_mv in rd pick inter
Bug: b/334626386
Change-Id: Ie480a08f09c1b212b4163a5f6eb191c35510236f
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index b4c918c62..c1a8c1089 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -3435,6 +3435,14 @@ int vp9_active_edge_sb(VP9_COMP *cpi, int mi_row, int mi_col) { } #if !CONFIG_REALTIME_ONLY +void init_frame_mv(int_mv frame_mv[MB_MODE_COUNT][MAX_REF_FRAMES]) { + for (int mode = 0; mode < MB_MODE_COUNT; ++mode) { + for (int ref_frame = 0; ref_frame < MAX_REF_FRAMES; ++ref_frame) { + frame_mv[mode][ref_frame].as_int = INVALID_MV; + } + } +} + void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, TileDataEnc *tile_data, MACROBLOCK *x, int mi_row, int mi_col, RD_COST *rd_cost, BLOCK_SIZE bsize, @@ -3530,6 +3538,8 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, TileDataEnc *tile_data, rd_cost->rate = INT_MAX; + init_frame_mv(frame_mv); + for (ref_frame = LAST_FRAME; ref_frame <= ALTREF_FRAME; ++ref_frame) { x->pred_mv_sad[ref_frame] = INT_MAX; if ((cpi->ref_frame_flags & ref_frame_to_flag(ref_frame)) && |