Data Structures | Macros | Enumerations | Functions
csl_fvid2_dataTypes.h File Reference

CSL FVID2 Datatypes. More...

#include <ti/csl/tistdtypes.h>

Data Structures

struct  Fvid2_Format
 FVID2 video buffer format specification. More...
 
struct  Fvid2_SubFrameInfo
 Sub-Frame information. More...
 
struct  Fvid2_Frame
 FVID2 frame buffer structure. More...
 
struct  Fvid2_FrameList
 FVID2 frame buffer list used to exchange multiple FVID2 frames in a single driver call. More...
 
struct  Fvid2_ModeInfo
 FVID2 Mode information structure. More...
 
struct  Fvid2_CropConfig
 Structure containing crop configuration - used in Scaler and VCOMP. More...
 
struct  Fvid2_PosConfig
 Structure containing position configuration - used in VCOMP and CIG. More...
 
struct  Fvid2_SizeConfig
 Structure containing size configuration. More...
 

Macros

#define FVID2_TIMEOUT_NONE   (0U)
 No Timeout.
 
#define FVID2_TIMEOUT_FOREVER   (~((uint32_t) 0U))
 Timeout wait forever.
 
FVID2 Error Codes

Error codes returned by FVID2 APIs

#define FVID2_SOK   ((int32_t) 0)
 FVID2 API call successful.
 
#define FVID2_EFAIL   (-(int32_t) 1)
 FVID2 API call returned with error as failed. Used for generic error. It may be some hardware failure and/or software failure.
 
#define FVID2_EBADARGS   (-(int32_t) 2)
 FVID2 API call returned with error as bad arguments. Typically, NULL pointer passed to the FVID2 API where its not expected.
 
#define FVID2_EINVALID_PARAMS   (-(int32_t) 3)
 FVID2 API call returned with error as invalid parameters. Typically when parameters passed are not valid or out of range.
 
#define FVID2_EDEVICE_INUSE   (-(int32_t) 4)
 FVID2 API call returned with error as device already in use. Example, tried to open the driver maximum + 1 times. Display and Capture driver supports single open only, while M2M driver supports multiple open.
 
#define FVID2_ETIMEOUT   (-(int32_t) 5)
 FVID2 API call returned with error as timed out. Typically API is waiting for some condition and returned as condition not happened in the timeout period.
 
#define FVID2_EALLOC   (-(int32_t) 6)
 FVID2 API call returned with error as allocation failure. Typically memory or resource allocation failure.
 
#define FVID2_EOUT_OF_RANGE   (-(int32_t) 7)
 FVID2 API call returned with error as out of range. Typically when API is called with some argument that is out of range for that API like array index etc.
 
#define FVID2_EAGAIN   (-(int32_t) 8)
 FVID2 API call returned with error as try again. Momentarily API is not able to service request because of queue full or any other temporary reason.
 
#define FVID2_EUNSUPPORTED_CMD   (-(int32_t) 9)
 FVID2 API call returned with unsupported command. Typically when command is not supported by control API.
 
#define FVID2_ENO_MORE_BUFFERS   (-(int32_t) 10)
 FVID2 API call returned with error as no more buffers available. Typically when no buffers are available.
 
#define FVID2_EUNSUPPORTED_OPS   (-(int32_t) 11)
 FVID2 API call returned with error as unsupported operation. Typically when the specific operation is not supported by that API such as IOCTL not supporting some specific functions.
 
#define FVID2_EDRIVER_INUSE   (-(int32_t) 12)
 FVID2 API call returned with error as driver already in use.
 
#define FVID2_WNON_RECOMMENDED_PARAMS   (-(int32_t) 13)
 FVID2 API call returned with warning for non-recommended parameter settings sent by application. Application may choose to ignore this.
 
#define FVID2_ENO_DEVICE   (-(int32_t) 14)
 FVID2 API call returned with error as no device present for the given command and API.
 
FVID2 Max limits
#define FVID2_MAX_FRAME_PTR   (64U)
 This macro determines the maximum number of FVID2 frame pointers that can be passed per frame list.
 
#define FVID2_MAX_FIELDS   (2U)
 Number of fields - top and bottom. Used for allocating address pointers for both the fields.
 
#define FVID2_MAX_PLANES_PER_FIELD   (3U)
 This macro determines the maximum number of planes/address used to represent a video buffer per field. Currently this is set to 3 to support the maximum pointers required for YUV/RGB planar format - Y, Cb and Cr or R, G and B.
 
#define FVID2_MAX_PLANES
 This macro determines the maximum number of planes/address used to represent a video buffer. Currently this is set to 6 to support the maximum pointers required for two fields of YUV/RGB planar format - Y, Cb and Cr or R, G and B. More...
 
FVID2 Frame Address Index

Fvid2_Frame.addr structure is array of pointers. The below indices are used to identify the correct buffer address corresponding to the field and buffer formats.

#define FVID2_YUV_PL_Y_ADDR_IDX   (0U)
 Y Index for YUV444/YUV422/YUV420 planar formats.
 
#define FVID2_YUV_PL_CB_ADDR_IDX   (1U)
 CB Index for YUV444/YUV422/YUV420 planar formats.
 
#define FVID2_YUV_PL_CR_ADDR_IDX   (2U)
 CR Index for YUV444/YUV422/YUV420 planar formats.
 
#define FVID2_YUV_SP_Y_ADDR_IDX   (0U)
 Y Index for YUV semi planar formats.
 
#define FVID2_YUV_SP_CBCR_ADDR_IDX   (1U)
 CB Index for semi planar formats.
 
#define FVID2_RGB_ADDR_IDX   (0U)
 Index for RGB888/RGB565/ARGB32 formats.
 
#define FVID2_YUV_INT_ADDR_IDX   (0U)
 Index for YUV444/YUV422 interleaved formats.
 
#define FVID2_YUV_PL_Y_FID2_ADDR_IDX   (FVID2_YUV_PL_Y_ADDR_IDX + 3U)
 Y Index for YUV444/YUV422/YUV420 planar formats for field 2.
 
#define FVID2_YUV_PL_CB_FID2_ADDR_IDX   (FVID2_YUV_PL_CB_ADDR_IDX + 3U)
 CB Index for YUV444/YUV422/YUV420 planar formats for field 2.
 
#define FVID2_YUV_PL_CR_FID2_ADDR_IDX   (FVID2_YUV_PL_CR_ADDR_IDX + 3U)
 CR Index for YUV444/YUV422/YUV420 planar formats for field 2.
 
#define FVID2_YUV_SP_Y_FID2_ADDR_IDX   (FVID2_YUV_SP_Y_ADDR_IDX + 3U)
 Y Index for YUV semi planar formats for field 2.
 
#define FVID2_YUV_SP_CBCR_FID2_ADDR_IDX   (FVID2_YUV_SP_CBCR_ADDR_IDX + 3U)
 CB Index for semi planar formats for field 2.
 
#define FVID2_RGB_FID2_ADDR_IDX   (FVID2_RGB_ADDR_IDX + 3U)
 Index for RGB888/RGB565/ARGB32 formats for field 2.
 
#define FVID2_YUV_INT_FID2_ADDR_IDX   (FVID2_YUV_INT_ADDR_IDX + 3U)
 Index for YUV444/YUV422 interleaved formats for field 2.
 

Enumerations

enum  Fvid2_VideoIfMode {
  FVID2_VIFM_SCH_ES = 0, FVID2_VIFM_MCH_LINE_MUX_ES, FVID2_VIFM_MCH_PIXEL_MUX_ES, FVID2_VIFM_SCH_DS_HSYNC_VBLK,
  FVID2_VIFM_SCH_DS_HSYNC_VSYNC, FVID2_VIFM_SCH_DS_AVID_VBLK, FVID2_VIFM_SCH_DS_AVID_VSYNC, FVID2_VIFM_MCH_LINE_MUX_SPLIT_LINE_ES,
  FVID2_VIFM_SCH_CSI2, FVID2_VIFM_SCH_LVDS, FVID2_VIFM_SCH_CPI, FVID2_VIFM_MAX
}
 Video interface mode. More...
 
enum  Fvid2_ChromaPos { FVID2_CHROMA_POS_COSITED, FVID2_CHROMA_POS_CENTERED }
 Enum for selecting chroma position in chroma up or down sampler. More...
 
enum  Fvid2_BayerColorComp {
  FVID2_BAYER_COLOR_COMP_R, FVID2_BAYER_COLOR_COMP_GR, FVID2_BAYER_COLOR_COMP_GB, FVID2_BAYER_COLOR_COMP_B,
  FVID2_BAYER_COLOR_COMP_MAX
}
 Enum for selecting bayer color components for odd/even pixel position on odd/even lines, Also used for specifying gain and offset in White balance config for each color component. More...
 
enum  Fvid2_FrameStatus {
  FVID2_FRAME_STATUS_INIT = 0, FVID2_FRAME_STATUS_COMPLETED, FVID2_FRAME_STATUS_PENDING, FVID2_FRAME_STATUS_SUBMITTED,
  FVID2_FRAME_STATUS_ERROR, FVID2_FRAME_STATUS_ABORTED, FVID2_FRAME_STATUS_OVERFLOW, FVID2_FRAME_STATUS_ECC_CORRECTED,
  FVID2_FRAME_STATUS_CRC_ERROR, FVID2_FRAME_STATUS_ECC_ERROR, FVID2_FRAME_STATUS_MAX
}
 Enum for state of the FVID2 frame. Typically used for marking FVID2_frame as either SUBMITTED, Completed/Done, Errorneous at the time of flush/abort when driver returns back all the frames. More...
 

Functions

int32_t Fvid2_getModeInfo (Fvid2_ModeInfo *modeInfo)
 Function to get the information about various FVID2 modes/standards. More...
 
const Char * Fvid2_getDataFmtString (uint32_t dataFmt)
 Function to get the name of the data format in printable string. More...
 
const Char * Fvid2_getStandardString (uint32_t standard)
 Function to get the name of the standard in printable string. More...
 
static int32_t Fvid2_isDataFmtYuv422 (uint32_t dataFmt)
 Function to check whether a data format is YUV422. More...
 
static int32_t Fvid2_isDataFmtYuv420 (uint32_t dataFmt)
 Function to check whether a data format is YUV420. More...
 
static int32_t Fvid2_isDataFmtYuv420Sp (uint32_t dataFmt)
 Function to check whether a data format is YUV420SP. More...
 
static int32_t Fvid2_isDataFmtYuv422Sp (uint32_t dataFmt)
 Function to check whether a data format is YUV422SP. More...
 
static int32_t Fvid2_isDataFmtSemiPlanar (uint32_t dataFmt)
 Function to check whether a data format is semi-planar. More...
 
static int32_t Fvid2_isDataFmtYuv422I (uint32_t dataFmt)
 Function to check whether a data format is YUV422 interleaved. More...
 
static int32_t Fvid2_isDataFmtYuv444 (uint32_t dataFmt)
 Function to check whether a data format is YUV444 . More...
 
static int32_t Fvid2_isDataFmtYuv (uint32_t dataFmt)
 Function to check whether a data format is YUV. More...
 
static int32_t Fvid2_isDataFmtBayer (uint32_t dataFmt)
 Function to check whether a data format is Bayer with MosaicPattern. More...
 
static int32_t Fvid2_isDataFmtRgb16bit (uint32_t dataFmt)
 Function to check whether a data format is RGB 16-bit. More...
 
static int32_t Fvid2_isDataFmtRgb (uint32_t dataFmt)
 Function to check whether a data format is RGB . More...
 
static int32_t Fvid2_isDataFmtRgb24bit (uint32_t dataFmt)
 Function to check whether a data format is RGB 24-bit. More...
 
static int32_t Fvid2_isDataFmtRgb32bit (uint32_t dataFmt)
 Function to check whether a data format is RGB 32-bit. More...
 
static int32_t Fvid2_isDataFmtRgb64bit (uint32_t dataFmt)
 Function to check whether a data format is RGB 64 bit. More...
 
static uint32_t Fvid2_BayerColorIndex (uint32_t dataFmt, uint32_t color)
 Function to get the index of the color for bayer data format. More...
 
static int32_t Fvid2_isStandardVesa (uint32_t standard)
 Function to check whether a standard is VESA mode or not. More...
 
static void Fvid2Format_init (Fvid2_Format *fmt)
 Fvid2_Format structure init function. More...
 
static void Fvid2SubFrameInfo_init (Fvid2_SubFrameInfo *sfInfo)
 Fvid2_SubFrameInfo structure init function. More...
 
static void Fvid2Frame_init (Fvid2_Frame *frm)
 Fvid2_Frame structure init function. More...
 
static void Fvid2FrameList_init (Fvid2_FrameList *fList)
 Fvid2_FrameList structure init function. More...
 
static void Fvid2ModeInfo_init (Fvid2_ModeInfo *modeInfo)
 Fvid2_ModeInfo structure init function. This defaults to 1080p60. More...
 
static void Fvid2CropConfig_init (Fvid2_CropConfig *cropCfg)
 Fvid2_CropConfig structure init function. More...
 
static void Fvid2PosConfig_init (Fvid2_PosConfig *posCfg)
 Fvid2_PosConfig structure init function. More...
 

Digital Video Format

#define FVID2_DV_BT656_EMBSYNC   ((uint32_t) 0x00U)
 Video format is BT656 with embedded sync.
 
#define FVID2_DV_BT1120_EMBSYNC   ((uint32_t) 0x01U)
 Video format is BT1120 with embedded sync.
 
#define FVID2_DV_GENERIC_DISCSYNC   ((uint32_t) 0x02U)
 Video format is for any discrete sync.
 
typedef uint32_t Fvid2_DVFormat
 Video format is BT656 with embedded sync.
 

Video Buffer Flip Type

#define FVID2_FLIP_TYPE_NONE   ((uint32_t) 0x00U)
 Flip Type is None.
 
#define FVID2_FLIP_TYPE_H   ((uint32_t) 0x01U)
 Flip Type is Horizontal i.e. along Y axis.
 
#define FVID2_FLIP_TYPE_V   ((uint32_t) 0x02U)
 Flip Type is Vertical i.e. along X axis.
 
#define FVID2_FLIP_TYPE_HV   ((uint32_t) 0x03U)
 Flip Type is Horizontal + Vertical.
 
typedef uint32_t Fvid2_FlipType
 Flip Type is None.
 

Video Data format

Naming convention followed FVID2_DF_ARGB32_8888 In 8-bit byte memory

B0 B1 B2 B3 B4 B5 B6 B7

| A | R | G | B | A | R | G | B |

FVID2_DF_YUV422I_UYVY

B0 B1 B2 B3 B4 B5 B6 B7

| U | Y | V | Y | U | Y | V | Y |

FVID2_DF_ARGB16_4444

B0 B1 B2 B3 B4 B5 B6 B7

| AR | GB | AR | GB | AR | GB | AR | GB |

#define FVID2_DF_YUV422I_UYVY   ((uint32_t) 0x0000U)
 YUV 422 Interleaved format - UYVY.
 
#define FVID2_DF_YUV422I_YUYV   ((uint32_t) 0x0001U)
 YUV 422 Interleaved format - YUYV.
 
#define FVID2_DF_YUV422I_YVYU   ((uint32_t) 0x0002U)
 YUV 422 Interleaved format - YVYU.
 
#define FVID2_DF_YUV422I_VYUY   ((uint32_t) 0x0003U)
 YUV 422 Interleaved format - VYUY.
 
#define FVID2_DF_YUV422SP_UV   ((uint32_t) 0x0004U)
 YUV 422 Semi-Planar - Y separate, UV interleaved.
 
#define FVID2_DF_YUV422SP_VU   ((uint32_t) 0x0005U)
 YUV 422 Semi-Planar - Y separate, VU interleaved.
 
#define FVID2_DF_YUV422P   ((uint32_t) 0x0006U)
 YUV 422 Planar - Y, U and V separate.
 
#define FVID2_DF_YUV420SP_UV   ((uint32_t) 0x0007U)
 YUV 420 Semi-Planar - Y separate, UV interleaved.
 
#define FVID2_DF_YUV420SP_VU   ((uint32_t) 0x0008U)
 YUV 420 Semi-Planar - Y separate, VU interleaved.
 
#define FVID2_DF_YUV420P   ((uint32_t) 0x0009U)
 YUV 420 Planar - Y, U and V separate.
 
#define FVID2_DF_YUV444P   ((uint32_t) 0x000AU)
 YUV 444 Planar - Y, U and V separate.
 
#define FVID2_DF_YUV444I   ((uint32_t) 0x000BU)
 YUV 444 interleaved - YUVYUV...
 
#define FVID2_DF_RGB16_565   ((uint32_t) 0x000CU)
 RGB565 16-bit - 5-bits R, 6-bits G, 5-bits B.
 
#define FVID2_DF_ARGB16_1555   ((uint32_t) 0x000DU)
 ARGB1555 16-bit - 5-bits R, 5-bits G, 5-bits B, 1-bit Alpha .
 
#define FVID2_DF_RGBA16_5551   ((uint32_t) 0x000EU)
 RGBA5551 16-bit - 5-bits R, 5-bits G, 5-bits B, 1-bit Alpha .
 
#define FVID2_DF_ARGB16_4444   ((uint32_t) 0x000FU)
 ARGB4444 16-bit - 4-bits R, 4-bits G, 4-bits B, 4-bit Alpha .
 
#define FVID2_DF_RGBA16_4444   ((uint32_t) 0x0010U)
 RGBA4444 16-bit - 4-bits R, 4-bits G, 4-bits B, 4-bit Alpha .
 
#define FVID2_DF_RGBX16_4444   ((uint32_t) 0x0011U)
 RGBX4444 16-bit - 4-bits R, 4-bits G, 4-bits B, 4-bit Unused .
 
#define FVID2_DF_ARGB24_6666   ((uint32_t) 0x0012U)
 ARGB6666 24-bit - 6-bits R, 6-bits G, 6-bits B, 6-bit Alpha .
 
#define FVID2_DF_RGBA24_6666   ((uint32_t) 0x0013U)
 RGBA6666 24-bit - 6-bits R, 6-bits G, 6-bits B, 6-bit Alpha .
 
#define FVID2_DF_RGB24_888   ((uint32_t) 0x0014U)
 RGB24 24-bit - 8-bits R, 8-bits G, 8-bits B.
 
#define FVID2_DF_BGRX_4444   ((uint32_t) 0x0015U)
 RGBx12-16bit- 4-bits R, 4-bits G, 4-bits B, 4-bits unused .
 
#define FVID2_DF_XBGR_4444   ((uint32_t) 0x0016U)
 xRGB12-16bit- 4-bits R, 4-bits G, 4-bits B, 4-bits unused.
 
#define FVID2_DF_ARGB32_8888   ((uint32_t) 0x0017U)
 ARGB32 32-bit - 8-bits R, 8-bits G, 8-bits B, 8-bit Alpha .
 
#define FVID2_DF_XRGB32_8888   ((uint32_t) 0x0018U)
 XRGB32 32-bit - 8-bits R, 8-bits G, 8-bits B, 8-bit unused .
 
#define FVID2_DF_RGBA32_8888   ((uint32_t) 0x0019U)
 RGBA32 32-bit - 8-bits R, 8-bits G, 8-bits B, 8-bit Alpha .
 
#define FVID2_DF_BGR16_565   ((uint32_t) 0x001AU)
 BGR565 16-bit - 5-bits B, 6-bits G, 5-bits R.
 
#define FVID2_DF_ABGR16_1555   ((uint32_t) 0x001BU)
 ABGR1555 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit Alpha .
 
#define FVID2_DF_ABGR16_4444   ((uint32_t) 0x001CU)
 ABGR4444 16-bit - 4-bits B, 4-bits G, 4-bits R, 4-bit Alpha .
 
#define FVID2_DF_BGRA16_5551   ((uint32_t) 0x001DU)
 BGRA5551 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit Alpha .
 
#define FVID2_DF_BGRA16_4444   ((uint32_t) 0x001EU)
 BGRA4444 16-bit - 4-bits B, 4-bits G, 4-bits R, 4-bit Alpha .
 
#define FVID2_DF_AGBR16_1555   ((uint32_t) 0x001FU)
 ABGR1555 16-bit - 5-bits G, 5-bits B, 5-bits R, 1-bit Alpha .
 
#define FVID2_DF_AGBR16_4444   ((uint32_t) 0x0020U)
 ABGR4444 16-bit - 4-bits G, 4-bits B, 4-bits R, 4-bit Alpha .
 
#define FVID2_DF_XGBR16_1555   ((uint32_t) 0x0021U)
 XGBR1555 16-bit - 5-bits G, 5-bits B, 5-bits R, 1-bit unused .
 
#define FVID2_DF_BGRX16_5551   ((uint32_t) 0x0022U)
 BGRX5551 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit unused .
 
#define FVID2_DF_ABGR24_6666   ((uint32_t) 0x0023U)
 ABGR6666 24-bit - 6-bits B, 6-bits G, 6-bits R, 6-bit Alpha .
 
#define FVID2_DF_BGR24_888   ((uint32_t) 0x0024U)
 BGR888 24-bit - 8-bits B, 8-bits G, 8-bits R.
 
#define FVID2_DF_XBGR24_8888   ((uint32_t) 0x0025U)
 xBGR888 24-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit unused
 
#define FVID2_DF_RGBX24_8888   ((uint32_t) 0x0026U)
 xBGR888 24-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit unused
 
#define FVID2_DF_BGRX24_8888   ((uint32_t) 0x0027U)
 xBGR888 24-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit unused
 
#define FVID2_DF_ABGR32_8888   ((uint32_t) 0x0028U)
 ABGR8888 32-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit Alpha .
 
#define FVID2_DF_BGRA24_6666   ((uint32_t) 0x0029U)
 BGRA6666 24-bit - 6-bits B, 6-bits G, 6-bits R, 6-bit Alpha .
 
#define FVID2_DF_BGRA32_8888   ((uint32_t) 0x002AU)
 BGRA8888 32-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit Alpha .
 
#define FVID2_DF_BGRX32_8888   ((uint32_t) 0x002BU)
 BGRX8888 32-bit - 8-bits B, 8-bits G, 8-bits R, 8-bit unused.
 
#define FVID2_DF_BGRA16_1555   ((uint32_t) 0x002CU)
 BGRA1555 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit Alpha.
 
#define FVID2_DF_BGRX16_1555   ((uint32_t) 0x002DU)
 BGRX1555 16-bit - 5-bits B, 5-bits G, 5-bits R, 1-bit unused.
 
#define FVID2_DF_BGRA32_1010102   ((uint32_t) 0x002EU)
 BGRA1010102 32-bit - 10-bits B, 10-bits G, 10-bits R, 2-bit Alpha.
 
#define FVID2_DF_BGRX32_1010102   ((uint32_t) 0x002FU)
 BGRX1010102 32-bit - 10-bits B, 10-bits G, 10-bits R, 2-bit unused.
 
#define FVID2_DF_RGBA32_1010102   ((uint32_t) 0x0030U)
 RGBA1010102 32-bit - 10-bits B, 10-bits G, 10-bits R, 2-bit Alpha.
 
#define FVID2_DF_RGBX32_1010102   ((uint32_t) 0x0031U)
 RGBX1010102 32-bit - 10-bits B, 10-bits G, 10-bits R, 2-bit unused.
 
#define FVID2_DF_BGRA64_16161616   ((uint32_t) 0x0032U)
 RGBA16161616 64-bit - 16-bits B, 16-bits G, 16-bits R, 16-bit Alpha.
 
#define FVID2_DF_BGRX64_16161616   ((uint32_t) 0x0033U)
 BGRX16161616 64-bit - 16-bits B, 16-bits G, 16-bits R, 16-bit unused.
 
#define FVID2_DF_ABGR64_16161616   ((uint32_t) 0x0034U)
 ABGR16161616 64-bit - 16-bits B, 16-bits G, 16-bits R, 16-bit Alpha.
 
#define FVID2_DF_XBGR64_16161616   ((uint32_t) 0x0035U)
 XBGR16161616 64-bit - 16-bits B, 16-bits G, 16-bits R, 16-bit unused.
 
#define FVID2_DF_BITMAP8   ((uint32_t) 0x0036U)
 BITMAP 8bpp.
 
#define FVID2_DF_BITMAP4_LOWER   ((uint32_t) 0x0037U)
 BITMAP 4bpp lower address in CLUT.
 
#define FVID2_DF_BITMAP4_UPPER   ((uint32_t) 0x0038U)
 BITMAP 4bpp upper address in CLUT.
 
#define FVID2_DF_BITMAP2_OFFSET0   ((uint32_t) 0x0039U)
 BITMAP 2bpp offset 0 in CLUT.
 
#define FVID2_DF_BITMAP2_OFFSET1   ((uint32_t) 0x003AU)
 BITMAP 2bpp offset 1 in CLUT.
 
#define FVID2_DF_BITMAP2_OFFSET2   ((uint32_t) 0x003BU)
 BITMAP 2bpp offset 2 in CLUT.
 
#define FVID2_DF_BITMAP2_OFFSET3   ((uint32_t) 0x003CU)
 BITMAP 2bpp offset 3 in CLUT.
 
#define FVID2_DF_BITMAP1_OFFSET0   ((uint32_t) 0x003DU)
 BITMAP 1bpp offset 0 in CLUT.
 
#define FVID2_DF_BITMAP1_OFFSET1   ((uint32_t) 0x003EU)
 BITMAP 1bpp offset 1 in CLUT.
 
#define FVID2_DF_BITMAP1_OFFSET2   ((uint32_t) 0x003FU)
 BITMAP 1bpp offset 2 in CLUT.
 
#define FVID2_DF_BITMAP1_OFFSET3   ((uint32_t) 0x0040U)
 BITMAP 1bpp offset 3 in CLUT.
 
#define FVID2_DF_BITMAP1_OFFSET4   ((uint32_t) 0x0041U)
 BITMAP 1bpp offset 4 in CLUT.
 
#define FVID2_DF_BITMAP1_OFFSET5   ((uint32_t) 0x0042U)
 BITMAP 1bpp offset 5 in CLUT.
 
#define FVID2_DF_BITMAP1_OFFSET6   ((uint32_t) 0x0043U)
 BITMAP 1bpp offset 6 in CLUT.
 
#define FVID2_DF_BITMAP1_OFFSET7   ((uint32_t) 0x0044U)
 BITMAP 1bpp offset 7 in CLUT.
 
#define FVID2_DF_BITMAP8_BGRA32   ((uint32_t) 0x0045U)
 BITMAP 8bpp BGRA32.
 
#define FVID2_DF_BITMAP4_BGRA32_LOWER   ((uint32_t) 0x0046U)
 BITMAP 4bpp BGRA32 lower address in CLUT.
 
#define FVID2_DF_BITMAP4_BGRA32_UPPER   ((uint32_t) 0x0047U)
 BITMAP 4bpp BGRA32 upper address in CLUT.
 
#define FVID2_DF_BITMAP2_BGRA32_OFFSET0   ((uint32_t) 0x0048U)
 BITMAP 2bpp BGRA32 offset 0 in CLUT.
 
#define FVID2_DF_BITMAP2_BGRA32_OFFSET1   ((uint32_t) 0x0049U)
 BITMAP 2bpp BGRA32 offset 1 in CLUT.
 
#define FVID2_DF_BITMAP2_BGRA32_OFFSET2   ((uint32_t) 0x004AU)
 BITMAP 2bpp BGRA32 offset 2 in CLUT.
 
#define FVID2_DF_BITMAP2_BGRA32_OFFSET3   ((uint32_t) 0x004BU)
 BITMAP 2bpp BGRA32 offset 3 in CLUT.
 
#define FVID2_DF_BITMAP1_BGRA32_OFFSET0   ((uint32_t) 0x004CU)
 BITMAP 1bpp BGRA32 offset 0 in CLUT.
 
#define FVID2_DF_BITMAP1_BGRA32_OFFSET1   ((uint32_t) 0x004DU)
 BITMAP 1bpp BGRA32 offset 1 in CLUT.
 
#define FVID2_DF_BITMAP1_BGRA32_OFFSET2   ((uint32_t) 0x004EU)
 BITMAP 1bpp BGRA32 offset 2 in CLUT.
 
#define FVID2_DF_BITMAP1_BGRA32_OFFSET3   ((uint32_t) 0x004FU)
 BITMAP 1bpp BGRA32 offset 3 in CLUT.
 
#define FVID2_DF_BITMAP1_BGRA32_OFFSET4   ((uint32_t) 0x0050U)
 BITMAP 1bpp BGRA32 offset 4 in CLUT.
 
#define FVID2_DF_BITMAP1_BGRA32_OFFSET5   ((uint32_t) 0x0051U)
 BITMAP 1bpp BGRA32 offset 5 in CLUT.
 
#define FVID2_DF_BITMAP1_BGRA32_OFFSET6   ((uint32_t) 0x0052U)
 BITMAP 1bpp BGRA32 offset 6 in CLUT.
 
#define FVID2_DF_BITMAP1_BGRA32_OFFSET7   ((uint32_t) 0x0053U)
 BITMAP 1bpp BGRA32 offset 7 in CLUT.
 
#define FVID2_DF_BAYER_RAW   ((uint32_t) 0x0054U)
 Bayer pattern.
 
#define FVID2_DF_BAYER_GRBG   ((uint32_t) 0x0055U)
 Raw bayer data color pattern G R G R ... B G B G ...
 
#define FVID2_DF_BAYER_RGGB   ((uint32_t) 0x0056U)
 Raw bayer data color pattern R G G R ... G B G B ...
 
#define FVID2_DF_BAYER_BGGR   ((uint32_t) 0x0057U)
 Raw bayer data color pattern B G B G ... G B G B ...
 
#define FVID2_DF_BAYER_GBRG   ((uint32_t) 0x0058U)
 Raw bayer data color pattern G B G B ... R R R G ...
 
#define FVID2_DF_RAW_VBI   ((uint32_t) 0x0059U)
 Raw VBI data.
 
#define FVID2_DF_RAW24   ((uint32_t) 0x005AU)
 24 bit raw-data.
 
#define FVID2_DF_RAW16   ((uint32_t) 0x005BU)
 16 bit raw-data.
 
#define FVID2_DF_RAW08   ((uint32_t) 0x005CU)
 8 bit raw-data.
 
#define FVID2_DF_MISC   ((uint32_t) 0x005DU)
 For future purpose.
 
#define FVID2_DF_BITMAP4   ((uint32_t) FVID2_DF_BITMAP4_LOWER)
 BITMAP 4bpp.
 
#define FVID2_DF_BITMAP2   ((uint32_t) FVID2_DF_BITMAP2_OFFSET0)
 BITMAP 2bpp.
 
#define FVID2_DF_BITMAP1   ((uint32_t) FVID2_DF_BITMAP1_OFFSET0)
 BITMAP 1bpp.
 
#define FVID2_DF_RAW06   ((uint32_t) 0x5EU)
 6 bit raw-data.
 
#define FVID2_DF_RAW07   ((uint32_t) 0x5FU)
 7 bit raw-data.
 
#define FVID2_DF_RAW10   ((uint32_t) 0x60U)
 10 bit raw-data.
 
#define FVID2_DF_RAW12   ((uint32_t) 0x61U)
 12 bit raw-data.
 
#define FVID2_DF_RAW14   ((uint32_t) 0x62U)
 14 bit raw-data.
 
#define FVID2_DF_JPEG1_INTERCHANGE   ((uint32_t) 0x63U)
 JPEG INTERCHANGE data.
 
#define FVID2_DF_JPEG2_JFIF   ((uint32_t) 0x64U)
 JPEG2 JFIF data.
 
#define FVID2_DF_JPEG3_EXIF   ((uint32_t) 0x65U)
 JPEG3 EXIF data.
 
#define FVID2_DF_DPCM_10_8_10_PRED1   ((uint32_t) 0x66U)
 DPCM 10-8-10 PRED1 data.
 
#define FVID2_DF_DPCM_10_8_10_PRED2   ((uint32_t) 0x67U)
 DPCM 10-8-10 PRED2 data.
 
#define FVID2_DF_DPCM_10_7_10_PRED1   ((uint32_t) 0x68U)
 DPCM 10-7-10 PRED1 data.
 
#define FVID2_DF_DPCM_10_7_10_PRED2   ((uint32_t) 0x69U)
 DPCM 10-7-10 PRED2 data.
 
#define FVID2_DF_DPCM_10_6_10_PRED1   ((uint32_t) 0x6AU)
 DPCM 10-6-10 PRED1 data.
 
#define FVID2_DF_DPCM_10_6_10_PRED2   ((uint32_t) 0x6BU)
 DPCM 10-6-10 PRED2 data.
 
#define FVID2_DF_DPCM_12_8_10_PRED1   ((uint32_t) 0x6CU)
 DPCM 12-8-10 PRED1 data.
 
#define FVID2_DF_DPCM_12_8_10_PRED2   ((uint32_t) 0x6DU)
 DPCM 12-8-10 PRED2 data.
 
#define FVID2_DF_DPCM_12_7_10_PRED1   ((uint32_t) 0x6EU)
 DPCM 12-7-10 PRED1 data.
 
#define FVID2_DF_DPCM_12_7_10_PRED2   ((uint32_t) 0x6FU)
 DPCM 12-7-10 PRED2 data.
 
#define FVID2_DF_DPCM_12_6_10_PRED1   ((uint32_t) 0x70U)
 DPCM 12-6-10 PRED1 data.
 
#define FVID2_DF_DPCM_12_6_10_PRED2   ((uint32_t) 0x71U)
 DPCM 12-6-10 PRED2 data.
 
#define FVID2_DF_BGR16_565_A8   ((uint32_t) 0x72U)
 BGR565 16-bit - 5-bits B, 6-bits G, 5-bits R. Alpha 8-bits another plane.
 
#define FVID2_DF_RGB16_565_A8   ((uint32_t) 0x73U)
 RGB565 16-bit - 5-bits R, 6-bits G, 5-bits B. Alpha 8-bits another plane.
 
#define FVID2_DF_LUMA_ONLY   ((uint32_t) 0x74U)
 Luma only data for YUV data format.
 
#define FVID2_DF_CHROMA_ONLY   ((uint32_t) 0x75U)
 Chroma only data for YUV data format.
 
#define FVID2_DF_RGB24_888_PLANAR   ((uint32_t) 0x76U)
 RGB888 planar format data format.
 
#define FVID2_DF_INVALID   ((uint32_t) 0x00FFU)
 Invalid data format. Could be used to initialize variables.
 
typedef uint32_t Fvid2_DataFormat
 YUV 422 Interleaved format - UYVY.
 

Scan format

#define FVID2_SF_INTERLACED   ((uint32_t) 0x00U)
 Interlaced mode.
 
#define FVID2_SF_PROGRESSIVE   ((uint32_t) 0x01U)
 Progressive mode.
 
#define FVID2_SF_MAX   ((uint32_t) 0x02U)
 Used by driver for validating the input parameters.
 
typedef uint32_t Fvid2_ScanFormat
 Interlaced mode.
 

Video standards

#define FVID2_STD_NTSC   ((uint32_t) 0x00U)
 720x480 30FPS interlaced NTSC standard.
 
#define FVID2_STD_PAL   ((uint32_t) 0x01U)
 720x576 30FPS interlaced PAL standard.
 
#define FVID2_STD_480I   ((uint32_t) 0x02U)
 720x480 30FPS interlaced SD standard.
 
#define FVID2_STD_576I   ((uint32_t) 0x03U)
 720x576 30FPS interlaced SD standard.
 
#define FVID2_STD_CIF   ((uint32_t) 0x04U)
 Interlaced, 360x120 per field NTSC, 360x144 per field PAL.
 
#define FVID2_STD_HALF_D1   ((uint32_t) 0x05U)
 Interlaced, 360x240 per field NTSC, 360x288 per field PAL.
 
#define FVID2_STD_D1   ((uint32_t) 0x06U)
 Interlaced, 720x240 per field NTSC, 720x288 per field PAL.
 
#define FVID2_STD_480P   ((uint32_t) 0x07U)
 720x480 60FPS progressive ED standard.
 
#define FVID2_STD_576P   ((uint32_t) 0x08U)
 720x576 60FPS progressive ED standard.
 
#define FVID2_STD_720P_60   ((uint32_t) 0x09U)
 1280x720 60FPS progressive HD standard.
 
#define FVID2_STD_720P_50   ((uint32_t) 0x0AU)
 1280x720 50FPS progressive HD standard.
 
#define FVID2_STD_1080I_60   ((uint32_t) 0x0BU)
 1920x1080 30FPS interlaced HD standard.
 
#define FVID2_STD_1080I_50   ((uint32_t) 0x0CU)
 1920x1080 50FPS interlaced HD standard.
 
#define FVID2_STD_1080P_60   ((uint32_t) 0x0DU)
 1920x1080 60FPS progressive HD standard.
 
#define FVID2_STD_1080P_50   ((uint32_t) 0x0EU)
 1920x1080 50FPS progressive HD standard.
 
#define FVID2_STD_1080P_24   ((uint32_t) 0x0FU)
 1920x1080 24FPS progressive HD standard.
 
#define FVID2_STD_1080P_30   ((uint32_t) 0x10U)
 1920x1080 30FPS progressive HD standard.
 
#define FVID2_STD_VGA_60   ((uint32_t) 0x11U)
 640x480 60FPS VESA standard.
 
#define FVID2_STD_VGA_72   ((uint32_t) 0x12U)
 640x480 72FPS VESA standard.
 
#define FVID2_STD_VGA_75   ((uint32_t) 0x13U)
 640x480 75FPS VESA standard.
 
#define FVID2_STD_VGA_85   ((uint32_t) 0x14U)
 640x480 85FPS VESA standard.
 
#define FVID2_STD_WVGA_60   ((uint32_t) 0x15U)
 800x480 60PFS WVGA
 
#define FVID2_STD_SVGA_60   ((uint32_t) 0x16U)
 800x600 60FPS VESA standard.
 
#define FVID2_STD_SVGA_72   ((uint32_t) 0x17U)
 800x600 72FPS VESA standard.
 
#define FVID2_STD_SVGA_75   ((uint32_t) 0x18U)
 800x600 75FPS VESA standard.
 
#define FVID2_STD_SVGA_85   ((uint32_t) 0x19U)
 800x600 85FPS VESA standard.
 
#define FVID2_STD_WSVGA_70   ((uint32_t) 0x1AU)
 1024x600 70FPS standard.
 
#define FVID2_STD_XGA_60   ((uint32_t) 0x1BU)
 1024x768 60FPS VESA standard.
 
#define FVID2_STD_XGA_DSS_TDM_60   ((uint32_t) 0x1CU)
 1024x768 60FPS VESA standard. Applicable for DSS in 8-bit TDM mode.
 
#define FVID2_STD_XGA_70   ((uint32_t) 0x1DU)
 1024x768 72FPS VESA standard.
 
#define FVID2_STD_XGA_75   ((uint32_t) 0x1EU)
 1024x768 75FPS VESA standard.
 
#define FVID2_STD_XGA_85   ((uint32_t) 0x1FU)
 1024x768 85FPS VESA standard.
 
#define FVID2_STD_1368_768_60   ((uint32_t) 0x20U)
 1368x768 60 PFS VESA.
 
#define FVID2_STD_1366_768_60   ((uint32_t) 0x21U)
 1366x768 60 PFS VESA.
 
#define FVID2_STD_1360_768_60   ((uint32_t) 0x22U)
 1360x768 60 PFS VESA.
 
#define FVID2_STD_WXGA_30   ((uint32_t) 0x23U)
 1280x800 30FPS VESA standard.
 
#define FVID2_STD_WXGA_60   ((uint32_t) 0x24U)
 1280x800 60FPS VESA standard.
 
#define FVID2_STD_WXGA_75   ((uint32_t) 0x25U)
 1280x800 75FPS VESA standard.
 
#define FVID2_STD_WXGA_85   ((uint32_t) 0x26U)
 1280x800 85FPS VESA standard.
 
#define FVID2_STD_1440_900_60   ((uint32_t) 0x27U)
 1440x900 60 PFS VESA standard.
 
#define FVID2_STD_SXGA_60   ((uint32_t) 0x28U)
 1280x1024 60FPS VESA standard.
 
#define FVID2_STD_SXGA_75   ((uint32_t) 0x29U)
 1280x1024 75FPS VESA standard.
 
#define FVID2_STD_SXGA_85   ((uint32_t) 0x2AU)
 1280x1024 85FPS VESA standard.
 
#define FVID2_STD_WSXGAP_60   ((uint32_t) 0x2BU)
 1680x1050 60 PFS VESA standard.
 
#define FVID2_STD_SXGAP_60   ((uint32_t) 0x2CU)
 1400x1050 60FPS VESA standard.
 
#define FVID2_STD_SXGAP_75   ((uint32_t) 0x2DU)
 1400x1050 75FPS VESA standard.
 
#define FVID2_STD_UXGA_60   ((uint32_t) 0x2EU)
 1600x1200 60FPS VESA standard.
 
#define FVID2_STD_MUX_2CH_D1   ((uint32_t) 0x2FU)
 Interlaced, 2Ch D1, NTSC or PAL.
 
#define FVID2_STD_MUX_2CH_HALF_D1   ((uint32_t) 0x30U)
 Interlaced, 2ch half D1, NTSC or PAL.
 
#define FVID2_STD_MUX_2CH_CIF   ((uint32_t) 0x31U)
 Interlaced, 2ch CIF, NTSC or PAL.
 
#define FVID2_STD_MUX_4CH_D1   ((uint32_t) 0x32U)
 Interlaced, 4Ch D1, NTSC or PAL.
 
#define FVID2_STD_MUX_4CH_CIF   ((uint32_t) 0x33U)
 Interlaced, 4Ch CIF, NTSC or PAL.
 
#define FVID2_STD_MUX_4CH_HALF_D1   ((uint32_t) 0x34U)
 Interlaced, 4Ch Half-D1, NTSC or PAL.
 
#define FVID2_STD_MUX_8CH_CIF   ((uint32_t) 0x35U)
 Interlaced, 8Ch CIF, NTSC or PAL.
 
#define FVID2_STD_MUX_8CH_HALF_D1   ((uint32_t) 0x36U)
 Interlaced, 8Ch Half-D1, NTSC or PAL.
 
#define FVID2_STD_WXGA_5x3_30   ((uint32_t) 0x37U)
 WXGA standard (1280x768) with the aspect ratio 5:3 at 30FPS.
 
#define FVID2_STD_WXGA_5x3_60   ((uint32_t) 0x38U)
 WXGA resolution (1280x768) with the aspect ratio 5:3 at 60FPS.
 
#define FVID2_STD_WXGA_5x3_75   ((uint32_t) 0x39U)
 WXGA resolution (1280x768) with the aspect ratio 5:3 at 75FPS.
 
#define FVID2_STD_AUTO_DETECT   ((uint32_t) 0x3AU)
 Auto-detect standard. Used in capture mode.
 
#define FVID2_STD_CUSTOM   ((uint32_t) 0x3BU)
 Custom standard used when connecting to external LCD etc... The video timing is provided by the application. Used in display mode.
 
typedef uint32_t Fvid2_Standard
 720x480 30FPS interlaced NTSC standard.
 

Field type

#define FVID2_FID_TOP   ((uint32_t) 0U)
 Top field.
 
#define FVID2_FID_BOTTOM   ((uint32_t) 1U)
 Bottom field.
 
#define FVID2_FID_FRAME   ((uint32_t) 2U)
 Frame mode - Contains both the fields or a progressive frame.
 
#define FVID2_FID_MAX   ((uint32_t) 3U)
 Used by driver for validating the input parameters.
 
typedef uint32_t Fvid2_Fid
 Top field.
 

Polarity type

#define FVID2_POL_LOW   ((uint32_t) 0U)
 Low Polarity.
 
#define FVID2_POL_HIGH   ((uint32_t) 1U)
 High Polarity.
 
#define FVID2_POL_MAX   ((uint32_t) 2U)
 Used by driver for validating the input parameters.
 
typedef uint32_t Fvid2_Polarity
 Low Polarity.
 

Edge Polarity type

#define FVID2_EDGE_POL_RISING   ((uint32_t) 0U)
 Rising Edge.
 
#define FVID2_EDGE_POL_FALLING   ((uint32_t) 1U)
 Falling Edge.
 
#define FVID2_EDGE_POL_MAX   ((uint32_t) 2U)
 Used by driver for validating the input parameters.
 
typedef uint32_t Fvid2_EdgePolarity
 Rising Edge.
 

Field ID polarity

#define FVID2_FIDPOL_NORMAL   ((uint32_t) 0U)
 FID = 0, top field.
 
#define FVID2_FIDPOL_INVERT   ((uint32_t) 1U)
 FID = 1, bottom field.
 
typedef uint32_t Fvid2_FidPol
 FID = 0, top field.
 

Buffer storage format

#define FVID2_BUF_FMT_FIELD   ((uint32_t) 0U)
 Buffers are captured/displayed as fields instead of frames.
 
#define FVID2_BUF_FMT_FRAME   ((uint32_t) 1U)
 Buffers are captured/displayed as frames.
 
typedef uint32_t Fvid2_BufferFormat
 Buffers are captured/displayed as fields instead of frames.
 

Storage Format for each color component in pixel

#define FVID2_CCSF_BITS1_PACKED   ((uint32_t) 0x00U)
 1 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS2_PACKED   ((uint32_t) 0x01U)
 2 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS4_PACKED   ((uint32_t) 0x02U)
 4 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS8_PACKED   ((uint32_t) 0x03U)
 8 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS10_PACKED   ((uint32_t) 0x04U)
 12 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS12_PACKED   ((uint32_t) 0x05U)
 12 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS14_PACKED   ((uint32_t) 0x06U)
 14 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS16_PACKED   ((uint32_t) 0x07U)
 16 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS24_PACKED   ((uint32_t) 0x08U)
 24 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS32_PACKED   ((uint32_t) 0x09U)
 32 Bits per Pixel packed.
 
#define FVID2_CCSF_BITS6_UNPACKED8   ((uint32_t) 0x0AU)
 6 Bits per Pixel unpacked in 8bit container.
 
#define FVID2_CCSF_BITS7_UNPACKED8   ((uint32_t) 0x0BU)
 7 Bits per Pixel unpacked in 8bit container.
 
#define FVID2_CCSF_BITS8_UNPACKED12   ((uint32_t) 0x0CU)
 8 Bits per Pixel unpacked in 12bit container.
 
#define FVID2_CCSF_BITS8_UNPACKED16   ((uint32_t) 0x0DU)
 8 Bits per Pixel unpacked in 12bit container.
 
#define FVID2_CCSF_BITS9_UNPACKED16   ((uint32_t) 0x0EU)
 9 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS10_UNPACKED16   ((uint32_t) 0x0FU)
 10 Bits per Pixel unpacked in 16bit container
 
#define FVID2_CCSF_BITS11_UNPACKED16   ((uint32_t) 0x10U)
 11 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS12_UNPACKED16   ((uint32_t) 0x11U)
 12 Bits per Pixel, unpacked in 16bit container
 
#define FVID2_CCSF_BITS13_UNPACKED16   ((uint32_t) 0x12U)
 13 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS14_UNPACKED16   ((uint32_t) 0x13U)
 14 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS15_UNPACKED16   ((uint32_t) 0x14U)
 15 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS20_UNPACKED24   ((uint32_t) 0x15U)
 20 Bits per Pixel unpacked in 24bit container.
 
#define FVID2_CCSF_BITS6_UNPACKED8_MSB_ALIGNED   ((uint32_t) 0x16U)
 6 Bits per Pixel unpacked in 8bit container.
 
#define FVID2_CCSF_BITS7_UNPACKED8_MSB_ALIGNED   ((uint32_t) 0x17U)
 7 Bits per Pixel unpacked in 8bit container.
 
#define FVID2_CCSF_BITS8_UNPACKED12_MSB_ALIGNED   ((uint32_t) 0x18U)
 8 Bits per Pixel unpacked in 12bit container.
 
#define FVID2_CCSF_BITS8_UNPACKED16_MSB_ALIGNED   ((uint32_t) 0x19U)
 8 Bits per Pixel unpacked in 12bit container.
 
#define FVID2_CCSF_BITS9_UNPACKED16_MSB_ALIGNED   ((uint32_t) 0x1AU)
 9 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS10_UNPACKED16_MSB_ALIGNED   ((uint32_t) 0x1BU)
 10 Bits per Pixel unpacked in 16bit container
 
#define FVID2_CCSF_BITS11_UNPACKED16_MSB_ALIGNED   ((uint32_t) 0x1CU)
 11 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS12_UNPACKED16_MSB_ALIGNED   ((uint32_t) 0x1DU)
 12 Bits per Pixel, unpacked in 16bit container
 
#define FVID2_CCSF_BITS13_UNPACKED16_MSB_ALIGNED   ((uint32_t) 0x1EU)
 13 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS14_UNPACKED16_MSB_ALIGNED   ((uint32_t) 0x1FU)
 14 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS15_UNPACKED16_MSB_ALIGNED   ((uint32_t) 0x20U)
 15 Bits per Pixel unpacked in 16bit container.
 
#define FVID2_CCSF_BITS20_UNPACKED24_MSB_ALIGNED   ((uint32_t) 0x21U)
 20 Bits per Pixel unpacked in 24bit container.
 
#define FVID2_CCSF_MAX   ((uint32_t) 0x22U)
 Used by driver for validating the input parameters.
 
typedef uint32_t Fvid2_ColorCompStorageFmt
 1 Bits per Pixel packed.
 

Digital video interface width

#define FVID2_VIFW_8BIT   ((uint32_t) 0x00U)
 8-bit interface.
 
#define FVID2_VIFW_10BIT   ((uint32_t) 0x01U)
 10-bit interface.
 
#define FVID2_VIFW_12BIT   ((uint32_t) 0x02U)
 12-bit interface.
 
#define FVID2_VIFW_14BIT   ((uint32_t) 0x03U)
 14-bit interface.
 
#define FVID2_VIFW_16BIT   ((uint32_t) 0x04U)
 16-bit interface.
 
#define FVID2_VIFW_18BIT   ((uint32_t) 0x05U)
 18-bit interface.
 
#define FVID2_VIFW_20BIT   ((uint32_t) 0x06U)
 20-bit interface.
 
#define FVID2_VIFW_24BIT   ((uint32_t) 0x07U)
 24-bit interface.
 
#define FVID2_VIFW_30BIT   ((uint32_t) 0x08U)
 30-bit interface.
 
#define FVID2_VIFW_36BIT   ((uint32_t) 0x09U)
 36-bit interface.
 
#define FVID2_VIFW_1LANES   ((uint32_t) 0x0AU)
 CSI2 specific - 1 data lanes.
 
#define FVID2_VIFW_2LANES   ((uint32_t) 0x0BU)
 CSI2 specific - 2 data lanes.
 
#define FVID2_VIFW_3LANES   ((uint32_t) 0x0CU)
 CSI2 specific - 3 data lanes.
 
#define FVID2_VIFW_4LANES   ((uint32_t) 0x0DU)
 CSI2 / LVDS specific - 4 data lanes.
 
#define FVID2_VIFW_MAX   ((uint32_t) 0x0EU)
 Maximum modes.
 
typedef uint32_t Fvid2_VideoIfWidth
 8-bit interface.
 

Detailed Description

CSL FVID2 Datatypes.

Macro Definition Documentation

#define FVID2_MAX_PLANES
Value:
#define FVID2_MAX_PLANES_PER_FIELD
This macro determines the maximum number of planes/address used to represent a video buffer per field...
Definition: csl_fvid2_dataTypes.h:152
#define FVID2_MAX_FIELDS
Number of fields - top and bottom. Used for allocating address pointers for both the fields...
Definition: csl_fvid2_dataTypes.h:144

This macro determines the maximum number of planes/address used to represent a video buffer. Currently this is set to 6 to support the maximum pointers required for two fields of YUV/RGB planar format - Y, Cb and Cr or R, G and B.

Enumeration Type Documentation

Enum for selecting bayer color components for odd/even pixel position on odd/even lines, Also used for specifying gain and offset in White balance config for each color component.

Enumerator
FVID2_BAYER_COLOR_COMP_R 

Red Color Component in Bayer image

FVID2_BAYER_COLOR_COMP_GR 

GreenR Color Component in Bayer image

FVID2_BAYER_COLOR_COMP_GB 

GreenB Color Component in Bayer image

FVID2_BAYER_COLOR_COMP_B 

Blue Color Component in Bayer image

FVID2_BAYER_COLOR_COMP_MAX 

This should be the last number, used in specifying array size

Enum for selecting chroma position in chroma up or down sampler.

Enumerator
FVID2_CHROMA_POS_COSITED 

Chroma is cosited

FVID2_CHROMA_POS_CENTERED 

Chroma is Centered

Enum for state of the FVID2 frame. Typically used for marking FVID2_frame as either SUBMITTED, Completed/Done, Errorneous at the time of flush/abort when driver returns back all the frames.

Enumerator
FVID2_FRAME_STATUS_INIT 

FVID2 Frame is initialized using init function

FVID2_FRAME_STATUS_COMPLETED 

Frame processing is completed and can be used in the application

FVID2_FRAME_STATUS_PENDING 

Frame processing is still pending, used for the frames which are dequeued before being processed

FVID2_FRAME_STATUS_SUBMITTED 

Frame is just submitted to the driver

FVID2_FRAME_STATUS_ERROR 

Frame has error

FVID2_FRAME_STATUS_ABORTED 

Frame processing is aborted, used for the frames which are force moved to output queue

FVID2_FRAME_STATUS_OVERFLOW 

The IP processing this frame experienced and overflow of its internal buffers. Indicates severe error

FVID2_FRAME_STATUS_ECC_CORRECTED 

There was 1 bit ECC error, which was corrected. Provided the hardware and/or protocol used to process this frame supports ECC

FVID2_FRAME_STATUS_CRC_ERROR 

CRC errors were detected, the integrity of the data is not guaranteed. Provided the hardware and/or protocol used to process this frame supports CRC

FVID2_FRAME_STATUS_ECC_ERROR 

There were multiple bit ECC error, which was could not be corrected. Provided the hardware and/or protocol used to process this frame supports ECC

FVID2_FRAME_STATUS_MAX 

This should be the last number,

Video interface mode.

Enumerator
FVID2_VIFM_SCH_ES 

Single Channel non multiplexed mode.

FVID2_VIFM_MCH_LINE_MUX_ES 

Multi-channel line-multiplexed mode.

FVID2_VIFM_MCH_PIXEL_MUX_ES 

Multi-channel pixel muxed.

FVID2_VIFM_SCH_DS_HSYNC_VBLK 

Single Channel non multiplexed discrete sync mode with HSYNC and VBLK as control signals.

FVID2_VIFM_SCH_DS_HSYNC_VSYNC 

Single Channel non multiplexed discrete sync mode with HSYNC and VSYNC as control signals.

FVID2_VIFM_SCH_DS_AVID_VBLK 

Single Channel non multiplexed discrete sync mode with AVID and VBLK as control signals.

FVID2_VIFM_SCH_DS_AVID_VSYNC 

Single Channel non multiplexed discrete sync mode with AVID and VBLK as control signals.

FVID2_VIFM_MCH_LINE_MUX_SPLIT_LINE_ES 

Multi-channel line-multiplexed mode - split line mode.

FVID2_VIFM_SCH_CSI2 

Single channel capture via CSI2 interface

FVID2_VIFM_SCH_LVDS 

Single channel capture via LVDS interface

FVID2_VIFM_SCH_CPI 

Single channel capture via Parallel interface

FVID2_VIFM_MAX 

Should be the last value of this enumeration. Will be used by driver for validating the input parameters.

Function Documentation

static uint32_t Fvid2_BayerColorIndex ( uint32_t  dataFmt,
uint32_t  color 
)
inlinestatic

Function to get the index of the color for bayer data format.

Parameters
dataFmt[IN] Bayer Data Format For valid values see Fvid2_DataFormat.
color[IN] Bayer Color Component For valid values see Fvid2_BayerColorComp
Returns
Returns index of the color component.
const Char* Fvid2_getDataFmtString ( uint32_t  dataFmt)

Function to get the name of the data format in printable string.

Parameters
dataFmt[IN] Data format to get the name. For valid values see Fvid2_DataFormat.
Returns
Returns a const pointer to the string. If the data format is not known, then it return the string as "UNKNOWN".
int32_t Fvid2_getModeInfo ( Fvid2_ModeInfo modeInfo)

Function to get the information about various FVID2 modes/standards.

Parameters
modeInfo[OUT] Pointer to Fvid2_ModeInfo structure where the information is filled.
Returns
FVID2_SOK on success, else appropriate FVID2 error code on failure.
const Char* Fvid2_getStandardString ( uint32_t  standard)

Function to get the name of the standard in printable string.

Parameters
standard[IN] Standard to get the name. For valid values see Fvid2_Standard.
Returns
Returns a const pointer to the string. If the standard is not known, then it return the string as "UNKNOWN".
static int32_t Fvid2_isDataFmtBayer ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is Bayer with MosaicPattern.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is Bayer, FALSE otherwise.
static int32_t Fvid2_isDataFmtRgb ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is RGB .

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is RGB , FALSE otherwise.
static int32_t Fvid2_isDataFmtRgb16bit ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is RGB 16-bit.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is RGB 16-bit, FALSE otherwise.
static int32_t Fvid2_isDataFmtRgb24bit ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is RGB 24-bit.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is RGB 24-bit, FALSE otherwise.
static int32_t Fvid2_isDataFmtRgb32bit ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is RGB 32-bit.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is RGB 32-bit, FALSE otherwise.
static int32_t Fvid2_isDataFmtRgb64bit ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is RGB 64 bit.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is RGB 64-bit, FALSE otherwise.
static int32_t Fvid2_isDataFmtSemiPlanar ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is semi-planar.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is semi-planar, FALSE otherwise.
static int32_t Fvid2_isDataFmtYuv ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is YUV.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is YUV, FALSE otherwise.
static int32_t Fvid2_isDataFmtYuv420 ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is YUV420.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is YUV420, FALSE otherwise.
static int32_t Fvid2_isDataFmtYuv420Sp ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is YUV420SP.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is YUV420SP, FALSE otherwise.
static int32_t Fvid2_isDataFmtYuv422 ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is YUV422.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is YUV422, FALSE otherwise.
static int32_t Fvid2_isDataFmtYuv422I ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is YUV422 interleaved.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is YUV422 interleaved, FALSE otherwise.
static int32_t Fvid2_isDataFmtYuv422Sp ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is YUV422SP.

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is YUV422SP, FALSE otherwise.
static int32_t Fvid2_isDataFmtYuv444 ( uint32_t  dataFmt)
inlinestatic

Function to check whether a data format is YUV444 .

Parameters
dataFmt[IN] Data format to check. For valid values see Fvid2_DataFormat.
Returns
Returns TRUE if data format is YUV444 , FALSE otherwise.
static int32_t Fvid2_isStandardVesa ( uint32_t  standard)
inlinestatic

Function to check whether a standard is VESA mode or not.

Parameters
standard[IN] Standard to check. For valid values see Fvid2_Standard.
Returns
Returns TRUE if standard is VESA, FALSE otherwise.
static void Fvid2CropConfig_init ( Fvid2_CropConfig cropCfg)
inlinestatic

Fvid2_CropConfig structure init function.

Parameters
cropCfg[IN] Pointer to Fvid2_CropConfig structure.
static void Fvid2Format_init ( Fvid2_Format fmt)
inlinestatic

Fvid2_Format structure init function.

Parameters
fmt[IN] Pointer to Fvid2_Format structure.
static void Fvid2Frame_init ( Fvid2_Frame frm)
inlinestatic

Fvid2_Frame structure init function.

Parameters
frm[IN] Pointer to Fvid2_Frame structure.
static void Fvid2FrameList_init ( Fvid2_FrameList fList)
inlinestatic

Fvid2_FrameList structure init function.

Parameters
fList[IN] Pointer to Fvid2_FrameList structure.
static void Fvid2ModeInfo_init ( Fvid2_ModeInfo modeInfo)
inlinestatic

Fvid2_ModeInfo structure init function. This defaults to 1080p60.

Parameters
modeInfo[IN] Pointer to Fvid2_ModeInfo structure.
static void Fvid2PosConfig_init ( Fvid2_PosConfig posCfg)
inlinestatic

Fvid2_PosConfig structure init function.

Parameters
posCfg[IN] Pointer to Fvid2_PosConfig structure.
static void Fvid2SubFrameInfo_init ( Fvid2_SubFrameInfo sfInfo)
inlinestatic

Fvid2_SubFrameInfo structure init function.

Parameters
sfInfo[IN] Pointer to Fvid2_SubFrameInfo structure.

Copyright 2018, Texas Instruments Incorporated