[4/6] ipa: rpi: Use centralised libipa helpers
diff mbox series

Message ID 20241031160741.253855-5-dan.scally@ideasonboard.com
State Superseded
Headers show
Series
  • Centralise common functions in IPA modules
Related show

Commit Message

Daniel Scally Oct. 31, 2024, 4:07 p.m. UTC
Use the centralised libipa helpers rather than open coding common
functions.

Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
---
 src/ipa/rpi/controller/rpi/agc_channel.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Jacopo Mondi Nov. 4, 2024, 11:09 a.m. UTC | #1
Hi Dan

On Thu, Oct 31, 2024 at 04:07:39PM +0000, Daniel Scally wrote:
> Use the centralised libipa helpers rather than open coding common
> functions.
>
> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>

With the ipa:: prefix dropped

Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>

Thanks
  j

> ---
>  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..0c8252a0 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/helpers.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);
>  }
> --
> 2.30.2
>

Patch
diff mbox series

diff --git a/src/ipa/rpi/controller/rpi/agc_channel.cpp b/src/ipa/rpi/controller/rpi/agc_channel.cpp
index c9df9b5b..0c8252a0 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/helpers.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);
 }