[v3,30/35] ipa: libipa: lsc_base: Describe the function of lsc_base
diff mbox series

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

Commit Message

Jacopo Mondi July 6, 2026, 8:01 a.m. UTC
Now that the class hierarchy is in place, describe the function
of the lsc_base header in the file comment.

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

Patch
diff mbox series

diff --git a/src/ipa/libipa/lsc_base.cpp b/src/ipa/libipa/lsc_base.cpp
index 0eeb99f6881a..0c3a10d25cf8 100644
--- a/src/ipa/libipa/lsc_base.cpp
+++ b/src/ipa/libipa/lsc_base.cpp
@@ -10,6 +10,19 @@ 
 /**
  * \file lsc_base.h
  * \brief Base types and definitions for LscImplementation class hierarchy
+ *
+ * Split the common classes and types definitions to a dedicated file to avoid
+ * circular inclusions.
+ *
+ * Both LscTable and LscPolynomial inherit from LscImplementation and they are
+ * instantiated from lsc.h as the LscAlgorithm::init() function is there inlined.
+ *
+ * For this reason lsc.h needs to include lsc_table.h and lsc_polynomial.h which
+ * need the LscImplementation class definition themselves.
+ *
+ * Split the LscImplementation interface definition to this file so that it can
+ * be included by both lsc_table.h and lsc_polynomial.h, which are then included
+ * by lsc.h.
  */
 
 namespace libcamera {
@@ -88,7 +101,8 @@  void Interpolator<lsc::Components>::
  * \brief Pure virtual base class for lsc algorithm implementations
  * \tparam U The fixedpoint lsc engine register format
  *
- * Defines the interface for the lsc algorithm implementation.
+ * Defines the interface for the lsc algorithm implementation. Currently
+ * implemented by LscTable and LscPolynomial.
  */
 
 /**