Use sharp interpolation filter in temporal filtering
Used sharp interpolation filter at temporal filtering motion compensation
stage as done in VP9. This gave 0.3759% PSNR gain and 0.4604% SSIM gain.
AWCY result(speed 1):
PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
-0.3759 | -0.3107 | -0.5555 | 0.2210 | -0.4604 | -0.0932 | -0.3368
STATS_CHANGED
Change-Id: I54ffdeae113d28acb08ab428859b4f9b997b05db
diff --git a/av1/encoder/temporal_filter.c b/av1/encoder/temporal_filter.c
index cab4b73..2c5a360 100644
--- a/av1/encoder/temporal_filter.c
+++ b/av1/encoder/temporal_filter.c
@@ -47,7 +47,8 @@
int uv_stride;
// TODO(angiebird): change plane setting accordingly
ConvolveParams conv_params = get_conv_params(0, 0, xd->bd);
- const InterpFilters interp_filters = xd->mi[0]->interp_filters;
+ const InterpFilters interp_filters =
+ av1_make_interp_filters(MULTITAP_SHARP, MULTITAP_SHARP);
WarpTypesAllowed warp_types;
memset(&warp_types, 0, sizeof(WarpTypesAllowed));
@@ -262,7 +263,7 @@
cpi->common.allow_high_precision_mv, x->errorperbit,
&cpi->fn_ptr[BLOCK_16X16], 0, mv_sf->subpel_iters_per_step,
cond_cost_list(cpi, cost_list), NULL, NULL, &distortion, &sse, NULL,
- NULL, 0, 0, 0, 0, 0, 1);
+ NULL, 0, 0, 16, 16, USE_2_TAPS_ORIG, 1);
}
x->e_mbd.mi[0]->mv[0] = x->best_mv;