Use get_ref_frame_map_idx() wherever possible.

BUG=aomedia:2230

Change-Id: I024bf168d73d46f40d365f2898b3c1af29b98e90
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index ab41354..e77e30c 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2222,19 +2222,19 @@
   //     shifted and become the new virtual indexes for LAST2_FRAME and
   //     LAST3_FRAME.
   refresh_mask |=
-      (cpi->refresh_last_frame << cpi->remapped_ref_idx[LAST3_FRAME - 1]);
+      (cpi->refresh_last_frame << get_ref_frame_map_idx(cpi, LAST3_FRAME));
+
 #if USE_SYMM_MULTI_LAYER
-  refresh_mask |= (cpi->new_bwdref_update_rule == 1)
-                      ? (cpi->refresh_bwd_ref_frame
-                         << cpi->remapped_ref_idx[EXTREF_FRAME - 1])
-                      : (cpi->refresh_bwd_ref_frame
-                         << cpi->remapped_ref_idx[BWDREF_FRAME - 1]);
+  const int bwd_ref_frame =
+      (cpi->new_bwdref_update_rule == 1) ? EXTREF_FRAME : BWDREF_FRAME;
 #else
-  refresh_mask |=
-      (cpi->refresh_bwd_ref_frame << cpi->remapped_ref_idx[BWDREF_FRAME - 1]);
+  const int bwd_ref_frame = BWDREF_FRAME;
 #endif
   refresh_mask |=
-      (cpi->refresh_alt2_ref_frame << cpi->remapped_ref_idx[ALTREF2_FRAME - 1]);
+      (cpi->refresh_bwd_ref_frame << get_ref_frame_map_idx(cpi, bwd_ref_frame));
+
+  refresh_mask |= (cpi->refresh_alt2_ref_frame
+                   << get_ref_frame_map_idx(cpi, ALTREF2_FRAME));
 
   if (av1_preserve_existing_gf(cpi)) {
     // We have decided to preserve the previously existing golden frame as our
@@ -2252,13 +2252,13 @@
       return refresh_mask;
     } else {
       return refresh_mask | (cpi->refresh_golden_frame
-                             << cpi->remapped_ref_idx[ALTREF_FRAME - 1]);
+                             << get_ref_frame_map_idx(cpi, ALTREF_FRAME));
     }
   } else {
-    const int arf_idx = cpi->remapped_ref_idx[ALTREF_FRAME - 1];
+    const int arf_idx = get_ref_frame_map_idx(cpi, ALTREF_FRAME);
     return refresh_mask |
            (cpi->refresh_golden_frame
-            << cpi->remapped_ref_idx[GOLDEN_FRAME - 1]) |
+            << get_ref_frame_map_idx(cpi, GOLDEN_FRAME)) |
            (cpi->refresh_alt_ref_frame << arf_idx);
   }
 }
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 43218b4..08f3f2b 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -3249,8 +3249,8 @@
     cpi->rc.is_src_frame_alt_ref = 1;
     cpi->existing_fb_idx_to_show =
         (next_frame_update_type == OVERLAY_UPDATE)
-            ? cpi->remapped_ref_idx[ALTREF_FRAME - 1]
-            : cpi->remapped_ref_idx[bwdref_to_show - 1];
+            ? get_ref_frame_map_idx(cpi, ALTREF_FRAME)
+            : get_ref_frame_map_idx(cpi, bwdref_to_show);
 #if USE_SYMM_MULTI_LAYER
     if (cpi->new_bwdref_update_rule == 0)
 #endif
@@ -3541,13 +3541,13 @@
     if (!cpi->preserve_arf_as_gld) {
       assign_frame_buffer(
           pool->frame_bufs,
-          &cm->ref_frame_map[cpi->remapped_ref_idx[ALTREF_FRAME - 1]],
+          &cm->ref_frame_map[get_ref_frame_map_idx(cpi, ALTREF_FRAME)],
           cm->new_fb_idx);
     }
 
-    tmp = cpi->remapped_ref_idx[ALTREF_FRAME - 1];
+    tmp = get_ref_frame_map_idx(cpi, ALTREF_FRAME);
     cpi->remapped_ref_idx[ALTREF_FRAME - 1] =
-        cpi->remapped_ref_idx[GOLDEN_FRAME - 1];
+        get_ref_frame_map_idx(cpi, GOLDEN_FRAME);
     cpi->remapped_ref_idx[GOLDEN_FRAME - 1] = tmp;
 
     // TODO(zoeliu): Do we need to copy cpi->interp_filter_selected[0] over to
@@ -3566,11 +3566,11 @@
     // Deal with the special case for showing existing internal ALTREF_FRAME
     // Refresh the LAST_FRAME with the ALTREF_FRAME and retire the LAST3_FRAME
     // by updating the virtual indices.
-    const int last3_remapped_idx = cpi->remapped_ref_idx[LAST3_FRAME - 1];
+    const int last3_remapped_idx = get_ref_frame_map_idx(cpi, LAST3_FRAME);
     shift_last_ref_frames(cpi);
 
     cpi->remapped_ref_idx[LAST_FRAME - 1] =
-        cpi->remapped_ref_idx[bwdref_to_show - 1];
+        get_ref_frame_map_idx(cpi, bwdref_to_show);
 
     memcpy(cpi->interp_filter_selected[LAST_FRAME],
            cpi->interp_filter_selected[bwdref_to_show],
@@ -3590,7 +3590,7 @@
   } else { /* For non key/golden frames */
     // === ALTREF_FRAME ===
     if (cpi->refresh_alt_ref_frame) {
-      int arf_idx = cpi->remapped_ref_idx[ALTREF_FRAME - 1];
+      int arf_idx = get_ref_frame_map_idx(cpi, ALTREF_FRAME);
       assign_frame_buffer(pool->frame_bufs, &cm->ref_frame_map[arf_idx],
                           cm->new_fb_idx);
 
@@ -3603,7 +3603,7 @@
     if (cpi->refresh_golden_frame) {
       assign_frame_buffer(
           pool->frame_bufs,
-          &cm->ref_frame_map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]],
+          &cm->ref_frame_map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)],
           cm->new_fb_idx);
 
       memcpy(cpi->interp_filter_selected[GOLDEN_FRAME],
@@ -3619,7 +3619,7 @@
         // BWDREF -> ALTREF2 -> EXTREF
         // and assign the newly coded frame to BWDREF so that it always
         // keeps the nearest future frame
-        int tmp = cpi->remapped_ref_idx[EXTREF_FRAME - 1];
+        int tmp = get_ref_frame_map_idx(cpi, EXTREF_FRAME);
         assign_frame_buffer(pool->frame_bufs, &cm->ref_frame_map[tmp],
                             cm->new_fb_idx);
 
@@ -3629,7 +3629,7 @@
 #endif  // USE_SYMM_MULTI_LAYER
         assign_frame_buffer(
             pool->frame_bufs,
-            &cm->ref_frame_map[cpi->remapped_ref_idx[BWDREF_FRAME - 1]],
+            &cm->ref_frame_map[get_ref_frame_map_idx(cpi, BWDREF_FRAME)],
             cm->new_fb_idx);
 #if USE_SYMM_MULTI_LAYER
       }
@@ -3643,7 +3643,7 @@
     if (cpi->refresh_alt2_ref_frame) {
       assign_frame_buffer(
           pool->frame_bufs,
-          &cm->ref_frame_map[cpi->remapped_ref_idx[ALTREF2_FRAME - 1]],
+          &cm->ref_frame_map[get_ref_frame_map_idx(cpi, ALTREF2_FRAME)],
           cm->new_fb_idx);
 
       memcpy(cpi->interp_filter_selected[ALTREF2_FRAME],
@@ -3685,10 +3685,10 @@
     // remapped_ref_idx[2],   remapped_ref_idx[0],     remapped_ref_idx[1]
     assign_frame_buffer(
         pool->frame_bufs,
-        &cm->ref_frame_map[cpi->remapped_ref_idx[LAST3_FRAME - 1]],
+        &cm->ref_frame_map[get_ref_frame_map_idx(cpi, LAST3_FRAME)],
         cm->new_fb_idx);
 
-    int last3_remapped_idx = cpi->remapped_ref_idx[LAST3_FRAME - 1];
+    int last3_remapped_idx = get_ref_frame_map_idx(cpi, LAST3_FRAME);
 
     shift_last_ref_frames(cpi);
     cpi->remapped_ref_idx[LAST_FRAME - 1] = last3_remapped_idx;
@@ -3714,11 +3714,11 @@
       //       virtual index reshuffling for BWDREF, the encoder always
       //       specifies a LAST_BIPRED right before BWDREF and completes the
       //       reshuffling job accordingly.
-      last3_remapped_idx = cpi->remapped_ref_idx[LAST3_FRAME - 1];
+      last3_remapped_idx = get_ref_frame_map_idx(cpi, LAST3_FRAME);
 
       shift_last_ref_frames(cpi);
       cpi->remapped_ref_idx[LAST_FRAME - 1] =
-          cpi->remapped_ref_idx[BWDREF_FRAME - 1];
+          get_ref_frame_map_idx(cpi, BWDREF_FRAME);
       cpi->remapped_ref_idx[BWDREF_FRAME - 1] = last3_remapped_idx;
 
       memcpy(cpi->interp_filter_selected[LAST_FRAME],
@@ -4733,54 +4733,54 @@
       map[cpi->remapped_ref_idx[1]] == map[cpi->remapped_ref_idx[0]];
   const int last3_is_last =
       map[cpi->remapped_ref_idx[2]] == map[cpi->remapped_ref_idx[0]];
-  const int gld_is_last = map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]] ==
+  const int gld_is_last = map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)] ==
                           map[cpi->remapped_ref_idx[0]];
-  const int bwd_is_last = map[cpi->remapped_ref_idx[BWDREF_FRAME - 1]] ==
+  const int bwd_is_last = map[get_ref_frame_map_idx(cpi, BWDREF_FRAME)] ==
                           map[cpi->remapped_ref_idx[0]];
-  const int alt2_is_last = map[cpi->remapped_ref_idx[ALTREF2_FRAME - 1]] ==
+  const int alt2_is_last = map[get_ref_frame_map_idx(cpi, ALTREF2_FRAME)] ==
                            map[cpi->remapped_ref_idx[0]];
-  const int alt_is_last = map[cpi->remapped_ref_idx[ALTREF_FRAME - 1]] ==
+  const int alt_is_last = map[get_ref_frame_map_idx(cpi, ALTREF_FRAME)] ==
                           map[cpi->remapped_ref_idx[0]];
 
   // No.2 Priority: ALTREF_FRAME
   const int last2_is_alt = map[cpi->remapped_ref_idx[1]] ==
-                           map[cpi->remapped_ref_idx[ALTREF_FRAME - 1]];
+                           map[get_ref_frame_map_idx(cpi, ALTREF_FRAME)];
   const int last3_is_alt = map[cpi->remapped_ref_idx[2]] ==
-                           map[cpi->remapped_ref_idx[ALTREF_FRAME - 1]];
-  const int gld_is_alt = map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]] ==
-                         map[cpi->remapped_ref_idx[ALTREF_FRAME - 1]];
-  const int bwd_is_alt = map[cpi->remapped_ref_idx[BWDREF_FRAME - 1]] ==
-                         map[cpi->remapped_ref_idx[ALTREF_FRAME - 1]];
-  const int alt2_is_alt = map[cpi->remapped_ref_idx[ALTREF2_FRAME - 1]] ==
-                          map[cpi->remapped_ref_idx[ALTREF_FRAME - 1]];
+                           map[get_ref_frame_map_idx(cpi, ALTREF_FRAME)];
+  const int gld_is_alt = map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)] ==
+                         map[get_ref_frame_map_idx(cpi, ALTREF_FRAME)];
+  const int bwd_is_alt = map[get_ref_frame_map_idx(cpi, BWDREF_FRAME)] ==
+                         map[get_ref_frame_map_idx(cpi, ALTREF_FRAME)];
+  const int alt2_is_alt = map[get_ref_frame_map_idx(cpi, ALTREF2_FRAME)] ==
+                          map[get_ref_frame_map_idx(cpi, ALTREF_FRAME)];
 
   // No.3 Priority: LAST2_FRAME
   const int last3_is_last2 =
       map[cpi->remapped_ref_idx[2]] == map[cpi->remapped_ref_idx[1]];
-  const int gld_is_last2 = map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]] ==
+  const int gld_is_last2 = map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)] ==
                            map[cpi->remapped_ref_idx[1]];
-  const int bwd_is_last2 = map[cpi->remapped_ref_idx[BWDREF_FRAME - 1]] ==
+  const int bwd_is_last2 = map[get_ref_frame_map_idx(cpi, BWDREF_FRAME)] ==
                            map[cpi->remapped_ref_idx[1]];
-  const int alt2_is_last2 = map[cpi->remapped_ref_idx[ALTREF2_FRAME - 1]] ==
+  const int alt2_is_last2 = map[get_ref_frame_map_idx(cpi, ALTREF2_FRAME)] ==
                             map[cpi->remapped_ref_idx[1]];
 
   // No.4 Priority: LAST3_FRAME
-  const int gld_is_last3 = map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]] ==
+  const int gld_is_last3 = map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)] ==
                            map[cpi->remapped_ref_idx[2]];
-  const int bwd_is_last3 = map[cpi->remapped_ref_idx[BWDREF_FRAME - 1]] ==
+  const int bwd_is_last3 = map[get_ref_frame_map_idx(cpi, BWDREF_FRAME)] ==
                            map[cpi->remapped_ref_idx[2]];
-  const int alt2_is_last3 = map[cpi->remapped_ref_idx[ALTREF2_FRAME - 1]] ==
+  const int alt2_is_last3 = map[get_ref_frame_map_idx(cpi, ALTREF2_FRAME)] ==
                             map[cpi->remapped_ref_idx[2]];
 
   // No.5 Priority: GOLDEN_FRAME
-  const int bwd_is_gld = map[cpi->remapped_ref_idx[BWDREF_FRAME - 1]] ==
-                         map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]];
-  const int alt2_is_gld = map[cpi->remapped_ref_idx[ALTREF2_FRAME - 1]] ==
-                          map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]];
+  const int bwd_is_gld = map[get_ref_frame_map_idx(cpi, BWDREF_FRAME)] ==
+                         map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)];
+  const int alt2_is_gld = map[get_ref_frame_map_idx(cpi, ALTREF2_FRAME)] ==
+                          map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)];
 
   // No.6 Priority: BWDREF_FRAME
-  const int alt2_is_bwd = map[cpi->remapped_ref_idx[ALTREF2_FRAME - 1]] ==
-                          map[cpi->remapped_ref_idx[BWDREF_FRAME - 1]];
+  const int alt2_is_bwd = map[get_ref_frame_map_idx(cpi, ALTREF2_FRAME)] ==
+                          map[get_ref_frame_map_idx(cpi, BWDREF_FRAME)];
 
   // No.7 Priority: ALTREF2_FRAME
 
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index 8b35cae..c7afcb7 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -927,7 +927,9 @@
 
 static INLINE int get_ref_frame_map_idx(const AV1_COMP *cpi,
                                         MV_REFERENCE_FRAME ref_frame) {
-  return (ref_frame >= 1) ? cpi->remapped_ref_idx[ref_frame - 1] : INVALID_IDX;
+  return (ref_frame >= LAST_FRAME)
+             ? cpi->remapped_ref_idx[ref_frame - LAST_FRAME]
+             : INVALID_IDX;
 }
 
 static INLINE int get_ref_frame_buf_idx(const AV1_COMP *cpi,
diff --git a/av1/encoder/firstpass.c b/av1/encoder/firstpass.c
index ca2761e..cd6b5e3 100644
--- a/av1/encoder/firstpass.c
+++ b/av1/encoder/firstpass.c
@@ -1062,8 +1062,8 @@
     if (gld_yv12 != NULL) {
       assign_frame_buffer(
           pool->frame_bufs,
-          &cm->ref_frame_map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]],
-          cm->ref_frame_map[cpi->remapped_ref_idx[LAST_FRAME - 1]]);
+          &cm->ref_frame_map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)],
+          cm->ref_frame_map[get_ref_frame_map_idx(cpi, LAST_FRAME)]);
     }
     twopass->sr_update_lag = 1;
   } else {
@@ -1073,18 +1073,19 @@
   aom_extend_frame_borders(new_yv12, num_planes);
 
   // The frame we just compressed now becomes the last frame.
-  assign_frame_buffer(pool->frame_bufs,
-                      &cm->ref_frame_map[cpi->remapped_ref_idx[LAST_FRAME - 1]],
-                      cm->new_fb_idx);
+  assign_frame_buffer(
+      pool->frame_bufs,
+      &cm->ref_frame_map[get_ref_frame_map_idx(cpi, LAST_FRAME)],
+      cm->new_fb_idx);
 
   // Special case for the first frame. Copy into the GF buffer as a second
   // reference.
   if (cm->current_video_frame == 0 &&
-      cpi->remapped_ref_idx[GOLDEN_FRAME - 1] != INVALID_IDX) {
+      get_ref_frame_map_idx(cpi, GOLDEN_FRAME) != INVALID_IDX) {
     assign_frame_buffer(
         pool->frame_bufs,
-        &cm->ref_frame_map[cpi->remapped_ref_idx[GOLDEN_FRAME - 1]],
-        cm->ref_frame_map[cpi->remapped_ref_idx[LAST_FRAME - 1]]);
+        &cm->ref_frame_map[get_ref_frame_map_idx(cpi, GOLDEN_FRAME)],
+        cm->ref_frame_map[get_ref_frame_map_idx(cpi, LAST_FRAME)]);
   }
 
   // Use this to see what the first pass reconstruction looks like.