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. Representation of YUV420SP or YUV422SP Buffer: Field 0 Y -> addr[0][0], Field 1 Y -> addr[1][0] Field 0 UV -> addr[0][1], Field 1 UV -> addr[1][1] Other pointers are not valid. Representation of RGB888 Buffer Field 0 RGB -> addr[0][0], Field 1 RGB -> addr[1][0], Other pointers are not valid. For progressive mode data formats or when fields are processed by driver in frame mode. addr[1][x] is not used. Instead of using numerical for accessing the buffers, the application can use the macros defined for each buffer formats like FVID2_YUV_INT_ADDR_IDX, FVID2_RGB_ADDR_IDX, FVID2_FID_TOP etc. */ UInt32 fid; /**< Indicates whether this frame belong to top or bottom field. For valid values see #FVID2_Fid. */ UInt32 channelNum; /**< Channel number to which this FVID2 frame belongs to. */ UInt32 timeStamp; /**< Time stamp returned by the driver, in units of msecs. Only valid for frames received using FVID2_dequeue(). */ Ptr appData; /**< Additional application parameter per frame. This is not modified by driver. */ Ptr perFrameCfg; /**< Per frame configuration parameters like scaling ratio, positioning, cropping etc... This should be set to NULL if not used. This can be used by application to control driver behaviour on a per frame basis, example changing scaling ratio for scalar driver. This can be used by application to get per frame status, example detected frame width, height from capture driver. This could be set to NULL if not used. In this case, the driver will use the last supplied configuration. The exact structure type that is passed is driver specific. */ Ptr blankData; /**< Blanking data associated with this video frame. This could be set to NULL if not used. */ Ptr drvData; /**< Used by driver. Application should not modify this. */ FVID2_SubFrameInfo *subFrameInfo; /**< Used for SubFrame level processing information exchange between application and driver. This could be set to NULL if sub-frame level processing is not used. */ Ptr reserved; /**< For future use. Not used currently. Set this to NULL. */ } |