Refactor temporal MV code Removed rounding of blk_row/blk_col, which is more clear and doesn't change the result since the step size(mi_step) are even number. Change-Id: I3b0de69316e10c4834eb2d0d7e160a0ec9fbf130
diff --git a/av1/common/mvref_common.c b/av1/common/mvref_common.c index ef16e02..7f9ca1d 100644 --- a/av1/common/mvref_common.c +++ b/av1/common/mvref_common.c
@@ -585,8 +585,8 @@ CANDIDATE_MV *ref_mv_stack, int16_t *mode_context) { #if CONFIG_TMV const MV_REF *prev_frame_mvs = prev_frame_mvs_base + - ((blk_row + 1) >> 1) * prev_frame_mvs_stride + - ((blk_col + 1) >> 1); + (blk_row >> 1) * prev_frame_mvs_stride + + (blk_col >> 1); #else const MV_REF *prev_frame_mvs = prev_frame_mvs_base + blk_row * prev_frame_mvs_stride + blk_col;
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c index cac27e9..1b69c48 100644 --- a/av1/decoder/decodemv.c +++ b/av1/decoder/decodemv.c
@@ -3063,9 +3063,8 @@ int mi_col, int x_mis, int y_mis) { #if CONFIG_TMV const int frame_mvs_stride = ROUND_POWER_OF_TWO(cm->mi_cols, 1); - MV_REF *frame_mvs = cm->cur_frame->mvs + - ((mi_row & 0xfffe) >> 1) * frame_mvs_stride + - ((mi_col & 0xfffe) >> 1); + MV_REF *frame_mvs = + cm->cur_frame->mvs + (mi_row >> 1) * frame_mvs_stride + (mi_col >> 1); x_mis = ROUND_POWER_OF_TWO(x_mis, 1); y_mis = ROUND_POWER_OF_TWO(y_mis, 1); #else