summaryrefslogtreecommitdiff
path: root/src/ipa/rpi/controller/agc_algorithm.h
diff options
context:
space:
mode:
authorDavid Plowman <david.plowman@raspberrypi.com>2023-05-03 13:20:32 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-05-04 20:58:57 +0300
commit503bebd0ed80886569629e7ce11d40fa28721c84 (patch)
tree13bcbca170fc99d8007664a9d37a19dfb64d4951 /src/ipa/rpi/controller/agc_algorithm.h
parentd903fdbe313a908b9e67024e897323eeca657fb5 (diff)
ipa: raspberrypi: agc: Move weights out of AGC
The region weights for the the AGC zones are handled by the AGC algorithm. Apply them directly in the IPA (vc4.cpp) to the statistics that we pass to the AGC. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/rpi/controller/agc_algorithm.h')
-rw-r--r--src/ipa/rpi/controller/agc_algorithm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ipa/rpi/controller/agc_algorithm.h b/src/ipa/rpi/controller/agc_algorithm.h
index 36e6c110..b6949daa 100644
--- a/src/ipa/rpi/controller/agc_algorithm.h
+++ b/src/ipa/rpi/controller/agc_algorithm.h
@@ -6,6 +6,8 @@
*/
#pragma once
+#include <vector>
+
#include <libcamera/base/utils.h>
#include "algorithm.h"
@@ -18,6 +20,7 @@ public:
AgcAlgorithm(Controller *controller) : Algorithm(controller) {}
/* An AGC algorithm must provide the following: */
virtual unsigned int getConvergenceFrames() const = 0;
+ virtual std::vector<double> const &getWeights() const = 0;
virtual void setEv(double ev) = 0;
virtual void setFlickerPeriod(libcamera::utils::Duration flickerPeriod) = 0;
virtual void setFixedShutter(libcamera::utils::Duration fixedShutter) = 0;