NVIDIA DRIVE OS Linux API Reference

5.1.6.1 Release
For Test and Development only

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
NvSIPLCamera.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA CORPORATION and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA CORPORATION is strictly prohibited.
9  */
10 #ifndef _NVSIPLCAMERA_HPP_
11 #define _NVSIPLCAMERA_HPP_
12 
13 #include "NvSIPLCommon.hpp"
14 #include "NvSIPLPlatformCfg.hpp"
15 #include "NvSIPLPipelineMgr.hpp"
16 
17 #include <memory>
18 
33 namespace nvsipl
34 {
35 
45 {
46  public:
53  static std::unique_ptr<INvSIPLCamera> GetInstance(void);
54 
66  virtual SIPLStatus SetPlatformCfg(const PlatformCfg* platformCfg) = 0;
67 
72  virtual const PlatformCfg* GetPlatformCfg(void) const = 0;
73 
81  virtual SIPLStatus SetNotifier(std::uint32_t uIndex, NvSIPLPipelineNotifier* pNotifier) = 0;
82 
83 
96  virtual SIPLStatus SetImageGroupWriterCallback(std::uint32_t uIndex, NvSIPLImageGroupWriter* pImageGroupWriter) = 0;
97 
104  virtual SIPLStatus SetOutputDesc(std::vector<INvSIPLClient::ConsumerDesc> vDescs) = 0;
105 
117  virtual SIPLStatus SetImagePoolAttributes(std::uint32_t index,
119  uint32_t numOfImages,
120  const NvSIPLImageAttr &imageAttr) = 0;
121 
131  virtual SIPLStatus Init(void) = 0;
132 
145  virtual INvSIPLClient::ClientDesc* GetClientDesc(std::uint32_t index,
147 
156  virtual SIPLStatus Start(void) = 0;
157 
166  virtual SIPLStatus Stop(void) = 0;
167 
178  virtual SIPLStatus Deinit(void) = 0;
179 
181  virtual ~INvSIPLCamera(void) = default;
182 
183  // TODO: Add APIs to get deviceblock errors and handle recovery.
184 
185 }; // INvSIPLCamera
186 
188 } // namespace nvsipl
189 
190 
191 
192 #endif //_NVSIPLCAMERA_HPP_
NVIDIA Sensor Input Processing Library: Camera Platform Configuration
virtual SIPLStatus Deinit(void)=0
De-initializes NvSIPL Camera (libnvsipl.so) for the selected platform configuration.
virtual SIPLStatus SetNotifier(std::uint32_t uIndex, NvSIPLPipelineNotifier *pNotifier)=0
Sets a handler for events from an image processing pipeline.
virtual SIPLStatus Init(void)=0
Initializes NvSIPL Camera (libnvsipl.so) for the selected platform configuration. ...
Describes attributes of images used in image processing pipeline.
virtual const PlatformCfg * GetPlatformCfg(void) const =0
Gets the camera platform configuration set by SetPlatformCfg.
NVIDIA Sensor Input Processing Library: Common Data Structures - Sensor Input Processing Library (SI...
virtual SIPLStatus SetOutputDesc(std::vector< INvSIPLClient::ConsumerDesc > vDescs)=0
Sets a vector of INvSIPLClient::ConsumerDesc of consumers of image processing pipeline(s).
virtual SIPLStatus SetPlatformCfg(const PlatformCfg *platformCfg)=0
Sets a platform configuration.
virtual ~INvSIPLCamera(void)=default
Default destructor.
Describes the interfaces of SIPL pipeline feeder.
SIPLStatus
Defines the status codes returned by functions in Sensor Input Processing Library (SIPL) modules...
NVIDIA Sensor Input Processing Library: Pipeline Manager - NvSIPL Pipeline Manager (libnvsipl...
Defines the camera platform configuration.
virtual SIPLStatus SetImagePoolAttributes(std::uint32_t index, INvSIPLClient::ConsumerDesc::OutputType outType, uint32_t numOfImages, const NvSIPLImageAttr &imageAttr)=0
Sets attributes of the image pool used by ICP and ISP components of an image processing pipeline...
virtual SIPLStatus Stop(void)=0
Stops NvSIPL Camera (libnvsipl.so) for the selected platform configuration.
virtual INvSIPLClient::ClientDesc * GetClientDesc(std::uint32_t index, INvSIPLClient::ConsumerDesc::OutputType outType)=0
Gets NvSIPL Client (libnvsipl.so) descriptor for an image processing pipeline output.
static std::unique_ptr< INvSIPLCamera > GetInstance(void)
Gets a handle to INvSIPLCamera instance.
virtual SIPLStatus SetImageGroupWriterCallback(std::uint32_t uIndex, NvSIPLImageGroupWriter *pImageGroupWriter)=0
Sets an image group writer for an image processing pipeline.
Describes a client of the pipeline.
OutputType
Defines the types of the SIPL pipeline output.
Describes the interfaces of the SIPL pipeline notification handler.
virtual SIPLStatus Start(void)=0
Starts NvSIPL Camera (libnvsipl.so) for the selected platform configuration.
Defines public data structures and describes the interfaces for NvSIPLCamera.