NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
NvSIPLCDICommon.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 #ifndef NVSIPL_CDI_COMMON_STRUCTS_H
14 #define NVSIPL_CDI_COMMON_STRUCTS_H
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif /* __cplusplus */
19 
28 #define NVSIPL_TRUE (0 == 0)
29 
30 #define NVSIPL_FALSE (0 == 1)
31 
32 typedef uint32_t NvSiplBool;
38 typedef struct {
40  double_t x;
42  double_t y;
44 
46 #define DEVBLK_CDI_MAX_EXPOSURES (8U)
47 
49 #define DEVBLK_CDI_MAX_SENSOR_NAME_LENGTH (32U)
50 
52 #define DEVBLK_CDI_MAX_FUSE_ID_LENGTH (32U)
53 
55 #define DEVBLK_CDI_MAX_COLOR_COMPONENT (4U)
56 
58 #define DEVBLK_CDI_MAX_NUM_TEMPERATURES (4U)
59 
61 #define DEVBLK_CDI_MAX_SENSOR_CONTEXTS (4U)
62 
67 #define DEVBLK_CDI_MAX_PWL_KNEEPOINTS (64U)
68 
70 #define DEVBLK_CDI_MAX_FRAME_REPORT_BYTES (4U)
71 
75 typedef struct {
79  float_t min;
80 
84  float_t max;
85 
87 
91 typedef struct {
98 
104 
110 
112 
121 
128  uint32_t sensorCFA;
129 
134 
140 
151 
162 
173 
199 
206 
211 
213 
217 typedef struct {
222 
227 
229 
237  uint32_t lineLength;
238 
242  uint8_t *lineData;
244 
256 typedef struct {
261 
268  float_t exposureTime[DEVBLK_CDI_MAX_EXPOSURES];
269 
274 
281  float_t sensorGain[DEVBLK_CDI_MAX_EXPOSURES];
282 
284 
288 typedef struct {
298 
306 typedef struct {
311 
321 
323 
327 typedef struct {
332 
337 
339 
343 typedef struct {
348 
354 
360  float_t sensorTempCelsius[DEVBLK_CDI_MAX_NUM_TEMPERATURES];
361 
363 
367 typedef struct {
372 
377  uint8_t numBytes;
378 
384  uint8_t sensorframeReport[DEVBLK_CDI_MAX_FRAME_REPORT_BYTES];
385 
387 
391 typedef struct {
396 
401  uint8_t numKneePoints;
402 
408 
409 } DevBlkCDIPWL;
410 
414 typedef struct {
419 
423  uint32_t computedCRC;
424 
428  uint32_t embeddedCRC;
429 
430 } DevBlkCDICRC;
431 
435 typedef struct DevBlkCDIFrameTimestamp {
441  uint64_t frameTimestamp;
443 
465  uint32_t numExposures;
466 
472 
478 
483 
488 
493 
498 
504 
510 
516 
521  int8_t errorFlag;
523 
526 #ifdef __cplusplus
527 } /* extern "C" */
528 #endif /* __cplusplus */
529 
530 #endif /* NVSIPL_CDI_COMMON_STRUCTS_H */
DevBlkCDIFrameTimestamp
Holds the sensor frame timestamp structure.
Definition: NvSIPLCDICommon.h:435
DevBlkCDIExposure::expTimeValid
NvSiplBool expTimeValid
Holds a flag which enables or disables the exposure block.
Definition: NvSIPLCDICommon.h:260
DevBlkCDICRC::embeddedCRC
uint32_t embeddedCRC
Holds the frame CRC value parsed from embedded data.
Definition: NvSIPLCDICommon.h:428
DEVBLK_CDI_MAX_SENSOR_NAME_LENGTH
#define DEVBLK_CDI_MAX_SENSOR_NAME_LENGTH
Maximum possible length of sensor name.
Definition: NvSIPLCDICommon.h:49
DevBlkCDIWhiteBalance::wbValid
NvSiplBool wbValid
Holds a flag which enables or disables the white balance gain block.
Definition: NvSIPLCDICommon.h:310
DEVBLK_CDI_MAX_FUSE_ID_LENGTH
#define DEVBLK_CDI_MAX_FUSE_ID_LENGTH
Maximum possible length of sensor fuse id.
Definition: NvSIPLCDICommon.h:52
DevBlkCDIEmbeddedDataInfo::sensorCRCInfo
DevBlkCDICRC sensorCRCInfo
Holds the parsed embedded data sensor CRC info for the captured frame.
Definition: NvSIPLCDICommon.h:487
DevBlkCDIFrameTimestamp::frameTimestamp
uint64_t frameTimestamp
Holds the sensor frame timestamp value.
Definition: NvSIPLCDICommon.h:441
DEVBLK_CDI_MAX_FRAME_REPORT_BYTES
#define DEVBLK_CDI_MAX_FRAME_REPORT_BYTES
Maximum number of frame report bytes.
Definition: NvSIPLCDICommon.h:70
DevBlkCDIEmbeddedDataInfo::sensorWBInfo
DevBlkCDIWhiteBalance sensorWBInfo
Holds the parsed embedded data sensor white balance info for the captured frame.
Definition: NvSIPLCDICommon.h:477
DevBlkCDIFrameSeqNum::frameSequenceNumber
uint64_t frameSequenceNumber
Holds the sensor frame sequence number value.
Definition: NvSIPLCDICommon.h:226
DevBlkCDISensorAttributes::numActiveExposures
uint8_t numActiveExposures
Holds the number of active exposures attribute.
Definition: NvSIPLCDICommon.h:139
DevBlkCDICRC::computedCRC
uint32_t computedCRC
Holds the frame CRC value computed from embedded data.
Definition: NvSIPLCDICommon.h:423
DevBlkCDIEmbeddedDataInfo::illuminationInfo
DevBlkCDIIllumination illuminationInfo
Holds the parsed embedded data illumination info for the captured frame.
Definition: NvSIPLCDICommon.h:497
DevBlkCDIFrameSeqNum::frameSeqNumValid
NvSiplBool frameSeqNumValid
Holds a flag which enables OR DISABLES the frame sequence number block.
Definition: NvSIPLCDICommon.h:221
DevBlkCDIAttrQuantizationStepSize
Holds the parameters regarding step size for non-HDR sensors.
Definition: NvSIPLCDICommon.h:91
DevBlkCDISensorAttributes
struct DevBlkCDISensorAttributes DevBlkCDISensorAttributes
Holds the sensor attributes.
DevBlkCDIFrameTimestamp::frameTimestampValid
NvSiplBool frameTimestampValid
Holds a flag which indicates if the frame timestamp from the sensor is valid.
Definition: NvSIPLCDICommon.h:438
DevBlkCDIFrameTimestamp
struct DevBlkCDIFrameTimestamp DevBlkCDIFrameTimestamp
Holds the sensor frame timestamp structure.
DevBlkCDIEmbeddedDataChunk
Holds the sensor embedded data chunk structure.
Definition: NvSIPLCDICommon.h:233
DevBlkCDIAttrRange
Holds the range of a sensor attribute.
Definition: NvSIPLCDICommon.h:75
DevBlkCDIEmbeddedDataChunk::lineLength
uint32_t lineLength
Holds the line length of an embedded chunk, in bytes.
Definition: NvSIPLCDICommon.h:237
DevBlkCDIAttrQuantizationStepSize::quantizationStepSizeSG
float_t quantizationStepSizeSG
Holds the sensor gain quantization step size.
Definition: NvSIPLCDICommon.h:103
DevBlkCDISensorAttributes::sensorFuseId
uint8_t sensorFuseId[DEVBLK_CDI_MAX_FUSE_ID_LENGTH]
Holds the fuse ID attribute.
Definition: NvSIPLCDICommon.h:133
DevBlkCDISensorAttributes::sensorQuantizationStepSize
DevBlkCDIAttrQuantizationStepSize sensorQuantizationStepSize
Holds the quantization step size parameters for non-HDR sensors.
Definition: NvSIPLCDICommon.h:210
DevBlkCDIEmbeddedDataInfo::errorFlag
int8_t errorFlag
Holds information on errors present in the embedded data.
Definition: NvSIPLCDICommon.h:521
DevBlkCDITemperature::numTemperatures
uint8_t numTemperatures
Holds the number of active temperatures.
Definition: NvSIPLCDICommon.h:353
DevBlkCDIFrameReport::frameReportValid
NvSiplBool frameReportValid
Holds a flag which enables or disables frame report block.
Definition: NvSIPLCDICommon.h:371
DevBlkCDIEmbeddedDataChunk
struct DevBlkCDIEmbeddedDataChunk DevBlkCDIEmbeddedDataChunk
Holds the sensor embedded data chunk structure.
DevBlkCDIEmbeddedDataInfo::sensorTempInfo
DevBlkCDITemperature sensorTempInfo
Holds the parsed embedded data sensor temperature info for the captured frame.
Definition: NvSIPLCDICommon.h:503
DevBlkCDISensorAttributes::sensorWhiteBalanceRange
DevBlkCDIAttrRange sensorWhiteBalanceRange[DEVBLK_CDI_MAX_EXPOSURES]
Holds the sensor white balance ranges for active exposures.
Definition: NvSIPLCDICommon.h:172
DevBlkCDIPWL
Holds the sensor companding piecewise linear (PWL) structure.
Definition: NvSIPLCDICommon.h:391
DevBlkCDIFrameReport
Holds the sensor report frame report structure.
Definition: NvSIPLCDICommon.h:367
DevBlkCDISensorAttributes::sensorName
char sensorName[DEVBLK_CDI_MAX_SENSOR_NAME_LENGTH]
Holds the name as a string.
Definition: NvSIPLCDICommon.h:120
DevBlkCDIWhiteBalanceGain
Per-channel gains, intended for use with DevBlkCDIWhiteBalance.
Definition: NvSIPLCDICommon.h:288
DevBlkCDISensorAttributes::numFrameReportBytes
uint32_t numFrameReportBytes
Holds the number of frame report bytes supported by the sensor.
Definition: NvSIPLCDICommon.h:205
DevBlkCDIIllumination::bValid
NvSiplBool bValid
Holds a flag which shows the illumination is valid.
Definition: NvSIPLCDICommon.h:331
DevBlkCDIEmbeddedDataInfo::frameTimestampInfo
DevBlkCDIFrameTimestamp frameTimestampInfo
Holds parsed embedded data frame timestamp info for the captured frame.
Definition: NvSIPLCDICommon.h:515
DevBlkCDISensorAttributes::sensorCFA
uint32_t sensorCFA
Holds the CFA attribute.
Definition: NvSIPLCDICommon.h:128
DevBlkCDIEmbeddedDataInfo::frameSeqNumInfo
DevBlkCDIFrameSeqNum frameSeqNumInfo
Holds parsed embedded data frame sequence number info for the captured frame.
Definition: NvSIPLCDICommon.h:509
NvSiplPointDouble
Defines the double-precision location of a point on a two-dimensional object.
Definition: NvSIPLCDICommon.h:38
DevBlkCDIIllumination::bEnable
NvSiplBool bEnable
Holds a flag which enables or disables the illumination.
Definition: NvSIPLCDICommon.h:336
DevBlkCDIEmbeddedDataInfo::sensorExpInfo
DevBlkCDIExposure sensorExpInfo
Holds the parsed embedded data sensor exposure info for the captured frame.
Definition: NvSIPLCDICommon.h:471
DevBlkCDIWhiteBalance
Holds the sensor white balance gain structure.
Definition: NvSIPLCDICommon.h:306
DevBlkCDITemperature::tempValid
NvSiplBool tempValid
Holds a flag which enables or disables the sensor temperature block.
Definition: NvSIPLCDICommon.h:347
DevBlkCDIPWL::pwlValid
NvSiplBool pwlValid
Holds a flag which enables or disables the sensor PWL block.
Definition: NvSIPLCDICommon.h:395
NvSiplPointDouble::x
double_t x
Holds the horizontal location of the point.
Definition: NvSIPLCDICommon.h:40
DevBlkCDISensorAttributes::sensorGainRange
DevBlkCDIAttrRange sensorGainRange[DEVBLK_CDI_MAX_EXPOSURES]
Holds the sensor gain ranges for active exposures.
Definition: NvSIPLCDICommon.h:161
DevBlkCDIEmbeddedDataInfo::numExposures
uint32_t numExposures
Holds the parsed embedded data frame number of exposures for the captured frame.
Definition: NvSIPLCDICommon.h:465
DevBlkCDIIllumination
Holds the sensor illumination control structure.
Definition: NvSIPLCDICommon.h:327
DevBlkCDIExposure::gainValid
NvSiplBool gainValid
Holds a flag which enables or disables the sensor gain block.
Definition: NvSIPLCDICommon.h:273
DevBlkCDISensorAttributes::sensorGainFactor
float_t sensorGainFactor[DEVBLK_CDI_MAX_EXPOSURES]
Holds the additional sensor gain factor between active exposures.
Definition: NvSIPLCDICommon.h:198
DevBlkCDIFrameReport::numBytes
uint8_t numBytes
Holds the number of active frame report bytes.
Definition: NvSIPLCDICommon.h:377
DevBlkCDICRC::crcValid
NvSiplBool crcValid
Holds a flag which enables or disables the CRC block.
Definition: NvSIPLCDICommon.h:418
DevBlkCDITemperature
Holds the sensor temperature structure.
Definition: NvSIPLCDICommon.h:343
NvSiplBool
uint32_t NvSiplBool
Definition: NvSIPLCDICommon.h:32
DevBlkCDISensorAttributes::sensorExpRange
DevBlkCDIAttrRange sensorExpRange[DEVBLK_CDI_MAX_EXPOSURES]
Holds the sensor exposure ranges (in seconds) for active exposures.
Definition: NvSIPLCDICommon.h:150
DevBlkCDIAttrRange::min
float_t min
Holds the sensor attribute's minimum value.
Definition: NvSIPLCDICommon.h:79
DevBlkCDIEmbeddedDataInfo::sensorReportInfo
DevBlkCDIFrameReport sensorReportInfo
Holds the parsed embedded data frame report info for the captured frame.
Definition: NvSIPLCDICommon.h:492
DevBlkCDISensorAttributes
Holds the sensor attributes.
Definition: NvSIPLCDICommon.h:116
DevBlkCDIEmbeddedDataInfo
struct DevBlkCDIEmbeddedDataInfo DevBlkCDIEmbeddedDataInfo
Holds the sensor embedded data parsed info structure.
DevBlkCDIExposure
Holds sensor exposure information.
Definition: NvSIPLCDICommon.h:256
DevBlkCDIPWL::numKneePoints
uint8_t numKneePoints
Holds the number of active PWL knee points.
Definition: NvSIPLCDICommon.h:401
DevBlkCDIAttrQuantizationStepSize::isQuantizationStepSizeValid
NvSiplBool isQuantizationStepSizeValid
Holds the a flag to determine whether the exposure time and sensor gain quantization step sizes are r...
Definition: NvSIPLCDICommon.h:97
DevBlkCDIEmbeddedDataInfo::sensorPWLInfo
DevBlkCDIPWL sensorPWLInfo
Holds the parsed embedded data sensor PWL info for the captured frame.
Definition: NvSIPLCDICommon.h:482
DEVBLK_CDI_MAX_EXPOSURES
#define DEVBLK_CDI_MAX_EXPOSURES
Maximum number of exposures.
Definition: NvSIPLCDICommon.h:46
DevBlkCDIAttrQuantizationStepSize::quantizationStepSizeET
float_t quantizationStepSizeET
Holds the exposure time quantization step size.
Definition: NvSIPLCDICommon.h:109
NvSiplPointDouble::y
double_t y
Holds the vertical location of the point.
Definition: NvSIPLCDICommon.h:42
DevBlkCDIFrameSeqNum
Holds the sensor frame sequence number structure.
Definition: NvSIPLCDICommon.h:217
DEVBLK_CDI_MAX_NUM_TEMPERATURES
#define DEVBLK_CDI_MAX_NUM_TEMPERATURES
Maximum number of sensor temperature values.
Definition: NvSIPLCDICommon.h:58
DevBlkCDIAttrRange::max
float_t max
Holds the sensor attribute's maximum value.
Definition: NvSIPLCDICommon.h:84
DEVBLK_CDI_MAX_PWL_KNEEPOINTS
#define DEVBLK_CDI_MAX_PWL_KNEEPOINTS
Maximum number of sensor companding piecewise linear (PWL) curve knee points.
Definition: NvSIPLCDICommon.h:67
DevBlkCDICRC
Holds the sensor CRC structure.
Definition: NvSIPLCDICommon.h:414
DevBlkCDIEmbeddedDataInfo
Holds the sensor embedded data parsed info structure.
Definition: NvSIPLCDICommon.h:460
DevBlkCDIEmbeddedDataChunk::lineData
uint8_t * lineData
Holds a pointer to the data chunk.
Definition: NvSIPLCDICommon.h:242
DEVBLK_CDI_MAX_COLOR_COMPONENT
#define DEVBLK_CDI_MAX_COLOR_COMPONENT
Maximum number of color components.
Definition: NvSIPLCDICommon.h:55