I am now adding features that require manipulating YUV frame data in A8. I use McFW framework and Link API, and set up the chain as follows:
Caputure link -> ipcFramesOutVpss link -> ipcFramesInHost link -> (processing) -> ipcFramesOutHost link -> ipcFramesIn Vpss link -> dei link -> enc link -> …
In callback function that gets called by ipcFramesInHost link, I try to get the frame data using IPCFramesInLink_getFullVideoFrames, which gives a number of frames in VIDFRAME_Buf structure.
However, the address of the frame seems incorrect. All bottom fields come with addr[1][0~2]==NULL and phyAddr[1][0~2]==NULL in VIDFRAME_Buf structure, while all top fields come with addr[0][0~2]==NULL and phyAddr[0][0]==(some address), phyAddr[0][1~2]==NULL. After setting exportOnlyPhyAddr=FALSE in ipcFramesInHost createParams, top fields come with addr[0][0]==(some address), and addr[0][1~2] == NULL. However, manipulating addr[0][0] has no effect on the video frame.
Can anyone help me with the problem? Thanks.