NVIDIA DRIVE OS Linux API Reference

5.1.0.2 Release

 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 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.