shithub: libvpx

Download patch

ref: 55a09f7f459af7d428077d98ac96376376c0dc42
parent: dd6729f826bcfff8364511aaa9c24f0372938e14
author: Marco <marpan@google.com>
date: Wed Jan 20 09:10:26 EST 2016

vp9-svc: For 1 pass svc, remove frame-level upsampling.

With the svc fix in https://chromium-review.googlesource.com/#/c/328978/,
the asan error is resolved, so this should work now.

Change-Id: I57b2a593651d414e1b445431d90f2fdc3281128b

--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -3387,12 +3387,10 @@
        cpi->oxcf.rc_mode == VPX_VBR))
     vp9_avg_source_sad(cpi);
 
-  // TODO(wonkap/marpan): For 1 pass SVC, since only ZERMOV is allowed for
-  // upsampled reference frame (i.e, svc->force_zero_mode_spatial_ref = 0),
-  // we should be able to avoid this frame-level upsampling.
-  // Keeping it for now as there is an asan error in the multi-threaded SVC
-  // rate control test if this upsampling is removed.
-  if (frame_is_intra_only(cm) == 0) {
+  // For 1 pass SVC, since only ZEROMV is allowed for upsampled reference
+  // frame (i.e, svc->force_zero_mode_spatial_ref = 0), we can avoid this
+  // frame-level upsampling.
+  if (frame_is_intra_only(cm) == 0 && !is_one_pass_cbr_svc(cpi)) {
     vp9_scale_references(cpi);
   }