[PATCH v1 01/11] libipa: interpolator: Add accessor to internal data
Dan Scally
dan.scally at ideasonboard.com
Wed Jan 15 23:46:14 CET 2025
Hi Stefan
On 09/01/2025 11:53, Stefan Klug wrote:
> 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>
Reviewed-by: Daniel Scally <dan.scally 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);
More information about the libcamera-devel
mailing list