libcamera
v0.3.1+12-19bbca3c
Supporting cameras in Linux since 2019
|
C++ Interface for IPA implementation. More...
C++ Interface for IPA implementation.
This pure virtual class defines a skeletal C++ API for IPA modules. Specializations of this class must be defined in a mojom file in include/libcamera/ipa/ (see the IPA Writers Guide for details on how to do so).
Due to process isolation all arguments to the IPAInterface member functions and signals may need to be transferred over IPC. The class thus uses serializable data types only. The IPA C++ interface defines custom data structures that mirror core libcamera structures when the latter are not suitable, such as IPAStream to carry StreamConfiguration data.
Custom data structures may also be defined in the mojom file, in which case the (de)serialization will automatically be generated. If any other libcamera structures are to be used as parameters, then a (de)serializer for them must be implemented in IPADataSerializer.
The pipeline handlers shall use the IPAManager to locate a compatible IPAInterface. The interface may then be used to interact with the IPA module.