[PATCH v1 01/11] libipa: interpolator: Add accessor to internal data

Stefan Klug stefan.klug at ideasonboard.com
Thu Jan 9 12:53:52 CET 2025


The only way to access the internal data of an Interpolator is through
the getInterpolated() method. Sometimes it is necessary to to access the
internal data directly to iterate over it. Add an accessor for that.

While at it, remove a line break from the doxygen documentation for
interpolate() so that doxygen is able to correctly match the function.

Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
---
 src/ipa/libipa/interpolator.cpp | 10 ++++++++--
 src/ipa/libipa/interpolator.h   |  5 +++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/ipa/libipa/interpolator.cpp b/src/ipa/libipa/interpolator.cpp
index 73e8d3b7de14..f901a86e4c74 100644
--- a/src/ipa/libipa/interpolator.cpp
+++ b/src/ipa/libipa/interpolator.cpp
@@ -125,6 +125,13 @@ namespace ipa {
  * Overwrites the internal map using move semantics.
  */
 
+/**
+ * \fn std::map<unsigned int, T> &Interpolator<T>::data() const
+ * \brief Access the internal map
+ *
+ * \return The internal map
+ */
+
 /**
  * \fn const T& Interpolator<T>::getInterpolated()
  * \brief Retrieve an interpolated value for the given key
@@ -136,8 +143,7 @@ namespace ipa {
  */
 
 /**
- * \fn void Interpolator<T>::interpolate(const T &a, const T &b, T &dest, double
- * lambda)
+ * \fn void Interpolator<T>::interpolate(const T &a, const T &b, T &dest, double lambda)
  * \brief Interpolate between two instances of T
  * \param a The first value to interpolate
  * \param b The second value to interpolate
diff --git a/src/ipa/libipa/interpolator.h b/src/ipa/libipa/interpolator.h
index fffce21465fe..7880db6976d1 100644
--- a/src/ipa/libipa/interpolator.h
+++ b/src/ipa/libipa/interpolator.h
@@ -81,6 +81,11 @@ public:
 		lastInterpolatedKey_.reset();
 	}
 
+	const std::map<unsigned int, T> &data() const
+	{
+		return data_;
+	}
+
 	const T &getInterpolated(unsigned int key, unsigned int *quantizedKey = nullptr)
 	{
 		ASSERT(data_.size() > 0);
-- 
2.43.0



More information about the libcamera-devel mailing list