[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