FVID2_Frame结构体参数是什么,请问有关于FVID2_Frame结构体的描述文档么?谢谢!
我的是RDK3.8 ,但是在IPNC_RDK_ApiGuide.CHM中没有找到FVID2_Frame结构的说明。。。。。。
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_Frame结构体参数是什么,请问有关于FVID2_Frame结构体的描述文档么?谢谢!
我的是RDK3.8 ,但是在IPNC_RDK_ApiGuide.CHM中没有找到FVID2_Frame结构的说明。。。。。。
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. */
}