5.4. Data Types

5.4.1. VO_DEV

【Description】

Define the device number.

【Syntax】

typedef CVI_U32 VO_DEV;

【Member】

    • Processor

    • escription

    • CV183x

    • There is only one video output device.

      0: DHD0

      Support LCD, MIPI TX, BT.656, BT.1120

    • CV182xCV181x

    • There is only one video output device.

      0: DHD0

      Support LCD, MIPI TX, BT.656, BT.1120, RGB, 180

【Note】

None.

【Related Data Type and Interface】

None.

5.4.2. VO_LAYER

【Description】

Define the video layer number.

【Syntax】

typedef CVI_U32 VO_LAYER;

【Member】

    • Processor

    • escription

    • CV183x

    • There is only one video output layer.

      0: VHD0

    • CV182xCV181x

    • There is only one video output layer.

      0: VHD0

【Note】

None.

【Related Data Type and Interface】

None.

5.4.3. VO_INTF_TYPE

【Description】

Define the interface number of the video output device.

【Syntax】

#define VO_INTF_CVBS (0x01L << 0)
#define VO_INTF_YPBPR (0x01L << 1)
#define VO_INTF_VGA (0x01L << 2)
#define VO_INTF_BT656 (0x01L << 3)
#define VO_INTF_BT1120 (0x01L << 6)
#define VO_INTF_LCD (0x01L << 7)
#define VO_INTF_LCD_18BIT (0x01L << 10)
#define VO_INTF_LCD_24BIT (0x01L << 11)
#define VO_INTF_LCD_30BIT (0x01L << 12)
#define VO_INTF_MIPI (0x01L << 13)
#define VO_INTF_MIPI_SLAVE (0x01L << 14)
#define VO_INTF_HDMI (0x01L << 15)

typedef CVI_U32 VO_INTF_TYPE_E;

【Note】

None.

【Related Data Type and Interface】

None.

5.4.4. VO_INTF_SYNC_E

【Description】

Define the standard timing of video output devices.

【Syntax】

 typedef enum _VO_INTF_SYNC_E {
  VO_OUTPUT_PAL = 0,
  VO_OUTPUT_NTSC,
  VO_OUTPUT_1080P24,
  VO_OUTPUT_1080P25,
  VO_OUTPUT_1080P30,
  VO_OUTPUT_720P50,
  VO_OUTPUT_720P60,
  VO_OUTPUT_1080P50,
  VO_OUTPUT_1080P60,
  VO_OUTPUT_576P50,
  VO_OUTPUT_480P60
  VO_OUTPUT_800x600_60,
  VO_OUTPUT_1024x768_60,
  VO_OUTPUT_1280x1024_60,
  VO_OUTPUT_1366x768_60
  VO_OUTPUT_1440x900_60,
  VO_OUTPUT_1280x800_60,
  VO_OUTPUT_1600x1200_60,
  VO_OUTPUT_1680x1050_60
  VO_OUTPUT_1920x1200_60,
  VO_OUTPUT_640x480_60,
  VO_OUTPUT_1920x2160_30,
  VO_OUTPUT_2560x1440_30,
  VO_OUTPUT_2560x1440_60,
  VO_OUTPUT_2560x1600_60,
  VO_OUTPUT_3840x2160_24,
  VO_OUTPUT_3840x2160_25,
  VO_OUTPUT_3840x2160_30,
  VO_OUTPUT_3840x2160_50,
  VO_OUTPUT_3840x2160_60,
  VO_OUTPUT_4096x2160_24,
  VO_OUTPUT_4096x2160_25,
  VO_OUTPUT_4096x2160_30,
  VO_OUTPUT_4096x2160_50,
  VO_OUTPUT_4096x2160_60,
  VO_OUTPUT_720x1280_60, /* For MIPI DSI Tx 720 x1280 at 60 Hz */
  VO_OUTPUT_1080x1920_60, /* For MIPI DSI Tx 1080x1920 at 60 Hz */
  VO_OUTPUT_USER, /* User timing. */

  VO_OUTPUT_BUTT
} VO_INTF_SYNC_E;

【Note】

None.

【Related Data Type and Interface】

None.

5.4.5. VO_SYNC_INFO_S

【Description】

Define the sequential structure of the device.

【Syntax】

 typedef struct _VO_SYNC_INFO_S {
  CVI_BOOL bSynm;
  CVI_BOOL bIop;
  CVI_U16 u16FrameRate;

  CVI_U16 u16Vact;
  CVI_U16 u16Vbb;
  CVI_U16 u16Vfb;

  CVI_U16 u16Hact;
  CVI_U16 u16Hbb;
  CVI_U16 u16Hfb;

  CVI_U16 u16Hpw;
  CVI_U16 u16Vpw;

  CVI_BOOL bIdv;
  CVI_BOOL bIhs;
  CVI_BOOL bIvs;
} VO_SYNC_INFO_S;

【Member】

Member

Description

bSynm

Synchronous signal mode,

0: embedded sync,

1: separate sync。

bIop

0: interlaced,

1:progressive。

u16FrameRate

Number of updates per second

u16Vact

Vertical image rows

u16Vbb

Vertical back porch rows

u16Vfb

Vertical front porch rows

u16Hact

Phase number of horizontal image

u16Hbb

Horizontal back porch phase number

u16Hfb

Horizontal front porch phase number

u16Hpw

Number of horizontal synchronous phases

u16Vpw

Vertical synchronous rows

bIdv

Is Data valid reversed

bIhs

Is horizontal synchronization reversed

bIvs

Is vertical synchronization reversed

【Note】

None.

【Related Data Type and Interface】

None.

5.4.6. VO_PUB_ATTR_S

【Description】

Define output device structure.

【Syntax】

 typedef struct _VO_PUB_ATTR_S {
  CVI_U32 u32BgColor;
  VO_INTF_TYPE_E enIntfType;
  VO_INTF_SYNC_E enIntfSync;
  VO_SYNC_INFO_S stSyncInfo;
  union {
    VO_I80_CFG_S sti80Cfg;
    VO_LVDS_ATTR_S stLvdsAttr;
  };
} VO_PUB_ATTR_S;

【Member】

Member

Description

u32BgColor

Background color.

In RGBAAA format, bit[9:0] is B, bit[19:10] is G, and bit[29:20] is R.

enIntfType

The interface of the output device.

enIntfSync

Standard timing of output devices

stSyncInfo

The custom timing of the output device, only works when enIntfSync is VO_OUTPUT_USER .

sti80Cfg

Interface properties of the output device when the interface is I80

stLvdsAttr

Interface properties when the output device interface is LCD

【Note】

None.

【Related Data Type and Interface】

None.

5.4.7. VO_VIDEO_LAYER_ATTR_S

【Description】

Define the video layer structure.

【Syntax】

 typedef struct _VO_VIDEO_LAYER_ATTR_S {
  RECT_S stDispRect;
  SIZE_S stImageSize;
  CVI_U32 u32DispFrmRt;
  PIXEL_FORMAT_E enPixFormat;
} VO_VIDEO_LAYER_ATTR_S;

【Member】

Member

Description

stDispRect

The display range of the video layer should be smaller than that of the device.

stImageSize

Image size. If scaling is not supported, the image size should be equal to stDispRect

u32DispFrmRt

Display the number of updates

enPixFormat

Image format of video layer

【Note】

None.

【Related Data Type and Interface】

None.

5.4.8. VO_CHN_ATTR_S

【Description】

Define output channel structure.

【Syntax】

 typedef struct _VO_CHN_ATTR_S {
  CVI_U32 u32Priority;
  RECT_S stRect;
} VO_CHN_ATTR_S;

【Member】

Member

Description

u32Priority

In case of multi-channel, the one with high priority (relatively small) will be on the channel.

stRect

The display area of the channel.

【Note】

None.

【Related Data Type and Interface】

None.