NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.4 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
NvSIPLClient.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 NVSIPLCLIENT_HPP
12 #define NVSIPLCLIENT_HPP
13 
14 #include "NvSIPLCommon.hpp"
15 
16 #include "nvmedia_image.h"
17 #include "nvmedia_isc.h"
18 
19 #ifdef NVMEDIA_NVSCI_ENABLE
20 #include "nvscisync.h"
21 #include "nvscistream.h"
22 #endif // NVMEDIA_NVSCI_ENABLE
23 
24 #include <cstdint>
25 #include <string>
26 #include <memory>
27 
42 namespace nvsipl
43 {
44 
56 {
57  public:
60  {
62  std::uint64_t frameCaptureTSC;
64  std::uint32_t numExposures;
79  };
80 
87  {
88  public:
93  virtual void AddRef(void) = 0;
94 
101  virtual SIPLStatus Release(void) = 0;
102 
103 #ifdef NVMEDIA_NVSCI_ENABLE
104 
111  virtual SIPLStatus AddNvSciSyncPrefence(NvSciSyncFence &prefence) = 0;
112 
123  virtual SIPLStatus GetEOFNvSciSyncFence(NvSciSyncFence *postfence) = 0;
124 
127 #endif // NVMEDIA_NVSCI_ENABLE
128  };
129 
136  {
137  public:
141  virtual NvMediaImage* GetImage() = 0;
142 
148  virtual NvMediaImageGroup* GetImageGroup() = 0;
149 
154  virtual ImageMetaData GetImageData() = 0;
155  };
156 
164  {
165  public:
177  virtual SIPLStatus OnFrameAvailable(INvSIPLBuffer* pBuffer) = 0;
178  };
179 
182  {
184  enum class OutputType
185  {
186  ICP,
187  ISP0,
188  ISP1,
189  };
190 
195  };
196 };
197 
200 } // namespace nvsipl
201 
202 
203 
204 #endif // NVSIPLCLIENT_HPP
Holds the sensor companding piecewise linear (PWL) structure.
Definition: nvmedia_isc.h:1085
Holds a handle representing image objects.
Definition: nvmedia_image.h:71
Describes a client of the pipeline.
Indicates the second output of NvMediaISP.
virtual NvMediaImageGroup * GetImageGroup()=0
Gets a handle to NvMediaImageGroup.
Holds sensor exposure information.
Definition: nvmedia_isc.h:1010
NvMediaISCTemperature sensorTempInfo
Holds the parsed embedded data sensor temperature info for the captured frame.
NVIDIA Media Interface: Image Processing
NvMediaISCFrameReport sensorReportInfo
Holds the parsed embedded data frame report info for the captured frame.
virtual ImageMetaData GetImageData()=0
Gets an nvsipl::INvSIPLClient::ImageMetaData associated with NvMediaImage or NvMediaImageGroup.
virtual NvMediaImage * GetImage()=0
Gets a handle to NvMediaImage.
uintptr_t NvSciStreamCookie
Component-assigned cookie for a packet.
Definition: nvscistream.h:64
NVIDIA Sensor Input Processing Library: Common Data Structures - Sensor Input Processing Library (SI...
Holds the sensor temperature structure.
Definition: nvmedia_isc.h:1108
virtual SIPLStatus Release(void)=0
Release a reference.
Describes the interfaces of SIPL buffer.
NvMediaISCWhiteBalance sensorWBInfo
Holds the parsed embedded data sensor white balance info for the captured frame.
Defines the public data structures and describes the interfaces for NvSIPL Client (libnvsipl...
NvMediaISCPWL sensorPWLInfo
Holds the parsed embedded data sensor PWL info for the captured frame.
Holds a handle representing an image group.
Defines the metadata associated with the image.
Indicates the unprocessed output of the image sensor.
Holds the sensor CRC structure.
Definition: nvmedia_isc.h:1131
SIPLStatus
Defines the status codes returned by functions in Sensor Input Processing Library (SIPL) modules...
NvMediaISCExposure sensorExpInfo
Holds the parsed embedded data sensor exposure info for the captured frame.
Indicates the first output of NvMediaISP.
virtual void AddRef(void)=0
Adds a reference.
NVIDIA Software Communications Interface (SCI) : NvSciStream
INvMCallback * callback
Holds a pointer to a user-implemented class object inheriting from INvMCallback.
NvMediaISCFrameSeqNum frameSeqNumInfo
Holds parsed embedded data frame sequence number info for the captured frame.
Describes a SIPL buffer containing an NvMediaImage or NvMediaImageGroup.
NvMediaISCCRC sensorCRCInfo
Holds the parsed embedded data sensor crc info for the captured frame.
std::uint32_t numExposures
Holds the parsed embedded data frame number of exposures info for the captured frame.
NVIDIA Media Interface: Image Sensor Control (ISC)
virtual SIPLStatus GetEOFNvSciSyncFence(NvSciSyncFence *postfence)=0
Retrieve the latest NvSciSync EOF fence.
OutputType eOutputType
Holds an OutputType.
Defines the opaque NvSciSyncFence.
Definition: nvscisync.h:154
OutputType
Defines the types of the SIPL pipeline output.
NVIDIA Software Communications Interface (SCI) : NvSciSync
virtual SIPLStatus AddNvSciSyncPrefence(NvSciSyncFence &prefence)=0
Add an NvSciSync prefence.
std::uint64_t frameCaptureTSC
Holds the TSC timestamp of the frame capture.
NvSciStreamCookie cookie
NvSciStreamCookie associated with the buffer.
Holds the sensor frame sequence number structure.
Definition: nvmedia_isc.h:1152
Holds the sensor report frame report structure.
Definition: nvmedia_isc.h:1062
Holds the sensor white balance gain structure.
Definition: nvmedia_isc.h:1039
virtual SIPLStatus OnFrameAvailable(INvSIPLBuffer *pBuffer)=0
A new output frame is available.
Describes a class with callback functions that must be implemented by the consumer of the SIPL image ...