summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/rpi/agc.h
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2023-03-27 13:20:28 +0100
committerKieran Bingham <kieran.bingham@ideasonboard.com>2023-03-31 13:29:18 +0100
commite51a9f7b94f29390514052096ef4a2f44b67fa56 (patch)
treeb7e585bbab3c2ee33117e0470611a70fae18c637 /src/ipa/raspberrypi/controller/rpi/agc.h
parente145decf36fe3d07a76ff702f5132fd87e9b574d (diff)
ipa: raspberrypi: Generalise the agc algorithm
Remove any hard-coded assumptions about the target hardware platform from the AGC algorithm. Instead, use the "target" string provided by the camera tuning config and generalised statistics structures to determing parameters such as grid and region sizes. This change replaces all hard-coded arrays with equivalent std::vector types. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/ipa/raspberrypi/controller/rpi/agc.h')
-rw-r--r--src/ipa/raspberrypi/controller/rpi/agc.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/ipa/raspberrypi/controller/rpi/agc.h b/src/ipa/raspberrypi/controller/rpi/agc.h
index 4fa9b8de..4e5f272f 100644
--- a/src/ipa/raspberrypi/controller/rpi/agc.h
+++ b/src/ipa/raspberrypi/controller/rpi/agc.h
@@ -17,17 +17,10 @@
/* This is our implementation of AGC. */
-/*
- * This is the number actually set up by the firmware, not the maximum possible
- * number (which is 16).
- */
-
-constexpr unsigned int AgcStatsSize = 15;
-
namespace RPiController {
struct AgcMeteringMode {
- double weights[AgcStatsSize];
+ std::vector<double> weights;
int read(const libcamera::YamlObject &params);
};