![]() |
NVIDIA DRIVE OS Linux SDK API Reference5.1.6.0 Release |
The NvMedia IOFST NvSciSync API encompasses all NvMediaIOFST NvSciSync handling functions.
Macros | |
#define | NVMEDIA_IOFST_NVSCISYNC_VERSION_MAJOR 1 |
Major version number. More... | |
#define | NVMEDIA_IOFST_NVSCISYNC_VERSION_MINOR 0 |
Minor version number. More... | |
#define | NVMEDIA_IOFST_MAX_PRENVSCISYNCFENCES (3) |
Specifies the maximum number of times NvMediaIOFSTInsertPreNvSciSyncFence() can be called before each call to NvMediaIOFSTProcessFrame(). More... | |
#define NVMEDIA_IOFST_MAX_PRENVSCISYNCFENCES (3) |
Specifies the maximum number of times NvMediaIOFSTInsertPreNvSciSyncFence() can be called before each call to NvMediaIOFSTProcessFrame().
Definition at line 45 of file nvmedia_iofst_nvscisync.h.
#define NVMEDIA_IOFST_NVSCISYNC_VERSION_MAJOR 1 |
Major version number.
Definition at line 37 of file nvmedia_iofst_nvscisync.h.
#define NVMEDIA_IOFST_NVSCISYNC_VERSION_MINOR 0 |
Minor version number.
Definition at line 39 of file nvmedia_iofst_nvscisync.h.
NvMediaStatus NvMediaIOFSTFillNvSciSyncAttrList | ( | NvMediaIOFST * | iofst, |
NvSciSyncAttrList | attrlist, | ||
NvMediaNvSciSyncClientType | clienttype | ||
) |
Fills the NvMediaIOFST specific NvSciSync attributes.
This function assumes that attrlist is a valid NvSciSyncAttrList.
This function sets the public attribute:
The application must not set this attribute.
[in] | iofst | An NvMediaIOFST device handle. |
[out] | attrlist | A pointer to an NvSciSyncAttrList structure where NvMedia places NvSciSync attributes. |
[in] | clienttype | Indicates whether the attrlist is requested for an NvMediaIOFST signaler or an NvMediaIOFST waiter. |
NvMediaStatus NvMediaIOFSTGetEOFNvSciSyncFence | ( | NvMediaIOFST * | iofst, |
NvSciSyncObj | eofnvscisyncobj, | ||
NvSciSyncFence * | eofnvscisyncfence | ||
) |
Gets EOF NvSciSyncFence for an NvMediaIOFSTProcessFrame() operation.
The EOF NvSciSyncFence associated with an NvMediaIOFSTProcessFrame() operation is an NvSciSyncFence. Its expiry indicates that the corresponding NvMediaIOFSTProcessFrame() operation has finished.
This function returns the EOF NvSciSyncFence associated with the last NvMediaIOFSTProcessFrame() call. NvMediaIOFSTGetEOFNvSciSyncFence() must be called after an NvMediaIOFSTProcessFrame() call.
For example, in this sequence of code:
expiry of eofnvscisyncfence indicates that the preceding NvMediaIOFSTProcessFrame() operation has finished.
[in] | iofst | An NvMediaIOFST device handle. |
[in] | eofnvscisyncobj | An EOF NvSciSyncObj associated with the NvSciSyncFence which is being requested. |
[out] | eofnvscisyncfence | A pointer to EOF NvSciSyncFence. |
NvMediaStatus NvMediaIOFSTInsertPreNvSciSyncFence | ( | NvMediaIOFST * | iofst, |
const NvSciSyncFence * | prenvscisyncfence | ||
) |
Sets an NvSciSyncFence as a prefence for an NvMediaIOFSTProcessFrame() operation.
You must call NvMediaIOFSTInsertPreNvSciSyncFence() before you call NvMediaIOFSTProcessFrame(). The NvMediaIOFSTProcessFrame() operation is started only after the expiry of the prenvscisyncfence.
For example, in this sequence of code:
the NvMediaIOFSTProcessFrame() operation is assured to start only after the expiry of prenvscisyncfence.
You can set a maximum of NVMEDIA_IOFST_MAX_PRENVSCISYNCFENCES prefences by calling NvMediaIOFSTInsertPreNvSciSyncFence() before NvMediaIOFSTProcessFrame(). After the call to NvMediaIOFSTProcessFrame(), all NvSciSyncFences previously inserted by NvMediaIOFSTInsertPreNvSciSyncFence() are removed, and they are not reused for the subsequent NvMediaIOFSTProcessFrame() calls.
[in] | iofst | An NvMediaIOFST device handle. |
[in] | prenvscisyncfence | A pointer to NvSciSyncFence. |
NvMediaStatus NvMediaIOFSTNvSciSyncGetVersion | ( | NvMediaVersion * | version | ) |
Returns the version information for the NvMediaIOFST NvSciSync library.
[out] | version | A pointer to an NvMediaVersion structure filled by the IOFST NvSciSync library. |
NvMediaStatus NvMediaIOFSTRegisterNvSciSyncObj | ( | NvMediaIOFST * | iofst, |
NvMediaNvSciSyncObjType | syncobjtype, | ||
NvSciSyncObj | nvscisync | ||
) |
Registers an NvSciSyncObj with NvMediaIOFST.
Every NvSciSyncObj(even duplicate objects) used by NvMediaIOFST must be registered by a call to this function before it is used. Only the exact same registered NvSciSyncObj can be passed to NvMediaIOFSTSetNvSciSyncObjforEOF(), NvMediaIOFSTGetEOFNvSciSyncFence(), or NvMediaIOFSTUnregisterNvSciSyncObj().
For a given NvMediaIOFST handle, one NvSciSyncObj can be registered as one NvMediaNvSciSyncObjType only. For each NvMediaNvSciSyncObjType, a maximum of 16 NvSciSyncObjs can be registered.
[in] | iofst | An NvMediaIOFST device handle. |
[in] | syncobjtype | Determines how nvscisync is used by iofst. |
[in] | nvscisync | The NvSciSyncObj to be registered with iofst. |
NvMediaStatus NvMediaIOFSTSetNvSciSyncObjforEOF | ( | NvMediaIOFST * | iofst, |
NvSciSyncObj | nvscisyncEOF | ||
) |
Specifies the NvSciSyncObj to be used for an EOF NvSciSyncFence.
To use NvMediaIOFSTGetEOFNvSciSyncFence(), the application must call NvMediaIOFSTSetNvSciSyncObjforEOF() before it calls NvMediaIOFSTProcessFrame().
NvMediaIOFSTSetNvSciSyncObjforEOF() currently may be called only once before each call to NvMediaIOFSTProcessFrame(). The application may choose to call this function only once before the first call to NvMediaIOFSTProcessFrame().
[in] | iofst | An NvMediaIOFST device handle. |
[in] | nvscisyncEOF | A registered NvSciSyncObj which is to be associated with EOF NvSciSyncFence. |
NvMediaStatus NvMediaIOFSTUnregisterNvSciSyncObj | ( | NvMediaIOFST * | iofst, |
NvSciSyncObj | nvscisync | ||
) |
Unregisters an NvSciSyncObj with NvMediaIOFST.
Every NvSciSyncObj registered with NvMediaIOFST by NvMediaIOFSTRegisterNvSciSyncObj() must be unregistered before calling NvMediaIOFSTDestroy().
Before the application calls this function, it must ensure that any NvMediaIOFSTProcessFrame() operation that uses the NvSciSyncObj has completed. If this function is called while NvSciSyncObj is still in use by any NvMediaIOFSTProcessFrame() operation, the behavior is undefined.
[in] | iofst | An NvMediaIOFST device handle. |
[in] | nvscisync | An NvSciSyncObj to be unregistered with iofst. |