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. */

}

  •  

猜你喜欢

转载自blog.csdn.net/xswy1/article/details/81479822