[libcamera-devel] [PATCH 06/10] libcamera: ipa: raspberrypi: awb: Add SwitchMode method to output AWB status
Naushir Patuck
naush at raspberrypi.com
Tue Nov 17 11:47:47 CET 2020
Hi David,
On Mon, 16 Nov 2020 at 16:49, David Plowman <david.plowman at raspberrypi.com>
wrote:
> The Awb class now implements a SwitchMode method which outputs its
> AwbStatus for other algorithms to read, should they be interested.
>
> Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
>
Reviewed-by: Naushir Patuck <naush at raspberrypi.com>
> ---
> src/ipa/raspberrypi/controller/rpi/awb.cpp | 14 ++++++++++++++
> src/ipa/raspberrypi/controller/rpi/awb.hpp | 1 +
> 2 files changed, 15 insertions(+)
>
> diff --git a/src/ipa/raspberrypi/controller/rpi/awb.cpp
> b/src/ipa/raspberrypi/controller/rpi/awb.cpp
> index 469d0e53..020825e3 100644
> --- a/src/ipa/raspberrypi/controller/rpi/awb.cpp
> +++ b/src/ipa/raspberrypi/controller/rpi/awb.cpp
> @@ -179,6 +179,20 @@ void Awb::SetManualGains(double manual_r, double
> manual_b)
> manual_b_ = manual_b;
> }
>
> +void Awb::SwitchMode([[maybe_unused]] CameraMode const &camera_mode,
> + Metadata *metadata)
> +{
> + // If fixed colour gains have been set, we should let other
> algorithms
> + // know by writing it into the image metadata.
> + if (manual_r_ != 0.0 && manual_b_ != 0.0) {
> + prev_sync_results_.gain_r = manual_r_;
> + prev_sync_results_.gain_g = 1.0;
> + prev_sync_results_.gain_b = manual_b_;
> + sync_results_ = prev_sync_results_;
> + }
> + metadata->Set("awb.status", prev_sync_results_);
> +}
> +
> void Awb::fetchAsyncResults()
> {
> RPI_LOG("Fetch AWB results");
> diff --git a/src/ipa/raspberrypi/controller/rpi/awb.hpp
> b/src/ipa/raspberrypi/controller/rpi/awb.hpp
> index 9124d042..545d85a8 100644
> --- a/src/ipa/raspberrypi/controller/rpi/awb.hpp
> +++ b/src/ipa/raspberrypi/controller/rpi/awb.hpp
> @@ -84,6 +84,7 @@ public:
> void Read(boost::property_tree::ptree const ¶ms) override;
> void SetMode(std::string const &name) override;
> void SetManualGains(double manual_r, double manual_b) override;
> + void SwitchMode(CameraMode const &camera_mode, Metadata *metadata)
> override;
> void Prepare(Metadata *image_metadata) override;
> void Process(StatisticsPtr &stats, Metadata *image_metadata)
> override;
> struct RGB {
> --
> 2.20.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20201117/e5d9e7aa/attachment.htm>
More information about the libcamera-devel
mailing list