[v7,19/32] ipa: libipa: lsc_base: Add sampleForCrop documentation
diff mbox series

Message ID 20260805-libipa-algorithms-v7-19-7425b5b795d4@ideasonboard.com
State New
Headers show
Series
  • ipa: libipa: Introduce libipa algorithms
Related show

Commit Message

Jacopo Mondi Aug. 5, 2026, 4:13 p.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 Aug. 5, 2026, 5:05 p.m. UTC | #1
Quoting Jacopo Mondi (2026-08-05 17:13:01)
> 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>

Reviewed-by: Kieran Bingham <kieran.bingham@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 b50460394925..1015cdc7cf4c 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 configurations 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 */
> 
> -- 
> 2.54.0
>

Patch
diff mbox series

diff --git a/src/ipa/libipa/lsc_base.cpp b/src/ipa/libipa/lsc_base.cpp
index b50460394925..1015cdc7cf4c 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 configurations 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 */