Simplify GOP length decision at speed 6

Simplified GOP length decision at speed 6, which only depended on
lag-in-frames with this change.

Borg test results at speed 6:
       avg_psnr:  ovr_psnr:  ssim:   avg speed change:
hdres:  0.998	  1.045      0.108     8.4%
midres: 1.084	  0.934      0.083     9.5%
lowres: 1.318	  1.292      0.499     8.1%

STATS_CHANGED

Change-Id: Icee7268c360f8c831cc682e5141b028a6a1a19d1
diff --git a/av1/encoder/pass2_strategy.c b/av1/encoder/pass2_strategy.c
index 27abfb2..b123376 100644
--- a/av1/encoder/pass2_strategy.c
+++ b/av1/encoder/pass2_strategy.c
@@ -2719,7 +2719,8 @@
       calculate_gf_length(cpi, max_gop_length, MAX_NUM_GF_INTERVALS);
     }
 
-    if (max_gop_length > 16 && oxcf->enable_tpl_model) {
+    if (max_gop_length > 16 && oxcf->enable_tpl_model &&
+        !cpi->sf.tpl_sf.disable_gop_length_decision) {
       if (rc->gf_intervals[rc->cur_gf_index] - 1 > 16) {
         // The calculate_gf_length function is previously used with
         // max_gop_length = 32 with look-ahead gf intervals.
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 83c8c6a..d796aff 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -625,8 +625,11 @@
   if (speed >= 6) {
     sf->mv_sf.simple_motion_subpel_force_stop = FULL_PEL;
     sf->rd_sf.perform_coeff_opt = is_boosted_arf2_bwd_type ? 4 : 6;
+
+    sf->tpl_sf.disable_gop_length_decision = 1;
     sf->tpl_sf.subpel_force_stop = FULL_PEL;
     sf->tpl_sf.disable_filtered_key_tpl = 1;
+
     sf->tx_sf.tx_type_search.prune_tx_type_est_rd = 0;
   }
 }
@@ -929,6 +932,7 @@
 }
 
 static AOM_INLINE void init_tpl_sf(TPL_SPEED_FEATURES *tpl_sf) {
+  tpl_sf->disable_gop_length_decision = 0;
   tpl_sf->prune_intra_modes = 0;
   tpl_sf->prune_starting_mv = 0;
   tpl_sf->reduce_first_step_size = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 37b5eef..177e6db 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -296,6 +296,8 @@
 } HIGH_LEVEL_SPEED_FEATURES;
 
 typedef struct TPL_SPEED_FEATURES {
+  // Enable/disable GOP length adaptive decision.
+  int disable_gop_length_decision;
   // Prune the intra modes search by tpl.
   // If set to 0, we will search all intra modes from DC_PRED to PAETH_PRED.
   // If set to 1, we only search DC_PRED, V_PRED, and H_PRED.