[libcamera-devel] [PATCH 1/3] ipa: rpi: agc: Fetch AWB status in process method, not prepare
David Plowman
david.plowman at raspberrypi.com
Fri Jul 28 15:36:58 CEST 2023
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>
---
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