[NORMATIVE] Fix Fwd KF with frame id numbers

BUG=aomedia:1638

Change-Id: Ibaeb9d4a09d6d848573e75a0845b37a4bcdb81c4
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index f354cff..38b75ce 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -2659,12 +2659,12 @@
     int frame_id_length = cm->seq_params.frame_id_length;
     int diff_len = cm->seq_params.delta_frame_id_length;
     int prev_frame_id = 0;
-    if (cm->frame_type != KEY_FRAME) {
+    if (!(cm->frame_type == KEY_FRAME && cm->show_frame)) {
       prev_frame_id = cm->current_frame_id;
     }
     cm->current_frame_id = aom_rb_read_literal(rb, frame_id_length);
 
-    if (cm->frame_type != KEY_FRAME) {
+    if (!(cm->frame_type == KEY_FRAME && cm->show_frame)) {
       int diff_frame_id;
       if (cm->current_frame_id > prev_frame_id) {
         diff_frame_id = cm->current_frame_id - prev_frame_id;
@@ -2681,7 +2681,7 @@
     }
     /* Check if some frames need to be marked as not valid for referencing */
     for (int i = 0; i < REF_FRAMES; i++) {
-      if (cm->frame_type == KEY_FRAME) {
+      if (cm->frame_type == KEY_FRAME && cm->show_frame) {
         cm->valid_for_referencing[i] = 0;
       } else if (cm->current_frame_id - (1 << diff_len) > 0) {
         if (cm->ref_frame_id[i] > cm->current_frame_id ||