vp9-svc: For 1 pass svc, remove frame-level upsampling.
authorMarco <marpan@google.com>
Wed, 20 Jan 2016 22:10:26 +0000 (14:10 -0800)
committerMarco <marpan@google.com>
Mon, 29 Feb 2016 16:56:14 +0000 (08:56 -0800)
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

vp9/encoder/vp9_encoder.c

index f8f681a..14ef88f 100644 (file)
@@ -3387,12 +3387,10 @@ static void encode_without_recode_loop(VP9_COMP *cpi,
        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);
   }