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 2 |
Minor version number. More... | |
#define | NVMEDIA_IOFST_MAX_PRENVSCISYNCFENCES (3U) |
Specifies the maximum number of times NvMediaIOFSTInsertPreNvSciSyncFence() can be called before each call to NvMediaIOFSTProcessFrame(). More... | |
#define NVMEDIA_IOFST_MAX_PRENVSCISYNCFENCES (3U) |
Specifies the maximum number of times NvMediaIOFSTInsertPreNvSciSyncFence() can be called before each call to NvMediaIOFSTProcessFrame().
Definition at line 46 of file nvmedia_iofst_nvscisync.h.
#define NVMEDIA_IOFST_NVSCISYNC_VERSION_MAJOR 1 |
Major version number.
Definition at line 38 of file nvmedia_iofst_nvscisync.h.
#define NVMEDIA_IOFST_NVSCISYNC_VERSION_MINOR 2 |
Minor version number.
Definition at line 40 of file nvmedia_iofst_nvscisync.h.
NvMediaStatus NvMediaIOFSTFillNvSciSyncAttrList | ( | const 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.
Considerations for Safety:
[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 | ( | const 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.
Considerations for Safety:
[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 NvMediaIOFSTGetSOFNvSciSyncFence | ( | const NvMediaIOFST * | iofst, |
const NvSciSyncObj | sofnvscisyncobj, | ||
NvSciSyncFence * | sofnvscisyncfence | ||
) |
Gets SOF NvSciSyncFence for an NvMediaIOFSTProcessFrame() operation.
This function is not supported
The SOF NvSciSyncFence associated with an NvMediaIOFSTProcessFrame() operation is an NvSciSyncFence. Its expiry indicates that the corresponding NvMediaIOFSTProcessFrame() operation has started.
This function returns the SOF NvSciSyncFence associated with the last NvMediaIOFSTProcessFrame() call. NvMediaIOFSTGetSOFNvSciSyncFence() must be called after an NvMediaIOFSTProcessFrame() call.
Considerations for Safety:
[in] | iofst | An NvMediaIOFST device handle. |
[in] | sofnvscisyncobj | An SOF NvSciSyncObj associated with the NvSciSyncFence which is being requested. |
[out] | sofnvscisyncfence | A pointer to SOF NvSciSyncFence. |
NvMediaStatus NvMediaIOFSTInsertPreNvSciSyncFence | ( | const 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.
Considerations for Safety:
[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.
Considerations for Safety:
[out] | version | A pointer to an NvMediaVersion structure filled by the IOFST NvSciSync library. |
NvMediaStatus NvMediaIOFSTRegisterNvSciSyncObj | ( | const 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.
Considerations for Safety:
[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 | ( | const 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().
Considerations for Safety:
[in] | iofst | An NvMediaIOFST device handle. |
[in] | nvscisyncEOF | A registered NvSciSyncObj which is to be associated with EOF NvSciSyncFence. |
NvMediaStatus NvMediaIOFSTSetNvSciSyncObjforSOF | ( | const NvMediaIOFST * | iofst, |
const NvSciSyncObj | nvscisyncSOF | ||
) |
Specifies the NvSciSyncObj to be used for an SOF NvSciSyncFence.
This function is not supported
To use NvMediaIOFSTGetSOFNvSciSyncFence(), the application must call NvMediaIOFSTSetNvSciSyncObjforSOF() before it calls NvMediaIOFSTProcessFrame().
NvMediaIOFSTSetNvSciSyncObjforSOF() 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().
Considerations for Safety:
[in] | iofst | An NvMediaIOFST device handle. |
[in] | nvscisyncSOF | A registered NvSciSyncObj which is to be associated with SOF NvSciSyncFence. |
NvMediaStatus NvMediaIOFSTUnregisterNvSciSyncObj | ( | const 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.
Considerations for Safety:
[in] | iofst | An NvMediaIOFST device handle. |
[in] | nvscisync | An NvSciSyncObj to be unregistered with iofst. |