NVIDIA DRIVE OS Linux SDK API Reference

5.1.15.2 Release
For Test and Development only
NvSIPLPipelineMgr.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018-2020, 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;
158  };
159 
171  virtual SIPLStatus FillRawBuffer(RawBuffer &oRawBuffer) = 0;
172 
174  virtual ~NvSIPLImageGroupWriter(void) = default;
175 };
176 
183 
185  std::vector<NvMediaSurfAllocAttr> surfaceAllocAttr;
186 };
187 
190 {
192  bool ispInputCropEnable {false};
195 
197  bool isp0OutputCropEnable {false};
200 
202  bool isp1OutputCropEnable {false};
205 
207  bool isp0DownscaleEnable {false};
209  std::uint32_t isp0DownscaleWidth;
211  std::uint32_t isp0DownscaleHeight;
212 
214  bool isp1DownscaleEnable {false};
216  std::uint32_t isp1DownscaleWidth;
218  std::uint32_t isp1DownscaleHeight;
219 };
220 
223 {
225  std::vector<INvSIPLClient::ConsumerDesc> clients;
226 
229 
232 
235 };
236 
237 } // namespace nvsipl
238 
239 
240 #endif // NVSIPLPIPELINEMGR_HPP
NvSIPLClient.hpp
nvsipl::NvSIPLDownscaleCropCfg::isp0DownscaleHeight
std::uint32_t isp0DownscaleHeight
ISP0 downscale height.
Definition: NvSIPLPipelineMgr.hpp:211
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:189
nvsipl::NvSIPLPipelineCfg::notifier
NvSIPLPipelineNotifier * notifier
Holds a pointer to an NvSIPLPipelineNotifier.
Definition: NvSIPLPipelineMgr.hpp:231
nvsipl::NvSIPLImageGroupWriter::RawBuffer::imageGroup
NvMediaImageGroup * imageGroup
Holds a pointer to NvMediaImageGroup.
Definition: NvSIPLPipelineMgr.hpp:153
nvsipl::NvSIPLImageGroupWriter::RawBuffer::discontinuity
bool discontinuity
Holds a flag to signal discontinuity for the current raw buffer from the previous one.
Definition: NvSIPLPipelineMgr.hpp:157
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:225
NvSIPLCommon.hpp
nvsipl::NvSIPLDownscaleCropCfg::isp0DownscaleWidth
std::uint32_t isp0DownscaleWidth
ISP0 downscale width.
Definition: NvSIPLPipelineMgr.hpp:209
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:185
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:202
nvsipl::NvSIPLImageAttr::surfaceType
NvMediaSurfaceType surfaceType
Holds the surface type of the image.
Definition: NvSIPLPipelineMgr.hpp:182
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:222
nvsipl::NvSIPLDownscaleCropCfg::isp0DownscaleEnable
bool isp0DownscaleEnable
Indicates if ISP0 downscale is enabled.
Definition: NvSIPLPipelineMgr.hpp:207
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:192
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:180
nvsipl::NvSIPLPipelineCfg::downscaleCropCfg
NvSIPLDownscaleCropCfg downscaleCropCfg
Holds a downscale and crop configuration.
Definition: NvSIPLPipelineMgr.hpp:228
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:234
nvsipl::NvSIPLDownscaleCropCfg::ispInputCrop
NvMediaRect ispInputCrop
ISP input crop rectangle.
Definition: NvSIPLPipelineMgr.hpp:194
nvsipl::NvSIPLDownscaleCropCfg::isp0OutputCropEnable
bool isp0OutputCropEnable
Indicates if ISP0 output crop is enabled.
Definition: NvSIPLPipelineMgr.hpp:197
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:218
nvsipl::NvSIPLDownscaleCropCfg::isp1DownscaleEnable
bool isp1DownscaleEnable
Indicates if ISP1 downscale is enabled.
Definition: NvSIPLPipelineMgr.hpp:214
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:216
nvsipl::NvSIPLPipelineNotifier::~NvSIPLPipelineNotifier
virtual ~NvSIPLPipelineNotifier(void)=default
Default destructor.
nvsipl::NvSIPLDownscaleCropCfg::isp0OutputCrop
NvMediaRect isp0OutputCrop
ISP0 output crop rectangle.
Definition: NvSIPLPipelineMgr.hpp:199
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:204
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