NVIDIA DRIVE OS Linux SDK API Reference

6.0.5 Release
nvsipl Namespace Reference

Detailed Description

Contains the classes and variables for implementation of SIPL.

Data Structures

struct  CameraModuleInfo
 Defines information for the camera module. More...
 
struct  DeserInfo
 Defines the deserializer information. More...
 
struct  DeviceBlockInfo
 Defines the DeviceBlock information. More...
 
struct  DeviceInfoList
 Defines a list of all external image devices supported by NvSIPL Query and SIPL Device Block drivers. More...
 
struct  EEPROMInfo
 Defines the EEPROM information. More...
 
struct  IntrGpioInfo
 Describes an Interrupt GPIO configuration. More...
 
class  INvSIPLCamera
 The top-level API for SIPL. More...
 
class  INvSIPLClient
 Defines the public data structures and describes the interfaces for NvSIPL Client. More...
 
class  INvSIPLFrameCompletionQueue
 The interface to the frame completion queue. More...
 
class  INvSIPLNotificationQueue
 The interface to the notification queue. More...
 
class  INvSIPLQuery
 Defines the public data structures and describes the interfaces for NvSIPLQuery. More...
 
class  INvSIPLQueryTrace
 
class  INvSIPLTrace
 Defines the public interfaces to control the logging/tracing of SIPL. More...
 
class  ISiplControlAuto
 Defines SIPL Control Auto Interface Class. More...
 
struct  NvSiplControlInfo
 Defines the control info. More...
 
struct  NvSIPLDeviceBlockQueues
 Holds the queues used by the client to receive device block event notifications. More...
 
struct  NvSIPLDownscaleCropCfg
 Downscale and crop configuration. More...
 
class  NvSIPLImageGroupWriter
 Describes the interfaces of SIPL pipeline feeder. More...
 
struct  NvSiplISPBadPixelStats
 Holds controls for bad pixel statistics (BP Stats). More...
 
struct  NvSiplISPBadPixelStatsData
 Holds bad pixel statistics (BP Stats). More...
 
struct  NvSiplISPEllipse
 Defines an ellipse. More...
 
struct  NvSiplISPFlickerBandStats
 Holds controls for flicker band statistics (FB Stats). More...
 
struct  NvSiplISPFlickerBandStatsData
 Holds flicker band statistics (FB Stats). More...
 
struct  NvSiplISPGlobalToneMapInfo
 Defines the global tone map spline. More...
 
struct  NvSiplISPHistogramStats
 Holds controls for histogram statistics (HIST Stats). More...
 
struct  NvSiplISPHistogramStatsData
 Holds histogram statistics (HIST Stats). More...
 
struct  NvSiplISPHistogramStatsOverride
 SIPL ISP Histogram Statistics Override Params. More...
 
struct  NvSiplISPLocalAvgClipStats
 Holds controls for local average and clip statistics (LAC Stats). More...
 
struct  NvSiplISPLocalAvgClipStatsData
 Holds local average and clip statistics block (LAC Stats). More...
 
struct  NvSiplISPLocalAvgClipStatsROIData
 Holds local average and clip statistics data for a region of interest. More...
 
struct  NvSiplISPRadialTF
 Defines a radial transform. More...
 
struct  NvSiplISPSplineControlPoint
 Defines a spline control point. More...
 
struct  NvSiplISPStatisticsWindows
 Defines the windows used in ISP stats calculations. More...
 
struct  NvSIPLIspStatsOverrideSetting
 SIPL ISP Statistics Override Parameters. More...
 
struct  NvSIPLNitoMetadata
 NvSIPLNitoMetadata defines the 3-tuple returned by a successful call to GetNitoMetadataFromMemory(). More...
 
struct  NvSIPLPipelineConfiguration
 Defines the camera pipeline configuration. More...
 
class  NvSIPLPipelineNotifier
 Describes the interfaces of the SIPL pipeline notification handler. More...
 
struct  NvSIPLPipelineQueues
 This is the output structure for SetPipelineCfg(). More...
 
struct  NvSiplPoint
 Defines the location of a point on a two-dimensional object. More...
 
struct  NvSiplPointFloat
 Defines the float-precision location of a point on a two-dimensional object. More...
 
struct  NvSiplRect
 Holds a rectangular region of a surface. More...
 
struct  NvSIPLVersion
 Holds the version information of NvSIPL Camera and NvSIPL Client. More...
 
struct  PlatformCfg
 Defines the camera platform configuration. More...
 
struct  SensorInfo
 Defines the image sensor information. More...
 
struct  SerdesGPIOPinMap
 Defines GPIO mapping from the serializer to the deserializer. More...
 
struct  SerInfo
 Defines the serializer information. More...
 
struct  SiplControlAutoAwbGain
 Color Gains assuming order RGGB, RCCB, RCCC. More...
 
struct  SiplControlAutoAwbSetting
 Automatic white balance settings. More...
 
struct  SiplControlAutoInputParam
 Input parameters for processing AE/AWB. More...
 
struct  SiplControlAutoMetadata
 Structure containing metadata info for processing AE/AWB algorithm. More...
 
struct  SiplControlAutoOutputParam
 AE/AWB Output parameters. More...
 
struct  SiplControlAutoSensorSetting
 Sensor settings. More...
 
struct  SiplControlEmbedData
 Embedded data and parsed information. More...
 
struct  SiplControlEmbedInfo
 Parsed frame embedded information. More...
 
struct  SiplControlIspStatsInfo
 Structure containing ISP Stats information. More...
 
struct  SiplControlIspStatsSetting
 Structure containing ISP stats settings. More...
 
struct  SIPLErrorDetails
 Error details for a particular device. More...
 

Typedefs

typedef uint64_t NvSiplGlobalTime
 Media global time, measured in microseconds. More...
 
typedef uint32_t NvSiplBool
 A boolean value, holding SIPL_TRUE or SIPL_FALSE. More...
 

Enumerations

enum  NvSiplTimeBase {
  NVSIPL_TIME_BASE_CLOCK_PTP,
  NVSIPL_TIME_BASE_CLOCK_MONOTONIC,
  NVSIPL_TIME_BASE_CLOCK_USER_DEFINED
}
 Defines clock base for NvSiplTime. More...
 
enum  SIPLStatus {
  NVSIPL_STATUS_OK = 0,
  NVSIPL_STATUS_BAD_ARGUMENT,
  NVSIPL_STATUS_NOT_SUPPORTED,
  NVSIPL_STATUS_OUT_OF_MEMORY,
  NVSIPL_STATUS_RESOURCE_ERROR,
  NVSIPL_STATUS_TIMED_OUT,
  NVSIPL_STATUS_INVALID_STATE,
  NVSIPL_STATUS_EOF,
  NVSIPL_STATUS_NOT_INITIALIZED,
  NVSIPL_STATUS_FAULT_STATE,
  NVSIPL_STATUS_ERROR
}
 Defines the status codes returned by functions in SIPL modules. More...
 
enum  SIPLGpioEvent {
  NVSIPL_GPIO_EVENT_NOTHING = 0,
  NVSIPL_GPIO_EVENT_INTR,
  NVSIPL_GPIO_EVENT_ERROR_WAIT_CANCELLED,
  NVSIPL_GPIO_EVENT_ERROR_CDAC,
  NVSIPL_GPIO_EVENT_ERROR_BACKEND,
  NVSIPL_GPIO_EVENT_ERROR_UNKNOWN
}
 CDAC GPIO event codes. More...
 
enum  SIPLModuleErrorReadFlag {
  NVSIPL_MODULE_ERROR_READ_SENSOR,
  NVSIPL_MODULE_ERROR_READ_SERIALIZER,
  NVSIPL_MODULE_ERROR_READ_ALL
}
 Flag indicating which module errors to read. More...
 
enum  PluginType {
  NV_PLUGIN = 0,
  CUSTOM_PLUGIN0,
  MAX_NUM_PLUGINS
}
 Defines types of SIPL Control Auto plug-ins. More...
 

Functions

void NvSIPLGetVersion (NvSIPLVersion &rVersion)
 Returns the version of the SIPL library. More...
 

Variables

static constexpr uint32_t MAX_DEVICEBLOCKS_PER_PLATFORM {6U}
 Indicates the maximum number of device blocks per platform. More...
 
static constexpr uint32_t MAX_CAMERAMODULES_PER_BLOCK {4U}
 Indicates the maximum number of camera modules per device block. More...
 
static constexpr uint32_t MAX_CAMERAMODULES_PER_PLATFORM {MAX_DEVICEBLOCKS_PER_PLATFORM * MAX_CAMERAMODULES_PER_BLOCK}
 Indicates the maximum number of camera modules per platform. More...
 
static constexpr uint32_t MAX_SENSORS_PER_PLATFORM {MAX_CAMERAMODULES_PER_PLATFORM}
 Indicates the maximum number of sensors per platform. More...
 
static constexpr std::uint32_t MAX_CSI_LANE_CONFIGURATION {2U}
 Indicates the maximum number of CSI lane configurations. More...
 
static constexpr std::uint32_t X2_CSI_LANE_CONFIGURATION {0U}
 Indicates the index for CSI 2 lanes. More...
 
static constexpr std::uint32_t X4_CSI_LANE_CONFIGURATION {1U}
 Indicates the index for CSI 4 lanes. More...
 
static constexpr std::uint8_t CAMREC_NONE {0U}
 Recorder configuration. More...
 
static constexpr std::uint8_t CAMREC_VER1 {1U}
 Enable Recorder support with the samtec cable version 1. More...
 
static constexpr std::uint8_t CAMREC_VER2_A01B23 {2U}
 Enable Recorder support for 4 cameras with the samtec cable version 2. More...
 
static constexpr std::uint8_t CAMREC_VER2_A01 {3U}
 Enable Recorder support for first 2 cameras with the samtec cable version 2. More...
 
static constexpr std::uint8_t CAMREC_VER2_B23 {4U}
 Enable Recorder support for second 2 cameras with the samtec cable version 2. More...
 
constexpr uint32_t NVSIPL_MAJOR_VER = 1U
 Indicates the major revision. More...
 
constexpr uint32_t NVSIPL_MINOR_VER = 0U
 Indicates the minor revision. More...
 
constexpr uint32_t NVSIPL_PATCH_VER = 0U
 Indicates the patch revision. More...
 
constexpr uint32_t NUM_GTM_SPLINE_POINTS = 18U
 Defines the number of global tone map spline points. More...
 
enum  NvSiplNvSciSyncClientType {
  SIPL_SIGNALER,
  SIPL_WAITER,
  SIPL_SIGNALER_WAITER
}
 
enum  NvSiplNvSciSyncObjType {
  NVSIPL_PRESYNCOBJ,
  NVSIPL_EOFSYNCOBJ,
  NVSIPL_SOFSYNCOBJ,
  NVSIPL_EOF_PRESYNCOBJ,
  NVSIPL_SOF_PRESYNCOBJ
}
 Defines SIPL NvSciSyncObj types. More...
 
static constexpr size_t NITO_PARAMETER_SET_ID_SIZE {16U}
 
static constexpr size_t NITO_SCHEMA_HASH_SIZE {32U}
 
static constexpr size_t NITO_DATA_HASH_SIZE {32U}
 
SIPLStatus GetNitoMetadataFromMemory (uint8_t const *const nitoMem, size_t const nitoMemLength, NvSIPLNitoMetadata *const metadataArray, size_t const metadataArrayLength, size_t *const metadataCount)
 Get NITO Metadata (knobset UUID, schema hash, data hash) from a NITO memory buffer. More...
 

Enumeration Type Documentation

◆ NvSiplNvSciSyncClientType

Enumerator
SIPL_SIGNALER 

For a given SyncObj SIPL acts as a signaler.

This type corresponds to postfences from SIPL

SIPL_WAITER 
SIPL_SIGNALER_WAITER 

Definition at line 111 of file NvSIPLCamera.hpp.

◆ NvSiplNvSciSyncObjType

Defines SIPL NvSciSyncObj types.

Enumerator
NVSIPL_PRESYNCOBJ 

Specifies an NvSciSyncObj type for which SIPL acts as a waiter.

NVSIPL_EOFSYNCOBJ 

Specifies an NvSciSyncObj type for which SIPL acts as a signaler, signaling EOFFence.

NVSIPL_SOFSYNCOBJ 

Specifies an NvSciSyncObj type for which SIPL acts as a signaler, signaling SOFFence.

NVSIPL_EOF_PRESYNCOBJ 

Specifies an NvSciSyncObj type for which SIPL acts both as a signaler, signaling EOFFence, and as a waiter.

Use this type in usecases where an EOFfence from a SIPL handle in one iteration is used as a PREfence for the same handle in the next iteration.

NVSIPL_SOF_PRESYNCOBJ 

Specifies an NvSciSyncObj type for which a SIPL component acts as a signaler, signaling SOFFence, as a waiter.

Use this type in usecases where an SOFfence from a SIPL handle in one iteration is used as a PREfence for the same handle in the next iteration.

Definition at line 126 of file NvSIPLCamera.hpp.

Function Documentation

◆ GetNitoMetadataFromMemory()

SIPLStatus nvsipl::GetNitoMetadataFromMemory ( uint8_t const *const  nitoMem,
size_t const  nitoMemLength,
NvSIPLNitoMetadata *const  metadataArray,
size_t const  metadataArrayLength,
size_t *const  metadataCount 
)

Get NITO Metadata (knobset UUID, schema hash, data hash) from a NITO memory buffer.

Precondition
None.

The possible return values from this functions are:

  • NVSIPL_STATUS_OK
  • NVSIPL_STATUS_BAD_ARGUMENT
  • NVSIPL_STATUS_INVALID_STATE
  • NVSIPL_STATUS_OUT_OF_MEMORY
  • NVSIPL_STATUS_ERROR
Parameters
[in]nitoMemPointer to location of memory to load from.
[in]nitoMemLengthSize of memory pointed to by nitoMem. This value must be in the range [1, 6MB (6UL * 1024UL * 1024UL)].
[in,out]metadataArrayAn array of NitoMetadata tuples to store the result.
[in]metadataArrayLengthThe size of array metadataArray
[out]metadataCountThe number of tuples stored in metadataArray on success.
Returns
SIPLStatus the completion status of the operation.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes, with the following conditions:
      • Two threads are not using the same metadata array.
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: Yes
    • Runtime: No
    • De-Init: No

Variable Documentation

◆ NITO_DATA_HASH_SIZE

constexpr size_t nvsipl::NITO_DATA_HASH_SIZE {32U}
staticconstexpr

Definition at line 52 of file NvSIPLCamera.hpp.

◆ NITO_SCHEMA_HASH_SIZE

constexpr size_t nvsipl::NITO_SCHEMA_HASH_SIZE {32U}
staticconstexpr

Definition at line 51 of file NvSIPLCamera.hpp.