set_ld_layer_depth: cap max_layer_depth to MAX_ARF_LAYERS

fixes a crash in allocate_gf_group_bits() after:
52fa570301 Set max layer depth for low delay settings

Bug: aomedia:3390
Change-Id: Idb53a29bd4a6f52a0cdbf7a13c1b5f73dd9eabf7
(cherry picked from commit e772cb13a03fc43b36d6cfb9baa24a21f45b348d)
diff --git a/av1/encoder/gop_structure.c b/av1/encoder/gop_structure.c
index 4a9ed08..d76efb1 100644
--- a/av1/encoder/gop_structure.c
+++ b/av1/encoder/gop_structure.c
@@ -865,7 +865,7 @@
     }
     gf_group->layer_depth[gf_index] = AOMMAX(log_gop_length - count, 0);
   }
-  gf_group->max_layer_depth = log_gop_length;
+  gf_group->max_layer_depth = AOMMIN(log_gop_length, MAX_ARF_LAYERS);
 }
 
 void av1_gop_setup_structure(AV1_COMP *cpi) {
diff --git a/av1/encoder/pass2_strategy.c b/av1/encoder/pass2_strategy.c
index 134c6ce..312e131 100644
--- a/av1/encoder/pass2_strategy.c
+++ b/av1/encoder/pass2_strategy.c
@@ -17,6 +17,7 @@
  */
 /*! @} - end defgroup gf_group_algo */
 
+#include <assert.h>
 #include <stdint.h>
 
 #include "av1/encoder/thirdpass.h"
@@ -879,6 +880,7 @@
   // Allocate extra bits to each ARF layer
   int i;
   int layer_extra_bits[MAX_ARF_LAYERS + 1] = { 0 };
+  assert(max_arf_layer <= MAX_ARF_LAYERS);
   for (i = 1; i <= max_arf_layer; ++i) {
     double fraction = (i == max_arf_layer) ? 1.0 : layer_fraction[i];
     layer_extra_bits[i] =