NVIDIA DRIVE OS Linux SDK API Reference

5.1.15.0 Release
For Test and Development only
NvSIPLPipelineMgr.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 
11 #ifndef NVSIPLPIPELINEMGR_HPP
12 #define NVSIPLPIPELINEMGR_HPP
13 
14 #include "NvSIPLCommon.hpp"
15 #include "NvSIPLClient.hpp"
16 
17 #include "nvmedia_image.h"
18 #include "nvmedia_surface.h"
19 
20 #include <cstdint>
21 #include <vector>
22 
40 namespace nvsipl
41 {
42 
53 {
54 public:
57  {
66 
76 
94 
97  };
98 
102  {
106  std::uint32_t uIndex;
108  std::uint64_t frameCaptureTSC;
109  };
110 
121  virtual void OnEvent(NotificationData &oNotificationData)
122  {
123  return;
124  }
125 
127  virtual ~NvSIPLPipelineNotifier(void) = default;
128 };
129 
147 {
148 public:
150  struct RawBuffer
151  {
155  std::uint32_t uIndex;
156  };
157 
169  virtual SIPLStatus FillRawBuffer(RawBuffer &oRawBuffer) = 0;
170 
172  virtual ~NvSIPLImageGroupWriter(void) = default;
173 };
174 
181 
183  std::vector<NvMediaSurfAllocAttr> surfaceAllocAttr;
184 };
185 
188 {
190  bool ispInputCropEnable {false};
193 
195  bool isp0OutputCropEnable {false};
198 
200  bool isp1OutputCropEnable {false};
203 
205  bool isp0DownscaleEnable {false};
207  std::uint32_t isp0DownscaleWidth;
209  std::uint32_t isp0DownscaleHeight;
210 
212  bool isp1DownscaleEnable {false};
214  std::uint32_t isp1DownscaleWidth;
216  std::uint32_t isp1DownscaleHeight;
217 };
218 
221 {
223  std::vector<INvSIPLClient::ConsumerDesc> clients;
224 
227 
230 
233 };
234 
235 } // namespace nvsipl
236 
237 
238 #endif // NVSIPLPIPELINEMGR_HPP
NvSIPLClient.hpp
nvsipl::NvSIPLDownscaleCropCfg::isp0DownscaleHeight
std::uint32_t isp0DownscaleHeight
ISP0 downscale height.
Definition: NvSIPLPipelineMgr.hpp:209
nvsipl::NvSIPLPipelineNotifier::NOTIF_WARN_ICP_FRAME_DISCONTINUITY
@ NOTIF_WARN_ICP_FRAME_DISCONTINUITY
Indicates a discontinuity was detected in parsed embedded data frame sequence number.
Definition: NvSIPLPipelineMgr.hpp:72
nvmedia_surface.h
NVIDIA Media Interface: Surface Handling
nvsipl::NvSIPLDownscaleCropCfg
Downscale and crop configuration.
Definition: NvSIPLPipelineMgr.hpp:187
nvsipl::NvSIPLPipelineCfg::notifier
NvSIPLPipelineNotifier * notifier
Holds a pointer to an NvSIPLPipelineNotifier.
Definition: NvSIPLPipelineMgr.hpp:229
nvsipl::NvSIPLImageGroupWriter::RawBuffer::imageGroup
NvMediaImageGroup * imageGroup
Holds a pointer to NvMediaImageGroup.
Definition: NvSIPLPipelineMgr.hpp:153
nvsipl::NvSIPLImageGroupWriter::~NvSIPLImageGroupWriter
virtual ~NvSIPLImageGroupWriter(void)=default
Default destructor.
nvsipl::NvSIPLImageGroupWriter::RawBuffer::uIndex
std::uint32_t uIndex
Holds the ID of the sensor in PlatformCfg.
Definition: NvSIPLPipelineMgr.hpp:155
nvsipl::NvSIPLPipelineNotifier::NOTIF_ERROR_DESER_LINK_FAILURE
@ NOTIF_ERROR_DESER_LINK_FAILURE
Indicates a deserializer link error.
Definition: NvSIPLPipelineMgr.hpp:93
nvsipl::NvSIPLPipelineNotifier::NotificationData::eNotifType
NotificationType eNotifType
Holds the NotificationType event type.
Definition: NvSIPLPipelineMgr.hpp:104
nvsipl::NvSIPLPipelineCfg::clients
std::vector< INvSIPLClient::ConsumerDesc > clients
Holds a vector of INvSIPLClient::ConsumerDesc.
Definition: NvSIPLPipelineMgr.hpp:223
NvSIPLCommon.hpp
nvsipl::NvSIPLDownscaleCropCfg::isp0DownscaleWidth
std::uint32_t isp0DownscaleWidth
ISP0 downscale width.
Definition: NvSIPLPipelineMgr.hpp:207
nvsipl::NvSIPLPipelineNotifier::NOTIF_ERROR_ICP_BAD_INPUT_STREAM
@ NOTIF_ERROR_ICP_BAD_INPUT_STREAM
Indicates ICP bad input stream.
Definition: NvSIPLPipelineMgr.hpp:79
nvsipl::NvSIPLImageAttr::surfaceAllocAttr
std::vector< NvMediaSurfAllocAttr > surfaceAllocAttr
Holds a vector of NvMediaSurfAllocAttr objects.
Definition: NvSIPLPipelineMgr.hpp:183
nvsipl::NvSIPLPipelineNotifier::NotificationData
Defines the notification data.
Definition: NvSIPLPipelineMgr.hpp:101
nvsipl::NvSIPLPipelineNotifier::NOTIF_ERROR_ISP_PROCESSING_FAILURE
@ NOTIF_ERROR_ISP_PROCESSING_FAILURE
Indicates ISP processing failure.
Definition: NvSIPLPipelineMgr.hpp:86
nvsipl::NvSIPLPipelineNotifier::NotificationData::uIndex
std::uint32_t uIndex
Holds the ID of the pipeline.
Definition: NvSIPLPipelineMgr.hpp:106
nvsipl::NvSIPLDownscaleCropCfg::isp1OutputCropEnable
bool isp1OutputCropEnable
Indicates if ISP1 output crop is enabled.
Definition: NvSIPLPipelineMgr.hpp:200
nvsipl::NvSIPLImageAttr::surfaceType
NvMediaSurfaceType surfaceType
Holds the surface type of the image.
Definition: NvSIPLPipelineMgr.hpp:180
nvsipl::NvSIPLPipelineNotifier
Describes the interfaces of the SIPL pipeline notification handler.
Definition: NvSIPLPipelineMgr.hpp:52
nvsipl::NvSIPLImageGroupWriter::RawBuffer
Describes an unprocessed sensor output buffer.
Definition: NvSIPLPipelineMgr.hpp:150
nvsipl::NvSIPLPipelineCfg
Defines the camera pipeline configuration.
Definition: NvSIPLPipelineMgr.hpp:220
nvsipl::NvSIPLDownscaleCropCfg::isp0DownscaleEnable
bool isp0DownscaleEnable
Indicates if ISP0 downscale is enabled.
Definition: NvSIPLPipelineMgr.hpp:205
nvsipl::NvSIPLPipelineNotifier::NOTIF_WARN_ICP_FRAME_DROP
@ NOTIF_WARN_ICP_FRAME_DROP
Indicates pipeline was forced to drop a frame due to a slow consumer or system issues.
Definition: NvSIPLPipelineMgr.hpp:69
nvsipl::NvSIPLDownscaleCropCfg::ispInputCropEnable
bool ispInputCropEnable
Indicates if ISP input crop is enabled.
Definition: NvSIPLPipelineMgr.hpp:190
nvsipl::NvSIPLPipelineNotifier::NOTIF_ERROR_ICP_CAPTURE_FAILURE
@ NOTIF_ERROR_ICP_CAPTURE_FAILURE
Indicates ICP capture failure.
Definition: NvSIPLPipelineMgr.hpp:82
nvsipl::NvSIPLPipelineNotifier::NotificationData::frameCaptureTSC
std::uint64_t frameCaptureTSC
Holds the TSC timestamp of the frame capture.
Definition: NvSIPLPipelineMgr.hpp:108
NvMediaRect
Holds a rectangular region of a surface.
Definition: nvmedia_core.h:133
NvMediaSurfaceType
#define NvMediaSurfaceType
Defines the set of NvMedia surface types.
Definition: nvmedia_surface.h:550
nvsipl::NvSIPLImageAttr
Describes attributes of images used in image processing pipeline.
Definition: NvSIPLPipelineMgr.hpp:178
nvsipl::NvSIPLPipelineCfg::downscaleCropCfg
NvSIPLDownscaleCropCfg downscaleCropCfg
Holds a downscale and crop configuration.
Definition: NvSIPLPipelineMgr.hpp:226
nvsipl::SIPLStatus
SIPLStatus
Defines the status codes returned by functions in Sensor Input Processing Library (SIPL) modules.
Definition: NvSIPLCommon.hpp:38
nvsipl::NvSIPLPipelineNotifier::NOTIF_WARN_ICP_CAPTURE_TIMEOUT
@ NOTIF_WARN_ICP_CAPTURE_TIMEOUT
Indicates occurrence of timeout while capturing.
Definition: NvSIPLPipelineMgr.hpp:75
nvsipl::NvSIPLPipelineNotifier::NOTIF_ERROR_ACP_PROCESSING_FAILURE
@ NOTIF_ERROR_ACP_PROCESSING_FAILURE
Indicates auto control processing failure.
Definition: NvSIPLPipelineMgr.hpp:88
nvsipl::NvSIPLImageGroupWriter
Describes the interfaces of SIPL pipeline feeder.
Definition: NvSIPLPipelineMgr.hpp:146
nvsipl::NvSIPLPipelineNotifier::NOTIF_INFO_ISC_PROCESSING_DONE
@ NOTIF_INFO_ISC_PROCESSING_DONE
Indicates ISC processing is finished.
Definition: NvSIPLPipelineMgr.hpp:65
NvMediaSurfaceType_Unsupported
#define NvMediaSurfaceType_Unsupported
Unsupported types.
Definition: nvmedia_surface.h:553
nvsipl::NvSIPLPipelineCfg::imageGroupWriter
NvSIPLImageGroupWriter * imageGroupWriter
Holds a pointer to an NvSIPLImageGroupWriter.
Definition: NvSIPLPipelineMgr.hpp:232
nvsipl::NvSIPLDownscaleCropCfg::ispInputCrop
NvMediaRect ispInputCrop
ISP input crop rectangle.
Definition: NvSIPLPipelineMgr.hpp:192
nvsipl::NvSIPLDownscaleCropCfg::isp0OutputCropEnable
bool isp0OutputCropEnable
Indicates if ISP0 output crop is enabled.
Definition: NvSIPLPipelineMgr.hpp:195
nvsipl::NvSIPLPipelineNotifier::OnEvent
virtual void OnEvent(NotificationData &oNotificationData)
Handles a pipeline event.
Definition: NvSIPLPipelineMgr.hpp:121
nvsipl::NvSIPLDownscaleCropCfg::isp1DownscaleHeight
std::uint32_t isp1DownscaleHeight
ISP1 downscale height.
Definition: NvSIPLPipelineMgr.hpp:216
nvsipl::NvSIPLDownscaleCropCfg::isp1DownscaleEnable
bool isp1DownscaleEnable
Indicates if ISP1 downscale is enabled.
Definition: NvSIPLPipelineMgr.hpp:212
NvMediaImageGroup
Holds a handle representing an image group.
Definition: nvmedia_image.h:115
nvsipl::NvSIPLImageGroupWriter::FillRawBuffer
virtual SIPLStatus FillRawBuffer(RawBuffer &oRawBuffer)=0
Populates the buffer with RAW data.
nvsipl::NvSIPLDownscaleCropCfg::isp1DownscaleWidth
std::uint32_t isp1DownscaleWidth
ISP1 downscale width.
Definition: NvSIPLPipelineMgr.hpp:214
nvsipl::NvSIPLPipelineNotifier::~NvSIPLPipelineNotifier
virtual ~NvSIPLPipelineNotifier(void)=default
Default destructor.
nvsipl::NvSIPLDownscaleCropCfg::isp0OutputCrop
NvMediaRect isp0OutputCrop
ISP0 output crop rectangle.
Definition: NvSIPLPipelineMgr.hpp:197
nvsipl::NvSIPLPipelineNotifier::NOTIF_INFO_ICP_PROCESSING_DONE
@ NOTIF_INFO_ICP_PROCESSING_DONE
Indicates ICP processing is finished.
Definition: NvSIPLPipelineMgr.hpp:59
nvsipl::NvSIPLPipelineNotifier::NOTIF_ERROR_INTERNAL_FAILURE
@ NOTIF_ERROR_INTERNAL_FAILURE
Indicates an unexpected internal failure.
Definition: NvSIPLPipelineMgr.hpp:96
nvsipl::NvSIPLPipelineNotifier::NOTIF_INFO_ACP_PROCESSING_DONE
@ NOTIF_INFO_ACP_PROCESSING_DONE
Indicates auto control processing is finished.
Definition: NvSIPLPipelineMgr.hpp:63
nvsipl
Contains the classes and variables for implementation of Sensor Input Processing Library (SIPL).
Definition: NvSIPLDeviceBlock.hpp:32
nvsipl::NvSIPLDownscaleCropCfg::isp1OutputCrop
NvMediaRect isp1OutputCrop
ISP1 output crop rectangle.
Definition: NvSIPLPipelineMgr.hpp:202
nvsipl::NvSIPLPipelineNotifier::NotificationType
NotificationType
Defines the events of the image processing pipeline.
Definition: NvSIPLPipelineMgr.hpp:56
nvmedia_image.h
NVIDIA Media Interface: Image Processing
nvsipl::NvSIPLPipelineNotifier::NOTIF_ERROR_ICP_EMB_DATA_PARSE_FAILURE
@ NOTIF_ERROR_ICP_EMB_DATA_PARSE_FAILURE
Indicates embedded data parsing failure.
Definition: NvSIPLPipelineMgr.hpp:84
nvsipl::NvSIPLPipelineNotifier::NOTIF_ERROR_ISC_SET_SENSOR_CTRL_FAILURE
@ NOTIF_ERROR_ISC_SET_SENSOR_CTRL_FAILURE
Indicates ISC set sensor control failure.
Definition: NvSIPLPipelineMgr.hpp:90
nvsipl::NvSIPLPipelineNotifier::NOTIF_INFO_ISP_PROCESSING_DONE
@ NOTIF_INFO_ISP_PROCESSING_DONE
Indicates ISP processing is finished.
Definition: NvSIPLPipelineMgr.hpp:61