NVIDIA DRIVE OS Linux SDK API Reference

5.2.0 Release
For Test and Development only
nvscistream_api.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020 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 "nvscistream_types.h"
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
88  NvSciStreamBlock const upstream,
89  NvSciStreamBlock const downstream
90 );
91 
127  NvSciStreamBlock const pool,
128  NvSciStreamBlock *const producer
129 );
130 
166  NvSciStreamBlock const queue,
167  NvSciStreamBlock *const consumer
168 );
169 
211  uint32_t const numPackets,
212  NvSciStreamBlock *const pool
213 );
214 
256  NvSciStreamBlock *const queue
257 );
258 
301  NvSciStreamBlock *const queue
302 );
303 
341  uint32_t const outputCount,
342  NvSciStreamBlock *const multicast
343 );
344 
392  NvSciIpcEndpoint const ipcEndpoint,
393  NvSciSyncModule const syncModule,
394  NvSciBufModule const bufModule,
395  NvSciStreamBlock *const ipc
396 );
397 
445  NvSciIpcEndpoint const ipcEndpoint,
446  NvSciSyncModule const syncModule,
447  NvSciBufModule const bufModule,
448  NvSciStreamBlock *const ipc
449 );
450 
493  NvSciStreamBlock const block,
494  int64_t const timeoutUsec,
495  NvSciStreamEvent *const event
496 );
497 
535  NvSciStreamBlock const block,
536  bool const synchronousOnly,
537  NvSciSyncAttrList const waitSyncAttrList
538 );
539 
586  NvSciStreamBlock const block,
587  uint32_t const count
588 );
589 
636  NvSciStreamBlock const block,
637  uint32_t const index,
638  NvSciSyncObj const syncObj
639 );
640 
693  NvSciStreamBlock const block,
694  uint32_t const count
695 );
696 
765  NvSciStreamBlock const block,
766  uint32_t const index,
767  uint32_t const type,
768  NvSciStreamElementMode const syncMode,
769  NvSciBufAttrList const bufAttrList
770 );
771 
813  NvSciStreamBlock const pool,
814  NvSciStreamCookie const cookie,
815  NvSciStreamPacket *const handle
816 );
817 
858  NvSciStreamBlock const pool,
859  NvSciStreamPacket const handle,
860  uint32_t const index,
861  NvSciBufObj const bufObj
862 );
863 
908  NvSciStreamBlock const pool,
909  NvSciStreamPacket const handle
910 );
911 
963  NvSciStreamBlock const block,
964  NvSciStreamPacket const handle,
965  NvSciStreamCookie const cookie,
966  NvSciError const err
967 );
968 
1016  NvSciStreamBlock const block,
1017  NvSciStreamPacket const handle,
1018  uint32_t const index,
1019  NvSciError const err
1020 );
1021 
1071  NvSciStreamBlock const producer,
1072  NvSciStreamCookie *const cookie,
1073  NvSciSyncFence *const prefences
1074 );
1075 
1125  NvSciStreamBlock const producer,
1126  NvSciStreamPacket const handle,
1127  NvSciSyncFence const *const postfences
1128 );
1129 
1177  NvSciStreamBlock const consumer,
1178  NvSciStreamCookie *const cookie,
1179  NvSciSyncFence *const prefences
1180 );
1181 
1230  NvSciStreamBlock const consumer,
1231  NvSciStreamPacket const handle,
1232  NvSciSyncFence const *const postfences
1233 );
1234 
1277  NvSciStreamBlock const block
1278 );
1279 
1307  NvSciStreamQueryableAttrib const attr,
1308  int32_t *const value
1309 );
1310 
1311 #ifdef __cplusplus
1312 }
1313 #endif
1314 
1315 #endif /* NVSCISTREAM_API_H */
NvSciStreamBlockSyncObjCount
NvSciError NvSciStreamBlockSyncObjCount(NvSciStreamBlock const block, uint32_t const count)
Provides block's number of sync objects.
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)
Provides block's sync object.
NvSciStreamPoolPacketDelete
NvSciError NvSciStreamPoolPacketDelete(NvSciStreamBlock const pool, NvSciStreamPacket const handle)
Removes a packet from the pool.
NvSciStreamPoolPacketCreate
NvSciError NvSciStreamPoolPacketCreate(NvSciStreamBlock const pool, NvSciStreamCookie const cookie, NvSciStreamPacket *const handle)
Adds a new packet to the pool.
NvSciStreamBlock
uintptr_t NvSciStreamBlock
Handle to a stream component.
Definition: nvscistream_types.h:52
NvSciStreamIpcSrcCreate
NvSciError NvSciStreamIpcSrcCreate(NvSciIpcEndpoint const ipcEndpoint, NvSciSyncModule const syncModule, NvSciBufModule const bufModule, NvSciStreamBlock *const ipc)
Creates an IPC source block.
NvSciStreamBlockPacketAttr
NvSciError NvSciStreamBlockPacketAttr(NvSciStreamBlock const block, uint32_t const index, uint32_t const type, NvSciStreamElementMode const syncMode, NvSciBufAttrList const bufAttrList)
Sets block packet requirements/capabilities.
NvSciStreamAttributeQuery
NvSciError NvSciStreamAttributeQuery(NvSciStreamQueryableAttrib const attr, int32_t *const value)
Queries NvSciStream attributes.
NvSciStreamBlockElementAccept
NvSciError NvSciStreamBlockElementAccept(NvSciStreamBlock const block, NvSciStreamPacket const handle, uint32_t const index, NvSciError const err)
Accepts a packet element provided by the pool.
NvSciStreamFifoQueueCreate
NvSciError NvSciStreamFifoQueueCreate(NvSciStreamBlock *const queue)
Creates a FIFO queue block.
NvSciStreamProducerCreate
NvSciError NvSciStreamProducerCreate(NvSciStreamBlock const pool, NvSciStreamBlock *const producer)
Creates a stream producer block.
NvSciStreamStaticPoolCreate
NvSciError NvSciStreamStaticPoolCreate(uint32_t const numPackets, NvSciStreamBlock *const pool)
Creates a static stream pool block.
NvSciSyncAttrList
struct NvSciSyncAttrListRec * NvSciSyncAttrList
A container constituting an NvSciSyncAttrList which contains:
Definition: nvscisync.h:307
NvSciStreamBlockPacketElementCount
NvSciError NvSciStreamBlockPacketElementCount(NvSciStreamBlock const block, uint32_t const count)
Block sets the number of elements in a packet.
NvSciBufObj
struct NvSciBufObjRefRec * NvSciBufObj
A memory object is a container holding the reconciled NvSciBufAttrList defining constraints of the bu...
Definition: nvscibuf.h:1278
nvscisync.h
NVIDIA Software Communications Interface (SCI) : NvSciSync
NvSciStreamQueryableAttrib
NvSciStreamQueryableAttrib
Defines NvSciStream attributes that are queryable.
Definition: nvscistream_types.h:82
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 provided by the pool.
NvSciStreamMulticastCreate
NvSciError NvSciStreamMulticastCreate(uint32_t const outputCount, NvSciStreamBlock *const multicast)
Creates a multicast block.
NvSciIpcEndpoint
uint64_t NvSciIpcEndpoint
Handle to the NvSciIpc endpoint.
Definition: nvsciipc.h:84
nvsciipc.h
NVIDIA Software Communications Interface (SCI) : NvSci Inter-Process Communication
NvSciStreamConsumerPacketRelease
NvSciError NvSciStreamConsumerPacketRelease(NvSciStreamBlock const consumer, NvSciStreamPacket const handle, NvSciSyncFence const *const postfences)
Returns a data packet to the stream.
NvSciStreamCookie
uintptr_t NvSciStreamCookie
Component-assigned cookie for a packet.
Definition: nvscistream_types.h:64
nvscistream_types.h
NVIDIA Software Communications Interface (SCI) : NvSciStream
NvSciStreamConsumerPacketAcquire
NvSciError NvSciStreamConsumerPacketAcquire(NvSciStreamBlock const consumer, NvSciStreamCookie *const cookie, NvSciSyncFence *const prefences)
Instructs the consumer to get a packet from the queue.
NvSciStreamPacket
uintptr_t NvSciStreamPacket
NvSciStream-assigned handle for a packet.
Definition: nvscistream_types.h:58
NvSciBufModule
struct NvSciBufModuleRec * NvSciBufModule
top-level container for the following set of resources: NvSciBufAttrLists, buffers,...
Definition: nvscibuf.h:1238
NvSciBufAttrList
struct NvSciBufAttrListRec * NvSciBufAttrList
A container constituting an attribute list which contains.
Definition: nvscibuf.h:1291
NvSciStreamIpcDstCreate
NvSciError NvSciStreamIpcDstCreate(NvSciIpcEndpoint const ipcEndpoint, NvSciSyncModule const syncModule, NvSciBufModule const bufModule, NvSciStreamBlock *const ipc)
Creates an IPC destination block.
NvSciStreamMailboxQueueCreate
NvSciError NvSciStreamMailboxQueueCreate(NvSciStreamBlock *const queue)
Creates a mailbox queue block.
NvSciStreamBlockSyncRequirements
NvSciError NvSciStreamBlockSyncRequirements(NvSciStreamBlock const block, bool const synchronousOnly, NvSciSyncAttrList const waitSyncAttrList)
Sets block sync object requirements.
NvSciSyncFence
Defines the opaque NvSciSyncFence.
Definition: nvscisync.h:234
NvSciStreamProducerPacketGet
NvSciError NvSciStreamProducerPacketGet(NvSciStreamBlock const producer, NvSciStreamCookie *const cookie, NvSciSyncFence *const prefences)
Instructs the producer 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)
Inserts a data packet into the stream.
NvSciStreamBlockDelete
NvSciError NvSciStreamBlockDelete(NvSciStreamBlock const block)
Destroys a stream block.
NvSciStreamBlockConnect
NvSciError NvSciStreamBlockConnect(NvSciStreamBlock const upstream, NvSciStreamBlock const downstream)
Connects two stream blocks.
NvSciStreamElementMode
NvSciStreamElementMode
Defines packet element access modes.
Definition: nvscistream_types.h:95
NvSciSyncModule
struct NvSciSyncModuleRec * NvSciSyncModule
Represents an instance of the NvSciSyncModule.
Definition: nvscisync.h:190
nvscierror.h
NvSciStreamEvent
Describes a component event.
Definition: nvscistream_types.h:441
NvSciStreamConsumerCreate
NvSciError NvSciStreamConsumerCreate(NvSciStreamBlock const queue, NvSciStreamBlock *const consumer)
Creates a stream consumer block.
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 a buffer to the packet.
NvSciStreamBlockEventQuery
NvSciError NvSciStreamBlockEventQuery(NvSciStreamBlock const block, int64_t const timeoutUsec, NvSciStreamEvent *const event)
Queries for the next event from block's event queue, optionally waiting, and returns it to the caller...