From a6de9030893753e5428ee912fe7c52fbf93febd1 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Mon, 27 Apr 2020 02:36:18 +0300 Subject: ipa: Pass IPA initialization settings to IPAInterface::init() Add a new IPASettings class to pass IPA initialization settings through the IPAInterface::init() method. The settings currently only contain the name of a configuration file, and are expected to be extended later. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo Mondi --- src/libcamera/ipa_interface.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/libcamera/ipa_interface.cpp') diff --git a/src/libcamera/ipa_interface.cpp b/src/libcamera/ipa_interface.cpp index 890d4340..616f20fb 100644 --- a/src/libcamera/ipa_interface.cpp +++ b/src/libcamera/ipa_interface.cpp @@ -92,6 +92,16 @@ * \brief The IPA context operations */ +/** + * \struct ipa_settings + * \brief IPA initialization settings for the IPA context operations + * \sa IPASettings + * + * \var ipa_settings::configuration_file + * \brief The name of the IPA configuration file (may be null or point to an + * empty string) + */ + /** * \struct ipa_stream * \brief Stream information for the IPA context operations @@ -231,6 +241,7 @@ * \var ipa_context_ops::init * \brief Initialise the IPA context * \param[in] ctx The IPA context + * \param[in] settings The IPA initialization settings * * \sa libcamera::IPAInterface::init() */ @@ -310,6 +321,24 @@ namespace libcamera { +/** + * \struct IPASettings + * \brief IPA interface initialization settings + * + * The IPASettings structure stores data passed to the IPAInterface::init() + * function. The data contains settings that don't depend on a particular camera + * or pipeline configuration and are valid for the whole life time of the IPA + * interface. + */ + +/** + * \var IPASettings::configurationFile + * \brief The name of the IPA configuration file + * + * This field may be an empty string if the IPA doesn't require a configuration + * file. + */ + /** * \struct IPAStream * \brief Stream configuration for the IPA interface @@ -424,6 +453,11 @@ namespace libcamera { /** * \fn IPAInterface::init() * \brief Initialise the IPAInterface + * \param[in] settings The IPA initialization settings + * + * This function initializes the IPA interface. It shall be called before any + * other function of the IPAInterface. The \a settings carry initialization + * parameters that are valid for the whole life time of the IPA interface. */ /** -- cgit v1.2.1