gf-max-pyramid-height option: Allow value of 0.

With that, allowed values are from 0 to 4.
The default is 4 (unchanged).

BUG=aomedia:2346

Change-Id: Ib2c85a61053e1513d5e0865b605a61a319d88efb
diff --git a/aom/aomcx.h b/aom/aomcx.h
index b8c552e..da7498f 100644
--- a/aom/aomcx.h
+++ b/aom/aomcx.h
@@ -1061,7 +1061,7 @@
   AV1E_SET_QUANT_B_ADAPT,
 
   /*!\brief Control to select maximum height for the GF group pyramid structure
-   * (valid values: 1 - 4) */
+   * (valid values: 0 - 4) */
   AV1E_SET_GF_MAX_PYRAMID_HEIGHT,
 
   /*!\brief Control to select maximum reference frames allowed per frame
diff --git a/apps/aomenc.c b/apps/aomenc.c
index 8ff64cb..08bf08d 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -646,7 +646,7 @@
     "max gf/arf frame interval (default 0, indicating in-built behavior)");
 static const arg_def_t gf_max_pyr_height =
     ARG_DEF(NULL, "gf-max-pyr-height", 1,
-            "maximum height for GF group pyramid structure (1 to 4 (default))");
+            "maximum height for GF group pyramid structure (0 to 4 (default))");
 static const arg_def_t max_reference_frames = ARG_DEF(
     NULL, "max-reference-frames", 1,
     "maximum number of reference frames allowed per frame (3 to 7 (default))");
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index a7a2234..4d60a44 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -342,7 +342,7 @@
     RANGE_CHECK(extra_cfg, max_gf_interval, MAX(2, extra_cfg->min_gf_interval),
                 (MAX_LAG_BUFFERS - 1));
   }
-  RANGE_CHECK(extra_cfg, gf_max_pyr_height, 1, 4);
+  RANGE_CHECK_HI(extra_cfg, gf_max_pyr_height, 4);
 
   RANGE_CHECK_HI(cfg, rc_resize_mode, RESIZE_MODES - 1);
   RANGE_CHECK(cfg, rc_resize_denominator, SCALE_NUMERATOR,
diff --git a/test/gf_max_pyr_height_test.cc b/test/gf_max_pyr_height_test.cc
index 48d9cb8..2d78493 100644
--- a/test/gf_max_pyr_height_test.cc
+++ b/test/gf_max_pyr_height_test.cc
@@ -21,10 +21,7 @@
   int gf_max_pyr_height;
   double psnr_thresh;
 } kTestParams[] = {
-  { 1, 34.75 },
-  { 2, 35.25 },
-  { 3, 35.50 },
-  { 4, 35.50 },
+  { 0, 34.75 }, { 1, 34.75 }, { 2, 35.25 }, { 3, 35.50 }, { 4, 35.50 },
 };
 
 // Compiler may decide to add some padding to the struct above for alignment,