Frame scaling prediction for highbitdepth pt 2
Change-Id: If878c33bb46c13216bd958c906f69d977066a144
diff --git a/av1/common/convolve.h b/av1/common/convolve.h
index e4197b4..4627339 100644
--- a/av1/common/convolve.h
+++ b/av1/common/convolve.h
@@ -127,6 +127,16 @@
#endif
const int subpel_x, int xstep, const int subpel_y,
int ystep, int avg, int bd);
+
+void av1_highbd_convolve_scale(const uint8_t *src, int src_stride, uint8_t *dst,
+ int dst_stride, int w, int h,
+#if CONFIG_DUAL_FILTER
+ const InterpFilter *interp_filter,
+#else
+ const InterpFilter interp_filter,
+#endif // CONFIG_DUAL_FILTER
+ const int subpel_x, int xstep,
+ const int subpel_y, int ystep, int avg, int bd);
#endif // CONFIG_HIGHBITDEPTH
#ifdef __cplusplus
diff --git a/av1/common/reconinter.h b/av1/common/reconinter.h
index 530a9d2..9ad6d37 100644
--- a/av1/common/reconinter.h
+++ b/av1/common/reconinter.h
@@ -138,12 +138,10 @@
#endif
if (has_scale(xs, ys)) {
- // TODO(afergs, debargha): Use a different scale convolve function
- // that uses higher precision for subpel_x, subpel_y, xs, ys
- av1_highbd_convolve(src, src_stride, dst, dst_stride, w, h, interp_filter,
- subpel_x >> SCALE_EXTRA_BITS, xs >> SCALE_EXTRA_BITS,
- subpel_y >> SCALE_EXTRA_BITS, ys >> SCALE_EXTRA_BITS,
- avg, bd);
+ av1_highbd_convolve_scale(
+ src, src_stride, dst, dst_stride, w, h, interp_filter,
+ subpel_x >> SCALE_EXTRA_BITS, xs >> SCALE_EXTRA_BITS,
+ subpel_y >> SCALE_EXTRA_BITS, ys >> SCALE_EXTRA_BITS, avg, bd);
} else {
subpel_x >>= SCALE_EXTRA_BITS;
subpel_y >>= SCALE_EXTRA_BITS;