Populate kf_requested flag appropriately

It was observed that firstpass_inter_prediction() was
being called from first-pass/LAP stages even though
kf-max-dist was set to 0. This CL sets the kf_requested
flag appropriately when kf-max-dist==0.

BUG=aomedia:2967

STATS_CHANGED for kf-max-dist==0

Change-Id: Idf2f56af5a54c8f3e1ac710b6eae2f4ddcceb97a
diff --git a/av1/encoder/encode_strategy.c b/av1/encoder/encode_strategy.c
index b622c6e..5412213 100644
--- a/av1/encoder/encode_strategy.c
+++ b/av1/encoder/encode_strategy.c
@@ -1261,8 +1261,13 @@
     av1_cyclic_refresh_update_parameters(cpi);
   } else if (is_stat_generation_stage(cpi)) {
     cpi->td.mb.e_mbd.lossless[0] = is_lossless_requested(&oxcf->rc_cfg);
-    const int kf_requested = (cm->current_frame.frame_number == 0 ||
-                              (*frame_flags & FRAMEFLAGS_KEY));
+    // Current frame is coded as a key-frame for any of the following cases:
+    // 1) First frame of a video
+    // 2) For all-intra frame encoding
+    // 3) When a key-frame is forced
+    const int kf_requested =
+        (cm->current_frame.frame_number == 0 ||
+         oxcf->kf_cfg.key_freq_max == 0 || (*frame_flags & FRAMEFLAGS_KEY));
     if (kf_requested && frame_update_type != OVERLAY_UPDATE &&
         frame_update_type != INTNL_OVERLAY_UPDATE) {
       frame_params.frame_type = KEY_FRAME;