From baab00721cc577bcfb0d95e810202c57f35055b0 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Thu, 20 Jul 2023 13:48:23 +0100 Subject: ipa: rpi: Fix the reporting of Focus FoMs 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 Reviewed-by: Naushir Patuck Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- src/ipa/rpi/common/ipa_base.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/ipa/rpi') diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp index 4438ecd9..b11f10fd 100644 --- a/src/ipa/rpi/common/ipa_base.cpp +++ b/src/ipa/rpi/common/ipa_base.cpp @@ -462,6 +462,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); @@ -1259,7 +1262,7 @@ void IpaBase::reportMetadata(unsigned int ipaContext) } } - uint32_t focusFoM = (sum / numRegions) >> 16; + uint32_t focusFoM = sum / numRegions; libcameraMetadata_.set(controls::FocusFoM, focusFoM); } -- cgit v1.2.1