shithub: libvpx

Download patch

ref: 9b729748ac5cb0087f2e1282ebb503009e6ba836
parent: a082c562d0635d39a3beff5c2737d75132628bec
author: Marco <marpan@google.com>
date: Fri May 5 14:39:55 EDT 2017

vp9: SVC: Set downsample filtertype for lowest spatial layer.

For lowest spatial layer, in 3 layer SVC, set the
downsampling filtertype to get averaging filter.
Needed for reducing aliasing on low-res layer,
small increase in overall encoder time.

Change-Id: Ia31460123bd91b72eca49b46dd924b9f226d4563

--- a/vp9/encoder/vp9_svc_layercontext.c
+++ b/vp9/encoder/vp9_svc_layercontext.c
@@ -651,6 +651,10 @@
                        lc->scaling_factor_num, lc->scaling_factor_den, &width,
                        &height);
 
+  // For 3 spatial layers, on the lowest resolution layer: set the filtertype
+  // for downsampling source to 1, to get averaging filter.
+  if (cpi->svc.number_spatial_layers == 3)
+    cpi->svc.filtertype_downsample_source[0] = 1;
   // The usage of use_base_mv assumes down-scale of 2x2. For now, turn off use
   // of base motion vectors if spatial scale factors for any layers are not 2,
   // keep the case of 3 spatial layers with scale factor of 4x4 for base layer.