[PATCH 10/15] libipa: awb: Provide read-only accessor to modes_
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Feb 24 00:03:58 CET 2025
Derived classes don't need to modify the modes_ member variable. Make
it private and provide a read-only accessor.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
src/ipa/libipa/awb.cpp | 6 +++---
src/ipa/libipa/awb.h | 6 +++++-
src/ipa/libipa/awb_bayes.cpp | 6 +++---
src/ipa/libipa/awb_bayes.h | 2 +-
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/ipa/libipa/awb.cpp b/src/ipa/libipa/awb.cpp
index 04cf2d55ed00..0f54655d3234 100644
--- a/src/ipa/libipa/awb.cpp
+++ b/src/ipa/libipa/awb.cpp
@@ -250,9 +250,9 @@ int AwbAlgorithm::parseModeConfigs(const YamlObject &tuningData,
*/
/**
- * \var AwbAlgorithm::modes_
- * \brief Map of all configured modes
- * \sa AwbAlgorithm::parseModeConfigs
+ * \fn AwbAlgorithm::modes()
+ * \brief Get the available AWB modes
+ * \return The map of available AWB modes
*/
} /* namespace ipa */
diff --git a/src/ipa/libipa/awb.h b/src/ipa/libipa/awb.h
index 36c05c37f5e9..017b7a0c3dc1 100644
--- a/src/ipa/libipa/awb.h
+++ b/src/ipa/libipa/awb.h
@@ -54,9 +54,13 @@ protected:
double ctLo;
};
- std::map<controls::AwbModeEnum, AwbAlgorithm::ModeConfig> modes_;
+ const std::map<controls::AwbModeEnum, AwbAlgorithm::ModeConfig> &modes() const
+ {
+ return modes_;
+ }
private:
+ std::map<controls::AwbModeEnum, AwbAlgorithm::ModeConfig> modes_;
ControlInfoMap::Map controls_;
};
diff --git a/src/ipa/libipa/awb_bayes.cpp b/src/ipa/libipa/awb_bayes.cpp
index 9287b884cb95..97bd256526a4 100644
--- a/src/ipa/libipa/awb_bayes.cpp
+++ b/src/ipa/libipa/awb_bayes.cpp
@@ -170,7 +170,7 @@ int AwbBayes::init(const YamlObject &tuningData)
<< "Failed to parse mode parameter from tuning file";
return ret;
}
- currentMode_ = &modes_[controls::AwbAuto];
+ currentMode_ = &modes().at(controls::AwbAuto);
transversePos_ = tuningData["transversePos"].get<double>(0.01);
transverseNeg_ = tuningData["transverseNeg"].get<double>(0.01);
@@ -256,8 +256,8 @@ void AwbBayes::handleControls(const ControlList &controls)
{
auto mode = controls.get(controls::AwbMode);
if (mode) {
- auto it = modes_.find(static_cast<controls::AwbModeEnum>(*mode));
- if (it != modes_.end())
+ auto it = modes().find(static_cast<controls::AwbModeEnum>(*mode));
+ if (it != modes().end())
currentMode_ = &it->second;
else
LOG(Awb, Error) << "Unsupported AWB mode " << *mode;
diff --git a/src/ipa/libipa/awb_bayes.h b/src/ipa/libipa/awb_bayes.h
index 23bf88061118..b74201b542fb 100644
--- a/src/ipa/libipa/awb_bayes.h
+++ b/src/ipa/libipa/awb_bayes.h
@@ -59,7 +59,7 @@ private:
double transversePos_;
double transverseNeg_;
- ModeConfig *currentMode_ = nullptr;
+ const ModeConfig *currentMode_ = nullptr;
};
} /* namespace ipa */
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list