[PATCH] ipa: rkisp1: awb: Ignore empty AWB statistics

Dan Scally dan.scally at ideasonboard.com
Tue Apr 29 14:57:51 CEST 2025


Hi Stefan

On 29/04/2025 12:59, Stefan Klug wrote:
> When the AWB engine doesn't find a valid pixel because all pixels lie
> outside the configured colour range it returns an AWB measurement value
> of 255, 255, 255. This leaves the regulation in an unrecoverable state
> noticeable by a completely green image. Fix that by skipping the AWB
> calculation in case there were no valid pixels.
>
> Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>.


Reviewed-by: Daniel Scally <dan.scally at ideasonboard.com>

> ---
>   src/ipa/rkisp1/algorithms/awb.cpp | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/src/ipa/rkisp1/algorithms/awb.cpp b/src/ipa/rkisp1/algorithms/awb.cpp
> index eafe93081bb1..2b8b41ecccbe 100644
> --- a/src/ipa/rkisp1/algorithms/awb.cpp
> +++ b/src/ipa/rkisp1/algorithms/awb.cpp
> @@ -296,6 +296,11 @@ void Awb::process(IPAContext &context,
>   	const rkisp1_cif_isp_stat *params = &stats->params;
>   	const rkisp1_cif_isp_awb_stat *awb = &params->awb;
>   
> +	if (awb->awb_mean[0].cnt == 0) {
> +		LOG(RkISP1Awb, Warning) << "AWB statistics are empty";
> +		return;
> +	}
> +
>   	RGB<double> rgbMeans = calculateRgbMeans(frameContext, awb);
>   
>   	/*


More information about the libcamera-devel mailing list