Resolve reference to av1_get_second_pass_params()
Add in doxygen header for the main pass two entry point function.
Change-Id: I805d740b800fbad7ac6a91753aebffeb3144bf75
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index abf85d9..a26a966 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -2523,15 +2523,17 @@
int frames_left;
} AV1_COMP;
-/*!\cond */
-
+/*!
+ * \brief Input frames and last input frame
+ */
typedef struct EncodeFrameInput {
+ /*!\cond */
YV12_BUFFER_CONFIG *source;
YV12_BUFFER_CONFIG *last_source;
int64_t ts_duration;
+ /*!\endcond */
} EncodeFrameInput;
-/*!\endcond */
/*!
* \brief contains per-frame encoding parameters decided upon by
* av1_encode_strategy() and passed down to av1_encode().
diff --git a/av1/encoder/pass2_strategy.h b/av1/encoder/pass2_strategy.h
index 13a3e2d..a984320 100644
--- a/av1/encoder/pass2_strategy.h
+++ b/av1/encoder/pass2_strategy.h
@@ -68,12 +68,32 @@
void av1_init_single_pass_lap(AV1_COMP *cpi);
+/*!\endcond */
+/*!\brief Main per frame entry point for second pass of two pass encode
+ *
+ *\ingroup rate_control
+ *
+ * This function is called for each frame in the second pass of a two pass
+ * encode. It checks the frame type and if a new KF or GF/ARF is due.
+ * When a KF is due it calls find_next_key_frame() to work out how long
+ * this key frame group will be and assign bits to the key frame.
+ * At the start of a new GF/ARF group it calls calculate_gf_length()
+ * and define_gf_group() which are the main functions responsible for
+ * defining the size and structure of the new GF/ARF group.
+ *
+ * \param[in] cpi Top - level encoder instance structure
+ * \param[in] frame_params Per frame encoding parameters
+ * \param[in] frame_input Current and last input frame buffers
+ * \param[in] frame_flags Frame type and coding flags
+ *
+ * \return No return but analyses first pass stats and assigns a target
+ * number of bits to the current frame and a target Q range.
+ */
void av1_get_second_pass_params(struct AV1_COMP *cpi,
struct EncodeFrameParams *const frame_params,
const EncodeFrameInput *const frame_input,
unsigned int frame_flags);
-/*!\endcond */
/*!\brief Adjustments to two pass and rate control after each frame.
*
*\ingroup rate_control
diff --git a/doc/dev_guide/av1_encoder.dox b/doc/dev_guide/av1_encoder.dox
index 7339847..3370897 100644
--- a/doc/dev_guide/av1_encoder.dox
+++ b/doc/dev_guide/av1_encoder.dox
@@ -542,8 +542,8 @@
After completion of the first pass, \ref av1_encode() will be called again for
each frame with \ref AV1EncoderConfig.pass = 2. The frames are then encoded in
accordance with the statistics gathered during the first pass by calls to
-\ref encode_frame_to_data_rate() which in turn calls (TODO REF)
-av1_get_second_pass_params().
+\ref encode_frame_to_data_rate() which in turn calls
+ \ref av1_get_second_pass_params().
In summary the second pass code :-