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

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Nov 15 13:01:00 CET 2024


Quoting Daniel Scally (2024-11-15 07:46:26)
> Use the centralised libipa helpers rather than open coding common
> functions.
> 
> Signed-off-by: Daniel Scally <dan.scally 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);

This looks fine to me - but it needs an Ack from RPi.

I think it's up to RPi whether to specify using namespace libcamera::ipa
or not too.


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

>  
>         return ySum / pixelSum / (1 << 16);
>  }
> -- 
> 2.30.2
>


More information about the libcamera-devel mailing list