Fix bug in highbd wedge-interintra prediction
When calling aom_(highbd_)blend_a64_mask for a subsampled plane,
the mask is subsampled in-place. This means that the mask stride
passed in needs to be the value before subsampling. Since the
wedge masks are set up so that mask stride = mask width, this means
that the stride should equal the width of the current mi block.
However, for the wedge-interintra path in combine_interintra_highbd,
we subsampled the mask stride, resulting in the wrong stride being
used for chroma planes if subsampling_x == 1.
The lowbd path already uses the correct stride, so this patch just
copies the stride calculation over to the highbd path.
Change-Id: I08a4120b11a38912c45d9e637a54e009eddd88ec
diff --git a/av1/common/reconinter.c b/av1/common/reconinter.c
index ea544f8..643dbcb 100644
--- a/av1/common/reconinter.c
+++ b/av1/common/reconinter.c
@@ -2944,8 +2944,8 @@
const int subh = 2 * num_4x4_blocks_high_lookup[bsize] == bh;
const int subw = 2 * num_4x4_blocks_wide_lookup[bsize] == bw;
aom_highbd_blend_a64_mask(comppred8, compstride, intrapred8, intrastride,
- interpred8, interstride, mask, bw, bh, bw, subh,
- subw, bd);
+ interpred8, interstride, mask,
+ block_size_wide[bsize], bh, bw, subh, subw, bd);
}
return;
}