aboutsummaryrefslogtreecommitdiff
path: root/vp9/common/vp9_reconinter.c
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2024-01-22 22:04:42 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-01-22 22:04:42 +0000
commitdbf4b9b450ddb4c197998f9b7ff668081708066f (patch)
tree7f7370f69833b55ad06e2247f03f4b4c59393823 /vp9/common/vp9_reconinter.c
parent0305f663bc314d883ae1033dc4e4f006c5802a59 (diff)
parentb469e8f789e4d59075c477caaa87154e53e992b4 (diff)
downloadlibvpx-dbf4b9b450ddb4c197998f9b7ff668081708066f.tar.gz
Merge "Merge commit '602e2e8979d111b02c959470da5322797dd96a19' into aosp/main" into main am: b469e8f789
Original change: https://android-review.googlesource.com/c/platform/external/libvpx/+/2920688 Change-Id: I521b49f0c60299465a8032fe31ddc265b50e6636 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'vp9/common/vp9_reconinter.c')
-rw-r--r--vp9/common/vp9_reconinter.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/vp9/common/vp9_reconinter.c b/vp9/common/vp9_reconinter.c
index ff59ff504..4878dc15e 100644
--- a/vp9/common/vp9_reconinter.c
+++ b/vp9/common/vp9_reconinter.c
@@ -158,18 +158,19 @@ static void build_inter_predictors(MACROBLOCKD *xd, int plane, int block,
// Co-ordinate of containing block to pixel precision.
const int x_start = (-xd->mb_to_left_edge >> (3 + pd->subsampling_x));
const int y_start = (-xd->mb_to_top_edge >> (3 + pd->subsampling_y));
+ const YV12_BUFFER_CONFIG *ref_buf = xd->block_refs[ref]->buf;
+ uint8_t *buf_array[] = { ref_buf->y_buffer, ref_buf->u_buffer,
+ ref_buf->v_buffer };
+ const int stride_array[] = { ref_buf->y_stride, ref_buf->uv_stride,
+ ref_buf->uv_stride };
#if 0 // CONFIG_BETTER_HW_COMPATIBILITY
assert(xd->mi[0]->sb_type != BLOCK_4X8 &&
xd->mi[0]->sb_type != BLOCK_8X4);
assert(mv_q4.row == mv.row * (1 << (1 - pd->subsampling_y)) &&
mv_q4.col == mv.col * (1 << (1 - pd->subsampling_x)));
#endif
- if (plane == 0)
- pre_buf->buf = xd->block_refs[ref]->buf->y_buffer;
- else if (plane == 1)
- pre_buf->buf = xd->block_refs[ref]->buf->u_buffer;
- else
- pre_buf->buf = xd->block_refs[ref]->buf->v_buffer;
+ pre_buf->buf = buf_array[plane];
+ pre_buf->stride = stride_array[plane];
pre_buf->buf +=
scaled_buffer_offset(x_start + x, y_start + y, pre_buf->stride, sf);