NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 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 
175  NvSciStreamBlock const upstream,
176  NvSciStreamBlock const downstream
177 );
178 
219  NvSciStreamBlock const pool,
220  NvSciStreamBlock *const producer
221 );
222 
263  NvSciStreamBlock const queue,
264  NvSciStreamBlock *const consumer
265 );
266 
302  uint32_t const numPackets,
303  NvSciStreamBlock *const pool
304 );
305 
343  NvSciStreamBlock *const queue
344 );
345 
384  NvSciStreamBlock *const queue
385 );
386 
423  uint32_t const outputCount,
424  NvSciStreamBlock *const multicast
425 );
426 
468  NvSciIpcEndpoint const ipcEndpoint,
469  NvSciSyncModule const syncModule,
470  NvSciBufModule const bufModule,
471  NvSciStreamBlock *const ipc
472 );
473 
515  NvSciIpcEndpoint const ipcEndpoint,
516  NvSciSyncModule const syncModule,
517  NvSciBufModule const bufModule,
518  NvSciStreamBlock *const ipc
519 );
520 
553  NvSciStreamBlock const block,
554  int64_t const timeoutUsec,
555  NvSciStreamEvent *const event
556 );
557 
601  NvSciStreamBlock const block,
602  bool const synchronousOnly,
603  NvSciSyncAttrList const waitSyncAttrList
604 );
605 
653  NvSciStreamBlock const block,
654  uint32_t const count
655 );
656 
699  NvSciStreamBlock const block,
700  uint32_t const index,
701  NvSciSyncObj const syncObj
702 );
703 
761  NvSciStreamBlock const block,
762  uint32_t const count
763 );
764 
823  NvSciStreamBlock const block,
824  uint32_t const index,
825  uint32_t const type,
826  NvSciStreamElementMode const syncMode,
827  NvSciBufAttrList const bufAttrList
828 );
829 
871  NvSciStreamBlock const pool,
872  NvSciStreamCookie const cookie,
873  NvSciStreamPacket *const handle
874 );
875 
915  NvSciStreamBlock const pool,
916  NvSciStreamPacket const handle,
917  uint32_t const index,
918  NvSciBufObj const bufObj
919 );
920 
956  NvSciStreamBlock const pool,
957  NvSciStreamPacket const handle
958 );
959 
1017  NvSciStreamBlock const block,
1018  NvSciStreamPacket const handle,
1019  NvSciStreamCookie const cookie,
1020  NvSciError const err
1021 );
1022 
1071  NvSciStreamBlock const block,
1072  NvSciStreamPacket const handle,
1073  uint32_t const index,
1074  NvSciError const err
1075 );
1076 
1118  NvSciStreamBlock const producer,
1119  NvSciStreamCookie *const cookie,
1120  NvSciSyncFence *const prefences
1121 );
1122 
1163  NvSciStreamBlock const producer,
1164  NvSciStreamPacket const handle,
1165  NvSciSyncFence const *const postfences
1166 );
1167 
1210  NvSciStreamBlock const consumer,
1211  NvSciStreamCookie *const cookie,
1212  NvSciSyncFence *const prefences
1213 );
1214 
1253  NvSciStreamBlock const consumer,
1254  NvSciStreamPacket const handle,
1255  NvSciSyncFence const *const postfences
1256 );
1257 
1291  NvSciStreamBlock const block
1292 );
1293 
1315  NvSciStreamQueryableAttrib const attr,
1316  int32_t *const value
1317 );
1318 
1319 #ifdef __cplusplus
1320 }
1321 #endif
1322 
1324 #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.
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.
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:1325
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...
NvSciIpcEndpoint
uint64_t NvSciIpcEndpoint
Handle to the NvSciIpc endpoint.
Definition: nvsciipc.h:86
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 a consumed packet referenc...
NvSciStreamCookie
uintptr_t NvSciStreamCookie
Application assigned cookie for a NvSciStreamPacket.
Definition: nvscistream_types.h:55
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:1285
NvSciBufAttrList
struct NvSciBufAttrListRec * NvSciBufAttrList
A container constituting an attribute list which contains.
Definition: nvscibuf.h:1343
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 a packet referenced by the ...
NvSciStreamBlockDelete
NvSciError NvSciStreamBlockDelete(NvSciStreamBlock const block)
Destroys a block referenced by the given NvSciStreamBlock.
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 a 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,...