]> granicus.if.org Git - libvpx/commitdiff
Assign layer depth for all coding frames
authorJingning Han <jingning@google.com>
Fri, 7 Sep 2018 22:59:14 +0000 (15:59 -0700)
committerJingning Han <jingning@google.com>
Fri, 7 Sep 2018 23:03:51 +0000 (16:03 -0700)
Assign layer depth for the base layer ARF and the normal frames.

Change-Id: I81cbb2846c3176336622f9006701c0219652905a

vp9/encoder/vp9_firstpass.c

index 5108620c6125b299d88f281855fb7768553739f9..1f95bc6d5c05d7294d58b63eeac2dcb37256099c 100644 (file)
@@ -2421,6 +2421,7 @@ static int define_gf_group_structure(VP9_COMP *cpi) {
   if (rc->source_alt_ref_pending) {
     gf_group->update_type[frame_index] = ARF_UPDATE;
     gf_group->rf_level[frame_index] = GF_ARF_STD;
+    gf_group->layer_depth[frame_index] = 1;
 
     gf_group->arf_src_offset[frame_index] =
         (unsigned char)(rc->baseline_gf_interval - 1);
@@ -2444,8 +2445,6 @@ static int define_gf_group_structure(VP9_COMP *cpi) {
   }
 
   if (rc->source_alt_ref_pending && cpi->multi_layer_arf) {
-    gf_group->layer_depth[frame_index] = 1;
-
     find_arf_order(cpi, gf_group, &frame_index, 2, 0,
                    rc->baseline_gf_interval - 1);
 
@@ -2482,6 +2481,7 @@ static int define_gf_group_structure(VP9_COMP *cpi) {
 
     gf_group->update_type[frame_index] = LF_UPDATE;
     gf_group->rf_level[frame_index] = INTER_NORMAL;
+    gf_group->layer_depth[frame_index] = MAX_ARF_LAYERS - 1;
 
     ++frame_index;
   }