NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_iep_nvscisync.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019, 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 (3)
47 
61  NvMediaVersion *version
62 );
63 
90  const NvMediaIEP *encoder,
91  NvSciSyncAttrList attrlist,
93 );
94 
95 
129  const NvMediaIEP *encoder,
130  NvMediaNvSciSyncObjType syncobjtype,
131  NvSciSyncObj nvscisync
132 );
133 
159  const NvMediaIEP *encoder,
160  NvSciSyncObj nvscisync
161 );
162 
187  const NvMediaIEP *encoder,
188  NvSciSyncObj nvscisyncEOF
189 );
190 
230  const NvMediaIEP *encoder,
231  const NvSciSyncFence *prenvscisyncfence
232 );
233 
271  const NvMediaIEP *encoder,
272  NvSciSyncObj eofnvscisyncobj,
273  NvSciSyncFence *eofnvscisyncfence
274 );
275 
302  const NvMediaIEP *encoder,
303  NvSciSyncObj nvscisyncSOF
304 );
305 
337  const NvMediaIEP *encoder,
338  NvSciSyncObj sofnvscisyncobj,
339  NvSciSyncFence *sofnvscisyncfence
340 );
341 
342 
343 /*
344  * \defgroup history_nvmedia_iep_nvscisync History
345  * Provides change history for the NvMedia IEP NvSciSync API
346  *
347  * \section history_nvmedia_iep_nvscisync Version History
348  *
349  * <b> Version 1.0 </b> April 03, 2019
350  * - Initial release
351  *
352  * <b> Version 1.1 </b> July 15, 2019
353  * - Add new API NvMediaIEPSetNvSciSyncObjforSOF and NvMediaIEPGetSOFNvSciSyncFence
354  *
355  */
358 #ifdef __cplusplus
359 }; /* extern "C" */
360 #endif
361 
362 #endif /* NVMEDIA_IEP_NVSCISYNC_H */
NvMediaNvSciSyncObjType
Defines NvMedia NvSciSyncObj types.
Definition: nvmedia_core.h:260
struct NvSciSyncAttrListRec * NvSciSyncAttrList
Holds a pointer to an opaque NvSciSync attribute list.
Definition: nvscisync.h:182
Holds NvMedia version information.
Definition: nvmedia_core.h:226
NvMediaNvSciSyncClientType
Definitions ****************** SOFFence - Start of frame NvSciSyncFence.
Definition: nvmedia_core.h:247
NVIDIA Media Interface: Core
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:169
NvMediaStatus NvMediaIEPNvSciSyncGetVersion(NvMediaVersion *version)
Returns the version information for the NvMedia IEP NvSciSync library.
Holds the image encoder object created by NvMediaIEPCreate.
Definition: nvmedia_iep.h:56
NvMediaStatus NvMediaIEPSetNvSciSyncObjforEOF(const NvMediaIEP *encoder, NvSciSyncObj nvscisyncEOF)
Specifies the NvSciSyncObj to be used for an EOF NvSciSyncFence.
NvMediaStatus NvMediaIEPGetSOFNvSciSyncFence(const NvMediaIEP *encoder, NvSciSyncObj sofnvscisyncobj, NvSciSyncFence *sofnvscisyncfence)
Gets SOF NvSciSyncFence for an NvMediaIEPFeedFrame() operation.
NvMediaStatus NvMediaIEPInsertPreNvSciSyncFence(const NvMediaIEP *encoder, const NvSciSyncFence *prenvscisyncfence)
Sets an NvSciSyncFence as a prefence for an NvMediaIEPFeedFrame() NvSciSyncFence operation.
NvMediaStatus NvMediaIEPRegisterNvSciSyncObj(const NvMediaIEP *encoder, NvMediaNvSciSyncObjType syncobjtype, NvSciSyncObj nvscisync)
Registers an NvSciSyncObj with NvMediaIEP.
NvMediaStatus NvMediaIEPUnregisterNvSciSyncObj(const NvMediaIEP *encoder, NvSciSyncObj nvscisync)
Unregisters an NvSciSyncObj with NvMediaIEP.
struct NvSciSyncObjRec * NvSciSyncObj
Holds a pointer to an opaque NvSciSync object.
Definition: nvscisync.h:173
NvMediaStatus NvMediaIEPFillNvSciSyncAttrList(const NvMediaIEP *encoder, NvSciSyncAttrList attrlist, NvMediaNvSciSyncClientType clienttype)
Fills the NvMediaIEP specific NvSciSync attributes.
Defines the opaque NvSciSyncFence.
Definition: nvscisync.h:140
NVIDIA Software Communications Interface (SCI) : NvSciSync
NvMediaStatus NvMediaIEPGetEOFNvSciSyncFence(const NvMediaIEP *encoder, NvSciSyncObj eofnvscisyncobj, NvSciSyncFence *eofnvscisyncfence)
Gets EOF NvSciSyncFence for an NvMediaIEPFeedFrame() operation.
NvMediaStatus NvMediaIEPSetNvSciSyncObjforSOF(const NvMediaIEP *encoder, NvSciSyncObj nvscisyncSOF)
Specifies the NvSciSyncObj to be used for an SOF NvSciSyncFence.
NVIDIA Media Interface: NvMedia Image Encode Processing API