[libcamera-devel] [PATCH v4 7/9] ipa: rkisp1: Add enable field for AWB algorithm in IPA context

paul.elder at ideasonboard.com paul.elder at ideasonboard.com
Thu Aug 18 15:16:12 CEST 2022


Hi Laurent,

On Tue, Aug 16, 2022 at 04:54:12AM +0300, Laurent Pinchart via libcamera-devel wrote:
> From: Florian Sylvestre <fsylvestre at baylibre.com>
> 
> Add an enable variable in the awb struct in IPASessionConfiguration which
> indicates if the awb algorithm has been configured. This will allow other
> algorithms to retrieve this information.
> 
> Signed-off-by: Florian Sylvestre <fsylvestre at baylibre.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
> ---
>  src/ipa/rkisp1/algorithms/awb.cpp | 2 ++
>  src/ipa/rkisp1/ipa_context.cpp    | 3 +++
>  src/ipa/rkisp1/ipa_context.h      | 1 +
>  3 files changed, 6 insertions(+)
> 
> diff --git a/src/ipa/rkisp1/algorithms/awb.cpp b/src/ipa/rkisp1/algorithms/awb.cpp
> index 9f00364d12b1..d1328f011081 100644
> --- a/src/ipa/rkisp1/algorithms/awb.cpp
> +++ b/src/ipa/rkisp1/algorithms/awb.cpp
> @@ -48,6 +48,8 @@ int Awb::configure(IPAContext &context,
>  	context.configuration.awb.measureWindow.h_size = 3 * configInfo.outputSize.width / 4;
>  	context.configuration.awb.measureWindow.v_size = 3 * configInfo.outputSize.height / 4;
>  
> +	context.configuration.awb.enabled = true;
> +
>  	return 0;
>  }
>  
> diff --git a/src/ipa/rkisp1/ipa_context.cpp b/src/ipa/rkisp1/ipa_context.cpp
> index ef8bb8e931c8..23a63f8c6e25 100644
> --- a/src/ipa/rkisp1/ipa_context.cpp
> +++ b/src/ipa/rkisp1/ipa_context.cpp
> @@ -87,6 +87,9 @@ namespace libcamera::ipa::rkisp1 {
>   *
>   * \var IPASessionConfiguration::awb.measureWindow
>   * \brief AWB measure window
> + *
> + * \var IPASessionConfiguration::awb.enabled
> + * \brief Indicates if the AWB hardware is enabled to apply colour gains

Ah, so this is the enable variable that you were talking about :)

>From what I understand, this variable holds whether or not the awb
algorithm has been configured? So once Awb::configure() completes
successfully then this is set to (and stays) true?

If that's the case, I think the description could use an upgrade, as
the variable doesn't signify that *only* the hardware is enabled for awb
(actually what I parse from the the current docstring is that it's
enabled to apply /manual/ color gains).

Or maybe the docstirng is correct and I'm not parsing it correctly,
which also means that it could use an upgrade :p


Paul

>   */
>  
>  /**
> diff --git a/src/ipa/rkisp1/ipa_context.h b/src/ipa/rkisp1/ipa_context.h
> index 2bdb6a81d7c9..7f7b3e4d88fa 100644
> --- a/src/ipa/rkisp1/ipa_context.h
> +++ b/src/ipa/rkisp1/ipa_context.h
> @@ -29,6 +29,7 @@ struct IPASessionConfiguration {
>  
>  	struct {
>  		struct rkisp1_cif_isp_window measureWindow;
> +		bool enabled;
>  	} awb;
>  
>  	struct {


More information about the libcamera-devel mailing list