diff options
author | Stefan Klug <stefan.klug@ideasonboard.com> | 2025-01-23 12:40:54 +0100 |
---|---|---|
committer | Stefan Klug <stefan.klug@ideasonboard.com> | 2025-02-21 17:35:03 +0100 |
commit | d19ae2a228f3ad9ba792f905de09d5f4a71a9c20 (patch) | |
tree | 8a5791f23a12a2fedfe99bfa265b9d2804e55e6a /src/ipa/libipa/awb.h | |
parent | 6f663990a0f73f6b1e058470bc3129a21b252f17 (diff) |
libipa: awb: Add helper functions for AWB mode support
The AWB modes are specified in the libcamera core controls. It is
therefore quite likely that every AWB algorithm will implement them. Add
helper functions for parsing and storing the configured modes in the
AwbAlgorithm base class.
Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Diffstat (limited to 'src/ipa/libipa/awb.h')
-rw-r--r-- | src/ipa/libipa/awb.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ipa/libipa/awb.h b/src/ipa/libipa/awb.h index 95be01b0..4a1b012a 100644 --- a/src/ipa/libipa/awb.h +++ b/src/ipa/libipa/awb.h @@ -7,7 +7,11 @@ #pragma once +#include <map> + +#include <libcamera/control_ids.h> #include <libcamera/controls.h> + #include "libcamera/internal/vector.h" #include "libcamera/internal/yaml_parser.h" @@ -42,7 +46,16 @@ public: virtual void handleControls([[maybe_unused]] const ControlList &controls) {} protected: + int parseModeConfigs(const YamlObject &tuningData, + const ControlValue &def = {}); + + struct ModeConfig { + double ctHi; + double ctLo; + }; + ControlInfoMap::Map controls_; + std::map<controls::AwbModeEnum, AwbAlgorithm::ModeConfig> modes_; }; } /* namespace ipa */ |