libcamera: ipa_manager: Return an IPAProxy from createIPA()
In order to provide pipeline handlers with IPA-related helpers on top of IPAInterface, return the IPAProxy instance from IPAManager::createIPA(). No change is required in the pipeline handlers as the IPAInterface that was previously returned is implemented by an IPAProxy instance already. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
@@ -24,9 +24,9 @@ class IPAManager
|
||||
public:
|
||||
static IPAManager *instance();
|
||||
|
||||
std::unique_ptr<IPAInterface> createIPA(PipelineHandler *pipe,
|
||||
uint32_t maxVersion,
|
||||
uint32_t minVersion);
|
||||
std::unique_ptr<IPAProxy> createIPA(PipelineHandler *pipe,
|
||||
uint32_t maxVersion,
|
||||
uint32_t minVersion);
|
||||
|
||||
private:
|
||||
std::vector<IPAModule *> modules_;
|
||||
|
||||
@@ -15,11 +15,12 @@
|
||||
#include <sys/types.h>
|
||||
#include <vector>
|
||||
|
||||
#include <ipa/ipa_interface.h>
|
||||
#include <libcamera/controls.h>
|
||||
#include <libcamera/object.h>
|
||||
#include <libcamera/stream.h>
|
||||
|
||||
#include "ipa_proxy.h"
|
||||
|
||||
namespace libcamera {
|
||||
|
||||
class Camera;
|
||||
@@ -46,7 +47,7 @@ public:
|
||||
std::list<Request *> queuedRequests_;
|
||||
ControlInfoMap controlInfo_;
|
||||
ControlList properties_;
|
||||
std::unique_ptr<IPAInterface> ipa_;
|
||||
std::unique_ptr<IPAProxy> ipa_;
|
||||
|
||||
private:
|
||||
CameraData(const CameraData &) = delete;
|
||||
|
||||
@@ -247,17 +247,17 @@ unsigned int IPAManager::addDir(const char *libDir, unsigned int maxDepth)
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Create an IPA interface that matches a given pipeline handler
|
||||
* \param[in] pipe The pipeline handler that wants a matching IPA interface
|
||||
* \brief Create an IPA proxy that matches a given pipeline handler
|
||||
* \param[in] pipe The pipeline handler that wants a matching IPA proxy
|
||||
* \param[in] minVersion Minimum acceptable version of IPA module
|
||||
* \param[in] maxVersion Maximum acceptable version of IPA module
|
||||
*
|
||||
* \return A newly created IPA interface, or nullptr if no matching
|
||||
* IPA module is found or if the IPA interface fails to initialize
|
||||
* \return A newly created IPA proxy, or nullptr if no matching IPA module is
|
||||
* found or if the IPA proxy fails to initialize
|
||||
*/
|
||||
std::unique_ptr<IPAInterface> IPAManager::createIPA(PipelineHandler *pipe,
|
||||
uint32_t maxVersion,
|
||||
uint32_t minVersion)
|
||||
std::unique_ptr<IPAProxy> IPAManager::createIPA(PipelineHandler *pipe,
|
||||
uint32_t maxVersion,
|
||||
uint32_t minVersion)
|
||||
{
|
||||
IPAModule *m = nullptr;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user