aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Jiang <jianj@google.com>2024-04-16 11:35:51 -0400
committerJerome Jiang <jianj@google.com>2024-04-16 14:51:27 -0400
commit85dafa9c61f99330f484e77297684b42af6ff37d (patch)
tree83ab6cc8898cbc90eec24ffe714ba62edbc565b7
parent976134c50d1f9d67c582c4e35805121117b0f178 (diff)
downloadlibvpx-85dafa9c61f99330f484e77297684b42af6ff37d.tar.gz
Initialize frame_mv in rd pick inter
Bug: b/334626386 Change-Id: Ie480a08f09c1b212b4163a5f6eb191c35510236f
-rw-r--r--vp9/encoder/vp9_rdopt.c10
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)) &&