libcamera: ipa_interface: Add support for custom IPA data to configure()

Add two new parameters, ipaConfig and result, to the
IPAInterface::configure() function to allow pipeline handlers to pass
custom data to their IPA, and receive data back. Wire this through the
code base. The C API interface will be addressed separately, likely
through automation of the C <-> C++ translation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Laurent Pinchart 2020-06-28 23:28:30 +03:00
parent f1a48f96af
commit 72263c5203
13 changed files with 61 additions and 18 deletions

View file

@ -39,7 +39,9 @@ public:
void configure(const CameraSensorInfo &info,
const std::map<unsigned int, IPAStream> &streamConfig,
const std::map<unsigned int, const ControlInfoMap &> &entityControls) override;
const std::map<unsigned int, const ControlInfoMap &> &entityControls,
const IPAOperationData &ipaConfig,
IPAOperationData *response) override;
void mapBuffers(const std::vector<IPABuffer> &buffers) override;
void unmapBuffers(const std::vector<unsigned int> &ids) override;
void processEvent(const IPAOperationData &event) override;
@ -76,7 +78,9 @@ private:
*/
void IPARkISP1::configure(const CameraSensorInfo &info,
const std::map<unsigned int, IPAStream> &streamConfig,
const std::map<unsigned int, const ControlInfoMap &> &entityControls)
const std::map<unsigned int, const ControlInfoMap &> &entityControls,
const IPAOperationData &ipaConfig,
IPAOperationData *result)
{
if (entityControls.empty())
return;