Fix nightly asan test failures
Use correct memory offsets (half MAX_SB_SQUARE pixels) for OBMC
secondary predictors.
BUG=aomedia:1443
Change-Id: I1a4b080e9cc17fb10ff4ea619a899c2346e0d843
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 00ae7d1..98232d7 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -9270,11 +9270,11 @@
#if CONFIG_OBMC_HIGH_PREC_BLENDING
args.above_pred_hp_buf[0] = x->above_pred_hp_buf;
- args.above_pred_hp_buf[1] = x->above_pred_hp_buf + MAX_SB_SQUARE;
- args.above_pred_hp_buf[2] = x->above_pred_hp_buf + 2 * MAX_SB_SQUARE;
+ args.above_pred_hp_buf[1] = x->above_pred_hp_buf + (MAX_SB_SQUARE >> 1);
+ args.above_pred_hp_buf[2] = x->above_pred_hp_buf + MAX_SB_SQUARE;
args.left_pred_hp_buf[0] = x->left_pred_hp_buf;
- args.left_pred_hp_buf[1] = x->left_pred_hp_buf + MAX_SB_SQUARE;
- args.left_pred_hp_buf[2] = x->left_pred_hp_buf + 2 * MAX_SB_SQUARE;
+ args.left_pred_hp_buf[1] = x->left_pred_hp_buf + (MAX_SB_SQUARE >> 1);
+ args.left_pred_hp_buf[2] = x->left_pred_hp_buf + MAX_SB_SQUARE;
#else
int dst_width1[MAX_MB_PLANE] = { MAX_SB_SIZE, MAX_SB_SIZE, MAX_SB_SIZE };
int dst_width2[MAX_MB_PLANE] = { MAX_SB_SIZE >> 1, MAX_SB_SIZE >> 1,
@@ -9287,21 +9287,21 @@
int len = sizeof(uint16_t);
args.above_pred_buf[0] = CONVERT_TO_BYTEPTR(x->above_pred_buf);
args.above_pred_buf[1] =
- CONVERT_TO_BYTEPTR(x->above_pred_buf + MAX_SB_SQUARE * len);
+ CONVERT_TO_BYTEPTR(x->above_pred_buf + (MAX_SB_SQUARE >> 1) * len);
args.above_pred_buf[2] =
- CONVERT_TO_BYTEPTR(x->above_pred_buf + 2 * MAX_SB_SQUARE * len);
+ CONVERT_TO_BYTEPTR(x->above_pred_buf + MAX_SB_SQUARE * len);
args.left_pred_buf[0] = CONVERT_TO_BYTEPTR(x->left_pred_buf);
args.left_pred_buf[1] =
- CONVERT_TO_BYTEPTR(x->left_pred_buf + MAX_SB_SQUARE * len);
+ CONVERT_TO_BYTEPTR(x->left_pred_buf + (MAX_SB_SQUARE >> 1) * len);
args.left_pred_buf[2] =
- CONVERT_TO_BYTEPTR(x->left_pred_buf + 2 * MAX_SB_SQUARE * len);
+ CONVERT_TO_BYTEPTR(x->left_pred_buf + MAX_SB_SQUARE * len);
} else {
args.above_pred_buf[0] = x->above_pred_buf;
- args.above_pred_buf[1] = x->above_pred_buf + MAX_SB_SQUARE;
- args.above_pred_buf[2] = x->above_pred_buf + 2 * MAX_SB_SQUARE;
+ args.above_pred_buf[1] = x->above_pred_buf + (MAX_SB_SQUARE >> 1);
+ args.above_pred_buf[2] = x->above_pred_buf + MAX_SB_SQUARE;
args.left_pred_buf[0] = x->left_pred_buf;
- args.left_pred_buf[1] = x->left_pred_buf + MAX_SB_SQUARE;
- args.left_pred_buf[2] = x->left_pred_buf + 2 * MAX_SB_SQUARE;
+ args.left_pred_buf[1] = x->left_pred_buf + (MAX_SB_SQUARE >> 1);
+ args.left_pred_buf[2] = x->left_pred_buf + MAX_SB_SQUARE;
}
#endif