[v3,18/35] ipa: libipa: lsc_base: Add sampleForCrop documentation
diff mbox series

Message ID 20260706-libipa-algorithms-v3-18-968757b038bb@ideasonboard.com
State Superseded
Headers show
Series
  • ipa: libipa: Introduce libipa algorithms
Related show

Commit Message

Jacopo Mondi July 6, 2026, 8:01 a.m. UTC
Now that we have two in-tree implementations of LscImplementation
detail how the two perform lsc gain re-sampling.

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
 src/ipa/libipa/lsc_base.cpp | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

Comments

Kieran Bingham July 6, 2026, 6:37 p.m. UTC | #1
Quoting Jacopo Mondi (2026-07-06 09:01:38)
> Now that we have two in-tree implementations of LscImplementation
> detail how the two perform lsc gain re-sampling.
> 
> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
>  src/ipa/libipa/lsc_base.cpp | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/src/ipa/libipa/lsc_base.cpp b/src/ipa/libipa/lsc_base.cpp
> index bddf131b85e2..b055249c066a 100644
> --- a/src/ipa/libipa/lsc_base.cpp
> +++ b/src/ipa/libipa/lsc_base.cpp
> @@ -103,6 +103,21 @@ void Interpolator<lsc::Components>::
>   * each segment of size 0.0625 and the list of nodes position will be
>   * [0, 0.0625, 0.125, 0.1875, ... , 1]. It is expected that the first position
>   * is 0 and the last position is 1.
> + *
> + * Lsc tables are expressed in two formats:
> + * - A list of gain values (LscTable)
> + * - A radial polynomial (LscPolynomial)
> + *
> + * Table-based lsc tables are generated using an image at a fixed resolution and
> + * can't at the moment be re-sampled when a different resolution is used for a
> + * streaming session. Re-sampling a grid lsc table will return the same table
> + * as loaded from the tuning file.
> + *
> + * \todo: Implement grid based re-sampling
> + *
> + * Polynomial are more flexible and can be re-sampled for a given sensor frame

Polynomial configurations ?

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> + * resolution using a list of horizontal and vertical nodes that define the lsc
> + * grid on which the polynomial is re-sampled on.
>   */
>  
>  } /* namespace ipa */
> 
> -- 
> 2.54.0
>

Patch
diff mbox series

diff --git a/src/ipa/libipa/lsc_base.cpp b/src/ipa/libipa/lsc_base.cpp
index bddf131b85e2..b055249c066a 100644
--- a/src/ipa/libipa/lsc_base.cpp
+++ b/src/ipa/libipa/lsc_base.cpp
@@ -103,6 +103,21 @@  void Interpolator<lsc::Components>::
  * each segment of size 0.0625 and the list of nodes position will be
  * [0, 0.0625, 0.125, 0.1875, ... , 1]. It is expected that the first position
  * is 0 and the last position is 1.
+ *
+ * Lsc tables are expressed in two formats:
+ * - A list of gain values (LscTable)
+ * - A radial polynomial (LscPolynomial)
+ *
+ * Table-based lsc tables are generated using an image at a fixed resolution and
+ * can't at the moment be re-sampled when a different resolution is used for a
+ * streaming session. Re-sampling a grid lsc table will return the same table
+ * as loaded from the tuning file.
+ *
+ * \todo: Implement grid based re-sampling
+ *
+ * Polynomial are more flexible and can be re-sampled for a given sensor frame
+ * resolution using a list of horizontal and vertical nodes that define the lsc
+ * grid on which the polynomial is re-sampled on.
  */
 
 } /* namespace ipa */