summaryrefslogtreecommitdiff
path: root/src/ipa/rkisp1/ipa_context.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-09-08 00:39:53 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-09-28 05:41:14 +0300
commit310b7a6a306bb981be7c3fca18e5d53c02eac78b (patch)
treef08eefc3f25fe9fc804f09dc6e92c62c19859f9f /src/ipa/rkisp1/ipa_context.cpp
parentb3724d3766ee1fefda4860334fe769334df1c869 (diff)
ipa: rkisp1: agc: Store per-frame information in frame context
Rework the algorithm's usage of the active state to store the value of controls for the last queued request in the queueRequest() function, and store a copy of the values in the corresponding frame context. The frame context is used in the prepare() function to populate the ISP parameters with values corresponding to the right frame. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src/ipa/rkisp1/ipa_context.cpp')
-rw-r--r--src/ipa/rkisp1/ipa_context.cpp35
1 files changed, 24 insertions, 11 deletions
diff --git a/src/ipa/rkisp1/ipa_context.cpp b/src/ipa/rkisp1/ipa_context.cpp
index 78a785f5..c7d5b1b6 100644
--- a/src/ipa/rkisp1/ipa_context.cpp
+++ b/src/ipa/rkisp1/ipa_context.cpp
@@ -104,16 +104,13 @@ namespace libcamera::ipa::rkisp1 {
* \var IPAActiveState::agc
* \brief State for the Automatic Gain Control algorithm
*
- * The exposure and gain determined are expected to be applied to the sensor
- * at the earliest opportunity.
+ * The exposure and gain are the latest values computed by the AGC algorithm.
*
* \var IPAActiveState::agc.exposure
* \brief Exposure time expressed as a number of lines
*
* \var IPAActiveState::agc.gain
* \brief Analogue gain multiplier
- *
- * The gain should be adapted to the sensor specific gain code before applying.
*/
/**
@@ -182,21 +179,37 @@ namespace libcamera::ipa::rkisp1 {
*/
/**
- * \var IPAActiveState::sensor
- * \brief Effective sensor values
+ * \struct IPAFrameContext
+ * \brief Per-frame context for algorithms
+ *
+ * \todo Populate the frame context for all algorithms
+ */
+
+/**
+ * \var IPAFrameContext::agc
+ * \brief Automatic Gain Control parameters for this frame
*
- * \var IPAActiveState::sensor.exposure
+ * The exposure and gain are provided by the AGC algorithm, and are to be
+ * applied to the sensor in order to take effect for this frame.
+ *
+ * \var IPAFrameContext::agc.exposure
* \brief Exposure time expressed as a number of lines
*
- * \var IPAActiveState::sensor.gain
+ * \var IPAFrameContext::agc.gain
* \brief Analogue gain multiplier
+ *
+ * The gain should be adapted to the sensor specific gain code before applying.
*/
/**
- * \struct IPAFrameContext
- * \brief Per-frame context for algorithms
+ * \var IPAFrameContext::sensor
+ * \brief Sensor configuration that used been used for this frame
*
- * \todo Populate the frame context for all algorithms
+ * \var IPAFrameContext::sensor.exposure
+ * \brief Exposure time expressed as a number of lines
+ *
+ * \var IPAFrameContext::sensor.gain
+ * \brief Analogue gain multiplier
*/
/**