[PATCH v3 4/6] ipa: rpi: Use centralised libipa helpers

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Nov 18 01:54:22 CET 2024


Hi Dabn

Thank you for the patch.

On Fri, Nov 15, 2024 at 07:46:26AM +0000, Daniel Scally wrote:
> Use the centralised libipa helpers rather than open coding common
> functions.
> 
> Signed-off-by: Daniel Scally <dan.scally at ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
> Changes in v3:
> 
> 	- None
> 
> Changes in v2:
> 
> 	- None. Jacopo; this isn't in the libcamera::ipa namespace. As an
> 	  alternative to the prefix I could "using namespace libcamera::ipa" if
> 	  that's better?
> 
>  src/ipa/rpi/controller/rpi/agc_channel.cpp | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/src/ipa/rpi/controller/rpi/agc_channel.cpp b/src/ipa/rpi/controller/rpi/agc_channel.cpp
> index c9df9b5b..8583f4f3 100644
> --- a/src/ipa/rpi/controller/rpi/agc_channel.cpp
> +++ b/src/ipa/rpi/controller/rpi/agc_channel.cpp
> @@ -12,6 +12,8 @@
>  
>  #include <libcamera/base/log.h>
>  
> +#include "libipa/colours.h"
> +
>  #include "../awb_status.h"
>  #include "../device_status.h"
>  #include "../histogram.h"
> @@ -694,11 +696,11 @@ static double computeInitialY(StatisticsPtr &stats, AwbStatus const &awb,
>  	double ySum;
>  	/* Factor in the AWB correction if needed. */
>  	if (stats->agcStatsPos == Statistics::AgcStatsPos::PreWb) {
> -		ySum = rSum * awb.gainR * .299 +
> -		       gSum * awb.gainG * .587 +
> -		       bSum * awb.gainB * .114;
> +		ySum = ipa::rec601LuminanceFromRGB(rSum * awb.gainR,
> +						   gSum * awb.gainG,
> +						   bSum * awb.gainB);
>  	} else
> -		ySum = rSum * .299 + gSum * .587 + bSum * .114;
> +		ySum = ipa::rec601LuminanceFromRGB(rSum, gSum, bSum);
>  
>  	return ySum / pixelSum / (1 << 16);
>  }

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list