<div dir="ltr"><div dir="ltr">Hi David,<div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 16 Nov 2020 at 16:49, David Plowman <<a href="mailto:david.plowman@raspberrypi.com">david.plowman@raspberrypi.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The Awb class now implements a SwitchMode method which outputs its<br>
AwbStatus for other algorithms to read, should they be interested.<br>
<br>
Signed-off-by: David Plowman <<a href="mailto:david.plowman@raspberrypi.com" target="_blank">david.plowman@raspberrypi.com</a>><br></blockquote><div><br></div><div>Reviewed-by: Naushir Patuck <<a href="mailto:naush@raspberrypi.com">naush@raspberrypi.com</a>></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
---<br>
 src/ipa/raspberrypi/controller/rpi/awb.cpp | 14 ++++++++++++++<br>
 src/ipa/raspberrypi/controller/rpi/awb.hpp |  1 +<br>
 2 files changed, 15 insertions(+)<br>
<br>
diff --git a/src/ipa/raspberrypi/controller/rpi/awb.cpp b/src/ipa/raspberrypi/controller/rpi/awb.cpp<br>
index 469d0e53..020825e3 100644<br>
--- a/src/ipa/raspberrypi/controller/rpi/awb.cpp<br>
+++ b/src/ipa/raspberrypi/controller/rpi/awb.cpp<br>
@@ -179,6 +179,20 @@ void Awb::SetManualGains(double manual_r, double manual_b)<br>
        manual_b_ = manual_b;<br>
 }<br>
<br>
+void Awb::SwitchMode([[maybe_unused]] CameraMode const &camera_mode,<br>
+                    Metadata *metadata)<br>
+{<br>
+       // If fixed colour gains have been set, we should let other algorithms<br>
+       // know by writing it into the image metadata.<br>
+       if (manual_r_ != 0.0 && manual_b_ != 0.0) {<br>
+               prev_sync_results_.gain_r = manual_r_;<br>
+               prev_sync_results_.gain_g = 1.0;<br>
+               prev_sync_results_.gain_b = manual_b_;<br>
+               sync_results_ = prev_sync_results_;<br>
+       }<br>
+       metadata->Set("awb.status", prev_sync_results_);<br>
+}<br>
+<br>
 void Awb::fetchAsyncResults()<br>
 {<br>
        RPI_LOG("Fetch AWB results");<br>
diff --git a/src/ipa/raspberrypi/controller/rpi/awb.hpp b/src/ipa/raspberrypi/controller/rpi/awb.hpp<br>
index 9124d042..545d85a8 100644<br>
--- a/src/ipa/raspberrypi/controller/rpi/awb.hpp<br>
+++ b/src/ipa/raspberrypi/controller/rpi/awb.hpp<br>
@@ -84,6 +84,7 @@ public:<br>
        void Read(boost::property_tree::ptree const &params) override;<br>
        void SetMode(std::string const &name) override;<br>
        void SetManualGains(double manual_r, double manual_b) override;<br>
+       void SwitchMode(CameraMode const &camera_mode, Metadata *metadata) override;<br>
        void Prepare(Metadata *image_metadata) override;<br>
        void Process(StatisticsPtr &stats, Metadata *image_metadata) override;<br>
        struct RGB {<br>
-- <br>
2.20.1<br>
<br>
_______________________________________________<br>
libcamera-devel mailing list<br>
<a href="mailto:libcamera-devel@lists.libcamera.org" target="_blank">libcamera-devel@lists.libcamera.org</a><br>
<a href="https://lists.libcamera.org/listinfo/libcamera-devel" rel="noreferrer" target="_blank">https://lists.libcamera.org/listinfo/libcamera-devel</a><br>
</blockquote></div></div>