2D/LDC/SIPL/Multimedia and NvSciBuf Interaction
This section describes 2D/LDC/SIPL/Multimedia and NvSciBuf interaction. The following steps show the typical flow to allocate and register an NvSciBuf object:
- The application creates a
NvSciBufAttrList
. - The application queries 2D/LDC/SIPL/Multimedia to fill in the
NvSciBufAttrList
by calling the relevant APIs (NvMedia2DFillNvSciBufAttrList/NvMediaLdcFillNvSciBufAttrList/INvSIPLCamera::GetImageAttributes/NvMediaIEPFillNvSciBufAttrList/NvMediaIJPDFillNvSciBufAttrList/NvMediaIJPEFillNvSciBufAttrList/NvMediaIOFAFillNvSciBufAttrList/NvMediaIDEFillNvSciBufAttrList/etc.) on theNvSciBufAttrList
- The application may choose to set any of the public
NvSciBuf
attributes, which are not set by those APIs. - If the same NvSciBuf object is shared with other UMDs, then the application can get the
corresponding
NvSciBufAttrList
from the respective UMD. - The application asks
NvSciBuf
to reconcile all the filledNvSciBufAttrLists
and then allocates anNvSciBuf
object. - The allocated
NvSciBufObj
is then registered with 2D/LDC/SIPL/Multimedia