Fix unit test failure due to ext-inter and dual filter
Make the inter predictor use the right filter type to avoid
enc/dec mismatch.
Change-Id: I2aa416d50450188ec2057dca3338fa258314e562
diff --git a/vp10/common/reconinter.c b/vp10/common/reconinter.c
index 165b3ba..daad38e 100644
--- a/vp10/common/reconinter.c
+++ b/vp10/common/reconinter.c
@@ -472,6 +472,11 @@
#endif // CONFIG_SUPERTX
const MACROBLOCKD *xd) {
const MODE_INFO *mi = xd->mi[0];
+ // The prediction filter types used here should be those for
+ // the second reference block.
+ INTERP_FILTER tmp_ipf[4] = {interp_filter[2], interp_filter[3],
+ interp_filter[2], interp_filter[3],
+ };
#if CONFIG_VP9_HIGHBITDEPTH
DECLARE_ALIGNED(16, uint8_t, tmp_dst_[2 * MAX_SB_SQUARE]);
uint8_t *tmp_dst =
@@ -479,7 +484,7 @@
CONVERT_TO_BYTEPTR(tmp_dst_) : tmp_dst_;
vp10_make_inter_predictor(pre, pre_stride, tmp_dst, MAX_SB_SIZE,
subpel_x, subpel_y, sf, w, h, 0,
- interp_filter, xs, ys, xd);
+ tmp_ipf, xs, ys, xd);
#if CONFIG_SUPERTX
if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH)
build_masked_compound_wedge_extend_highbd(
@@ -513,7 +518,7 @@
DECLARE_ALIGNED(16, uint8_t, tmp_dst[MAX_SB_SQUARE]);
vp10_make_inter_predictor(pre, pre_stride, tmp_dst, MAX_SB_SIZE,
subpel_x, subpel_y, sf, w, h, 0,
- interp_filter, xs, ys, xd);
+ tmp_ipf, xs, ys, xd);
#if CONFIG_SUPERTX
build_masked_compound_wedge_extend(
dst, dst_stride, tmp_dst, MAX_SB_SIZE,