This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

FVID2 question

Hi TI-friends,

by checking ./hdvpss_01_00_01_37_patched/packages/ti/psp/vps/fvid2.h

/**
* \brief FVID2 frame buffer structure.
*
* Unless specified otherwise, all fields in this structure are
*
* [IN] for FVID2_queue(), FVID2_processFrames() operation.
* [OUT] for FVID2_dequeue(), FVID2_getProcessedFrames() operation.
*
*/
typedef struct
{
Ptr addr[FVID2_MAX_FIELDS][FVID2_MAX_PLANES];
/**<
FVID2 buffer pointers for supporting multiple addresses like
Y, U, V etc for a given frame. The interpretation of these pointers
depend on the format configured for the driver.
The first dimension represents the field and the second dimension
represents the color plane.
Not all pointers are valid for a given format.

Representation of YUV422 Planar Buffer:
Field 0 Y -> addr[0][0], Field 1 Y -> addr[1][0]
Field 0 U -> addr[0][1], Field 1 U -> addr[1][1]
Field 0 V -> addr[0][2], Field 1 V -> addr[1][2]
Other pointers are not valid.

Representation of YUV422 Interleaved Buffer:
Field 0 YUV -> addr[0][0], Field 1 YUV -> addr[1][0]
Other pointers are not valid.

if we want to access the YUV data in YUV422 Interleaved Buffer

I could by following way, right??

Y0=*((char*)(XX->addr[0][0]))  , U0=*((char*)(XX->addr[0][0]) +1 ), V0=*((char*)(XX->addr[0][0])+2),

Y1=*((char*)(XX->addr[1][0]))  , U1=*((char*)(XX->addr[1][0]) +1 ), V1=*((char*)(XX->addr[1][0])+2),