NVIDIA DRIVE OS Linux SDK API Reference

5.1.15.2 Release
For Test and Development only
nvmedia_icp_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_ICP_NVSCISYNC_H
17 #define NVMEDIA_ICP_NVSCISYNC_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif /* __cplusplus */
22 
23 #include "nvmedia_core.h"
24 #include "nvscisync.h"
25 #include "nvmedia_icp.h"
26 
38 #define NVMEDIA_ICP_NVSCISYNC_VERSION_MAJOR 1
39 
40 #define NVMEDIA_ICP_NVSCISYNC_VERSION_MINOR 2
41 
44 #define NVMEDIA_ICP_MAX_PRENVSCISYNCFENCES 3
45 
55  NvMediaVersion *version
56 );
57 
82  const NvMediaICP *icp,
83  NvSciSyncAttrList attrlist,
85 );
86 
120  const NvMediaICP *icp,
121  NvMediaNvSciSyncObjType syncobjtype,
122  NvSciSyncObj syncobj,
123  uint32_t channelId
124 );
125 
150  const NvMediaICP *icp,
151  NvSciSyncObj syncobj,
152  uint32_t channelId
153 );
154 
180  const NvMediaICP *icp,
181  NvSciSyncObj nvscisyncEOF,
182  uint32_t channelId
183 );
184 
223  const NvMediaICP *icp,
224  const NvSciSyncObj eofnvscisyncobj,
225  uint32_t channelId,
226  NvSciSyncFence *eofnvscisyncfence
227 );
228 
253  const NvMediaICP *icp,
254  NvSciSyncObj nvscisyncSOF,
255  uint32_t channelId
256 );
257 
297  const NvMediaICP *icp,
298  const NvSciSyncObj sofnvscisyncobj,
299  uint32_t channelId,
300  NvSciSyncFence *sofnvscisyncfence
301 );
302 
342  const NvMediaICP *icp,
343  const NvSciSyncFence *prenvscisyncfence,
344  uint32_t channelId
345 );
346 
347 /*
348  * \defgroup history_nvmedia_icp_nvscisync History
349  * Provides change history for the NvMedia ICP NvSciSync API
350  *
351  * \section history_nvmedia_icp_nvscisync Version History
352  *
353  * <b> Version 1.0 </b> March 11, 2019
354  * - Initial release
355  *
356  * <b> Version 1.1 </b> October 21, 2019
357  * Added const keyword to the following:
358  * - \ref NvMediaICPFillNvSciSyncAttrList
359  * - \ref NvMediaICPRegisterNvSciSyncObj
360  * - \ref NvMediaICPUnregisterNvSciSyncObj
361  * - \ref NvMediaICPSetNvSciSyncObjforEOF
362  * - \ref NvMediaICPGetEOFNvSciSyncFence
363  * - \ref NvMediaICPSetNvSciSyncObjforSOF
364  * - \ref NvMediaICPGetSOFNvSciSyncFence
365  * - \ref NvMediaICPInsertPreNvSciSyncFence
366  * Added comments for the following value of \ref NvMediaStatus:
367  * - \ref NVMEDIA_STATUS_NOT_INITIALIZED
368  * - \ref NVMEDIA_STATUS_NOT_SUPPORTED
369  *
370  * <b> Version 1.2 </b> January 22, 2020
371  * Remove the return value NVMEDIA_STATUS_NOT_INITIALIZED
372  * Add \ref NVMEDIA_STATUS_NOT_SUPPORTED return value to all functions.
373  */
375 #ifdef __cplusplus
376 }; /* extern "C" */
377 #endif /* __cplusplus */
378 
379 #endif /* NVMEDIA_ICP_NVSCISYNC_H */
nvmedia_icp.h
NVIDIA Media Interface: Image Capture Processing
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:295
nvscisync.h
NVIDIA Software Communications Interface (SCI) : NvSciSync
NvMediaICP
struct NvMediaICP NvMediaICP
Holds an image capture object per virtual group.
Definition: nvmedia_icp.h:351
NvMediaVersion
Holds NvMedia version information.
Definition: nvmedia_core.h:237
NvMediaICPSetNvSciSyncObjforSOF
NvMediaStatus NvMediaICPSetNvSciSyncObjforSOF(const NvMediaICP *icp, NvSciSyncObj nvscisyncSOF, uint32_t channelId)
Sets the NvSciSyncObj to be used for a SOF NvSciSyncFence.
NvMediaICPNvSciSyncGetVersion
NvMediaStatus NvMediaICPNvSciSyncGetVersion(NvMediaVersion *version)
Returns version information for the NvMedia ICP NvSciSync library.
nvmedia_core.h
NVIDIA Media Interface: Core
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:180
NvSciSyncFence
Defines the opaque NvSciSyncFence.
Definition: nvscisync.h:227
NvMediaICPSetNvSciSyncObjforEOF
NvMediaStatus NvMediaICPSetNvSciSyncObjforEOF(const NvMediaICP *icp, NvSciSyncObj nvscisyncEOF, uint32_t channelId)
Set NvSciSyncObj to be used for a EOF NvSciSyncFence.
NvMediaICPInsertPreNvSciSyncFence
NvMediaStatus NvMediaICPInsertPreNvSciSyncFence(const NvMediaICP *icp, const NvSciSyncFence *prenvscisyncfence, uint32_t channelId)
Sets an NvSciSyncFence as a prefence for an NvMediaICPFeedImageGroup() operation.
NvMediaICPFillNvSciSyncAttrList
NvMediaStatus NvMediaICPFillNvSciSyncAttrList(const NvMediaICP *icp, NvSciSyncAttrList attrlist, NvMediaNvSciSyncClientType clienttype)
Fills the NvMediaICP specific NvSciSync attributes.
NvMediaICPUnregisterNvSciSyncObj
NvMediaStatus NvMediaICPUnregisterNvSciSyncObj(const NvMediaICP *icp, NvSciSyncObj syncobj, uint32_t channelId)
Unregisters an NvSciSyncObj with NvMediaICP.
NvSciSyncObj
struct NvSciSyncObjRec * NvSciSyncObj
A Synchronization Object is a container holding the reconciled NvSciSyncAttrList defining constraints...
Definition: nvscisync.h:282
NvMediaICPGetEOFNvSciSyncFence
NvMediaStatus NvMediaICPGetEOFNvSciSyncFence(const NvMediaICP *icp, const NvSciSyncObj eofnvscisyncobj, uint32_t channelId, NvSciSyncFence *eofnvscisyncfence)
Gets EOFNvSciSyncFence for a NvMediaICPFeedImageGroup() operation.
NvMediaICPGetSOFNvSciSyncFence
NvMediaStatus NvMediaICPGetSOFNvSciSyncFence(const NvMediaICP *icp, const NvSciSyncObj sofnvscisyncobj, uint32_t channelId, NvSciSyncFence *sofnvscisyncfence)
Gets SOF NvSciSyncFence for an NvMediaFeedImageGroup() operation.
NvMediaICPRegisterNvSciSyncObj
NvMediaStatus NvMediaICPRegisterNvSciSyncObj(const NvMediaICP *icp, NvMediaNvSciSyncObjType syncobjtype, NvSciSyncObj syncobj, uint32_t channelId)
Registers an NvSciSyncObj with NvMediaICP.
NvMediaNvSciSyncClientType
NvMediaNvSciSyncClientType
NvMedia NvSciSync Client Type.
Definition: nvmedia_core.h:258