NVIDIA DRIVE OS Linux API Reference

5.1.6.1 Release
For Test and Development only

 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  NvSciStreamElementAttr
 Defines attributes of a packet element. More...
 
struct  NvSciStreamElementDesc
 Structure representing a packet element. More...
 
struct  NvSciStreamPayload
 Defines a "frame" of data sent to the consumer or returned to the producer. More...
 
struct  NvSciStreamSyncAttr
 Defines the requirements for an endpoint to be able to read sync objects provided by the other endpoint. More...
 
struct  NvSciStreamSyncDesc
 Describes a single sync object that will be sent to or received from the other endpoint. More...
 
struct  NvSciStreamEvent
 Describes a component event. More...
 

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,
  NvSciStreamQueryableAttrib_MaxSyncObj
}
 Defines NvSciStream attributes that are queryable. More...
 
enum  NvSciStreamElementMode {
  NvSciStreamElementMode_Asynchronous,
  NvSciStreamElementMode_Immediate
}
 Defines packet element access modes. More...
 
enum  NvSciStreamEventType {
  NvSciStreamEventType_ConnectDownstream,
  NvSciStreamEventType_ConnectUpstream,
  NvSciStreamEventType_SyncAttr,
  NvSciStreamEventType_SyncCount,
  NvSciStreamEventType_SyncDesc,
  NvSciStreamEventType_PacketElementCountProducer,
  NvSciStreamEventType_PacketElementCountConsumer,
  NvSciStreamEventType_PacketElementCount,
  NvSciStreamEventType_PacketAttrProducer,
  NvSciStreamEventType_PacketAttrConsumer,
  NvSciStreamEventType_PacketAttr,
  NvSciStreamEventType_PacketCreate,
  NvSciStreamEventType_PacketElement,
  NvSciStreamEventType_PacketDelete,
  NvSciStreamEventType_PacketStatusProducer,
  NvSciStreamEventType_PacketStatusConsumer,
  NvSciStreamEventType_ElementStatusProducer,
  NvSciStreamEventType_ElementStatusConsumer,
  NvSciStreamEventType_PacketReady,
  NvSciStreamEventType_DisconnectDownstream,
  NvSciStreamEventType_DisconnectUpstream
}
 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 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, const NvSciStreamSyncAttr *attr)
 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, const NvSciStreamSyncDesc *sync)
 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, const NvSciStreamElementAttr *attr)
 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, const NvSciStreamElementDesc *desc)
 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, NvSciStreamPayload *payload)
 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, NvSciStreamPayload *payload)
 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...