4.4. 数据类型

视频输入相关数据类型定义如下,处理器差异的部分参见 各处理器支持能力


4.4.1. VI_MAX_PHY_DEV_NUM

【说明】

定义 VI 物理设备的最大个数。

【定义】

#define VI_MAX_PHY_DEV_NUM 3

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.2. VI_MAX_VIR_DEV_NUM

【说明】

定义 VI 设备的最大个数。

【定义】

#define VI_MAX_VIR_DEV_NUM 2

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.3. VI_MAX_DEV_NUM

【说明】

定义 VI 设备的最大个数。

【定义】

#define VI_MAX_DEV_NUM (VI_MAX_PHY_DEV_NUM + VI_MAX_VIR_DEV_NUM)

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.4. VI_MAX_PHY_PIPE_NUM

【说明】

定义 VI 物理 PIPE 的最大个数。

【定义】

#define VI_MAX_PHY_PIPE_NUM 5

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.5. VI_MAX_VIR_PIPE_NUM

【说明】

定义 VI 虚拟 PIPE 的最大个数。

【定义】

#define VI_MAX_VIR_PIPE_NUM 0

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.6. VI_MAX_PIPE_NUM

【说明】

定义 VI PIPE 的最大个数。

【定义】

#define VI_MAX_PIPE_NUM (VI_MAX_PHY_PIPE_NUM + VI_MAX_VIR_PIPE_NUM)

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.7. VI_MAX_VIR_CHN_NUM

【说明】

定义 VI 虚拟通道的最大个数。

【定义】

#define VI_MAX_VIR_CHN_NUM 2

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.8. VI_MAX_PHY_CHN_NUM

【说明】

定义 VI 物理通道的最大个数。

【定义】

#define VI_MAX_PHY_CHN_NUM 3

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.9. VI_MAX_EXT_CHN_NUM

【说明】

定义 VI 扩展通道的最大个数。

【定义】

#define VI_MAX_EXT_CHN_NUM 3

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.10. VI_MAX_CHN_NUM

【说明】

定义 VI 物理信道和扩展信道的总个数。

【定义】

#define VI_MAX_CHN_NUM (VI_MAX_PHY_CHN_NUM + VI_MAX_EXT_CHN_NUM)

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.11. VI_EXT_CHN_START

【说明】

定义 VI 扩展通道起始通道号。

【定义】

#define VI_EXT_CHN_START VI_MAX_CHN_NUM

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.12. VI_MAX_EXTCHN_BIND_PER_CHN

【说明】

定义 VI 每个通道绑定扩展通道的最大个数。

【定义】

#define VI_MAX_EXTCHN_BIND_PER_CHN 1

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.13. VI_PIPE1_MAX_WIDTH

【说明】

VI PIPE1 处理图像的最大宽度。

【定义】

#define VI_PIPE1_MAX_WIDTH 2880

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.14. VI_PIXEL_FORMAT

【说明】

VI 图像格式。

【定义】

#define VI_PIXEL_FORMAT PIXEL_FORMAT_NV21

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.15. CVI_VI_VPSS_EXTRA_BUF

【说明】

定义 VI VPSS 额外缓冲区数量。

【定义】

#define CVI_VI_VPSS_EXTRA_BUF 0

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.16. CVI_VI_CHN_0_BUF

【说明】

定义 VI 通道 0 缓冲区数量。

【定义】

#define CVI_VI_CHN_0_BUF (2 + CVI_VI_VPSS_EXTRA_BUF)

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.17. CVI_VI_CHN_1_BUF

【说明】

定义 VI 通道 1 缓冲区数量。

【定义】

#define CVI_VI_CHN_1_BUF (2 + CVI_VI_VPSS_EXTRA_BUF)

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.18. CVI_VI_CHN_2_BUF

【说明】

定义 VI 通道 2 缓冲区数量。

【定义】

#define CVI_VI_CHN_2_BUF (2 + CVI_VI_VPSS_EXTRA_BUF)

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.19. CVI_VI_CHN_3_BUF

【说明】

定义 VI 通道 3 缓冲区数量。

【定义】

#define CVI_VI_CHN_3_BUF (2 + CVI_VI_VPSS_EXTRA_BUF)

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.20. VI_CMP_PARAM_SIZE

【说明】

定义 VI 比较参数大小。

【定义】

#define VI_CMP_PARAM_SIZE 152

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.21. VI_MAX_ADCHN_NUM

【说明】

定义 VI 最大模拟数字通道数。

【定义】

#define VI_MAX_ADCHN_NUM 4

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.22. VI_COMPMASK_NUM

【说明】

定义 VI 比较掩码数量。

【定义】

#define VI_COMPMASK_NUM 2

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.23. VI_SHARPEN_GAIN_NUM

【说明】

定义 VI 锐化增益参数数量。

【定义】

#define VI_SHARPEN_GAIN_NUM 32

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.24. VI_AUTO_ISO_STRENGTH_NUM

【说明】

定义 VI 自动ISO强度参数数量。

【定义】

#define VI_AUTO_ISO_STRENGTH_NUM 16

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.25. VI_INVALID_CHN

【说明】

定义 VI 无效的视频输入通道编号。

【定义】

#define VI_INVALID_CHN -1

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.26. VI_DATA_TYPE_E

【说明】

VI 输入数据类型枚举。

【定义】

typedef enum _VI_DATA_TYPE_E {
   VI_DATA_TYPE_YUV = 0,
   VI_DATA_TYPE_RGB,
   VI_DATA_TYPE_YUV_EARLY,
   VI_DATA_TYPE_BUTT
} VI_DATA_TYPE_E;

【成员】

成员名称

描述

VI_DATA_TYPE_YUV

数据类型YUV

VI_DATA_TYPE_RGB

数据类型RGB

VI_DATA_TYPE_YUV_EARLY

数据类型YUV(中断提前)

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.27. VI_DEV_ATTR_S

【说明】

定义VI设备的属性。

【定义】

typedef struct _VI_DEV_ATTR_S {
   VI_INTF_MODE_E enIntfMode;
   VI_WORK_MODE_E enWorkMode;
   VI_SCAN_MODE_E enScanMode;
   CVI_S32 as32AdChnId[VI_MAX_ADCHN_NUM];
   VI_YUV_DATA_SEQ_E enDataSeq;
   VI_SYNC_CFG_S stSynCfg;
   VI_DATA_TYPE_E enInputDataType;
   SIZE_S stSize;
   VI_WDR_ATTR_S stWDRAttr;
   BAYER_FORMAT_E enBayerFormat;
   CVI_U32 chn_num;
   CVI_U32 snrFps;
   CVI_U64 phy_addr;
   CVI_U32 phy_size;
   CVI_BOOL isMux;
   CVI_U8 switchGpioIdx;
   CVI_U8 switchGpioPin;
   CVI_U8 switchGPioPol;
   CVI_BOOL disEnableSbm;
   CVI_BOOL isFrmCtrl;
   CVI_U8 dstFrm;
} VI_DEV_ATTR_S;

【成员】

成员名称

描述

enIntfMode

Sensor接口模式。

enWorkMode

1、2、4 路复合工作模式。

enScanMode

输入扫描模式 (逐行、隔行)。

as32AdChnId[VI_MAX_ADCHN_NUM]

取值范围[-1,3],推荐统一设置为默认值-1,此参数无意义。

enDataSeq

输入数据顺序 (仅支持 yuv格式)。

stSynCfg

同步时序配置,BT.601模式时必须配置,其它模式时无效。

enInputDataType

输入数据类型,Sensor输入一般为 RGB,AD 输入一般为 YUV。

stSize

VI 设备可设置要捕获图像的高宽,捕获图像的最小宽高与最大宽高:

宽度:[VI_DEV_MIN_WIDTH,VI_DEV_MAX_WIDTH]。

高度:[VI_DEV_MIN_HEIGHT,VI_DEV_MAX_HEIGHT]。

stWDRAttr

WDR 属性。

enBayerFormat

设备的bayer format,当inputDataType为RGB必须设置此属性。

chn_num

设备的通道数。

snrFps

设备的初始帧率。

phy_addr

仅ALIOS/DUAL OS支持, 若不为0, VI使用用户分配的物理地址,使用前需保证物理地址的合法性.

phy_size

仅ALIOS/DUAL OS支持, 所使用物理地址内存大小.

isMux

是否多sensor使用同一个dev。

switchGpioIdx

仅ALIOS/DUAL OS支持。gpio bank,-1表示不使用gpio。

switchGpioPin

gpio引脚,-1表示不使用gpio。

switchGPioPol

gpio值[0,1],-1表示不使用gpio

disEnableSbm

传感器定时是否支持SBM。

isFrmCtrl

仅ALIOS/DUAL OS支持。是否启用帧控制

dstFrm

仅ALIOS/DUAL OS支持。switch设置目标帧数

【注意事项】

  • stSize 中 u32Width 必须等于实际输入图像的宽度,u32Height 必须等于实际输入图像的高度,否则会导致没有图像输出。

【相关数据类型及接口】

无。


4.4.28. VI_DEV_BIND_PIPE_S

【说明】

定义 VI DEV 与 PIPE 的绑定关系。

【定义】

typedef struct _VI_DEV_BIND_PIPE_S {
   CVI_U32 u32Num; /* RW;Range [1,VI_MAX_PIPE_NUM] */
   VI_PIPE PipeId[VI_MAX_PIPE_NUM]; /* RW;Array of pipe ID */
} VI_DEV_BIND_PIPE_S;

【成员】

成员名称

描述

U32Num

该 VI Dev 所绑定的 PIPE数目,取值范围[1, VI_MAX_PIPE_NUM]。

PipeId

该 VI Dev 绑定的 PIPE 号。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.29. VI_PIPE_ATTR_S

【说明】

定义 VI PIPE 属性。

【定义】

typedef struct _VI_PIPE_ATTR_S {
   VI_PIPE_BYPASS_MODE_E enPipeBypassMode;
   CVI_BOOL bYuvSkip; /* RW;YUV skip enable */
   CVI_BOOL bIspBypass; /* RW;ISP bypass enable */
   CVI_U32 u32MaxW; /* RW;Range[VI_PIPE_MIN_WIDTH,VI_PIPE_MAX_WIDTH];Maximum width */
   CVI_U32 u32MaxH; /* RW;Range[VI_PIPE_MIN_HEIGHT,VI_PIPE_MAX_HEIGHT];Maximum height */
   PIXEL_FORMAT_E enPixFmt; /* RW;Pixel format */
   COMPRESS_MODE_E enCompressMode; /* RW;Compress mode.*/
   DATA_BITWIDTH_E enBitWidth; /* RW;Bit width*/
   CVI_BOOL bNrEn; /* RW;3DNR enable */
   CVI_BOOL bSharpenEn; /* RW;Sharpen enable*/
   FRAME_RATE_CTRL_S stFrameRate; /* RW;Frame rate */
   CVI_BOOL bDiscardProPic;
   CVI_BOOL bYuvBypassPath;
         CVI_BOOL b3dnrBypass; /* RW;ISP 3dnr bypass enable */
} VI_PIPE_ATTR_S;

【成员】

成员名称

描述

enPipeBypassMode

VI PIPE 的 Bypass 模式。

bYuvSkip

是否关闭下采样和 CSC。

CVI_FALSE:yuv skip 不使能。

CVI_TRUE:yuv skip 使能。

bIspBypass

ISP 是否 bypass。

CVI_FALSE:ISP 正常运行。

CVI_TRUE:ISP bypass,不运行 ISP。

u32MaxW

输入图像宽度。静态属性,创建 PIPE时设定,不可更改。

在线模式 下取值范围:[VI_PIPE_ONLINE_MIN_WIDTH,VI_PIPE_ONLINE_MAX_WIDTH]。

离线模式 下取值范围:[VI_PIPE_OFFLINE_MIN_WIDTH,VI_PIPE_OFFLINE_MAX_WIDTH]。

u32MaxH

输入图像高度。

在线模式下取值范围:[VI_PIPE_ONLINE_MIN_HEIGHT,VI_PIPE_ONLINE_MAX_HEIGHT]。

离线模式下取值范围:[VI_PIPE_OFFLINE_MIN_HEIGHT,VI_PIPE_OFFLINE_MAX_HEIGHT]。

enPixFmt

像素格式。

enCompressMode

数据压缩格式。

enBitWidth

输入图像的 bit 位宽。创建 PIPE时设定,不可更改,仅当像素格式 enPixFmt为 YUV 像素格式时有效。

bNrEn

NR 使能开关。

CVI_FALSE:不使能。

CVI_TRUE:使能。

bSharpenEn

Sharpen 使能开关。

stFrameRate

帧率控制。

bDiscardProPic

是否丢弃长曝光的帧。

bYuvBypassPath

是否YUV直通模式。

b3dnrBypass

仅ALIOS/DUAL OS支持。是否开启3dnr bypass。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.30. VI_DUMP_TYPE_E

【说明】

枚举 dump 类型。

【定义】

typedef enum _VI_DUMP_TYPE_E {
   VI_DUMP_TYPE_RAW = 0,
   VI_DUMP_TYPE_YUV = 1,
   VI_DUMP_TYPE_IR = 2,
   VI_DUMP_TYPE_BUTT
} VI_DUMP_TYPE_E;

【成员】

成员名称

描述

VI_DUMP_TYPE_RAW

Dump RAW 数据。

VI_DUMP_TYPE_YUV

Dump YUV 数据。

VI_DUMP_TYPE_IR

Dump IR 分量数据。

【注意事项】

  • 不支持Dump IR数据

  • Dump YUV请使用CVI_VI_GetChnFrame

【相关数据类型及接口】

无。


4.4.31. VI_DUMP_ATTR_S

【说明】

定义 PIPE dump 属性。

【定义】

typedef struct _VI_DUMP_ATTR_S {
   CVI_BOOL bEnable; /* RW;Whether dump is enable */
   CVI_U32 u32Depth; /* RW;Range [0,8];Depth */
   VI_DUMP_TYPE_E enDumpType;
} VI_DUMP_ATTR_S;

【成员】

成员名称

描述

bEnable

是否使能 dump。

u32Depth

Dump 数据的队列深度。取值范围:[0, 8]。

enDumpType

Dump 数据类型。

【注意事项】

无。

【相关数据类型及接口】


4.4.32. VI_CHN_ATTR_S

【说明】

定义 VI 通道属性。

【定义】

typedef struct _VI_CHN_ATTR_S {
   SIZE_S stSize; /* RW;Channel out put size */
   PIXEL_FORMAT_E enPixelFormat; /* RW;Pixel format */
   DYNAMIC_RANGE_E enDynamicRange; /* RW;Dynamic Range */
   VIDEO_FORMAT_E enVideoFormat; /* RW;Video format */
   COMPRESS_MODE_E enCompressMode; /* RW;256B Segment compress or no compress. */
   CVI_BOOL bMirror; /* RW;Mirror enable */
   CVI_BOOL bFlip; /* RW;Flip enable */
   CVI_U32 u32Depth; /* RW;Range [0,8];Depth */
   FRAME_RATE_CTRL_S stFrameRate; /* RW;Frame rate */
   CVI_U32 u32BindVbPool; /*chn bind vb*/
} VI_CHN_ATTR_S;

【成员】

成员名称

描述

stSize

目标图像大小。

目标图像的最小宽高与最大宽高:

在线模式下高度 [VI_PHYCHN_ONLINE_MIN_HEIGHT,VI_PHYCHN_ONLINE_MAX_HEIGHT]。

离线模式下高度 [VI_PHYCHN_OFFLINE_MIN_HEIGHT,VI_PHYCHN_OFFLINE_MAX_HEIGHT]。

在线模式下宽度 [VI_PHYCHN_ONLINE_MIN_WIDTH, VI_PHYCHN_ONLINE_MAX_WIDTH]。

离线模式下宽度 [VI_PHYCHN_OFFLINE_MIN_WIDTH,VI_PHYCHN_OFFLINE_MAX_WIDTH]。

enPixelFormat

目标图像像素格式。

enDynamicRange

目标图像动态范围。

enVideoFormat

目标图像视频数据格式。

enCompressMode

目标图像压缩格式。

bMirror

Mirror 使能开关。

CVI_FALSE:不使能。

CVI_TRUE:使能。

bFlip

Flip 使能开关。

CVI_FALSE:不使能。

CVI_TRUE:使能。

u32Depth

用户获取图像的队列深度。

stFrameRate

帧率控制。源帧率取值范围:(0, 240],以及-1。目标帧率取值范围:[-1, 240]。当源帧率为-1时,目标帧率必须为-1(不进行帧率控制),其他情况下,目标帧率不能大于源帧率。

u32BindVbPool

通道绑定的vb池id。

【注意事项】

  • 目前VI不支持帧率控制

【相关数据类型及接口】


4.4.33. VI_CROP_INFO_S

【说明】

定义 VI CROP 信息结构体。

【定义】

typedef struct _VI_CROP_INFO_S {
   CVI_BOOL bEnable; /* RW;CROP enable*/
   VI_CROP_COORDINATE_E enCropCoordinate; /* RW;Coordinate mode of the crop start point*/
   RECT_S stCropRect; /* RW;CROP rectangular*/
} VI_CROP_INFO_S;

【成员】

成员名称

描述

bEnable

CROP 使能开关。

enCropCoordinate

CROP 起点坐标模式。

stCropRect

CROP 的矩形区域。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.34. VI_DEV_TIMING_ATTR_S

【说明】

用户自定义时序属性。

【定义】

typedef struct _VI_DEV_TIMING_ATTR_S {
   CVI_BOOL bEnable; /* RW;Whether enable VI generate timing */
   CVI_S32 s32FrmRate; /* RW;Generate timing Frame rate*/
} VI_DEV_TIMING_ATTR_S;

【成员】

成员名称

描述

bEnable

用户自定义时序使能开关。

s32FrmRate

用户自定义时序的帧率。

【注意事项】

  • 当使能用户自定义时序后,若用户设置的帧率超过设备最大帧率时,系统自动以设备最大帧率为有效值。

【相关数据类型及接口】


4.4.35. VI_PIPE_STATUS_S

【说明】

定义 VI PIPE 的状态信息。

【定义】

typedef struct _VI_PIPE_STATUS_S {
   CVI_BOOL bEnable; /* RO;Whether this pipe is enabled */
   CVI_U32 u32IntCnt; /* RO;The video frame interrupt count */
   CVI_U32 u32FrameRate; /* RO;Current frame rate */
   CVI_U32 u32LostFrame; /* RO;Lost frame count */
   CVI_U32 u32VbFail; /* RO;Video buffer malloc failure */
   SIZE_S stSize; /* RO;Current pipe output size */
} VI_PIPE_STATUS_S;

【成员】

成员名称

描述

bEnable

当前 PIPE 是否使能。

u32IntCnt

中断计数。

u32FrameRate

VI PIPE 的实时帧率。

u32LostFrame

丢帧计数。

u32VbFail

VB 申请失败计数。

stSize

PIPE 当前图像大小。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.36. VI_CHN_STATUS_S

【说明】

定义 VI 通道的状态信息。

【定义】

typedef struct _VI_CHN_STATUS_S {
   CVI_BOOL bEnable; /* RO;Whether this channel is enabled */
   CVI_U32 u32FrameRate; /* RO;current frame rate */
   CVI_U64 u64PrevTime; // latest time (us)
   CVI_U32 u32FrameNum;  //The number of Frame in one second
   CVI_U32 u32LostFrame; /* RO;Lost frame count */
   CVI_U32 u32VbFail; /* RO;Video buffer malloc failure */
   CVI_U32 u32IntCnt; /* RO;Receive frame int count */
   CVI_U32 u32RecvPic; /* RO;Receive frame count */
   CVI_U32 u32TotalMemByte; /* RO;VI buffer malloc failure */
   SIZE_S stSize; /* RO;chn output size */
} VI_CHN_STATUS_S;

【成员】

成员名称

描述

bEnable

当前 PIPE 是否使能。

u32FrameRate

Chn 的实时帧率。

u64PrevTime

记录前次时间,用于计算u32FrameNum。

u32FrameNum

一秒时间内的帧数。

u32LostFrame

丢帧计数。

u32VbFail

VB 申请失败计数。

u32IntCnt

Chn接收的帧数。

u32RecvPic

Chn接收的帧数。

u32TotalMemByte

暂无使用。

stSize

Chn 当前图像大小。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.37. VI_PIPE_FRAME_SOURCE_E

【说明】

定义 VI PIPE 数据的来源类型。

【定义】

typedef enum _VI_PIPE_FRAME_SOURCE_E
{
   VI_PIPE_FRAME_SOURCE_DEV = 0, /* RW;Source from dev */
   VI_PIPE_FRAME_SOURCE_USER_FE, /* RW;User send to FE */
   VI_PIPE_FRAME_SOURCE_USER_BE, /* RW;User send to BE */
   VI_PIPE_FRAME_SOURCE_BUTT
} VI_PIPE_FRAME_SOURCE_E;

【成员】

成员名称

描述

VI_PIPE_FRAME_SOURCE_DEV

数据来自设备。

VI_PIPE_FRAME_SOURCE_USER_FE

数据来自用户从 FE 送进来的数据。

VI_PIPE_FRAME_SOURCE_USER_BE

数据来自用户从 BE 送进来的数据。

【注意事项】

  • 不支持从 BE 进数据。

【相关数据类型及接口】


4.4.38. VI_LDC_ATTR_S

【说明】

定义VI镜头畸变矫正结构体

【定义】

typedef struct _VI_LDC_ATTR_S {
   CVI_BOOL bEnable;
   LDC_ATTR_S stAttr;
} VI_LDC_ATTR_S;

【成员】

成员名称

描述

bEnable

LDC使能

stAttr

LDC设定属性

【注意事项】

无。

【相关数据类型及接口】


4.4.39. VI_STATE_E

【说明】

枚举 VI 状态信息。

【定义】

typedef enum _VI_STATE {
   VI_RUNNING,
   VI_SUSPEND,
   VI_MAX,
} VI_STATE_E;

【成员】

成员名称

描述

VI_RUNNING

VI处于运行状态。

VI_SUSPEND

VI处于休眠状态。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.40. VI_SYNC_CFG_S

【说明】

BT.601或DC定时的同步信息。

【定义】

typedef struct _VI_SYNC_CFG_S {
   VI_VSYNC_E enVsync;
   VI_VSYNC_NEG_E enVsyncNeg;
   VI_HSYNC_E enHsync;
   VI_HSYNC_NEG_E enHsyncNeg;
   VI_VSYNC_VALID_E enVsyncValid;
   VI_VSYNC_VALID_NEG_E enVsyncValidNeg;
   VI_TIMING_BLANK_S stTimingBlank;
} VI_SYNC_CFG_S;

【成员】

成员名称

描述

enVsync

垂直同步信号的配置。

enVsyncNeg

垂直同步信号的有效状态。

enHsync

水平同步信号的配置。

enHsyncNeg

水平同步信号的有效状态。

enVsyncValid

垂直同步有效信号的配置。

enVsyncValidNeg

垂直同步有效信号的有效状态。

stTimingBlank

时序空白相关的参数。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.41. VI_BT656_SYNC_CFG_S

【说明】

BT.656的同步信息。

【定义】

typedef struct _VI_BT656_SYNC_CFG_S {
   VI_BT656_FIXCODE_E enFixCode;
   VI_BT656_FIELD_POLAR_E enFieldPolar;
} VI_BT656_SYNC_CFG_S;

【成员】

成员名称

描述

enFixCode

固定码的配置。

enFieldPolar

场极性的配置。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.42. VI_PIPE_BYPASS_MODE_E

【说明】

VI pipeline bypass模式。

【定义】

typedef enum _VI_PIPE_BYPASS_MODE_E {
   VI_PIPE_BYPASS_NONE,
   VI_PIPE_BYPASS_FE,
   VI_PIPE_BYPASS_BE,
   VI_PIPE_BYPASS_BUTT
} VI_PIPE_BYPASS_MODE_E;

【成员】

成员名称

描述

VI_PIPE_BYPASS_NONE

VI pipeline no bypass。

VI_PIPE_BYPASS_FE

VI pipeline fe bypass。

VI_PIPE_BYPASS_BE

VI pipeline be bypas。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.43. VI_CROP_COORDINATE_E

【说明】

裁剪坐标的不同类型。

【定义】

typedef enum _VI_CROP_COORDINATE_E {
   VI_CROP_RATIO_COOR = 0,
   VI_CROP_ABS_COOR,
   VI_CROP_BUTT
} VI_CROP_COORDINATE_E;

【成员】

成员名称

描述

VI_CROP_RATIO_COOR

裁剪坐标使用比率坐标。

VI_CROP_ABS_COOR

裁剪坐标使用绝对坐标。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.44. VI_MOD_PARAM_S

【说明】

存储VI模块参数。

【定义】

typedef struct _VI_MOD_PARAM_S {
   CVI_S32 s32DetectErrFrame;
   CVI_U32 u32DropErrFrame;
} VI_MOD_PARAM_S;

【成员】

成员名称

描述

s32DetectErrFrame

检测到的错误帧数。

u32DropErrFrame

丢弃的错误帧数。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.45. VI_EARLY_INTERRUPT_S

【说明】

提前中断的参数。

【定义】

typedef struct _VI_EARLY_INTERRUPT_S {
   CVI_BOOL bEnable;
   CVI_U32 u32LineCnt;
} VI_EARLY_INTERRUPT_S;

【成员】

成员名称

描述

bEnable

是否启用提前中断功能。

u32LineCnt

提前中断相关的行计数。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.46. MLSC_GAIN_LUT_S

【说明】

增益查找表。

【定义】

typedef struct _MLSC_GAIN_LUT_S {
   CVI_U16 *RGain;
   CVI_U16 *GGain;
   CVI_U16 *BGain;
} MLSC_GAIN_LUT_S;

【成员】

成员名称

描述

RGain

指向红色增益值的查找表。

GGain

指向绿色增益值的查找表。

BGain

指向蓝色增益值的查找表。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.47. VI_DUMP_REGISTER_TABLE_S

【说明】

寄存器转存数据。

【定义】

typedef struct _VI_DUMP_REGISTER_TABLE_S {
         MLSC_GAIN_LUT_S MlscGainLut;
} VI_DUMP_REGISTER_TABLE_S;

【成员】

成员名称

描述

MlscGainLut

增益查找表。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.48. VI_PM_OPS_S

【说明】

电源管理相关操作。

【定义】

typedef struct _VI_PM_OPS_S {
   pfnViDevPmOps pfnSnsSuspend;
   pfnViDevPmOps pfnSnsResume;
   pfnViDevPmOps pfnMipiSuspend;
   pfnViDevPmOps pfnMipiResume;
} VI_PM_OPS_S;

【成员】

成员名称

描述

pfnSnsSuspend

sensor休眠操作。

pfnSnsResume

sensor唤醒操作。

pfnMipiSuspend

mipi休眠操作。

pfnMipiResume

mipi唤醒操作。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.49. VI_SMOOTH_RAW_DUMP_INFO_S

【说明】

连续raw图转存信息。

【定义】

typedef struct _VI_SMOOTH_RAW_DUMP_INFO_S {
   VI_PIPE ViPipe;
   RECT_S  stCropRect;
   CVI_U8  u8BlkCnt;
   CVI_U32 phy_size;
   CVI_U64 *phy_addr_list;
   CVI_U32 padding[2];
} VI_SMOOTH_RAW_DUMP_INFO_S;

【成员】

成员名称

描述

ViPipe

vi pipe。

stCropRect

裁剪的矩形区域。

u8BlkCnt

缓冲区的块数量。

phy_size

仅ALIOS/DUAL OS支持, 每块缓冲区的大小。

phy_addr_list

物理地址列表。

padding

仅ALIOS/DUAL OS支持, 填充字段

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.50. VI_INTF_MODE_E

【说明】

视频输入接口模式。

【定义】

typedef enum _VI_INTF_MODE_E {
   VI_MODE_BT656 = 0,
   VI_MODE_BT601,
   VI_MODE_DIGITAL_CAMERA,
   VI_MODE_BT1120_STANDARD,
   VI_MODE_BT1120_INTERLEAVED,
   VI_MODE_MIPI,
   VI_MODE_MIPI_YUV420_NORMAL,
   VI_MODE_MIPI_YUV420_LEGACY,
   VI_MODE_MIPI_YUV422,
   VI_MODE_LVDS,
   VI_MODE_HISPI,
   VI_MODE_SLVS,
   VI_MODE_BUTT
} VI_INTF_MODE_E;

【成员】

成员名称

描述

VI_MODE_BT656

BT656 模式。

VI_MODE_BT601

BT601 模式。

VI_MODE_DIGITAL_CAMERA

digatal camera模式。

VI_MODE_BT1120_STANDARD

BT.1120 progressive模式。

VI_MODE_BT1120_INTERLEAVED

BT.1120 interstage模式。

VI_MODE_MIPI

MIPI RAW模式。

VI_MODE_MIPI_YUV420_NORMAL

MIPI YUV420 normal模式。

VI_MODE_MIPI_YUV420_LEGACY

MIPI YUV420 legacy模式。

VI_MODE_MIPI_YUV422

MIPI YUV422模式。

VI_MODE_LVDS

LVDS模式。

VI_MODE_HISPI

HISPI模式。

VI_MODE_SLVS

SLVS模式。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.51. VI_INPUT_MODE_E

【说明】

输入模式。

【定义】

typedef enum _VI_INPUT_MODE_E {
   VI_INPUT_MODE_BT656 = 0,
   VI_INPUT_MODE_BT601,
   VI_INPUT_MODE_DIGITAL_CAMERA,
   VI_INPUT_MODE_INTERLEAVED,
   VI_INPUT_MODE_MIPI,
   VI_INPUT_MODE_LVDS,
   VI_INPUT_MODE_HISPI,
   VI_INPUT_MODE_SLVS,
   VI_INPUT_MODE_BUTT
} VI_INPUT_MODE_E;

【成员】

成员名称

描述

VI_INPUT_MODE_BT656

BT656 模式。

VI_INPUT_MODE_BT601

BT601 模式。

VI_INPUT_MODE_DIGITAL_CAMERA

digatal camera模式。

VI_INPUT_MODE_INTERLEAVED

interstage 模式。

VI_INPUT_MODE_MIPI

MIPI模式。

VI_INPUT_MODE_LVDS

LVDS模式。

VI_INPUT_MODE_HISPI

HiSPi模式。

VI_INPUT_MODE_SLVS

SLVS模式。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.52. VI_WORK_MODE_E

【说明】

工作模式。

【定义】

typedef enum _VI_WORK_MODE_E {
   VI_WORK_MODE_1Multiplex = 0,
   VI_WORK_MODE_2Multiplex,
   VI_WORK_MODE_3Multiplex,
   VI_WORK_MODE_4Multiplex,
   VI_WORK_MODE_BUTT
} VI_WORK_MODE_E;

【成员】

成员名称

描述

VI_WORK_MODE_1Multiplex

1多路复用模式。

VI_WORK_MODE_2Multiplex

2多路复用模式。

VI_WORK_MODE_3Multiplex

3多路复用模式。

VI_WORK_MODE_4Multiplex

4多路复用模式。

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.53. VI_SCAN_MODE_E

【说明】

扫描模式。

【定义】

typedef enum _VI_SCAN_MODE_E {
   VI_SCAN_INTERLACED = 0,
   VI_SCAN_PROGRESSIVE,
   VI_SCAN_BUTT
} VI_SCAN_MODE_E;

【成员】

成员名称

描述

VI_SCAN_INTERLACED

隔行扫描模式

VI_SCAN_PROGRESSIVE

逐行扫描模式

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.54. VI_YUV_DATA_SEQ_E

【说明】

YUV数据序列。

【定义】

typedef enum _VI_YUV_DATA_SEQ_E {
   VI_DATA_SEQ_VUVU = 0,
   VI_DATA_SEQ_UVUV,
   VI_DATA_SEQ_UYVY,
   VI_DATA_SEQ_VYUY,
   VI_DATA_SEQ_YUYV,
   VI_DATA_SEQ_YVYU,
   VI_DATA_SEQ_BUTT
} VI_YUV_DATA_SEQ_E;

【成员】

成员名称

描述

VI_DATA_SEQ_VUVU

BT.1120模式下第二个组件(仅包含u和v)的输入序列为VUVU

VI_DATA_SEQ_UVUV

BT.1120模式下第二个组件(仅包含u和v)的输入序列为UVUV

VI_DATA_SEQ_UYVY

UYVY序列

VI_DATA_SEQ_VYUY

VYUY序列

VI_DATA_SEQ_YUYV

YUYV序列

VI_DATA_SEQ_YVYU

YVYU序列

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.55. VI_CLK_EDGE_E

【说明】

时钟边缘模式。

【定义】

typedef enum _VI_CLK_EDGE_E {
   VI_CLK_EDGE_SINGLE_UP = 0,
   VI_CLK_EDGE_SINGLE_DOWN,
   VI_CLK_EDGE_BUTT
} VI_CLK_EDGE_E;

【成员】

成员名称

描述

VI_CLK_EDGE_SINGLE_UP

单边模式和上升沿触发

VI_CLK_EDGE_SINGLE_DOWN

单边模式和下降沿触发

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.56. VI_COMPONENT_MODE_E

【说明】

组件模式。

【定义】

typedef enum _VI_COMPONENT_MODE_E {
   VI_COMPONENT_MODE_SINGLE = 0,
   VI_COMPONENT_MODE_DOUBLE,
   VI_COMPONENT_MODE_BUTT
} VI_COMPONENT_MODE_E;

【成员】

成员名称

描述

VI_COMPONENT_MODE_SINGLE

单一组件模式

VI_COMPONENT_MODE_DOUBLE

双组件模式

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.57. VI_COMBINE_MODE_E

【说明】

亮度色度信号组合模式。

【定义】

typedef enum _VI_COMBINE_MODE_E {
   VI_COMBINE_COMPOSITE = 0,
   VI_COMBINE_SEPARATE,
   VI_COMBINE_BUTT
} VI_COMBINE_MODE_E;

【成员】

成员名称

描述

VI_COMBINE_COMPOSITE

复合模式

VI_COMBINE_SEPARATE

独立模式

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.58. VI_VSYNC_E

【说明】

垂直同步信号的属性。

【定义】

typedef enum _VI_VSYNC_E {
   VI_VSYNC_FIELD = 0,
   VI_VSYNC_PULSE,
   VI_VSYNC_BUTT
} VI_VSYNC_E;

【成员】

成员名称

描述

VI_VSYNC_FIELD

场/切换模式:信号反转表示新帧

VI_VSYNC_PULSE

脉冲/有效模式:脉冲或有效信号表示新帧

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.59. VI_VSYNC_NEG_E

【说明】

垂直同步信号的极性。

【定义】

typedef enum _VI_VSYNC_NEG_E {
   VI_VSYNC_NEG_HIGH = 0,
   VI_VSYNC_NEG_LOW,
   VI_VSYNC_NEG_BUTT
} VI_VSYNC_NEG_E;

【成员】

成员名称

描述

VI_VSYNC_NEG_HIGH

高电平有效/正脉冲有效

VI_VSYNC_NEG_LOW

低电平有效/负脉冲有效

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.60. VI_HSYNC_E

【说明】

水平同步信号的属性。

【定义】

typedef enum _VI_HSYNC_E {
   VI_HSYNC_VALID_SINGNAL = 0,
   VI_HSYNC_PULSE,
   VI_HSYNC_BUTT
} VI_HSYNC_E;

【成员】

成员名称

描述

VI_HSYNC_VALID_SINGNAL

有效信号模式

VI_HSYNC_PULSE

脉冲模式

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.61. VI_HSYNC_NEG_E

【说明】

水平同步信号的极性。

【定义】

typedef enum _VI_HSYNC_NEG_E {
   VI_HSYNC_NEG_HIGH = 0,
   VI_HSYNC_NEG_LOW,
   VI_HSYNC_NEG_BUTT
} VI_HSYNC_NEG_E;

【成员】

成员名称

描述

VI_HSYNC_NEG_HIGH

高电平有效/正脉冲有效

VI_HSYNC_NEG_BUTT

低电平有效/负脉冲有效

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.62. VI_VSYNC_VALID_E

【说明】

有效垂直同步信号的属性。

【定义】

typedef enum _VI_VSYNC_VALID_E {
   VI_VSYNC_NORM_PULSE = 0,
   VI_VSYNC_VALID_SIGNAL,
   VI_VSYNC_VALID_BUTT
} VI_VSYNC_VALID_E;

【成员】

成员名称

描述

VI_VSYNC_NORM_PULSE

脉冲模式

VI_VSYNC_VALID_SIGNAL

有效信号模式

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.63. VI_VSYNC_VALID_NEG_E

【说明】

有效垂直同步信号的极性。

【定义】

typedef enum _VI_VSYNC_VALID_NEG_E {
   VI_VSYNC_VALID_NEG_HIGH = 0,
   VI_VSYNC_VALID_NEG_LOW,
   VI_VSYNC_VALID_NEG_BUTT
} VI_VSYNC_VALID_NEG_E;

【成员】

成员名称

描述

VI_VSYNC_VALID_NEG_HIGH

高电平有效/正脉冲有效

VI_VSYNC_VALID_NEG_LOW

高低电平有效/负脉冲有效

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.64. VI_WDR_ATTR_S

【说明】

WDR属性。

【定义】

typedef struct _VI_WDR_ATTR_S {
   WDR_MODE_E enWDRMode;
   CVI_U32 u32CacheLine;
   CVI_BOOL bSyntheticWDR;
} VI_WDR_ATTR_S;

【成员】d

成员名称

描述

enWDRMode

WDR模式

u32CacheLine

WDR缓存行

bSyntheticWDR

合成宽动态范围模式

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.65. VI_TIMING_BLANK_S

【说明】

输入时序的消隐信息。

【定义】

typedef struct _VI_TIMING_BLANK_S {
   CVI_U32 u32HsyncHfb;
   CVI_U32 u32HsyncAct;
   CVI_U32 u32HsyncHbb;
   CVI_U32 u32VsyncVfb;
   CVI_U32 u32VsyncVact;
   CVI_U32 u32VsyncVbb;
   CVI_U32 u32VsyncVbfb;
   CVI_U32 u32VsyncVbact;
   CVI_U32 u32VsyncVbbb;
} VI_TIMING_BLANK_S;

【成员】d

成员名称

描述

u32HsyncHfb

水平前隐宽度

u32HsyncAct

水平消隐有效宽度

u32HsyncHbb

水平后隐宽度

u32VsyncVfb

垂直前隐高度

u32VsyncVact

垂直消隐有效宽度

u32VsyncVbb

垂直后隐高度

u32VsyncVbfb

隔行扫描时,场垂直前消隐高度

u32VsyncVbact

隔行扫描时,场垂直消隐有效宽度

u32VsyncVbbb

隔行扫描时,场垂直后消隐高度

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.66. VI_BT656_FIXCODE_E

【说明】

BT.656定时参考码的最高位。

【定义】

typedef enum _VI_BT656_FIXCODE_E {
   VI_BT656_FIXCODE_1 = 0,
   VI_BT656_FIXCODE_0,
   VI_BT656_FIXCODE_BUTT
} VI_BT656_FIXCODE_E;

【成员】d

成员名称

描述

VI_BT656_FIXCODE_1

BT.656协议上EAV/SAV数据的最高位始终为1

VI_BT656_FIXCODE_0

BT.656协议上EAV/SAV数据的最高位始终为0

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.67. VI_BT656_FIELD_POLAR_E

【说明】

BT.656定时参考码的字段指示符位(F)的极性。

【定义】

typedef struct _VI_BT656_FIELD_POLAR_E {
   VI_BT656_FIELD_POLAR_STD = 0,
   VI_BT656_FIELD_POLAR_NSTD,
   VI_BT656_FIELD_POLAR_BUTT
} VI_BT656_FIELD_POLAR_E;

【成员】d

成员名称

描述

VI_BT656_FIELD_POLAR_STD

标准BT.656模式,第一个字段F=0,第二个字段F=1

VI_BT656_FIELD_POLAR_NSTD

标准BT.656模式,第一个字段F=1,第二个字段F=0

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.68. VI_DEV_ATTR_EX_S

【说明】

VI设备的扩展属性。

【定义】

typedef struct _VI_DEV_ATTR_EX_S {
   VI_INPUT_MODE_E enInputMode;
   VI_WORK_MODE_E enWorkMode;
   VI_COMBINE_MODE_E enCombineMode;
   VI_COMPONENT_MODE_E enComponentMode;
   VI_CLK_EDGE_E enClkEdge;
   CVI_U32 au32ComponentMask[VI_COMPMASK_NUM];
   VI_SCAN_MODE_E enScanMode;
   CVI_S32 as32AdChnId[VI_MAX_ADCHN_NUM];
   VI_YUV_DATA_SEQ_E enDataSeq;
   VI_SYNC_CFG_S stSynCfg;
   VI_BT656_SYNC_CFG_S stBT656SynCfg;
   VI_DATA_TYPE_E enInputDataType;
   CVI_BOOL bDataReverse;
   SIZE_S stSize;
   VI_WDR_ATTR_S stWDRAttr;
} VI_DEV_ATTR_EX_S;

【成员】

成员名称

描述

enInputMode

输入模式

enWorkMode

工作模式

enCombineMode

亮度色度信号组合模式

enComponentMode

组件模式

enClkEdge

时钟边缘模式

au32ComponentMask

组件掩码

enScanMode

扫描模式

as32AdChnId

AD通道id

enDataSeq

YUV数据序列

stSynCfg

BT.601或DC定时的同步信息

stBT656SynCfg

BT.656的同步信息

enInputDataType

VI 输入数据类型枚举

bDataReverse

数据反转

stSize

输入大小

stWDRAttr

WDR属性

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.69. VI_EXT_CHN_SOURCE_E

【说明】

VI扩展通道数据源类型。

【定义】

typedef enum _VI_EXT_CHN_SOURCE_E {
   VI_EXT_CHN_SOURCE_TAIL,
   VI_EXT_CHN_SOURCE_HEAD,
   VI_EXT_CHN_SOURCE_BUTT
} VI_EXT_CHN_SOURCE_E;

【成员】

成员名称

描述

VI_EXT_CHN_SOURCE_TAIL

VI扩展通道的尾部数据源

VI_EXT_CHN_SOURCE_HEAD

VI扩展通道的头部数据源

【注意事项】

无。

【相关数据类型及接口】

无。


4.4.70. VI_EXT_CHN_ATTR_S

【说明】

VI扩展通道属性结构体。

【定义】

typedef struct _VI_EXT_CHN_ATTR_S {
   VI_EXT_CHN_SOURCE_E enSource;
   VI_CHN s32BindChn;
   SIZE_S stSize;
   PIXEL_FORMAT_E enPixelFormat;
   CVI_U32 u32Depth;
   FRAME_RATE_CTRL_S stFrameRate;
} VI_EXT_CHN_ATTR_S;

【成员】

成员名称

描述

enSource

扩展通道的数据源

s32BindChn

扩展通道绑定的物理通道编号

stSize

扩展通道的输出图像尺寸

enPixelFormat

扩展通道的像素格式

u32Depth

扩展通道的帧缓存深度

stFrameRate

扩展通道的帧率控制属性

【注意事项】

无。

【相关数据类型及接口】

无。