NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only
nvmedia_vpi_nvscisync.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved. All
3  * information contained herein is proprietary and confidential to NVIDIA
4  * Corporation. Any use, reproduction, or disclosure without the written
5  * permission of NVIDIA Corporation is prohibited.
6  */
7 
17 #ifndef NVMEDIA_VPI_NVSCISYNC_H
18 #define NVMEDIA_VPI_NVSCISYNC_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 #include "nvmedia_core.h"
25 #include "nvscisync.h"
26 #include "nvmedia_vpi.h"
27 
39 #define NVMEDIA_VPI_NVSCISYNC_VERSION_MAJOR (1u)
40 
41 #define NVMEDIA_VPI_NVSCISYNC_VERSION_MINOR (1u)
42 
47 #define NVMEDIA_VPI_MAX_PRENVSCISYNCFENCES (3u)
48 
50 #define LAST_QUEUED_TASK_IDX (0xFFFFFFFFu)
51 
63  NvMediaVersion *version
64 );
65 
88  const NvMediaVPI *vpi,
89  NvSciSyncAttrList attrlist,
91 );
92 
122  NvMediaVPI *vpi,
123  NvMediaNvSciSyncObjType syncobjtype,
124  NvSciSyncObj nvscisync
125 );
126 
151  NvMediaVPI *vpi,
152  NvSciSyncObj nvscisync
153 );
154 
178  NvMediaVPI *vpi,
179  NvSciSyncObj nvscisyncSOF
180 );
181 
207  NvMediaVPI *vpi,
208  NvSciSyncObj nvscisyncEOF
209 );
210 
246  NvMediaVPI *vpi,
247  const NvSciSyncFence *prenvscisyncfence
248 );
249 
277  const NvMediaVPI *vpi,
278  NvSciSyncObj sofnvscisyncobj,
279  NvSciSyncFence *sofnvscisyncfence,
280  uint32_t opIdx
281 );
282 
312  const NvMediaVPI *vpi,
313  NvSciSyncObj eofnvscisyncobj,
314  NvSciSyncFence *eofnvscisyncfence,
315  uint32_t opIdx
316 );
317 /*
318  * \defgroup history_nvmedia_vpi_nvscisync History
319  * Provides change history for the NvMedia VPI NvSciSync API
320  *
321  * \section history_nvmedia_vpi_nvscisync Version History
322  *
323  * <b> Version 1.0 </b> March 14, 2019
324  * - Initial release
325  *
326  * <b> Version 1.1 </b> April 13, 2020
327  * - Fix minor MISRA violations
328  * - Update NvMediaVPIFillNvSciSyncAttrList, NvMediaVPIGetSOFNvSciSyncFence,
329  * NvMediaVPIGetEOFNvSciSyncFence function parameters to be const
330  *
331  */
332 
333 #ifdef __cplusplus
334 }; /* extern "C" */
335 #endif
336 
337 #endif /* NVMEDIA_VPI_NVSCISYNC_H */
NvMediaVPIGetEOFNvSciSyncFence
NvMediaStatus NvMediaVPIGetEOFNvSciSyncFence(const NvMediaVPI *vpi, NvSciSyncObj eofnvscisyncobj, NvSciSyncFence *eofnvscisyncfence, uint32_t opIdx)
Gets an EOF NvSciSyncFence for a queued VPI task.
NvMediaVPIInsertPreNvSciSyncFence
NvMediaStatus NvMediaVPIInsertPreNvSciSyncFence(NvMediaVPI *vpi, const NvSciSyncFence *prenvscisyncfence)
Sets an NvSciSyncFence as a prefence for a VPI submit operation.
NvMediaNvSciSyncObjType
NvMediaNvSciSyncObjType
Defines NvMedia NvSciSyncObj types.
Definition: nvmedia_core.h:271
NvSciSyncAttrList
struct NvSciSyncAttrListRec * NvSciSyncAttrList
A container constituting an NvSciSyncAttrList which contains:
Definition: nvscisync.h:308
NvMediaVPISetNvSciSyncObjforEOF
NvMediaStatus NvMediaVPISetNvSciSyncObjforEOF(NvMediaVPI *vpi, NvSciSyncObj nvscisyncEOF)
Sets the NvSciSyncObj to be used for an End of Frame (EOF) NvSciSyncFence.
nvscisync.h
NVIDIA Software Communications Interface (SCI) : NvSciSync
NvMediaVersion
Holds NvMedia version information.
Definition: nvmedia_core.h:237
nvmedia_core.h
NVIDIA Media Interface: Core
NvMediaVPISetNvSciSyncObjforSOF
NvMediaStatus NvMediaVPISetNvSciSyncObjforSOF(NvMediaVPI *vpi, NvSciSyncObj nvscisyncSOF)
Sets the NvSciSyncObj to be used for a Start of Frame (SOF) NvSciSyncFence.
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:180
NvSciSyncFence
Defines the opaque NvSciSyncFence.
Definition: nvscisync.h:234
NvMediaVPIGetSOFNvSciSyncFence
NvMediaStatus NvMediaVPIGetSOFNvSciSyncFence(const NvMediaVPI *vpi, NvSciSyncObj sofnvscisyncobj, NvSciSyncFence *sofnvscisyncfence, uint32_t opIdx)
Gets an SOF NvSciSyncFence for a queued VPI task.
NvMediaVPIFillNvSciSyncAttrList
NvMediaStatus NvMediaVPIFillNvSciSyncAttrList(const NvMediaVPI *vpi, NvSciSyncAttrList attrlist, NvMediaNvSciSyncClientType clienttype)
Fills the NvMediaVPI specific NvSciSync attributes.
NvMediaVPIRegisterNvSciSyncObj
NvMediaStatus NvMediaVPIRegisterNvSciSyncObj(NvMediaVPI *vpi, NvMediaNvSciSyncObjType syncobjtype, NvSciSyncObj nvscisync)
Registers an NvSciSyncObj with NvMediaVPI.
NvSciSyncObj
struct NvSciSyncObjRec * NvSciSyncObj
A Synchronization Object is a container holding the reconciled NvSciSyncAttrList defining constraints...
Definition: nvscisync.h:289
NvMediaVPIUnRegisterNvSciSyncObj
NvMediaStatus NvMediaVPIUnRegisterNvSciSyncObj(NvMediaVPI *vpi, NvSciSyncObj nvscisync)
Unregisters an NvSciSyncObj with NvMediaVPI.
nvmedia_vpi.h
NVIDIA Media VPI Interface
NvMediaVPINvSciSyncGetVersion
NvMediaStatus NvMediaVPINvSciSyncGetVersion(NvMediaVersion *version)
Returns the version information for the NvMedia VPI NvSciSync library.
NvMediaVPI
struct NvMediaVPI NvMediaVPI
Holds an opaque object representing NvMediaVPI.
Definition: nvmedia_vpi.h:59
NvMediaNvSciSyncClientType
NvMediaNvSciSyncClientType
NvMedia NvSciSync Client Type.
Definition: nvmedia_core.h:258