[libcamera-devel] [PATCH 19/22] ipa: ipu3: awb: Add support for color temperature

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Nov 8 15:28:48 CET 2021


Quoting Jean-Michel Hautbois (2021-11-08 13:13:47)
> The AWB estimates the color temperature, but it is not used at all. It
> can be useful for debug purpose at least, but also for lux estimation
> later, to be able to know the temperature estimated for a given frame.
> 
> Add a new member to the IPAFrameContext::awb for this purpose, and
> update the value in AWB.
> 
> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
> ---
>  src/ipa/ipu3/algorithms/awb.cpp | 1 +
>  src/ipa/ipu3/ipa_context.cpp    | 3 +++
>  src/ipa/ipu3/ipa_context.h      | 2 ++
>  3 files changed, 6 insertions(+)
> 
> diff --git a/src/ipa/ipu3/algorithms/awb.cpp b/src/ipa/ipu3/algorithms/awb.cpp
> index bd55d377..a3a5ac66 100644
> --- a/src/ipa/ipu3/algorithms/awb.cpp
> +++ b/src/ipa/ipu3/algorithms/awb.cpp
> @@ -385,6 +385,7 @@ void Awb::process(IPAContext &context, const ipu3_uapi_stats_3a *stats)
>         context.frameContext->awb.gains.blue = asyncResults_.blueGain;
>         context.frameContext->awb.gains.green = asyncResults_.greenGain;
>         context.frameContext->awb.gains.red = asyncResults_.redGain;
> +       context.frameContext->awb.temperatureK = asyncResults_.temperatureK;
>  }
>  
>  constexpr uint16_t Awb::threshold(float value)
> diff --git a/src/ipa/ipu3/ipa_context.cpp b/src/ipa/ipu3/ipa_context.cpp
> index ea92be77..9c0407df 100644
> --- a/src/ipa/ipu3/ipa_context.cpp
> +++ b/src/ipa/ipu3/ipa_context.cpp
> @@ -117,6 +117,9 @@ namespace libcamera::ipa::ipu3 {
>   *
>   * \var IPAFrameContext::awb.gains.blue
>   * \brief White balance gain for B channel
> + *
> + * \var IPAFrameContext::awb.temperatureK
> + * \brief Color temperature estimated

I'd write this as:

 \brief Estimated color temperature

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

>   */
>  
>  /**
> diff --git a/src/ipa/ipu3/ipa_context.h b/src/ipa/ipu3/ipa_context.h
> index 69780915..3566dea1 100644
> --- a/src/ipa/ipu3/ipa_context.h
> +++ b/src/ipa/ipu3/ipa_context.h
> @@ -45,6 +45,8 @@ struct IPAFrameContext {
>                         double green;
>                         double blue;
>                 } gains;
> +
> +               double temperatureK;
>         } awb;
>  
>         struct {
> -- 
> 2.32.0
>


More information about the libcamera-devel mailing list