Fix frame_id numbers with forward keyframes

Since frame_id numbers seem to have been unused for some time, they do
not work with forward keyframes: The ref_frame_id[] array (frame_ids for
reference frames) was not refreshed upon showing a forward keyframe.
This patch resolves this issue.

BUG=aomedia:2267

Change-Id: I3ebe30c4cf556a4893094e3ee6b68cafaa7258bc
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 9acc690..7652029 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -5102,6 +5102,14 @@
     if (av1_pack_bitstream(cpi, dest, size) != AOM_CODEC_OK)
       return AOM_CODEC_ERROR;
 
+    if (seq_params->frame_id_numbers_present_flag &&
+        current_frame->frame_type == KEY_FRAME) {
+      // Displaying a forward key-frame, so reset the ref buffer IDs
+      int display_frame_id = cm->ref_frame_id[cpi->existing_fb_idx_to_show];
+      for (int i = 0; i < REF_FRAMES; i++)
+        cm->ref_frame_id[i] = display_frame_id;
+    }
+
     cpi->seq_params_locked = 1;
 
     // Set up frame to show to get ready for stats collection.