[libcamera-devel] [PATCH] ipa: rpi: Fix the reporting of Focus FoMs
David Plowman
david.plowman at raspberrypi.com
Thu Jul 20 14:48:23 CEST 2023
The FocusFom metadata was no longer being reported back because the
"focus.status" metadata was never being created.
Additionally, the scaling of the focus FoMs was over-zealous, rounding
just about everything down to zero.
Fixes: ac7511dc4c59 ("ipa: raspberrypi: Generalise the focus reporting code")
Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
---
src/ipa/rpi/common/ipa_base.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp
index f40f2e71..2a033264 100644
--- a/src/ipa/rpi/common/ipa_base.cpp
+++ b/src/ipa/rpi/common/ipa_base.cpp
@@ -458,6 +458,9 @@ void IpaBase::processStats(const ProcessParams ¶ms)
RPiController::StatisticsPtr statistics = platformProcessStats(it->second.planes()[0]);
+ /* reportMetadata() will pick this up and set the FocusFoM metadata */
+ rpiMetadata.set("focus.status", statistics->focusRegions);
+
helper_->process(statistics, rpiMetadata);
controller_.process(statistics, &rpiMetadata);
@@ -1197,7 +1200,7 @@ void IpaBase::reportMetadata(unsigned int ipaContext)
}
}
- uint32_t focusFoM = (sum / numRegions) >> 16;
+ uint32_t focusFoM = sum / numRegions;
libcameraMetadata_.set(controls::FocusFoM, focusFoM);
}
--
2.30.2
More information about the libcamera-devel
mailing list