Holds pointers to NvMedia bufObjs containing input and output surfaces.
In case of Pyramid OF Mode, color format of all bufObjs from inputFrame and refFrame pyramid except bottom layer bufObj (with index 0) must be YUV400.
Bottom layerof pyramid is input and reference frame at original resolution which can be have any color format.
This is done to avoid any restriction on width and height of pyramid bufObjs.
This constraint will be removed in next release and Application will be able to allocate pyramid bufObjs with any color format.
Definition at line 352 of file nvmedia_iofa.h.
Data Fields | |
NvSciBufObj | inputSurface [NVMEDIA_IOFA_MAX_PYD_LEVEL] |
inputSurface Pyramid Optical Flow Processing: Array of pointers to input NvSciBufObj at time T+1 for number of levels returned in parameter ofaPydLevel in NvMediaIofa Object Stereo Disparity Processing: An input NvSciBufObj containing the rectified left view. More... | |
NvSciBufObj | refSurface [NVMEDIA_IOFA_MAX_PYD_LEVEL] |
referenceSurface Pyramid Optical Flow Processing: Array of pointers to input NvSciBufObj at time T for number of levels returned in parameter ofaPydLevel in NvMediaIofa Object Stereo Disparity Processing: An input NvSciBufObj containing the rectified right view. More... | |
NvSciBufObj | pydHintSurface [NVMEDIA_IOFA_MAX_PYD_LEVEL] |
pydHintSurface Pyramid Optical Flow Processing: Array of pointers to NvSciBufObj containing pyd hint surface for number of pyramid levels equal to parameter ofaPydLevel in NvMediaIofa Object. More... | |
NvSciBufObj | outSurface [NVMEDIA_IOFA_MAX_PYD_LEVEL] |
outSurface An NvSciBufObj where Optical flow and stereo disparity surface will be populated after IOFA processing. More... | |
NvSciBufObj | costSurface [NVMEDIA_IOFA_MAX_PYD_LEVEL] |
costSurface An NvSciBufObj where cost surface will be populated as a result of IOFA processing. More... | |
NvSciBufObj NvMediaIofaBufArray::costSurface[NVMEDIA_IOFA_MAX_PYD_LEVEL] |
costSurface An NvSciBufObj where cost surface will be populated as a result of IOFA processing.
As the processing in not synchronous costSurface will not be populated as soon as NvMediaIOFAProcessFrame API returns. Clients can optionally wait on the returned EOF NvSciSyncObj obtained via NvMediaIOFAGetEOFNvSciSyncObj API to know the status of processing, once this API returns.
costSurface must be of the same type as returned by NvMediaIOFAInit API in NvMediaIofa object
outSurface is allocated through a call to NvSciBufObjAlloc() For cost surface, range of values for each pixel is [0, 255]
Input range: A valid NvSciBufObj
Definition at line 417 of file nvmedia_iofa.h.
NvSciBufObj NvMediaIofaBufArray::inputSurface[NVMEDIA_IOFA_MAX_PYD_LEVEL] |
inputSurface Pyramid Optical Flow Processing: Array of pointers to input NvSciBufObj at time T+1 for number of levels returned in parameter ofaPydLevel in NvMediaIofa Object
Stereo Disparity Processing: An input NvSciBufObj containing the rectified left view.
Epipolar Optical Flow Processing: An input NvSciBufObj containing input frame.
It must be have the same width and height as provided in NvMediaIofaInitParams
In case of Pyramid Optical Flow Processing: Resolution of higher levels should also be the same as provided in NvMediaIofa Object
Surface is allocated through a call to NvSciBufObjAlloc().
Input range: A valid NvSciBufObj
Definition at line 365 of file nvmedia_iofa.h.
NvSciBufObj NvMediaIofaBufArray::outSurface[NVMEDIA_IOFA_MAX_PYD_LEVEL] |
outSurface An NvSciBufObj where Optical flow and stereo disparity surface will be populated after IOFA processing.
As the processing in not synchronous outSurface will not be populated as soon as NvMediaIOFAProcessFrame API returns. Clients can optionally wait on the returned EOF NvSciSyncObj obtained via NvMediaIOFAGetEOFNvSciSyncObj API to know the status of processing, once this API returns.
outSurface must be of the same type as returned by NvMediaIOFAInit API in NvMediaIofa object
outSurface is allocated through a call to NvSciBufObjAlloc().
Optical flow output is in S10.5 format. This means that the MSB represents the sign of the flow vector, next 10bits represent the integer value and the last 5 bits represent the fractional value. Maximum range integer values is [-1024, 1023] and for fractional part all 5 bits are valid. For Optical flow there are 2 components [X, Y] per pixel.
For Stereo mode, Disparity is also in S10.5 format with single component [X]. Output corresponds to left view and absolute value of output will provide actual disparity.
Input range: A valid NvSciBufObj
Definition at line 405 of file nvmedia_iofa.h.
NvSciBufObj NvMediaIofaBufArray::pydHintSurface[NVMEDIA_IOFA_MAX_PYD_LEVEL] |
pydHintSurface
Pyramid Optical Flow Processing: Array of pointers to NvSciBufObj containing pyd hint surface
for number of pyramid levels equal to parameter ofaPydLevel in NvMediaIofa Object.
Stereo Disparity Processing: Not Applicable
Epipolar Optical Flow Processing: Not Applicable
pydHintSurface must be the same type of outputformat and width and height should be also same as outWidth and outHeight or outWidth/2 and outHeight/2 for particular level provided in NvMediaIofaInitParams
Frame is allocated through a call to NvSciBufObjCreate API.
Non-NULL - valid pointer address.
Definition at line 389 of file nvmedia_iofa.h.
NvSciBufObj NvMediaIofaBufArray::refSurface[NVMEDIA_IOFA_MAX_PYD_LEVEL] |
referenceSurface Pyramid Optical Flow Processing: Array of pointers to input NvSciBufObj at time T for number of levels returned in parameter ofaPydLevel in NvMediaIofa Object
Stereo Disparity Processing: An input NvSciBufObj containing the rectified right view.
Epipolar Optical Flow Processing: An input NvSciBufObj containing reference frame.
It must be have the same width and height as provided in NvMediaIofaInitParams
In case of Pyramid Optical Flow Processing: Resolution of higher levels should also be the same as provided in NvMediaIofa Object
Surface is allocated through a call to NvSciBufObjAlloc().
Input range: A valid NvSciBufObj
Definition at line 377 of file nvmedia_iofa.h.