diff options
author | Florian Sylvestre <fsylvestre@baylibre.com> | 2022-06-17 11:23:12 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-06-29 17:21:04 +0300 |
commit | 575ca8854433043a1149286878bb5ef7029ba681 (patch) | |
tree | 5e61278be421f4aa98c988f98e1b4b0ab73d13d7 /src/ipa/libipa | |
parent | d1934c6490e335c273838a960657652bfe6d7546 (diff) |
ipa: libipa: algorithm: Add init() function to the Algorithm class
Add the init() function that will be called during algorithm initialization
to provide each algorithm the list of algorithms tuning data.
Signed-off-by: Florian Sylvestre <fsylvestre@baylibre.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/libipa')
-rw-r--r-- | src/ipa/libipa/algorithm.cpp | 13 | ||||
-rw-r--r-- | src/ipa/libipa/algorithm.h | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/ipa/libipa/algorithm.cpp b/src/ipa/libipa/algorithm.cpp index 1d099808..8549fe3f 100644 --- a/src/ipa/libipa/algorithm.cpp +++ b/src/ipa/libipa/algorithm.cpp @@ -38,6 +38,19 @@ namespace ipa { */ /** + * \fn Algorithm::init() + * \brief Initialize the Algorithm with tuning data + * \param[in] context The shared IPA context + * \param[in] tuningData The tuning data for the algorithm + * + * This function is called once, when the IPA module is initialized, to + * initialize the algorithm. The \a tuningData YamlObject contains the tuning + * data for algorithm. + * + * \return 0 if successful, an error code otherwise + */ + +/** * \fn Algorithm::configure() * \brief Configure the Algorithm given an IPAConfigInfo * \param[in] context The shared IPA context diff --git a/src/ipa/libipa/algorithm.h b/src/ipa/libipa/algorithm.h index cfbe4ed8..2a8871d8 100644 --- a/src/ipa/libipa/algorithm.h +++ b/src/ipa/libipa/algorithm.h @@ -11,6 +11,8 @@ namespace libcamera { +class YamlObject; + namespace ipa { template<typename _Module> @@ -21,6 +23,12 @@ public: virtual ~Algorithm() {} + virtual int init([[maybe_unused]] typename Module::Context &context, + [[maybe_unused]] const YamlObject &tuningData) + { + return 0; + } + virtual int configure([[maybe_unused]] typename Module::Context &context, [[maybe_unused]] const typename Module::Config &configInfo) { |