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_api.h.
Go to the source code of this file.
Functions | |
NvSciError | NvSciStreamBlockConnect (NvSciStreamBlock const upstream, NvSciStreamBlock const downstream) |
Establishes connection between two blocks referenced by the given NvSciStreamBlock(s). More... | |
NvSciError | NvSciStreamProducerCreate (NvSciStreamBlock const pool, NvSciStreamBlock *const producer) |
Creates an instance of producer block, associates the given pool referenced by the given NvSciStreamBlock with it and returns a NvSciStreamBlock referencing the created producer block. More... | |
NvSciError | NvSciStreamProducerCreate2 (NvSciStreamBlock const pool, bool const crcValidate, NvSciStreamBlock *const producer) |
Creates an instance of producer block, associates the given pool referenced by the given NvSciStreamBlock with it and returns a NvSciStreamBlock referencing the created producer block. More... | |
NvSciError | NvSciStreamConsumerCreate (NvSciStreamBlock const queue, NvSciStreamBlock *const consumer) |
Creates an instance of consumer block, associates the given queue block referenced by the given NvSciStreamBlock with it and returns a NvSciStreamBlock referencing the created consumer block. More... | |
NvSciError | NvSciStreamConsumerCreate2 (NvSciStreamBlock const queue, bool const crcValidate, NvSciStreamBlock *const consumer) |
Creates an instance of consumer block, associates the given queue block referenced by the given NvSciStreamBlock with it and returns a NvSciStreamBlock referencing the created consumer block. More... | |
NvSciError | NvSciStreamStaticPoolCreate (uint32_t const numPackets, NvSciStreamBlock *const pool) |
Creates an instance of static pool block and returns a NvSciStreamBlock referencing the created pool block. More... | |
NvSciError | NvSciStreamMailboxQueueCreate (NvSciStreamBlock *const queue) |
Creates an instance of mailbox queue block and returns a NvSciStreamBlock referencing the created mailbox queue block. More... | |
NvSciError | NvSciStreamFifoQueueCreate (NvSciStreamBlock *const queue) |
Creates an instance of FIFO queue block and returns a NvSciStreamBlock referencing the created FIFO queue block. More... | |
NvSciError | NvSciStreamMulticastCreate (uint32_t const outputCount, NvSciStreamBlock *const multicast) |
Creates an instance of multicast block and returns a NvSciStreamBlock referencing the created multicast block. More... | |
NvSciError | NvSciStreamIpcSrcCreate (NvSciIpcEndpoint const ipcEndpoint, NvSciSyncModule const syncModule, NvSciBufModule const bufModule, NvSciStreamBlock *const ipc) |
Creates an instance of IpcSrc block and returns a NvSciStreamBlock referencing the created IpcSrc block. More... | |
NvSciError | NvSciStreamIpcSrcCreate2 (NvSciIpcEndpoint const ipcEndpoint, NvSciSyncModule const syncModule, NvSciBufModule const bufModule, NvSciStreamBlock const queue, NvSciStreamBlock *const ipc) |
Creates an instance of IpcSrc or C2CSrc block and returns a NvSciStreamBlock referencing the created block. More... | |
NvSciError | NvSciStreamIpcDstCreate (NvSciIpcEndpoint const ipcEndpoint, NvSciSyncModule const syncModule, NvSciBufModule const bufModule, NvSciStreamBlock *const ipc) |
Creates an instance of IpcDst block and returns a NvSciStreamBlock referencing the created IpcDst block. More... | |
NvSciError | NvSciStreamIpcDstCreate2 (NvSciIpcEndpoint const ipcEndpoint, NvSciSyncModule const syncModule, NvSciBufModule const bufModule, NvSciStreamBlock const pool, NvSciStreamBlock *const ipc) |
Creates an instance of IpcDst or C2CDst block and returns a NvSciStreamBlock referencing the created block. More... | |
NvSciError | NvSciStreamLimiterCreate (uint32_t const maxPackets, NvSciStreamBlock *const limiter) |
Creates an instance of Limiter block and returns a NvSciStreamBlock referencing the created Limiter block. More... | |
NvSciError | NvSciStreamReturnSyncCreate (NvSciSyncModule const syncModule, NvSciStreamBlock *const returnSync) |
Creates an instance of ReturnSync block and returns a NvSciStreamBlock referencing the created ReturnSync block. More... | |
NvSciError | NvSciStreamPresentSyncCreate (NvSciSyncModule const syncModule, NvSciStreamBlock *const presentSync) |
Creates an instance of PresentSync block and returns a NvSciStreamBlock referencing the created PresentSync block. More... | |
NvSciError | NvSciStreamBlockEventQuery (NvSciStreamBlock const block, int64_t const timeoutUsec, NvSciStreamEventType *const event) |
Queries for the next event from block referenced by the given NvSciStreamBlock, optionally waiting when the an event is not yet available, then removes the event from the priority queue and returns the event type to the caller. More... | |
NvSciError | NvSciStreamBlockErrorGet (NvSciStreamBlock const block, NvSciError *const status) |
Queries the error code for an error event. More... | |
NvSciError | NvSciStreamBlockConsumerCountGet (NvSciStreamBlock const block, uint32_t *const numConsumers) |
Queries the number of consumers downstream of the block referenced by the given NvSciStreamBlock (or 1 if the block itself is a consumer). More... | |
NvSciError | NvSciStreamBlockSetupStatusSet (NvSciStreamBlock const block, NvSciStreamSetup const setupType, bool const completed) |
Indicates a group of setup operations identified by setupType on block are complete. More... | |
NvSciError | NvSciStreamBlockElementAttrSet (NvSciStreamBlock const block, uint32_t const userType, NvSciBufAttrList const bufAttrList) |
Adds an element with the specified userType and bufAttrList to the list of elements defined by block. More... | |
NvSciError | NvSciStreamBlockElementCountGet (NvSciStreamBlock const block, NvSciStreamBlockType const queryBlockType, uint32_t *const numElements) |
Queries the number of elements received at the block from the source identified by queryBlockType. More... | |
NvSciError | NvSciStreamBlockElementAttrGet (NvSciStreamBlock const block, NvSciStreamBlockType const queryBlockType, uint32_t const elemIndex, uint32_t *const userType, NvSciBufAttrList *const bufAttrList) |
Queries the user-defined type and/or buffer attribute list for an entry, referenced by elemIndex, in list of elements received at the block from the source identified by queryBlockType. More... | |
NvSciError | NvSciStreamBlockElementNotVisible (NvSciStreamBlock const pool, uint32_t const userType, uint32_t const consumerIndex) |
Indicates the entry with userType in the list of allocated elements will be visible to the consumer block at @consumerIndex. More... | |
NvSciError | NvSciStreamBlockElementUsageSet (NvSciStreamBlock const block, uint32_t const elemIndex, bool const used) |
Indicates whether the entry at elemIndex in the list of allocated elements will be used by the block. More... | |
NvSciError | NvSciStreamPoolPacketCreate (NvSciStreamBlock const pool, NvSciStreamCookie const cookie, NvSciStreamPacket *const handle) |
Creates a new packet and adds it to the pool block referenced by the given NvSciStreamBlock, associates the given NvSciStreamCookie with the packet and returns a NvSciStreamPacket which references the created packet. More... | |
NvSciError | NvSciStreamPoolPacketInsertBuffer (NvSciStreamBlock const pool, NvSciStreamPacket const handle, uint32_t const index, NvSciBufObj const bufObj) |
Registers an NvSciBufObj as the indexed element of the referenced NvSciStreamPacket owned by the pool block. More... | |
NvSciError | NvSciStreamPoolPacketComplete (NvSciStreamBlock const pool, NvSciStreamPacket const handle) |
Marks a packet as complete and sends it to the rest of the stream. More... | |
NvSciError | NvSciStreamPoolPacketDelete (NvSciStreamBlock const pool, NvSciStreamPacket const handle) |
Removes a packet referenced by the given NvSciStreamPacket from the pool block referenced by the given NvSciStreamBlock. More... | |
NvSciError | NvSciStreamBlockPacketNewHandleGet (NvSciStreamBlock const block, NvSciStreamPacket *const handle) |
In producer and consumer blocks, queries the handle of a newly defined packet. More... | |
NvSciError | NvSciStreamBlockPacketBufferGet (NvSciStreamBlock const block, NvSciStreamPacket const handle, uint32_t const elemIndex, NvSciBufObj *const bufObj) |
In producer and consumer blocks, queries an indexed buffer from a packet. More... | |
NvSciError | NvSciStreamBlockPacketOldCookieGet (NvSciStreamBlock const block, NvSciStreamCookie *const cookie) |
In producer and consumer blocks, queries the cookie of a recently deleted packet. More... | |
NvSciError | NvSciStreamBlockPacketStatusSet (NvSciStreamBlock const block, NvSciStreamPacket const handle, NvSciStreamCookie const cookie, NvSciError const status) |
In producer and consumer blocks, either accepts a packet, providing a cookie to be used in subsequent operations, or rejects it, providing an error value to be reported to the pool. More... | |
NvSciError | NvSciStreamPoolPacketStatusAcceptGet (NvSciStreamBlock const pool, NvSciStreamPacket const handle, bool *const accepted) |
In pool, queries whether or not a packet has been accepted. More... | |
NvSciError | NvSciStreamPoolPacketStatusValueGet (NvSciStreamBlock const pool, NvSciStreamPacket const handle, NvSciStreamBlockType const queryBlockType, uint32_t const queryBlockIndex, NvSciError *const status) |
In pool, queries the status value for a given packet returned by a specified endpoint. More... | |
NvSciError | NvSciStreamBlockElementWaiterAttrSet (NvSciStreamBlock const block, uint32_t const elemIndex, NvSciSyncAttrList const waitSyncAttrList) |
Specifies block's NvSciSync requirements to be able to wait for sync objects provided by the opposing endpoint(s) for the element referenced by elemIndex. More... | |
NvSciError | NvSciStreamBlockElementWaiterAttrGet (NvSciStreamBlock const block, uint32_t const elemIndex, NvSciSyncAttrList *const waitSyncAttrList) |
Retrieves the opposing endpoints' NvSciSync requirements to be be able to wait for sync objects signalled by block for the element referenced by elemIndex. More... | |
NvSciError | NvSciStreamBlockElementSignalObjSet (NvSciStreamBlock const block, uint32_t const elemIndex, NvSciSyncObj const signalSyncObj) |
Specifies block's NvSciSync object used to signal when it is done writing or reading a buffer referenced by elemIndex. More... | |
NvSciError | NvSciStreamBlockElementSignalObjGet (NvSciStreamBlock const block, uint32_t const queryBlockIndex, uint32_t const elemIndex, NvSciSyncObj *const signalSyncObj) |
Retrieves an opposing endpoint's NvSciSync object which it uses to signal when it is done writing or readying a buffer referenced by elemIndex. More... | |
NvSciError | NvSciStreamProducerPacketGet (NvSciStreamBlock const producer, NvSciStreamCookie *const cookie) |
Instructs the producer referenced by producer to retrieve a packet from the pool. More... | |
NvSciError | NvSciStreamProducerPacketPresent (NvSciStreamBlock const producer, NvSciStreamPacket const handle) |
Instructs the producer referenced by producer to insert the packet referenced by handle into the stream for consumer processing. More... | |
NvSciError | NvSciStreamConsumerPacketAcquire (NvSciStreamBlock const consumer, NvSciStreamCookie *const cookie) |
Instructs the consumer referenced by consumer to retrieve a packet from the queue. More... | |
NvSciError | NvSciStreamConsumerPacketRelease (NvSciStreamBlock const consumer, NvSciStreamPacket const handle) |
Instructs the consumer referenced by consumer to release the packet referenced by handle into the stream for producer reuse. More... | |
NvSciError | NvSciStreamBlockPacketFenceSet (NvSciStreamBlock const block, NvSciStreamPacket const handle, uint32_t const elemIndex, NvSciSyncFence const *const postfence) |
Sets the postfence which indicates when the application controlling will be done operating on the indexed buffer of a packet. More... | |
NvSciError | NvSciStreamBlockPacketFenceGet (NvSciStreamBlock const block, NvSciStreamPacket const handle, uint32_t const queryBlockIndex, uint32_t const elemIndex, NvSciSyncFence *const prefence) |
Retrieves the prefence which indicates when the the indexed opposing endpoint will be done operating on the indexed buffer of a packet. More... | |
NvSciError | NvSciStreamNewConsumerGet (NvSciStreamBlock const producer, uint32_t const consumerIndex, bool *const newConnected) |
Queries whether the indexed consumer is a newly connected consumer. More... | |
NvSciError | NvSciStreamBlockDelete (NvSciStreamBlock const block) |
Schedules a block referenced by the given NvSciStreamBlock for destruction, disconnecting the block if this hasn't already occurred. More... | |
NvSciError | NvSciStreamBlockDisconnect (NvSciStreamBlock const block) |
Disconnects an IpcSrc block referenced by the given NvSciStreamBlock. More... | |
NvSciError | NvSciStreamAttributeQuery (NvSciStreamQueryableAttrib const attr, int32_t *const value) |
Queries the value of one of the NvSciStreamQueryableAttrib. More... | |
NvSciError | NvSciStreamBlockEventServiceSetup (NvSciStreamBlock const block, NvSciEventService *const eventService, NvSciEventNotifier **const eventNotifier) |
Sets up the NvSciEventService on a block referenced by the given NvSciStreamBlock by creating an NvSciEventNotifier to report the occurrence of any events on that block. More... | |
NvSciError | NvSciStreamBlockInternalEventServiceSetup (NvSciStreamBlock const block, NvSciEventService *const eventService, uint32_t *const notifierCount, NvSciEventNotifier **const eventNotifierArray) |
Configures a block referenced by the given NvSciStreamBlock to use the user-provided NvSciEventService to wait for internal events on this block. More... | |
NvSciError | NvSciStreamBlockHandleInternalEvents (NvSciStreamBlock const block) |
Handle NvSciStream internal events on a block referenced by the given NvSciStreamBlock. More... | |
NvSciError | NvSciStreamBlockUserInfoSet (NvSciStreamBlock const block, uint32_t const userType, uint32_t const dataSize, void const *const data) |
Provides user-defined information at the producer and consumer with the specified userType, which can be queried by other blocks after the stream is fully connected. More... | |
NvSciError | NvSciStreamBlockUserInfoGet (NvSciStreamBlock const block, NvSciStreamBlockType const queryBlockType, uint32_t const queryBlockIndex, uint32_t const userType, uint32_t *const dataSize, void *const data) |
Queries the user-defined information with userType in list of endpoint information at the block from the source identified by queryBlockType and queryBlockIndex. More... | |
NvSciError | NvSciStreamBlockUserInfoSetWithCrc (NvSciStreamBlock const block, uint32_t const userType, uint32_t const dataSize, void const *const data, uint32_t *const crc) |
Provides user-defined information at the producer and consumer with the specified userType, which can be queried by other blocks after the stream is fully connected. More... | |
NvSciError | NvSciStreamBlockUserInfoGetWithCrc (NvSciStreamBlock const block, NvSciStreamBlockType const queryBlockType, uint32_t const queryBlockIndex, uint32_t const userType, uint32_t *const dataSize, void *const data, uint32_t *const crc) |
Queries the user-defined information with userType in list of endpoint information at the block from the source identified by queryBlockType and queryBlockIndex. More... | |
NvSciError | NvSciStreamBlockElementAttrSetWithCrc (NvSciStreamBlock const block, uint32_t const userType, NvSciBufAttrList const bufAttrList, uint32_t *const crc) |
Adds an element with the specified userType and bufAttrList to the list of elements defined by block. More... | |
NvSciError | NvSciStreamBlockElementAttrGetWithCrc (NvSciStreamBlock const block, NvSciStreamBlockType const queryBlockType, uint32_t const elemIndex, uint32_t *const userType, NvSciBufAttrList *const bufAttrList, uint32_t *const crc) |
Queries the user-defined type and/or buffer attribute list for an entry, referenced by elemIndex, in list of elements received at the block from the source identified by queryBlockType. More... | |
NvSciError | NvSciStreamPoolPacketInsertBufferWithCrc (NvSciStreamBlock const pool, NvSciStreamPacket const handle, uint32_t const index, NvSciBufObj const bufObj, uint32_t *const crc) |
Registers an NvSciBufObj as the indexed element of the referenced NvSciStreamPacket owned by the pool block. More... | |
NvSciError | NvSciStreamBlockPacketBufferGetWithCrc (NvSciStreamBlock const block, NvSciStreamPacket const handle, uint32_t const elemIndex, NvSciBufObj *const bufObj, size_t const crcCount, uint32_t *const crc) |
In producer and consumer blocks, queries an indexed buffer from a packet. More... | |
NvSciError | NvSciStreamBlockElementSignalObjSetWithCrc (NvSciStreamBlock const block, uint32_t const elemIndex, NvSciSyncObj const signalSyncObj, uint32_t *const crc) |
Specifies block's NvSciSync object used to signal when it is done writing or reading a buffer referenced by elemIndex. More... | |
NvSciError | NvSciStreamBlockElementSignalObjGetWithCrc (NvSciStreamBlock const block, uint32_t const queryBlockIndex, uint32_t const elemIndex, NvSciSyncObj *const signalSyncObj, uint32_t *const crc) |
Retrieves an opposing endpoint's NvSciSync object which it uses to signal when it is done writing or readying a buffer referenced by elemIndex. More... | |
NvSciError | NvSciStreamBlockPacketFenceSetWithCrc (NvSciStreamBlock const block, NvSciStreamPacket const handle, uint32_t const elemIndex, NvSciSyncFence const *const postfence, uint32_t *const crc) |
Sets the postfence which indicates when the application controlling will be done operating on the indexed buffer of a packet. More... | |
NvSciError | NvSciStreamBlockPacketFenceGetWithCrc (NvSciStreamBlock const block, NvSciStreamPacket const handle, uint32_t const queryBlockIndex, uint32_t const elemIndex, NvSciSyncFence *const prefence, uint32_t *const crc) |
Retrieves the prefence which indicates when the the indexed opposing endpoint will be done operating on the indexed buffer of a packet. More... | |
NvSciError | NvSciStreamConsumerIndexGet (NvSciStreamBlock const consumer, uint32_t *const index) |
Queries the index of the consumer block referenced by the given NvSciStreamBlock. More... | |
NvSciError | NvSciStreamPacketSendSync (NvSciStreamBlock const block) |
Enables the synchronous payload transfer during runtime. More... | |