NVIDIA DRIVE OS Linux SDK API Reference

5.2.6 Release
For Test and Development only
nvscistream_api.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020-2021 NVIDIA Corporation. All rights reserved.
3  *
4  * NVIDIA Corporation and its licensors retain all intellectual property and
5  * proprietary rights in and to this software, related documentation and any
6  * modifications thereto. Any use, reproduction, disclosure or distribution
7  * of this software and related documentation without an express license
8  * agreement from NVIDIA Corporation is strictly prohibited.
9  */
19 #ifndef NVSCISTREAM_API_H
20 #define NVSCISTREAM_API_H
21 
22 #ifdef __cplusplus
23 #include <cstdint>
24 #else
25 #include <stdint.h>
26 #endif
27 #include "nvscierror.h"
28 #include "nvscibuf.h"
29 #include "nvscisync.h"
30 #include "nvsciipc.h"
31 #include "nvscievent.h"
32 #include "nvscistream_types.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
179  NvSciStreamBlock const upstream,
180  NvSciStreamBlock const downstream
181 );
182 
223  NvSciStreamBlock const pool,
224  NvSciStreamBlock *const producer
225 );
226 
267  NvSciStreamBlock const queue,
268  NvSciStreamBlock *const consumer
269 );
270 
306  uint32_t const numPackets,
307  NvSciStreamBlock *const pool
308 );
309 
347  NvSciStreamBlock *const queue
348 );
349 
386  NvSciStreamBlock *const queue
387 );
388 
425  uint32_t const outputCount,
426  NvSciStreamBlock *const multicast
427 );
428 
471  NvSciIpcEndpoint const ipcEndpoint,
472  NvSciSyncModule const syncModule,
473  NvSciBufModule const bufModule,
474  NvSciStreamBlock *const ipc
475 );
476 
519  NvSciIpcEndpoint const ipcEndpoint,
520  NvSciSyncModule const syncModule,
521  NvSciBufModule const bufModule,
522  NvSciStreamBlock *const ipc
523 );
524 
558  uint32_t const maxPackets,
559  NvSciStreamBlock *const limiter
560 );
561 
604  NvSciStreamBlock const block,
605  int64_t const timeoutUsec,
606  NvSciStreamEvent *const event
607 );
608 
652  NvSciStreamBlock const block,
653  bool const synchronousOnly,
654  NvSciSyncAttrList const waitSyncAttrList
655 );
656 
704  NvSciStreamBlock const block,
705  uint32_t const count
706 );
707 
752  NvSciStreamBlock const block,
753  uint32_t const index,
754  NvSciSyncObj const syncObj
755 );
756 
812  NvSciStreamBlock const block,
813  uint32_t const count
814 );
815 
874  NvSciStreamBlock const block,
875  uint32_t const index,
876  uint32_t const type,
877  NvSciStreamElementMode const syncMode,
878  NvSciBufAttrList const bufAttrList
879 );
880 
921  NvSciStreamBlock const pool,
922  NvSciStreamCookie const cookie,
923  NvSciStreamPacket *const handle
924 );
925 
965  NvSciStreamBlock const pool,
966  NvSciStreamPacket const handle,
967  uint32_t const index,
968  NvSciBufObj const bufObj
969 );
970 
1005  NvSciStreamBlock const pool,
1006  NvSciStreamPacket const handle
1007 );
1008 
1065  NvSciStreamBlock const block,
1066  NvSciStreamPacket const handle,
1067  NvSciStreamCookie const cookie,
1068  NvSciError const err
1069 );
1070 
1119  NvSciStreamBlock const block,
1120  NvSciStreamPacket const handle,
1121  uint32_t const index,
1122  NvSciError const err
1123 );
1124 
1166  NvSciStreamBlock const producer,
1167  NvSciStreamCookie *const cookie,
1168  NvSciSyncFence *const prefences
1169 );
1170 
1212  NvSciStreamBlock const producer,
1213  NvSciStreamPacket const handle,
1214  NvSciSyncFence const *const postfences
1215 );
1216 
1258  NvSciStreamBlock const consumer,
1259  NvSciStreamCookie *const cookie,
1260  NvSciSyncFence *const prefences
1261 );
1262 
1301  NvSciStreamBlock const consumer,
1302  NvSciStreamPacket const handle,
1303  NvSciSyncFence const *const postfences
1304 );
1305 
1340  NvSciStreamBlock const block
1341 );
1342 
1364  NvSciStreamQueryableAttrib const attr,
1365  int32_t *const value
1366 );
1367 
1413  NvSciStreamBlock const block,
1414  NvSciEventService *const eventService,
1415  NvSciEventNotifier **const eventNotifier
1416 );
1417 
1418 #ifdef __cplusplus
1419 }
1420 #endif
1421 
1423 #endif /* NVSCISTREAM_API_H */
NvSciStreamBlockSyncObjCount
NvSciError NvSciStreamBlockSyncObjCount(NvSciStreamBlock const block, uint32_t const count)
Sets NvSciSyncObj count to the block referenced by the given NvSciStreamBlock.
NvSciError
NvSciError
Return/error codes for all NvSci functions.
Definition: nvscierror.h:45
NvSciStreamBlockSyncObject
NvSciError NvSciStreamBlockSyncObject(NvSciStreamBlock const block, uint32_t const index, NvSciSyncObj const syncObj)
Sets NvSciSyncObj to the block referenced by the given NvSciStreamBlock.
nvscievent.h
NVIDIA Software Communications Interface (SCI) : NvSci Event Service
NvSciStreamPoolPacketDelete
NvSciError NvSciStreamPoolPacketDelete(NvSciStreamBlock const pool, NvSciStreamPacket const handle)
Removes a packet referenced by the given NvSciStreamPacket from the pool block referenced by the give...
NvSciStreamPoolPacketCreate
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,...
NvSciStreamBlock
uintptr_t NvSciStreamBlock
Handle to a block.
Definition: nvscistream_types.h:47
NvSciStreamIpcSrcCreate
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 blo...
NvSciStreamBlockPacketAttr
NvSciError NvSciStreamBlockPacketAttr(NvSciStreamBlock const block, uint32_t const index, uint32_t const type, NvSciStreamElementMode const syncMode, NvSciBufAttrList const bufAttrList)
Sets packet element information to the block referenced by the given NvSciStreamBlock.
NvSciStreamAttributeQuery
NvSciError NvSciStreamAttributeQuery(NvSciStreamQueryableAttrib const attr, int32_t *const value)
Queries the value of one of the NvSciStreamQueryableAttrib.
NvSciStreamBlockEventServiceSetup
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 NvSc...
NvSciStreamLimiterCreate
NvSciError NvSciStreamLimiterCreate(uint32_t const maxPackets, NvSciStreamBlock *const limiter)
Creates an instance of Limiter block and returns a NvSciStreamBlock referencing the created Limiter b...
NvSciStreamBlockElementAccept
NvSciError NvSciStreamBlockElementAccept(NvSciStreamBlock const block, NvSciStreamPacket const handle, uint32_t const index, NvSciError const err)
Accepts a packet element referenced by the given index of the packet referenced by the given NvSciStr...
NvSciStreamFifoQueueCreate
NvSciError NvSciStreamFifoQueueCreate(NvSciStreamBlock *const queue)
Creates an instance of FIFO queue block and returns a NvSciStreamBlock referencing the created FIFO q...
NvSciStreamProducerCreate
NvSciError NvSciStreamProducerCreate(NvSciStreamBlock const pool, NvSciStreamBlock *const producer)
Creates an instance of producer block, associates the given pool referenced by the given NvSciStreamB...
NvSciStreamStaticPoolCreate
NvSciError NvSciStreamStaticPoolCreate(uint32_t const numPackets, NvSciStreamBlock *const pool)
Creates an instance of static pool block and returns a NvSciStreamBlock referencing the created pool ...
NvSciSyncAttrList
struct NvSciSyncAttrListRec * NvSciSyncAttrList
A container constituting an NvSciSyncAttrList which contains:
Definition: nvscisync.h:308
NvSciStreamBlockPacketElementCount
NvSciError NvSciStreamBlockPacketElementCount(NvSciStreamBlock const block, uint32_t const count)
Sets packet element count to the block referenced by the given NvSciStreamBlock.
NvSciBufObj
struct NvSciBufObjRefRec * NvSciBufObj
A memory object is a container holding the reconciled NvSciBufAttrList defining constraints of the bu...
Definition: nvscibuf.h:1563
NvSciEventNotifier
An abstract interface to notify event to event consumer and to register event handler of the event co...
Definition: nvscievent.h:309
nvscisync.h
NVIDIA Software Communications Interface (SCI) : NvSciSync
NvSciStreamQueryableAttrib
NvSciStreamQueryableAttrib
Defines NvSciStream attributes that are queryable.
Definition: nvscistream_types.h:138
type
int const char int type
Definition: drm-nvdc-docs.h:1479
NvSciStreamBlockPacketAccept
NvSciError NvSciStreamBlockPacketAccept(NvSciStreamBlock const block, NvSciStreamPacket const handle, NvSciStreamCookie const cookie, NvSciError const err)
Accepts a packet referenced by the given NvSciStreamPacket.
NvSciStreamMulticastCreate
NvSciError NvSciStreamMulticastCreate(uint32_t const outputCount, NvSciStreamBlock *const multicast)
Creates an instance of multicast block and returns a NvSciStreamBlock referencing the created multica...
nvsciipc.h
NVIDIA Software Communications Interface (SCI) : NvSci Inter-Process Communication
NvSciStreamConsumerPacketRelease
NvSciError NvSciStreamConsumerPacketRelease(NvSciStreamBlock const consumer, NvSciStreamPacket const handle, NvSciSyncFence const *const postfences)
Instructs the consumer referenced by the given NvSciStreamBlock to release the packet referenced by t...
NvSciStreamCookie
uintptr_t NvSciStreamCookie
Application assigned cookie for a NvSciStreamPacket.
Definition: nvscistream_types.h:55
NvSciIpcEndpoint
uint64_t NvSciIpcEndpoint
Handle to the NvSciIpc endpoint.
Definition: nvsciipc.h:222
nvscistream_types.h
NVIDIA Software Communications Interface (SCI) : NvSciStream
NvSciStreamConsumerPacketAcquire
NvSciError NvSciStreamConsumerPacketAcquire(NvSciStreamBlock const consumer, NvSciStreamCookie *const cookie, NvSciSyncFence *const prefences)
Instructs the consumer referenced by the given NvSciStreamBlock to get a ready packet from the queue.
NvSciStreamPacket
uintptr_t NvSciStreamPacket
NvSciStream assigned handle for a packet.
Definition: nvscistream_types.h:50
NvSciBufModule
struct NvSciBufModuleRec * NvSciBufModule
top-level container for the following set of resources: NvSciBufAttrLists, memory objects,...
Definition: nvscibuf.h:1523
NvSciBufAttrList
struct NvSciBufAttrListRec * NvSciBufAttrList
A container constituting an attribute list which contains.
Definition: nvscibuf.h:1581
NvSciStreamIpcDstCreate
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 blo...
NvSciStreamMailboxQueueCreate
NvSciError NvSciStreamMailboxQueueCreate(NvSciStreamBlock *const queue)
Creates an instance of mailbox queue block and returns a NvSciStreamBlock referencing the created mai...
NvSciStreamBlockSyncRequirements
NvSciError NvSciStreamBlockSyncRequirements(NvSciStreamBlock const block, bool const synchronousOnly, NvSciSyncAttrList const waitSyncAttrList)
Sets NvSciSyncObj waiter requirements to the block referenced by the given NvSciStreamBlock.
NvSciSyncFence
Defines the opaque NvSciSyncFence.
Definition: nvscisync.h:234
NvSciStreamProducerPacketGet
NvSciError NvSciStreamProducerPacketGet(NvSciStreamBlock const producer, NvSciStreamCookie *const cookie, NvSciSyncFence *const prefences)
Instructs the producer referenced by the given NvSciStreamBlock to get a packet from the pool.
nvscibuf.h
NVIDIA Software Communications Interface (SCI) : NvSciBuf
NvSciStreamProducerPacketPresent
NvSciError NvSciStreamProducerPacketPresent(NvSciStreamBlock const producer, NvSciStreamPacket const handle, NvSciSyncFence const *const postfences)
Instructs the producer referenced by the given NvSciStreamBlock to insert the packet referenced by th...
NvSciStreamBlockDelete
NvSciError NvSciStreamBlockDelete(NvSciStreamBlock const block)
Schedules a block referenced by the given NvSciStreamBlock for destruction, disconnecting the block i...
NvSciStreamBlockConnect
NvSciError NvSciStreamBlockConnect(NvSciStreamBlock const upstream, NvSciStreamBlock const downstream)
Establishes connection between two blocks referenced by the given NvSciStreamBlock(s).
NvSciStreamElementMode
NvSciStreamElementMode
Defines access modes for the elements of a packet.
Definition: nvscistream_types.h:151
NvSciSyncModule
struct NvSciSyncModuleRec * NvSciSyncModule
Represents an instance of the NvSciSyncModule.
Definition: nvscisync.h:190
nvscierror.h
NvSciStreamEvent
Describes an event triggered by the blocks.
Definition: nvscistream_types.h:502
NvSciStreamConsumerCreate
NvSciError NvSciStreamConsumerCreate(NvSciStreamBlock const queue, NvSciStreamBlock *const consumer)
Creates an instance of consumer block, associates the given queue block referenced by the given NvSci...
NvSciSyncObj
struct NvSciSyncObjRec * NvSciSyncObj
A Synchronization Object is a container holding the reconciled NvSciSyncAttrList defining constraints...
Definition: nvscisync.h:289
NvSciStreamPoolPacketInsertBuffer
NvSciError NvSciStreamPoolPacketInsertBuffer(NvSciStreamBlock const pool, NvSciStreamPacket const handle, uint32_t const index, NvSciBufObj const bufObj)
Registers an NvSciBufObj to the packet element referenced by the given index of the packet referenced...
NvSciStreamBlockEventQuery
NvSciError NvSciStreamBlockEventQuery(NvSciStreamBlock const block, int64_t const timeoutUsec, NvSciStreamEvent *const event)
Queries for the next NvSciStreamEvent from block referenced by the given NvSciStreamBlock,...
NvSciEventService
An abstract interface for a program's event handling infrastructure.
Definition: nvscievent.h:161