[NORMATIVE] Error resilient/skip mode on OrderHint

* In error_resilient_mode, some unintended frame-to-frame dependencies
  still exist owing to the way that the OrderHint (aka frame_offset)
  values are handled.

* Skip mode also has dependency on OrderHint and shall be off if
  OrderHint is disabled.

This patch removes these dependencies (as detailed in Issue 1497) when
error_resilient_mode is on or when OrderHint is disabled.

BUG=aomedia:1497

Change-Id: I11c45d9b7253cc51119197aec9a36806d9138aa9
diff --git a/av1/common/mvref_common.c b/av1/common/mvref_common.c
index 28db720..20c2ed5 100644
--- a/av1/common/mvref_common.c
+++ b/av1/common/mvref_common.c
@@ -1232,7 +1232,8 @@
   MV_REFERENCE_FRAME ref_frame;
   for (ref_frame = LAST_FRAME; ref_frame <= ALTREF_FRAME; ++ref_frame) {
     const int buf_idx = cm->frame_refs[ref_frame - LAST_FRAME].idx;
-    if (cm->seq_params.enable_order_hint && buf_idx != INVALID_IDX) {
+    if (cm->seq_params.enable_order_hint && !cm->error_resilient_mode &&
+        buf_idx != INVALID_IDX) {
       const int ref_frame_offset =
           cm->buffer_pool->frame_bufs[buf_idx].cur_frame_offset;
       cm->ref_frame_sign_bias[ref_frame] =
@@ -1391,7 +1392,7 @@
 
 void av1_setup_motion_field(AV1_COMMON *cm) {
   memset(cm->ref_frame_side, -1, sizeof(cm->ref_frame_side));
-  if (!cm->seq_params.enable_order_hint) return;
+  if (!cm->seq_params.enable_order_hint || cm->error_resilient_mode) return;
 
   int cur_frame_index = cm->cur_frame->cur_frame_offset;
   int alt_frame_index = 0, gld_frame_index = 0;
@@ -1772,7 +1773,9 @@
   cm->is_skip_mode_allowed = 0;
   cm->ref_frame_idx_0 = cm->ref_frame_idx_1 = INVALID_IDX;
 
-  if (frame_is_intra_only(cm) || cm->reference_mode == SINGLE_REFERENCE) return;
+  if (!cm->seq_params.enable_order_hint || cm->error_resilient_mode ||
+      frame_is_intra_only(cm) || cm->reference_mode == SINGLE_REFERENCE)
+    return;
 
   RefCntBuffer *const frame_bufs = cm->buffer_pool->frame_bufs;
   const int cur_frame_offset = cm->frame_offset;