From 321f295632b1a66ac4de576f2f9fc99e150ac953 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 5 Jan 2018 09:33:27 -0800 Subject: [PATCH] vp9-svc: Use eightap_smooth for downsampling at low resol. Switch from bilinear to eighttap_smooth for frame-level downsampling at low resolutions (<= 320x240). avgPSNR/SSIM metrics increase from ~0.5-2% (all clips positive gain), for 2 and 3 spatial layer SVC, with 3 temporal layers. Small/negligible increase in encoding time (< 1%). Change-Id: I758472fc4fddd51d87f13c9d1a1cd4986ef5d41f --- vp9/encoder/vp9_svc_layercontext.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c index 2636bd9a5..4f137ecc3 100644 --- a/vp9/encoder/vp9_svc_layercontext.c +++ b/vp9/encoder/vp9_svc_layercontext.c @@ -661,6 +661,10 @@ int vp9_one_pass_cbr_svc_start_layer(VP9_COMP *const cpi) { // averaging filter), use bilinear for now. if (width * height <= 640 * 480) { cpi->svc.downsample_filter_type[cpi->svc.spatial_layer_id] = BILINEAR; + // Use Eightap_smooth for low resolutions. + if (width * height <= 320 * 240) + cpi->svc.downsample_filter_type[cpi->svc.spatial_layer_id] = + EIGHTTAP_SMOOTH; cpi->svc.downsample_filter_phase[cpi->svc.spatial_layer_id] = 8; } -- 2.40.0