libcamera: ipa: Add support for CameraSensorInfo
Add support for camera sensor information in the libcamera IPA protocol. Define a new 'struct ipa_sensor_info' structure in the IPA context and use it to perform translation between the C and the C++ API. Update the IPAInterface::configure() operation to accept a new CameraSensorInfo parameter and port all users of that function to the new interface. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
ee4bb92aae
commit
fd554f9dba
12 changed files with 188 additions and 16 deletions
|
@ -36,7 +36,8 @@ public:
|
|||
int start() override { return 0; }
|
||||
void stop() override {}
|
||||
|
||||
void configure(const std::map<unsigned int, IPAStream> &streamConfig,
|
||||
void configure(const CameraSensorInfo &info,
|
||||
const std::map<unsigned int, IPAStream> &streamConfig,
|
||||
const std::map<unsigned int, const ControlInfoMap &> &entityControls) override;
|
||||
void mapBuffers(const std::vector<IPABuffer> &buffers) override;
|
||||
void unmapBuffers(const std::vector<unsigned int> &ids) override;
|
||||
|
@ -66,7 +67,14 @@ private:
|
|||
uint32_t maxGain_;
|
||||
};
|
||||
|
||||
void IPARkISP1::configure(const std::map<unsigned int, IPAStream> &streamConfig,
|
||||
/**
|
||||
* \todo The RkISP1 pipeline currently provides an empty CameraSensorInfo
|
||||
* if the connected sensor does not provide enough information to properly
|
||||
* assemble one. Make sure the reported sensor information are relevant
|
||||
* before accessing them.
|
||||
*/
|
||||
void IPARkISP1::configure(const CameraSensorInfo &info,
|
||||
const std::map<unsigned int, IPAStream> &streamConfig,
|
||||
const std::map<unsigned int, const ControlInfoMap &> &entityControls)
|
||||
{
|
||||
if (entityControls.empty())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue