[PATCH 04/12] ipa: rkisp1: Document all AGC parameters in IPAActiveState

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Jun 17 11:08:37 CEST 2024


Quoting Laurent Pinchart (2024-06-16 17:39:02)
> The IPAActiveState AGC documentation is lagging behind the
> implementation and misses many variables. Document them.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  src/ipa/rkisp1/ipa_context.cpp | 40 +++++++++++++++++++++++++++++-----
>  1 file changed, 35 insertions(+), 5 deletions(-)
> 
> diff --git a/src/ipa/rkisp1/ipa_context.cpp b/src/ipa/rkisp1/ipa_context.cpp
> index 65e0c58cb2ca..c4895479204c 100644
> --- a/src/ipa/rkisp1/ipa_context.cpp
> +++ b/src/ipa/rkisp1/ipa_context.cpp
> @@ -137,13 +137,43 @@ namespace libcamera::ipa::rkisp1 {
>   * \var IPAActiveState::agc
>   * \brief State for the Automatic Gain Control algorithm
>   *
> - * The exposure and gain are the latest values computed by the AGC algorithm.
> + * The \a automatic variables track the latest values computed by algorithm
> + * based on the latest processed statistics. All other variables track the
> + * consolidated controls requested in queued requests.

I wonder if we should make the state structures convey this somehow by
separating the current request context vs the current process context
... but not now ...

>   *
> - * \var IPAActiveState::agc.exposure
> - * \brief Exposure time expressed as a number of lines
> + * \struct IPAActiveState::agc.manual
> + * \brief Manual exposure time and analog gain (set through requests)
>   *
> - * \var IPAActiveState::agc.gain
> - * \brief Analogue gain multiplier
> + * \var IPAActiveState::agc.manual.exposure
> + * \brief Manual exposure time expressed as a number of lines as set by the
> + * ExposureTime control
> + *
> + * \var IPAActiveState::agc.manual.gain
> + * \brief Manual analogue gain as set by the AnalogueGain control
> + *
> + * \struct IPAActiveState::agc.automatic
> + * \brief Automatic exposure time and analog gain (computed by the algorithm)
> + *
> + * \var IPAActiveState::agc.automatic.exposure
> + * \brief Automatic exposure time expressed as a number of lines
> + *
> + * \var IPAActiveState::agc.automatic.gain
> + * \brief Automatic analogue gain multiplier
> + *
> + * \var IPAActiveState::agc.autoEnabled
> + * \brief Manual/automatic AGC state as set by the AeEnable control
> + *
> + * \var IPAActiveState::agc.constraintMode
> + * \brief Constraint mode as set by the AeConstraintMode control
> + *
> + * \var IPAActiveState::agc.exposureMode
> + * \brief Exposure mode as set by the AeExposureMode control
> + *
> + * \var IPAActiveState::agc.meteringMode
> + * \brief Metering mode as set by the AeMeteringMode control
> + *
> + * \var IPAActiveState::agc.maxShutterSpeed
> + * \brief Maximum frame duration as set by the FrameDurationLimits control


Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

>   */
>  
>  /**
> -- 
> Regards,
> 
> Laurent Pinchart
>


More information about the libcamera-devel mailing list