Doc for refresh_*_frame and new_bwdref_update_rule

BUG=aomedia:2230

Change-Id: I7e7fd628f96e0eb8964f12817cd69f01e617dab9
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index 0438a6c..42c477b 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -627,12 +627,29 @@
 
   int last_show_frame_buf_idx;  // last show frame buffer index
 
+  // refresh_*_frame are boolean flags. If 'refresh_xyz_frame' is true, then
+  // after the current frame is encoded, the XYZ reference frame gets refreshed
+  // (updated) to be the current frame.
+  //
+  // Special case: 'refresh_last_frame' specifies that:
+  // - LAST_FRAME reference should be updated to be the current frame (as usual)
+  // - Also, LAST2_FRAME and LAST3_FRAME references are implicitly updated to be
+  // the two past reference frames just before LAST_FRAME that are available.
+  //
+  // Note: Usually at most one of these refresh flags is true at a time.
+  // But a key-frame is special, for which all the flags are true at once.
   int refresh_last_frame;
   int refresh_golden_frame;
   int refresh_bwd_ref_frame;
   int refresh_alt2_ref_frame;
   int refresh_alt_ref_frame;
+
 #if USE_SYMM_MULTI_LAYER
+  // When true, a new rule for backward (future) reference frames is in effect:
+  // - BWDREF_FRAME is always the closest future frame available
+  // - ALTREF2_FRAME is always the 2nd closest future frame available
+  // - 'refresh_bwd_ref_frame' flag is used for updating both the BWDREF_FRAME
+  // and ALTREF2_FRAME. ('refresh_alt2_ref_frame' flag is irrelevant).
   int new_bwdref_update_rule;
 #endif