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>
This commit is contained in:
Florian Sylvestre 2022-06-17 11:23:12 +02:00 committed by Laurent Pinchart
parent d1934c6490
commit 575ca88544
2 changed files with 21 additions and 0 deletions

View file

@ -37,6 +37,19 @@ namespace ipa {
* \brief The IPA module type for this class of algorithms
*/
/**
* \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

View file

@ -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)
{