lc-dec: Extend sf gm_erroradv_tr_level to shorts

This patch extends the sf gm_erroradv_tr_level to shorts (vertical
videos) by adding an intermediate level=1 (erroradv_tr= 0.3).
Existing level=1 (erroradv_tr= 0.2) for VOD test set has been made
as level=2.

Performance results of encoder and decoder for the streams
generated with low complexity decode enabled.

      Decode Time                   BD-Rate Loss(%)
cpu  Reduction(%)  avg.psnr   ssim     vmaf   vmaf_neg  uvq_1p5
 1     0.745        0.0789   0.0710   0.0916   0.0930    0.2183
 2     0.916        0.0829   0.0930   0.1317   0.1066    0.0262
 3     1.147        0.0938   0.1144   0.1114   0.1181   -0.0033

STATS_CHANGED for low complexity decode, shorts

Change-Id: I6a02be5d5fae7de27184874eecdb25cf4891052a
diff --git a/av1/encoder/global_motion.h b/av1/encoder/global_motion.h
index 97feff4..0d25c70 100644
--- a/av1/encoder/global_motion.h
+++ b/av1/encoder/global_motion.h
@@ -77,7 +77,7 @@
                                  WarpedMotionParams *model);
 
 // Criteria for accepting a global motion model
-static const double erroradv_tr[2] = { 0.65, 0.2 };
+static const double erroradv_tr[3] = { 0.65, 0.3, 0.2 };
 static const double erroradv_prod_tr = 20000;
 
 // Early exit threshold for global motion refinement
diff --git a/av1/encoder/global_motion_facade.c b/av1/encoder/global_motion_facade.c
index df625c0..4fdad0b 100644
--- a/av1/encoder/global_motion_facade.c
+++ b/av1/encoder/global_motion_facade.c
@@ -94,7 +94,7 @@
   int gm_erroradv_tr_level = cpi->sf.gm_sf.gm_erroradv_tr_level;
   bool mem_alloc_failed = false;
 
-  assert(gm_erroradv_tr_level < 2);
+  assert(gm_erroradv_tr_level < 3);
   // Select the best model based on fractional error reduction.
   // By initializing this to erroradv_tr, the same logic which is used to
   // select the best model will automatically filter out any model which
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 0ce15c8..d4e1f01 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -641,6 +641,7 @@
         (update_type == LF_UPDATE || update_type == OVERLAY_UPDATE ||
          update_type == INTNL_OVERLAY_UPDATE);
     if (leaf_and_overlay_frames) sf->gm_sf.gm_search_type = GM_DISABLE_SEARCH;
+    sf->gm_sf.gm_erroradv_tr_level = 1;
 
     sf->hl_sf.ref_frame_mvs_lvl = 2;
 
@@ -665,7 +666,7 @@
 
   // Speed features for regular videos
   if (!is_vertical_video && is_between_720p_and_1080p) {
-    sf->gm_sf.gm_erroradv_tr_level = 1;
+    sf->gm_sf.gm_erroradv_tr_level = 2;
 
     sf->hl_sf.ref_frame_mvs_lvl = 1;
 
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index ca885c7..da6f18b 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -616,7 +616,8 @@
   int num_refinement_steps;
 
   // Error advantage threshold level used to determine whether global motion
-  // compensation should be enabled
+  // compensation should be enabled. It Can take values 0 - 2 increasing
+  // aggressiveness of skipping GM in order.
   int gm_erroradv_tr_level;
 } GLOBAL_MOTION_SPEED_FEATURES;