Remove all_zero_mvs_flag from the rate-distortion loop

This flag has been removed from bit-stream definition to improve
the context parsing latency. Remove the corresponding controls
from the rate-distortion optimization process. No coding stats
will be changed.

Change-Id: Ice1c5473635471494ad21e2068d7e3a19ff7121e
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index ec4d908..52e71a3 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -762,10 +762,6 @@
   } else {
     ++counts->newmv_mode[mode_ctx][1];
 
-    if (mode_context & (1 << ALL_ZERO_FLAG_OFFSET)) {
-      return;
-    }
-
     mode_ctx = (mode_context >> GLOBALMV_OFFSET) & GLOBALMV_CTX_MASK;
     if (mode == GLOBALMV) {
       ++counts->zeromv_mode[mode_ctx][0];
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 1968b37..4ac3aa5 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -5723,7 +5723,6 @@
 
   int mode_cost = 0;
   int16_t mode_ctx = mode_context & NEWMV_CTX_MASK;
-  int16_t is_all_zero_mv = mode_context & (1 << ALL_ZERO_FLAG_OFFSET);
 
   assert(is_inter_mode(mode));
 
@@ -5734,8 +5733,6 @@
     mode_cost = x->newmv_mode_cost[mode_ctx][1];
     mode_ctx = (mode_context >> GLOBALMV_OFFSET) & GLOBALMV_CTX_MASK;
 
-    if (is_all_zero_mv) return mode_cost;
-
     if (mode == GLOBALMV) {
       mode_cost += x->zeromv_mode_cost[mode_ctx][0];
       return mode_cost;
@@ -9462,19 +9459,6 @@
                      mbmi_ext->ref_mv_stack[ref_frame],
                      mbmi_ext->compound_mode_context, candidates, mi_row,
                      mi_col, NULL, NULL, mbmi_ext->mode_context);
-    if (mbmi_ext->ref_mv_count[ref_frame] < 2) {
-      MV_REFERENCE_FRAME rf[2];
-      av1_set_ref_frame(rf, ref_frame);
-      if (mbmi_ext->ref_mvs[rf[0]][0].as_int !=
-              frame_mv[GLOBALMV][rf[0]].as_int ||
-          mbmi_ext->ref_mvs[rf[0]][1].as_int !=
-              frame_mv[GLOBALMV][rf[0]].as_int ||
-          mbmi_ext->ref_mvs[rf[1]][0].as_int !=
-              frame_mv[GLOBALMV][rf[1]].as_int ||
-          mbmi_ext->ref_mvs[rf[1]][1].as_int !=
-              frame_mv[GLOBALMV][rf[1]].as_int)
-        mbmi_ext->mode_context[ref_frame] &= ~(1 << ALL_ZERO_FLAG_OFFSET);
-    }
   }
 
   av1_count_overlappable_neighbors(cm, xd, mi_row, mi_col);
@@ -10815,32 +10799,6 @@
     best_mbmode.ref_mv_idx = 0;
   }
 
-  if (best_mbmode.ref_frame[0] > INTRA_FRAME &&
-      best_mbmode.ref_frame[1] <= INTRA_FRAME
-#if CONFIG_EXT_SKIP
-      && !best_mbmode.skip_mode
-#endif  // CONFIG_EXT_SKIP
-      ) {
-    int8_t ref_frame_type = av1_ref_frame_type(best_mbmode.ref_frame);
-    int16_t mode_ctx = mbmi_ext->mode_context[ref_frame_type];
-    if (mode_ctx & (1 << ALL_ZERO_FLAG_OFFSET)) {
-      int_mv zeromv;
-      const MV_REFERENCE_FRAME ref = best_mbmode.ref_frame[0];
-      zeromv.as_int = gm_get_motion_vector(&cm->global_motion[ref],
-                                           cm->allow_high_precision_mv, bsize,
-                                           mi_col, mi_row
-#if CONFIG_AMVR
-                                           ,
-                                           cm->cur_frame_force_integer_mv
-#endif
-                                           )
-                          .as_int;
-      if (best_mbmode.mv[0].as_int == zeromv.as_int) {
-        best_mbmode.mode = GLOBALMV;
-      }
-    }
-  }
-
   if (best_mode_index < 0 || best_rd >= best_rd_so_far) {
     rd_cost->rate = INT_MAX;
     rd_cost->rdcost = INT64_MAX;