NVIDIA DRIVE OS Linux SDK API Reference

5.2.3 Release
For Test and Development only
nvmedia_iep_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 
16 #ifndef NVMEDIA_IEP_NVSCISYNC_H
17 #define NVMEDIA_IEP_NVSCISYNC_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #include "nvmedia_core.h"
24 #include "nvscisync.h"
25 #include "nvmedia_iep.h"
26 
38 #define NVMEDIA_IEP_NVSCISYNC_VERSION_MAJOR 1
39 
40 #define NVMEDIA_IEP_NVSCISYNC_VERSION_MINOR 1
41 
46 #define NVMEDIA_IEP_MAX_PRENVSCISYNCFENCES (3U)
47 
67  NvMediaVersion *version
68 );
69 
103  const NvMediaIEP *encoder,
104  NvSciSyncAttrList attrlist,
105  NvMediaNvSciSyncClientType clienttype
106 );
107 
108 
147  const NvMediaIEP *encoder,
148  NvMediaNvSciSyncObjType syncobjtype,
149  NvSciSyncObj nvscisync
150 );
151 
183  const NvMediaIEP *encoder,
184  NvSciSyncObj nvscisync
185 );
186 
216  const NvMediaIEP *encoder,
217  NvSciSyncObj nvscisyncEOF
218 );
219 
264  const NvMediaIEP *encoder,
265  const NvSciSyncFence *prenvscisyncfence
266 );
267 
311  const NvMediaIEP *encoder,
312  NvSciSyncObj eofnvscisyncobj,
313  NvSciSyncFence *eofnvscisyncfence
314 );
315 
347  const NvMediaIEP *encoder,
348  NvSciSyncObj nvscisyncSOF
349 );
350 
387  const NvMediaIEP *encoder,
388  NvSciSyncObj sofnvscisyncobj,
389  NvSciSyncFence *sofnvscisyncfence
390 );
391 
392 
393 /*
394  * \defgroup history_nvmedia_iep_nvscisync History
395  * Provides change history for the NvMedia IEP NvSciSync API
396  *
397  * \section history_nvmedia_iep_nvscisync Version History
398  *
399  * <b> Version 1.0 </b> April 03, 2019
400  * - Initial release
401  *
402  * <b> Version 1.1 </b> July 15, 2019
403  * - Add new API NvMediaIEPSetNvSciSyncObjforSOF and NvMediaIEPGetSOFNvSciSyncFence
404  *
405  */
408 #ifdef __cplusplus
409 }; /* extern "C" */
410 #endif
411 
412 #endif /* NVMEDIA_IEP_NVSCISYNC_H */
NvMediaIEPUnregisterNvSciSyncObj
NvMediaStatus NvMediaIEPUnregisterNvSciSyncObj(const NvMediaIEP *encoder, NvSciSyncObj nvscisync)
Unregisters an NvSciSyncObj with NvMediaIEP.
NvMediaIEPRec
Holds the image encoder object created by NvMediaIEPCreate.
Definition: nvmedia_iep.h:59
NvMediaNvSciSyncObjType
NvMediaNvSciSyncObjType
Defines NvMedia NvSciSyncObj types.
Definition: nvmedia_core.h:271
NvMediaIEPSetNvSciSyncObjforSOF
NvMediaStatus NvMediaIEPSetNvSciSyncObjforSOF(const NvMediaIEP *encoder, NvSciSyncObj nvscisyncSOF)
Specifies the NvSciSyncObj to be used for an SOF NvSciSyncFence.
NvSciSyncAttrList
struct NvSciSyncAttrListRec * NvSciSyncAttrList
A container constituting an NvSciSyncAttrList which contains:
Definition: nvscisync.h:308
nvscisync.h
NVIDIA Software Communications Interface (SCI) : NvSciSync
NvMediaVersion
Holds NvMedia version information.
Definition: nvmedia_core.h:237
NvMediaIEPSetNvSciSyncObjforEOF
NvMediaStatus NvMediaIEPSetNvSciSyncObjforEOF(const NvMediaIEP *encoder, NvSciSyncObj nvscisyncEOF)
Specifies the NvSciSyncObj to be used for an EOF NvSciSyncFence.
NvMediaIEPRegisterNvSciSyncObj
NvMediaStatus NvMediaIEPRegisterNvSciSyncObj(const NvMediaIEP *encoder, NvMediaNvSciSyncObjType syncobjtype, NvSciSyncObj nvscisync)
Registers an NvSciSyncObj with NvMediaIEP.
NvMediaIEPFillNvSciSyncAttrList
NvMediaStatus NvMediaIEPFillNvSciSyncAttrList(const NvMediaIEP *encoder, NvSciSyncAttrList attrlist, NvMediaNvSciSyncClientType clienttype)
Fills the NvMediaIEP specific NvSciSync attributes.
NvMediaIEPInsertPreNvSciSyncFence
NvMediaStatus NvMediaIEPInsertPreNvSciSyncFence(const NvMediaIEP *encoder, const NvSciSyncFence *prenvscisyncfence)
Sets an NvSciSyncFence as a prefence for an NvMediaIEPFeedFrame() NvSciSyncFence operation.
nvmedia_core.h
NVIDIA Media Interface: Core
nvmedia_iep.h
NVIDIA Media Interface: NvMedia Image Encode Processing API
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:180
NvMediaIEPNvSciSyncGetVersion
NvMediaStatus NvMediaIEPNvSciSyncGetVersion(NvMediaVersion *version)
Returns the version information for the NvMedia IEP NvSciSync library.
NvSciSyncFence
Defines the opaque NvSciSyncFence.
Definition: nvscisync.h:234
NvMediaIEPGetEOFNvSciSyncFence
NvMediaStatus NvMediaIEPGetEOFNvSciSyncFence(const NvMediaIEP *encoder, NvSciSyncObj eofnvscisyncobj, NvSciSyncFence *eofnvscisyncfence)
Gets EOF NvSciSyncFence for an NvMediaIEPFeedFrame() operation.
NvMediaIEPGetSOFNvSciSyncFence
NvMediaStatus NvMediaIEPGetSOFNvSciSyncFence(const NvMediaIEP *encoder, NvSciSyncObj sofnvscisyncobj, NvSciSyncFence *sofnvscisyncfence)
Gets SOF NvSciSyncFence for an NvMediaIEPFeedFrame() operation.
NvSciSyncObj
struct NvSciSyncObjRec * NvSciSyncObj
A Synchronization Object is a container holding the reconciled NvSciSyncAttrList defining constraints...
Definition: nvscisync.h:289
NvMediaNvSciSyncClientType
NvMediaNvSciSyncClientType
NvMedia NvSciSync Client Type.
Definition: nvmedia_core.h:258