]> granicus.if.org Git - libvpx/commitdiff
vp9-svc: Modify choose_partitioning for second temporal ref
authorMarco Paniconi <marpan@google.com>
Thu, 7 Jun 2018 05:42:38 +0000 (22:42 -0700)
committerMarco Paniconi <marpan@google.com>
Thu, 7 Jun 2018 05:47:58 +0000 (22:47 -0700)
For mode where second temporal reference is used in SVC: allow
for using/testing this reference (golden ref) in the variance
partition scheme (choose_partitioning).

Small positive gain (~0.25%) on metrics for 3 layer SVC,
negligible change in speed.

Change-Id: I29b8315da530e60db3d6c90faa8fb178d9f2de26

vp9/encoder/vp9_encodeframe.c

index 29588f19a90a61d5a2e5e5b102a46f27398f7f41..cfc087637a46b6a0364bdb42f670055096623fb6 100644 (file)
@@ -1317,7 +1317,8 @@ static int choose_partitioning(VP9_COMP *cpi, const TileInfo *const tile,
 
     assert(yv12 != NULL);
 
-    if (!(is_one_pass_cbr_svc(cpi) && cpi->svc.spatial_layer_id)) {
+    if (!(is_one_pass_cbr_svc(cpi) && cpi->svc.spatial_layer_id) ||
+        cpi->svc.use_longterm_ref_current_layer) {
       // For now, GOLDEN will not be used for non-zero spatial layers, since
       // it may not be a temporal reference.
       yv12_g = get_ref_frame_buffer(cpi, GOLDEN_FRAME);