shithub: libvpx

Download patch

ref: 3562d6b0a2cfccb1fb8fc18f065089f00d300216
parent: 575c1933ea52314b9c17770a4ed7032dcd477ec3
author: Marco <marpan@google.com>
date: Wed Dec 6 06:21:29 EST 2017

vp9-svc: Set downsampling filter for VGA layer.

Downsampling filter for SVC was set to subsample (phase 0)
for HD -> VGA, and bilinear averaging (phase 8) for VGA -> QVGA.
This change makes it bilinear averaging for HD -> VGA.

Given the recent commit 9f9d4f8, quality is improved with
this change: avgPSNR/SSIM up ~1-3% on HD clips in RTC set.
Speed decrease of ~1% for 3 layer SVC.

Change-Id: If834a320e372b8b922a6bf7cab4227703b1beae6

--- a/vp9/encoder/vp9_svc_layercontext.c
+++ b/vp9/encoder/vp9_svc_layercontext.c
@@ -656,9 +656,9 @@
                        lc->scaling_factor_num, lc->scaling_factor_den, &width,
                        &height);
 
-  // For resolutions <= QVGA: set phase of the filter = 8 (for symmetric
+  // For resolutions <= VGA: set phase of the filter = 8 (for symmetric
   // averaging filter), use bilinear for now.
-  if (width * height <= 320 * 240) {
+  if (width * height <= 640 * 480) {
     cpi->svc.downsample_filter_type[cpi->svc.spatial_layer_id] = BILINEAR;
     cpi->svc.downsample_filter_phase[cpi->svc.spatial_layer_id] = 8;
   }