<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 ¶ms) 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>