[PATCH 2/3] ipa: rkisp1: Alias lineDuration

Umang Jain umang.jain at ideasonboard.com
Thu Oct 24 05:22:26 CEST 2024


Hi Kieran,

Thank you for the patch

On 14/10/24 9:17 pm, Kieran Bingham wrote:
> The configured line duration of the sensor is used frequently throughout
> the AGC implementation.
>
> It's available in the IPA context through the rather long:
>    context.configuration.sensor.lineDuration
>
> Take a copy of the lineDuration early in the call and replace the two
> current usages of the reference with the shorter copy to manage line
> length and ease readibility.
>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
> ---
>   src/ipa/rkisp1/algorithms/agc.cpp | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp
> index 33f902862c4a..e23ab120b3e2 100644
> --- a/src/ipa/rkisp1/algorithms/agc.cpp
> +++ b/src/ipa/rkisp1/algorithms/agc.cpp
> @@ -400,6 +400,8 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
>   		return;
>   	}
>   
> +	utils::Duration lineDuration = context.configuration.sensor.lineDuration;
> +
>   	/*
>   	 * \todo Verify that the exposure and gain applied by the sensor for
>   	 * this frame match what has been requested. This isn't a hard
> @@ -429,8 +431,7 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
>   	 * The Agc algorithm needs to know the effective exposure value that was
>   	 * applied to the sensor when the statistics were collected.
>   	 */
> -	utils::Duration exposureTime = context.configuration.sensor.lineDuration
> -				       * frameContext.sensor.exposure;
> +	utils::Duration exposureTime = lineDuration * frameContext.sensor.exposure;
>   	double analogueGain = frameContext.sensor.gain;
>   	utils::Duration effectiveExposureValue = exposureTime * analogueGain;
>   
> @@ -447,7 +448,7 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
>   
>   	IPAActiveState &activeState = context.activeState;
>   	/* Update the estimated exposure and gain. */
> -	activeState.agc.automatic.exposure = shutterTime / context.configuration.sensor.lineDuration;
> +	activeState.agc.automatic.exposure = shutterTime / lineDuration;
>   	activeState.agc.automatic.gain = aGain;
>   
>   	fillMetadata(context, frameContext, metadata);



More information about the libcamera-devel mailing list