]> granicus.if.org Git - libvpx/commitdiff
vp9-svc: Set downsampling filter for VGA layer.
authorMarco <marpan@google.com>
Wed, 6 Dec 2017 19:21:29 +0000 (11:21 -0800)
committerMarco <marpan@google.com>
Wed, 6 Dec 2017 20:01:24 +0000 (12:01 -0800)
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

vp9/encoder/vp9_svc_layercontext.c

index 38895be689cbb96e2e97fde467a967ee5a3793c3..d215cf64a685d63985890a9e8c3630e0791369f0 100644 (file)
@@ -656,9 +656,9 @@ int vp9_one_pass_cbr_svc_start_layer(VP9_COMP *const cpi) {
                        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;
   }