NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only

Detailed Description

Contains a list of NvSciStream datatypes.

Data Structures

struct  NvSciStreamEvent
 Describes an event triggered by the blocks. More...
 
struct  NvSciStreamElementAttr
 The following data structures are no longer used by any interfaces and are deprecated. More...
 
struct  NvSciStreamElementDesc
 
struct  NvSciStreamSyncAttr
 
struct  NvSciStreamSyncDesc
 
struct  NvSciStreamPayload
 

Typedefs

typedef uintptr_t NvSciStreamBlock
 Handle to a block. More...
 
typedef uintptr_t NvSciStreamPacket
 NvSciStream assigned handle for a packet. More...
 
typedef uintptr_t NvSciStreamCookie
 Application assigned cookie for a NvSciStreamPacket. More...
 

Enumerations

enum  NvSciStreamQueryableAttrib {
  NvSciStreamQueryableAttrib_MaxElements = 0x000000,
  NvSciStreamQueryableAttrib_MaxSyncObj = 0x000001,
  NvSciStreamQueryableAttrib_MaxMulticastOutputs = 0x000002
}
 Defines NvSciStream attributes that are queryable. More...
 
enum  NvSciStreamElementMode {
  NvSciStreamElementMode_Asynchronous = 0x000000,
  NvSciStreamElementMode_Immediate = 0x000001
}
 Defines access modes for the elements of a packet. More...
 
enum  NvSciStreamEventType {
  NvSciStreamEventType_Connected = 0x004004,
  NvSciStreamEventType_Disconnected = 0x004005,
  NvSciStreamEventType_SyncAttr = 0x004010,
  NvSciStreamEventType_SyncCount = 0x004011,
  NvSciStreamEventType_SyncDesc = 0x004012,
  NvSciStreamEventType_PacketElementCountProducer = 0x004020,
  NvSciStreamEventType_PacketElementCountConsumer = 0x004021,
  NvSciStreamEventType_PacketElementCount = 0x004022,
  NvSciStreamEventType_PacketAttrProducer = 0x004023,
  NvSciStreamEventType_PacketAttrConsumer = 0x004024,
  NvSciStreamEventType_PacketAttr = 0x004025,
  NvSciStreamEventType_PacketCreate = 0x004030,
  NvSciStreamEventType_PacketElement = 0x004031,
  NvSciStreamEventType_PacketDelete = 0x004032,
  NvSciStreamEventType_PacketStatusProducer = 0x004033,
  NvSciStreamEventType_PacketStatusConsumer = 0x004034,
  NvSciStreamEventType_ElementStatusProducer = 0x004035,
  NvSciStreamEventType_ElementStatusConsumer = 0x004036,
  NvSciStreamEventType_PacketReady = 0x004040,
  NvSciStreamEventType_Error = 0x0040FF
}
 Defines event types for the blocks. More...
 

Variables

static const NvSciStreamPacket NvSciStreamPacket_Invalid = 0U
 Constant variable denoting an invalid NvSciStreamPacket. More...
 
static const NvSciStreamCookie NvSciStreamCookie_Invalid = 0U
 Constant variable denoting an invalid NvSciStreamCookie. More...
 

Typedef Documentation

◆ NvSciStreamBlock

typedef uintptr_t NvSciStreamBlock

Handle to a block.

Definition at line 47 of file nvscistream_types.h.

◆ NvSciStreamCookie

typedef uintptr_t NvSciStreamCookie

Application assigned cookie for a NvSciStreamPacket.

Definition at line 55 of file nvscistream_types.h.

◆ NvSciStreamPacket

typedef uintptr_t NvSciStreamPacket

NvSciStream assigned handle for a packet.

Definition at line 50 of file nvscistream_types.h.

Enumeration Type Documentation

◆ NvSciStreamElementMode

Defines access modes for the elements of a packet.

Enumerator
NvSciStreamElementMode_Asynchronous 

Written asynchronously, typically by hardware engine.

Requires waiting for associated NvSciSyncObj(s) before reading.

NvSciStreamElementMode_Immediate 

Written synchronously, typically by CPU.

Available for reading immediately.

Definition at line 151 of file nvscistream_types.h.

◆ NvSciStreamEventType

Defines event types for the blocks.

Enumerator
NvSciStreamEventType_Connected 

Indicates block has complete connection to producer and consumer endpoints.

The user may now proceed to perform other operations on the block.

Received by all blocks.

No NvSciStreamEvent data fields are used.

NvSciStreamEventType_Disconnected 

Indicates portions of the stream have disconnected such that no more useful work can be done with the block.

Note that this event is not always triggered immediately when any disconnect occurs. For instance:

  • If a consumer still has packets waiting in its queue when a producer is destroyed, it will not be informed of the disconnection until all packets are acquired by calling NvSciStreamConsumerPacketAcquire().

Received by all blocks.

No NvSciStreamEvent data fields are used.

NvSciStreamEventType_SyncAttr 

Specifies NvSciSyncObj waiter requirements.

Received by producer and consumer blocks.

The following NvSciStreamEvent fields will be set:

  • syncAttrList: Provides an NvSciSyncAttrList which the recipient can combine with its own requirements to create NvSciSyncObj(s) that will be used to signal the other endpoint.
  • synchronousOnly: If set, NvSciSyncObj(s) cannot be used by the other side. The recipient should not create NvSciSyncObj(s), and should instead perform CPU waits before presenting or releasing packets.

The values in the fields may not exactly match those sent from the other endpoint. The stream may transform them as they pass through. In particular, a multicast block combines the requirements of all consumers before passing them to the producer.

NvSciStreamEventType_SyncCount 

Specifies the number of NvSciSyncObj(s) sent from the opposite endpoint.

Received by producer and consumer blocks.

The following NvSciStreamEvent fields will be set:

  • count: Indicates the number of NvSciSyncObj(s) that will be provided by the other endpoint. The recipient can expect this many NvSciStreamEventType_SyncDesc events to follow.
NvSciStreamEventType_SyncDesc 

Specifies a NvSciSyncObj sent from the opposite endpoint.

Received by producer and consumer blocks.

The following NvSciStreamEvent fields will be set:

  • index: Specifies an index within the array of NvSciSyncObj(s).
  • syncObj: Provides a NvSciSyncObj which the recipient should map into the libraries which will operate on stream data.
NvSciStreamEventType_PacketElementCountProducer 

Specifies supported packet element count from producer.

Received by pool block.

The following NvSciStreamEvent fields will be set:

  • count: Indicates the number of packet element types that the producer is capable of generating. The recipient can expect this many NvSciStreamEventType_PacketAttrProducer events.
NvSciStreamEventType_PacketElementCountConsumer 

Specifies supported packet element count from consumer.

Received by pool block.

The following NvSciStreamEvent fields will be set:

  • count: Indicates the number of packet element types that the consumer wishes to receive. The recipient can expect this many NvSciStreamEventType_PacketAttrConsumer events.
NvSciStreamEventType_PacketElementCount 

Specifies the packet element count determined by pool.

Received by producer and consumer blocks.

The following NvSciStreamEvent fields will be set:

  • count: Indicates the number of packet elements that the pool will provide for each packet. The recipient can expect this many NvSciStreamEventType_PacketAttr events and this many NvSciStreamEventType_PacketElement events for each packet.
NvSciStreamEventType_PacketAttrProducer 

Specifies the packet element information from producer.

Received by pool block.

The following NvSciStreamEvent fields will be set:

  • index: Index within the list of packet elements provided by the producer.
  • userData: A user-defined type which applications use to identify the element and allow elements provided by the producer to be matched with those desired by the consumer. At most one element of any given type can be specified.
  • bufAttrList: Provides an NvSciBufAttrList which the recipient can combine with its own requirements and those of the consumer to allocate NvSciBufObj(s) which all parties can use.
  • syncMode: Indicates whether the buffer data will be available immediately when the producer provides a packet or if the user must wait for the producer's NvSciSyncObj(s) first.

The values in the fields may not exactly match those sent from the producer. The stream may transform them as they pass through.

NvSciStreamEventType_PacketAttrConsumer 

Specifies the packet element information from consumer.

Received by pool block.

The following NvSciStreamEvent fields will be set:

  • index: Index within the list of packet elements requested by the consumer.
  • userData: A user-defined type which applications use to identify the element and allow elements provided by the producer to be matched with those desired by the consumer. At most one element of any given type can be specified.
  • bufAttrList: Provides an NvSciBufAttrList which the recipient can combine with its own requirements and those of the producer to allocate buffers which all parties can use.
  • syncMode: Indicates whether the consumer desires the buffer data to be available immediately when the packet is acquired or if it can wait until the producer's NvSciSyncObj(s) have triggered.

The values in the fields may not exactly match those sent from the consumer. The stream may transform them as they pass through. In particular, multi-cast components combine the requirements of all consumers before passing them to the pool.

NvSciStreamEventType_PacketAttr 

Specifies the finalized packet element information from pool.

Received by producer and consumer blocks.

The following NvSciStreamEvent fields will be set:

  • index: Index within the list of packet elements allocated by the pool.
  • userData: A user-defined type which applications use to identify the element and allow elements provided by the producer to be matched with those desired by the consumer. At most one element of any given type can be specified.
  • bufAttrList: Provides the combined NvSciBufAttrList used by the pool to allocate the element.
  • syncMode: Indicates the NvSciStreamElementMode that the producer should use and the consumer should expect.

The values in the fields may not exactly match those sent from the pool. The stream may transform them as they pass through.

NvSciStreamEventType_PacketCreate 

Specifies the new packet created by pool.

Received by producer and consumer blocks.

The following NvSciStreamEvent fields will be set:

  • packetHandle: Contains NvSciStreamPacket for the new packet. This should be used whenever the component references the packet in the future.
NvSciStreamEventType_PacketElement 

Specifies new packet element.

Received by producer and consumer blocks.

The following NvSciStreamEvent fields will be set:

  • packetCookie: Contains the NvSciStreamCookie which the recipient provided to identify its data structure for the NvSciStreamPacket upon accepting it.
  • index: Index within the list of the packet's elements.
  • bufObj: Provides a NvSciBufObj which the recipient should map into the libraries which will operate on stream data.
NvSciStreamEventType_PacketDelete 

Specifies the deleted packet.

Received by producer and consumer blocks.

The following NvSciStreamEvent fields will be set:

  • packetCookie: Contains the NvSciStreamCookie which the recipient provided to identify its data structure for the NvSciStreamPacket upon accepting it.
NvSciStreamEventType_PacketStatusProducer 

Specifies the producer's acceptance status of packet.

Received by pool block.

The following NvSciStreamEvent fields will be set:

  • packetCookie: Contains the NvSciStreamCookie which the pool provided to identify its data structure for the packet upon creating it.
  • error: An error code indicating whether the producer was able to add the new packet.
NvSciStreamEventType_PacketStatusConsumer 

Specifies the consumer(s)' acceptance status of packet.

Received by pool block.

The following NvSciStreamEvent fields will be set:

  • packetCookie: Contains the NvSciStreamCookie which the pool provided to identify its data structure for the packet upon creating it.
  • error: An error code indicating whether the consumer was able to add the new packet.
NvSciStreamEventType_ElementStatusProducer 

Specifies the producer's acceptance status of packet element.

Received by pool block.

The following NvSciStreamEvent fields will be set:

  • packetCookie: Contains the NvSciStreamCookie which the pool provided to identify its data structure for the packet upon creating it.
  • index: Index of packet element for which status is provided.
  • error: An error code indicating whether the producer was able to map in the NvSciBufObj of the packet element.
NvSciStreamEventType_ElementStatusConsumer 

Specifies the consumer(s)' acceptance status of packet element.

Received by pool block.

The following NvSciStreamEvent fields will be set:

  • packetCookie: Contains the NvSciStreamCookie which the pool provided to identify its data structure for the packet upon creating it.
  • index: Index of packet element for which status is provided.
  • error: An error code indicating whether the consumer was able to map in the NvSciBufObj of the packet element.
NvSciStreamEventType_PacketReady 

Specifies a packet is available for reuse or acquire.

Received by producer and consumer blocks.

No NvSciStreamEvent data fields are used.

NvSciStreamEventType_Error 

Indicates a failure not directly triggered by user action.

Received by any block.

The following NvSciStreamEvent fields will be set:

  • error: An error code providing information about what went wrong.

Definition at line 167 of file nvscistream_types.h.

◆ NvSciStreamQueryableAttrib

Defines NvSciStream attributes that are queryable.

Enumerator
NvSciStreamQueryableAttrib_MaxElements 

Maximum number of elements allowed per packet.

NvSciStreamQueryableAttrib_MaxSyncObj 

Maximum number of NvSciSyncObjs allowed.

NvSciStreamQueryableAttrib_MaxMulticastOutputs 

Maximum number of multicast outputs allowed.

Definition at line 138 of file nvscistream_types.h.

Variable Documentation

◆ NvSciStreamCookie_Invalid

const NvSciStreamCookie NvSciStreamCookie_Invalid = 0U
static

Constant variable denoting an invalid NvSciStreamCookie.

Definition at line 69 of file nvscistream_types.h.

◆ NvSciStreamPacket_Invalid

const NvSciStreamPacket NvSciStreamPacket_Invalid = 0U
static

Constant variable denoting an invalid NvSciStreamPacket.

Definition at line 62 of file nvscistream_types.h.