NvSciSync Functions for Specific Imaging Components
This section gives an overview of the NvSciSync functions supported for various NvMedia imaging components (2D, ICP, VPI, etc.).
NvSciSync supports a group of functions to each of several imaging components: NvMedia2D, NvMediaICP, NvMediaVPI, etc. The groups of functions have parallel names. For example, NvMedia
XX
RegisterNvSciSyncObj()
registers an NvSciSync
object with a component, where XX is 2D
for NvMedia2D, ICP
for NvMediaICP, etc.
NvSciSync supports the following functions for each component, with a few exceptions detailed below:
- Query a component's
NvSciSyncObj
attributes for waiting or signaling.Call
NvMedia
XXFillNvSciSyncAttrList()
to query the NvSciSync attributes of component XX. The function sets (fills) the attributes in memory provided by the caller.NvSciSync
objects allocated with suchNvSciSyncAttrList
objects are only accepted by component XX functions. - Register and unregister an
NvSciSync
object.Call
NvMedia
XXRegisterNvSciSyncObj()
to registerNvSciSyncObj
objects with component XX. You must register everyNvSciSyncObj
that component XX is to use.During teardown, call
NvMediaXXUnRegisterNvSciSyncObj()
to unregister the registeredNvSciSyncObj
objects with component XX. - Set an
NvSciSyncObj
object for SOF usage with the component.Call
NvMedia
XXSetNvSciSyncObjforSOF()
to tell component XX to use a particularNvSciSyncObj
for signaling start of frame (SOF). You must call this function before you call any of the component's main image processing functions. - Set an
NvSciSyncObj
for EOF usage with the component.Call
NvMedia
XXSetNvSciSyncObjforEOF()
to tell component XX to use a particularNvSciSyncObj
for signaling end of frame (EOF). You must call this function before you call any of the component's main image processing functions. - Wait for an
NvSciSyncFence
.Call
NvMedia
XXInsertPreNvSciSyncFence()
to tell component XX to wait on anNvSciSyncFence
before actually starting image processing. You must call this function before you call any of the component's main image processing functions. - Get an
NvSciSyncFence
SOF.Call
NvMedia
XXGetSOFNvSciSyncFence()
to get anNvSciSyncFence
from component XX whose expiry indicates that the last submitted image processing request has started. You must call this function only after you call the component's main image processing functions. - Get an
NvSciSyncFence
EOF.Call
NvMedia
XXGetEOFNvSciSyncFence()
to get anNvSciSyncFence
from component XX whose expiry indicates that the last submitted image processing request has completed. You must call this function only after you call the component's main image processing functions.
The functions are implemented for each of the following NvMedia imaging components.
Component |
Notes |
---|---|
|
|
|
|
SIPL |
the ISP hardware engine does not generate any fence to indicate the start of a frame. |
|
|
|
|
|
Not every function is implemented for every imaging component. The following table shows functions implemented for each supported component. For SIPL APIs, refer to the NVIDIA DRIVE OS API Reference Guide.
Generic function Description |
2D |
LDC |
IEP |
OFA |
DLA |
---|---|---|---|---|---|
Fills attributes in an NvSciSyncAttrList. |
X |
X |
X |
X |
X |
Registers an NvSciSyncObj with a component object. |
X |
X |
X |
X |
X |
Unregisters an NvSciSyncObj with a component object. |
X |
X |
X |
X |
X |
Specifies an NvSciSyncObj to use as an SOF NvSciSyncFence. |
— |
— |
— |
— |
X |
Specifies an NvSciSyncObj to use as an EOF NvSciSyncFence. |
X |
X |
X |
X |
X |
Sets an NvSciSyncFence as a prefence. |
X |
X |
X |
X |
X |
Gets an SOF |
— |
— |
— |
— |
X |
Gets an EOF NvSciSyncFence for an NvMediaXXProcess () operation. |
X |
X |
X |
X |
X |