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