Minor refactor for per frame delta-q choice

Improves results in scenarios where a gf group chooses
to not use pyramid structure.

Change-Id: I928a75d6f77fbb0840d5d4eb5e190db4e929dc74
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 9209949..65c7ed7 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -3410,10 +3410,12 @@
 
   if (tpl_frame->is_valid == 0) return cm->base_qindex;
 
-  if (cpi->common.show_frame) return cm->base_qindex;
-
-  if (cpi->twopass.gf_group.pyramid_level[cpi->twopass.gf_group.index] <
-      cpi->twopass.gf_group.pyramid_height)
+#define MAX_PYR_LEVEL_FROMTOP_DELTAQ 0
+  const int pyr_lev_from_top =
+      cpi->twopass.gf_group.pyramid_height -
+      cpi->twopass.gf_group.pyramid_level[cpi->twopass.gf_group.index];
+  if (pyr_lev_from_top > MAX_PYR_LEVEL_FROMTOP_DELTAQ ||
+      cpi->twopass.gf_group.pyramid_height <= MAX_PYR_LEVEL_FROMTOP_DELTAQ + 1)
     return cm->base_qindex;
 
   if (cpi->twopass.gf_group.index >= MAX_LAG_BUFFERS) return cm->base_qindex;
@@ -3446,7 +3448,8 @@
     beta = (mc_saved + 100.0) / (mc_saved_base + 100.0);
   }
   offset = (7 * av1_get_deltaq_offset(cpi, cm->base_qindex, beta)) / 8;
-  // printf("beta %g, offset %d\n", beta, offset);
+  // printf("[%d/%d]: beta %g offset %d\n", pyr_lev_from_top,
+  //        cpi->twopass.gf_group.pyramid_height, beta, offset);
 
   aom_clear_system_state();