NvSciSync Functions for Specific Imaging Components
This topic provides an overview of NvSciSync functions supported for NvMedia imaging components (2D, ICP, and so on).
NvSciSync supports a group of functions for several imaging components, such as NvMedia2D
and NvMediaICP. 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
NvSciSyncObjattributes for waiting or signaling.Call
NvMediaXXFillNvSciSyncAttrList()to query the NvSciSync attributes of component XX. The function sets (fills) the attributes in memory provided by the caller.NvSciSyncobjects allocated with suchNvSciSyncAttrListobjects are only accepted by component XX functions. - Register and unregister an
NvSciSyncobject.Call
NvMediaXXRegisterNvSciSyncObj()to registerNvSciSyncObjobjects with component XX. You must register everyNvSciSyncObjthat component XX is to use.During teardown, call
NvMediaXXUnRegisterNvSciSyncObj()to unregister the registeredNvSciSyncObjobjects with component XX. - Set an
NvSciSyncObjobject for SOF usage with the component.Call
NvMediaXXSetNvSciSyncObjforSOF()to tell component XX to use a particularNvSciSyncObjfor signaling start of frame (SOF). You must call this function before you call any of the component's main image processing functions. - Set an
NvSciSyncObjfor EOF usage with the component.Call
NvMediaXXSetNvSciSyncObjforEOF()to tell component XX to use a particularNvSciSyncObjfor 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
NvMediaXXInsertPreNvSciSyncFence()to tell component XX to wait on anNvSciSyncFencebefore actually starting image processing. You must call this function before you call any of the component's main image processing functions. - Get an
NvSciSyncFenceSOF.Call
NvMediaXXGetSOFNvSciSyncFence()to get anNvSciSyncFencefrom 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
NvSciSyncFenceEOF.Call
NvMediaXXGetEOFNvSciSyncFence()to get anNvSciSyncFencefrom 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 |