NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvscistream.h File Reference

Detailed Description

NVIDIA Software Communications Interface (SCI) : NvSciStream

The NvSciStream library is a layer on top of NvSciBuf and NvSciSync libraries to provide utilities for streaming sequences of data packets between multiple application modules to support a wide variety of use cases.

Definition in file nvscistream.h.

Go to the source code of this file.

Data Structures

struct  NvSciStreamEvent
 Describes a component event. 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 stream component. More...
 
typedef uintptr_t NvSciStreamPacket
 NvSciStream-assigned handle for a packet. More...
 
typedef uintptr_t NvSciStreamCookie
 Component-assigned cookie for a packet. 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 packet element access modes. 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 component event types. More...
 

Functions

NvSciError NvSciStreamBlockConnect (NvSciStreamBlock upstream, NvSciStreamBlock downstream)
 Connects two stream blocks. More...
 
NvSciError NvSciStreamProducerCreate (NvSciStreamBlock pool, NvSciStreamBlock *producer)
 Creates a stream producer block. More...
 
NvSciError NvSciStreamConsumerCreate (NvSciStreamBlock queue, NvSciStreamBlock *consumer)
 Creates a stream consumer block. More...
 
NvSciError NvSciStreamStaticPoolCreate (uint32_t numPackets, NvSciStreamBlock *pool)
 Creates a static stream pool block. More...
 
NvSciError NvSciStreamMailboxQueueCreate (NvSciStreamBlock *queue)
 Creates a mailbox queue block. More...
 
NvSciError NvSciStreamFifoQueueCreate (NvSciStreamBlock *queue)
 Creates a FIFO queue block. More...
 
NvSciError NvSciStreamMulticastCreate (uint32_t outputCount, NvSciStreamBlock *multicast)
 Creates a multicast block. More...
 
NvSciError NvSciStreamIpcSrcCreate (NvSciIpcEndpoint ipcEndpoint, NvSciSyncModule syncModule, NvSciBufModule bufModule, NvSciStreamBlock *ipc)
 Creates an IPC source block. More...
 
NvSciError NvSciStreamIpcDstCreate (NvSciIpcEndpoint ipcEndpoint, NvSciSyncModule syncModule, NvSciBufModule bufModule, NvSciStreamBlock *ipc)
 Creates an IPC destination block. More...
 
NvSciError NvSciStreamBlockEventQuery (NvSciStreamBlock block, int64_t timeoutUsec, NvSciStreamEvent *event)
 Queries for the next event from block's event queue. More...
 
NvSciError NvSciStreamBlockSyncRequirements (NvSciStreamBlock block, bool synchronousOnly, NvSciSyncAttrList waitSyncAttrList)
 Sets block sync object requirements. More...
 
NvSciError NvSciStreamBlockSyncObjCount (NvSciStreamBlock block, uint32_t count)
 Provides block's number of sync objects. More...
 
NvSciError NvSciStreamBlockSyncObject (NvSciStreamBlock block, uint32_t index, NvSciSyncObj syncObj)
 Provides block's sync objects. More...
 
NvSciError NvSciStreamBlockPacketElementCount (NvSciStreamBlock block, uint32_t count)
 Block sets the number of elements in a packet. More...
 
NvSciError NvSciStreamBlockPacketAttr (NvSciStreamBlock block, uint32_t index, uint32_t type, NvSciStreamElementMode syncMode, NvSciBufAttrList bufAttrList)
 Sets block packet requirements/capabilities. More...
 
NvSciError NvSciStreamPoolPacketCreate (NvSciStreamBlock pool, NvSciStreamCookie cookie, NvSciStreamPacket *handle)
 Adds a new packet to the pool. More...
 
NvSciError NvSciStreamPoolPacketInsertBuffer (NvSciStreamBlock pool, NvSciStreamPacket handle, uint32_t index, NvSciBufObj bufObj)
 Registers a buffer to the packet. More...
 
NvSciError NvSciStreamPoolPacketDelete (NvSciStreamBlock pool, NvSciStreamPacket handle)
 Removes a packet from the pool. More...
 
NvSciError NvSciStreamBlockPacketAccept (NvSciStreamBlock block, NvSciStreamPacket handle, NvSciStreamCookie cookie, NvSciError err)
 Accepts a packet provided by the pool. More...
 
NvSciError NvSciStreamBlockElementAccept (NvSciStreamBlock block, NvSciStreamPacket handle, uint32_t index, NvSciError err)
 Accepts a packet element provided by the pool. More...
 
NvSciError NvSciStreamProducerPacketGet (NvSciStreamBlock producer, NvSciStreamCookie *cookie, NvSciSyncFence *prefences)
 Instructs the producer to get a packet from the pool. More...
 
NvSciError NvSciStreamProducerPacketPresent (NvSciStreamBlock producer, NvSciStreamPacket handle, NvSciSyncFence *postfences)
 Inserts a data packet into the stream. More...
 
NvSciError NvSciStreamConsumerPacketAcquire (NvSciStreamBlock consumer, NvSciStreamCookie *cookie, NvSciSyncFence *prefences)
 Instructs the consumer to get a packet from the queue. More...
 
NvSciError NvSciStreamConsumerPacketRelease (NvSciStreamBlock consumer, NvSciStreamPacket handle, NvSciSyncFence *postfences)
 Returns a data packet to the stream. More...
 
NvSciError NvSciStreamBlockDelete (NvSciStreamBlock block)
 Destroys a stream block. More...
 
NvSciError NvSciStreamAttributeQuery (NvSciStreamQueryableAttrib attr, int32_t *value)
 Queries NvSciStream attributes. More...
 

Variables

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