Message ID | 20190605005316.4835-11-paul.elder@ideasonboard.com |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Hi Paul, Thank you for the patch. On Tue, Jun 04, 2019 at 08:53:16PM -0400, Paul Elder wrote: > Make the vimc pipeline handler get the dummy IPA, to show how an IPA can > be acquired by a pipeline handler. > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > Changes in v3: > - save IPA to VIMC pipeline data > - no IPA is non-fatal warning > > Changes in v2: > - save IPA to pipeline data > - no IPA is fatal error > > src/libcamera/pipeline/vimc.cpp | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp > index 0e4eede..ad4577a 100644 > --- a/src/libcamera/pipeline/vimc.cpp > +++ b/src/libcamera/pipeline/vimc.cpp > @@ -9,10 +9,13 @@ > #include <array> > > #include <libcamera/camera.h> > +#include <libcamera/ipa/ipa_interface.h> > +#include <libcamera/ipa/ipa_module_info.h> > #include <libcamera/request.h> > #include <libcamera/stream.h> > > #include "device_enumerator.h" > +#include "ipa_manager.h" > #include "log.h" > #include "media_device.h" > #include "pipeline_handler.h" > @@ -77,6 +80,8 @@ private: > return static_cast<VimcCameraData *>( > PipelineHandler::cameraData(camera)); > } > + > + std::unique_ptr<IPAInterface> ipa_; > }; > > VimcCameraConfiguration::VimcCameraConfiguration() > @@ -248,6 +253,12 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator) > if (!media) > return false; > > + ipa_ = IPAManager::instance()->createIPA(this, 0, 0); > + if (ipa_ == nullptr) > + LOG(VIMC, Warning) << "no matching IPA found"; > + else > + ipa_->init(); > + > std::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this); > > /* Locate and open the capture video node. */
diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp index 0e4eede..ad4577a 100644 --- a/src/libcamera/pipeline/vimc.cpp +++ b/src/libcamera/pipeline/vimc.cpp @@ -9,10 +9,13 @@ #include <array> #include <libcamera/camera.h> +#include <libcamera/ipa/ipa_interface.h> +#include <libcamera/ipa/ipa_module_info.h> #include <libcamera/request.h> #include <libcamera/stream.h> #include "device_enumerator.h" +#include "ipa_manager.h" #include "log.h" #include "media_device.h" #include "pipeline_handler.h" @@ -77,6 +80,8 @@ private: return static_cast<VimcCameraData *>( PipelineHandler::cameraData(camera)); } + + std::unique_ptr<IPAInterface> ipa_; }; VimcCameraConfiguration::VimcCameraConfiguration() @@ -248,6 +253,12 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator) if (!media) return false; + ipa_ = IPAManager::instance()->createIPA(this, 0, 0); + if (ipa_ == nullptr) + LOG(VIMC, Warning) << "no matching IPA found"; + else + ipa_->init(); + std::unique_ptr<VimcCameraData> data = utils::make_unique<VimcCameraData>(this); /* Locate and open the capture video node. */
Make the vimc pipeline handler get the dummy IPA, to show how an IPA can be acquired by a pipeline handler. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> --- Changes in v3: - save IPA to VIMC pipeline data - no IPA is non-fatal warning Changes in v2: - save IPA to pipeline data - no IPA is fatal error src/libcamera/pipeline/vimc.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+)