NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
nvmedia_dla_nvscisync.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
22 #ifndef NVMEDIA_DLA_NVSCISYNC_H
23 #define NVMEDIA_DLA_NVSCISYNC_H
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 #include "nvmedia_core.h"
30 #include "nvscisync.h"
31 #include "nvmedia_dla.h"
32 
44 #define NVMEDIA_DLA_NVSCISYNC_VERSION_MAJOR 1
45 
46 #define NVMEDIA_DLA_NVSCISYNC_VERSION_MINOR 6
47 
48 #define NVMEDIA_DLA_NVSCISYNC_VERSION_PATCH 0
49 
54 #define NVMEDIA_DLA_MAX_PRENVSCISYNCFENCES (8U)
55 
90  NvMediaVersion *version
91 );
92 
153  const NvMediaDla *dla,
154  NvSciSyncAttrList attrlist,
155  NvMediaNvSciSyncClientType clienttype
156 );
157 
217  const NvMediaDla* dla,
218  NvSciSyncAttrList attrlist,
219  NvMediaNvSciSyncClientType clienttype
220 );
221 
279  NvMediaDla *dla,
280  NvMediaNvSciSyncObjType syncobjtype,
281  NvSciSyncObj nvscisync
282 );
283 
333  NvMediaDla *dla,
334  NvSciSyncObj scisyncobj
335 );
336 
388  NvMediaDla *dla,
389  NvSciSyncObj nvscisyncSOF
390 );
391 
443  NvMediaDla *dla,
444  NvSciSyncObj nvscisyncEOF
445 );
446 
506  NvMediaDla *dla,
507  const NvSciSyncFence *prenvscisyncfence
508 );
509 
578  const NvMediaDla *dla,
579  NvSciSyncObj sofnvscisyncobj,
580  NvSciSyncFence *sofnvscisyncfence
581 );
582 
651  const NvMediaDla *dla,
652  NvSciSyncObj eofnvscisyncobj,
653  NvSciSyncFence *eofnvscisyncfence
654 );
655 
712  NvMediaDla* dla,
713  NvSciSyncObj syncObj
714 );
715 
773  NvMediaDla* dla,
774  NvSciSyncObj syncObj
775 );
776 
777 /*
778  * \defgroup history_nvmedia_dla_nvscisync History
779  * Provides change history for the NvMedia Dla NvSciSync API
780  *
781  * \section history_nvmedia_dla_nvscisync Version History
782  *
783  * <b> Version 1.0 </b> March 14, 2019
784  * - Initial release
785  *
786  * <b> Version 1.1 </b> April 11, 2019
787  * - Add new API NvMediaDlaSetNvSciSyncObjforSOF and NvMediaDlaGetEOFNvSciSyncFence
788  * - Rename NvMediaDlaUnRegisterNvSciSyncObj to NvMediaDlaUnregisterNvSciSyncObj
789  *
790  * <b> Version 1.2 </b> Jan 22, 2020
791  * - Disable NvMediaDlaSetNvSciSyncObjforSOF and NvMediaDlaGetSOFNvSciSyncFence in
792  * safety build as they are currently unsupported.
793  *
794  * <b> Version 1.3 </b> Jul 20, 2020
795  * - Added support for NvSciSyncObj backed by deterministic primitive.
796  * - Currently timestamp feature is disabled with NvSciSyncObj backed by
797  * deterministic primitive.
798  * - Added new APIs: NvMediaDlaInsertEOFNvSciSyncObj,
799  * NvMediaDlaInsertSOFNvSciSyncObj (disabled in safety),
800  * NvMediaDlaFillNvSciSyncDeterministicAttrList
801  *
802  * <b> Version 1.4 </b> July 26, 2021
803  * - Update comments for NvMediaDlaGetEOFNvSciSyncFence and NvMediaDlaGetSOFNvSciSyncFence
804  *
805  * <b> Version 1.5 </b> August 20, 2021
806  * - Update doxygen comments for All APIs to have Thread safety information and API Group information
807  *
808  * <b> Version 1.6 </b> October 25, 2021
809  * - Enable SOF feature in safety builds.
810  * - Enable timestamp support for all primitives.
811  *
812  * <b> Version 1.6.0 </b> May 10, 2022
813  * - Added patch version number macro: NVMEDIA_DLA_NVSCISYNC_VERSION_PATCH.
814  *
815  */
816 
819 #ifdef __cplusplus
820 } /* extern "C" */
821 #endif
822 
823 #endif /* NVMEDIA_DLA_NVSCISYNC_H */
NvMediaDlaFillNvSciSyncAttrList
NvMediaStatus NvMediaDlaFillNvSciSyncAttrList(const NvMediaDla *dla, NvSciSyncAttrList attrlist, NvMediaNvSciSyncClientType clienttype)
Fills the NvMediaDla specific NvSciSync attributes.
NvSciSyncObj
struct NvSciSyncObjRec * NvSciSyncObj
Definition: wfdext.h:86
NvMediaDlaUnregisterNvSciSyncObj
NvMediaStatus NvMediaDlaUnregisterNvSciSyncObj(NvMediaDla *dla, NvSciSyncObj scisyncobj)
Unregisters an NvSciSyncObj with NvMediaDla.
nvmedia_dla.h
NVIDIA Media Interface: DLA
NvMediaDlaGetSOFNvSciSyncFence
NvMediaStatus NvMediaDlaGetSOFNvSciSyncFence(const NvMediaDla *dla, NvSciSyncObj sofnvscisyncobj, NvSciSyncFence *sofnvscisyncfence)
Gets an SOF NvSciSyncFence for a DLA submit operation.
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:108
NvMediaNvSciSyncObjType
NvMediaNvSciSyncObjType
Defines NvMedia NvSciSyncObj types.
Definition: nvmedia_core.h:206
NvMediaNvSciSyncClientType
NvMediaNvSciSyncClientType
NvMedia NvSciSync Client Type.
Definition: nvmedia_core.h:193
nvscisync.h
NVIDIA Software Communications Interface (SCI) : NvSciSync
NvMediaVersion
Holds NvMedia version information.
Definition: nvmedia_core.h:168
NvMediaDlaInsertPreNvSciSyncFence
NvMediaStatus NvMediaDlaInsertPreNvSciSyncFence(NvMediaDla *dla, const NvSciSyncFence *prenvscisyncfence)
Sets an NvSciSyncFence as a prefence for a DLA submit operation.
NvMediaDlaInsertEOFNvSciSyncObj
NvMediaStatus NvMediaDlaInsertEOFNvSciSyncObj(NvMediaDla *dla, NvSciSyncObj syncObj)
Sets NvSciSyncObj as a EOF for a DLA submit operation.
NvMediaDlaNvSciSyncGetVersion
NvMediaStatus NvMediaDlaNvSciSyncGetVersion(NvMediaVersion *version)
Returns the version information for the NvMedia DLA NvSciSync library.
nvmedia_core.h
NVIDIA Media Interface: Core
NvMediaDlaInsertSOFNvSciSyncObj
NvMediaStatus NvMediaDlaInsertSOFNvSciSyncObj(NvMediaDla *dla, NvSciSyncObj syncObj)
Sets NvSciSyncObj as a SOF for a DLA submit operation.
NvMediaDlaSetNvSciSyncObjforSOF
NvMediaStatus NvMediaDlaSetNvSciSyncObjforSOF(NvMediaDla *dla, NvSciSyncObj nvscisyncSOF)
Sets the NvSciSyncObj to be used for a Start of Frame (SOF) NvSciSyncFence.
NvMediaDlaGetEOFNvSciSyncFence
NvMediaStatus NvMediaDlaGetEOFNvSciSyncFence(const NvMediaDla *dla, NvSciSyncObj eofnvscisyncobj, NvSciSyncFence *eofnvscisyncfence)
Gets an EOF NvSciSyncFence for a DLA submit operation.
NvMediaDlaFillNvSciSyncDeterministicAttrList
NvMediaStatus NvMediaDlaFillNvSciSyncDeterministicAttrList(const NvMediaDla *dla, NvSciSyncAttrList attrlist, NvMediaNvSciSyncClientType clienttype)
Fills the NvMediaDla specific NvSciSync deterministic attributes.
NvMediaDla
void NvMediaDla
Definition: NvMediaExt.h:39
NvSciSyncFence
Defines the opaque NvSciSyncFence.
Definition: nvscisync.h:256
NvSciSyncAttrList
struct NvSciSyncAttrListRec * NvSciSyncAttrList
Definition: wfdext.h:88
NvMediaDlaSetNvSciSyncObjforEOF
NvMediaStatus NvMediaDlaSetNvSciSyncObjforEOF(NvMediaDla *dla, NvSciSyncObj nvscisyncEOF)
Sets an NvSciSyncObj to be used for a End of Frame (EOF) NvSciSyncFence.
NvMediaDlaRegisterNvSciSyncObj
NvMediaStatus NvMediaDlaRegisterNvSciSyncObj(NvMediaDla *dla, NvMediaNvSciSyncObjType syncobjtype, NvSciSyncObj nvscisync)
Registers an NvSciSyncObj with NvMediaDla.