Refactor av1_build_inter_predictors_sb().
Before this, this function was copied-and-edited from
av1_build_inter_predictors_sby() and av1_build_inter_predictors_sbuv().
Also, some places used sb() one directly (like rdopt.c), while others used
sby() and sbuv() separately (like encodeframe.c --> encode_superblock()).
This was prone to errors, if someone mistakenly modified only one/two of
the 3 functions.
Now, we just reuse sby() and sbuv() functions in sb().
Verified that there's no change in output.
Change-Id: If81d78e767cc3fa09f06094d4db36ff1eaea3e4f
diff --git a/av1/common/reconinter.c b/av1/common/reconinter.c
index dd37850..69e469b 100644
--- a/av1/common/reconinter.c
+++ b/av1/common/reconinter.c
@@ -1400,28 +1400,11 @@
#endif // CONFIG_EXT_INTER && CONFIG_INTERINTRA
}
-// TODO(afergs): Check if ctx can be made constant
void av1_build_inter_predictors_sb(const AV1_COMMON *cm, MACROBLOCKD *xd,
int mi_row, int mi_col, BUFFER_SET *ctx,
BLOCK_SIZE bsize) {
- build_inter_predictors_for_planes(cm, xd, bsize, mi_row, mi_col, 0,
- MAX_MB_PLANE - 1);
-#if CONFIG_EXT_INTER && CONFIG_INTERINTRA
- if (is_interintra_pred(&xd->mi[0]->mbmi)) {
- BUFFER_SET default_ctx = {
- { xd->plane[0].dst.buf, xd->plane[1].dst.buf, xd->plane[2].dst.buf },
- { xd->plane[0].dst.stride, xd->plane[1].dst.stride,
- xd->plane[2].dst.stride }
- };
- if (!ctx) ctx = &default_ctx;
- av1_build_interintra_predictors(
- xd, xd->plane[0].dst.buf, xd->plane[1].dst.buf, xd->plane[2].dst.buf,
- xd->plane[0].dst.stride, xd->plane[1].dst.stride,
- xd->plane[2].dst.stride, ctx, bsize);
- }
-#else
- (void)ctx;
-#endif // CONFIG_EXT_INTER && CONFIG_INTERINTRA
+ av1_build_inter_predictors_sby(cm, xd, mi_row, mi_col, ctx, bsize);
+ av1_build_inter_predictors_sbuv(cm, xd, mi_row, mi_col, ctx, bsize);
}
void av1_setup_dst_planes(struct macroblockd_plane planes[MAX_MB_PLANE],
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 8a65d88..5e7975a 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -6020,8 +6020,7 @@
}
#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF
- av1_build_inter_predictors_sby(cm, xd, mi_row, mi_col, NULL, block_size);
- av1_build_inter_predictors_sbuv(cm, xd, mi_row, mi_col, NULL, block_size);
+ av1_build_inter_predictors_sb(cm, xd, mi_row, mi_col, NULL, block_size);
#if CONFIG_MOTION_VAR
if (mbmi->motion_mode == OBMC_CAUSAL) {
#if CONFIG_NCOBMC