[libcamera-devel] [PATCH 1/3] ipa: rpi: agc: Fetch AWB status in process method, not prepare

Naushir Patuck naush at raspberrypi.com
Mon Aug 21 11:11:34 CEST 2023


Hi David,

Thank you for your patch.

On Fri, 28 Jul 2023 at 14:37, David Plowman via libcamera-devel
<libcamera-devel at lists.libcamera.org> wrote:
>
> prepare() doesn't use the AWB status, so fetching it in process() is
> probably better. This change is preparatory to other changes, where we
> may find ourselves calling process() without having called prepare()
> previously.
>
> Signed-off-by: David Plowman <david.plowman at raspberrypi.com>

Reviewed-by: Naushir Patuck <naush at raspberrypi.com>

> ---
>  src/ipa/rpi/controller/rpi/agc.cpp | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/ipa/rpi/controller/rpi/agc.cpp b/src/ipa/rpi/controller/rpi/agc.cpp
> index ae9ff219..e8526355 100644
> --- a/src/ipa/rpi/controller/rpi/agc.cpp
> +++ b/src/ipa/rpi/controller/rpi/agc.cpp
> @@ -424,7 +424,6 @@ void Agc::prepare(Metadata *imageMetadata)
>                 totalExposureValue = delayedStatus.totalExposureValue;
>
>         status_.digitalGain = 1.0;
> -       fetchAwbStatus(imageMetadata); /* always fetch it so that Process knows it's been done */
>
>         if (status_.totalExposureValue) {
>                 /* Process has run, so we have meaningful values. */
> @@ -461,6 +460,8 @@ void Agc::process(StatisticsPtr &stats, Metadata *imageMetadata)
>          * configuration, that kind of thing.
>          */
>         housekeepConfig();
> +       /* Fetch the AWB status immediately, so that we can assume it's there. */
> +       fetchAwbStatus(imageMetadata);
>         /* Get the current exposure values for the frame that's just arrived. */
>         fetchCurrentExposure(imageMetadata);
>         /* Compute the total gain we require relative to the current exposure. */
> --
> 2.30.2
>


More information about the libcamera-devel mailing list