From ac7511dc4c594f567ddff27ccc02c30bf6c00bfd Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Mon, 27 Mar 2023 13:20:30 +0100 Subject: ipa: raspberrypi: Generalise the focus reporting code Use the generalised focus statistics structure to compute the centre window focus FoM value. This avoids needed to hard-code a specific grid size. Remove the focus reporting algorithm as the functionality is duplicated by this bit of IPA code. Remove focus_status.h as it is no longer needed. Signed-off-by: Naushir Patuck Reviewed-by: Jacopo Mondi Reviewed-by: David Plowman Signed-off-by: Kieran Bingham --- src/ipa/raspberrypi/controller/rpi/focus.cpp | 49 ---------------------------- 1 file changed, 49 deletions(-) delete mode 100644 src/ipa/raspberrypi/controller/rpi/focus.cpp (limited to 'src/ipa/raspberrypi/controller/rpi/focus.cpp') diff --git a/src/ipa/raspberrypi/controller/rpi/focus.cpp b/src/ipa/raspberrypi/controller/rpi/focus.cpp deleted file mode 100644 index ea3cc00e..00000000 --- a/src/ipa/raspberrypi/controller/rpi/focus.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* SPDX-License-Identifier: BSD-2-Clause */ -/* - * Copyright (C) 2020, Raspberry Pi Ltd - * - * focus.cpp - focus algorithm - */ -#include - -#include - -#include "../focus_status.h" -#include "focus.h" - -using namespace RPiController; -using namespace libcamera; - -LOG_DEFINE_CATEGORY(RPiFocus) - -#define NAME "rpi.focus" - -Focus::Focus(Controller *controller) - : Algorithm(controller) -{ -} - -char const *Focus::name() const -{ - return NAME; -} - -void Focus::process(StatisticsPtr &stats, Metadata *imageMetadata) -{ - FocusStatus status; - for (unsigned int i = 0; i < stats->focusRegions.numRegions(); i++) - status.focusMeasures[i] = stats->focusRegions.get(i).val; - status.num = stats->focusRegions.numRegions(); - imageMetadata->set("focus.status", status); - - LOG(RPiFocus, Debug) - << "Focus contrast measure: " - << (status.focusMeasures[5] + status.focusMeasures[6]) / 10; -} - -/* Register algorithm with the system. */ -static Algorithm *create(Controller *controller) -{ - return new Focus(controller); -} -static RegisterAlgorithm reg(NAME, &create); -- cgit v1.2.1