视频输入模块定义:
通过BT656/601/1120等接口采集视频数据,传送到内存区域的模块。可以对图像进行缩放,裁剪,翻转
常用接口:
1、设置VI设备属性
HI_S32 HI_MPI_VI_SetDevAttr(VI_DEV ViDev, const VI_DEV_ATTR_S *pstDevAttr)
参数:参数比较多具体参照文档说明,主要是VI的工作模式,接口模式等
2、启用VI设备
HI_S32 HI_MPI_VI_EnableDev(VI_DEV ViDev)
启动相应的设备号即可
3、禁用VI设备
HI_S32 HI_MPI_VI_DisableDev(VI_DEV ViDev)
4、设置通道属性
HI_S32 HI_MPI_VI_SetChnAttr(VI_CHN ViChn,const VI_CHN_ATTR_S *pstAttr)
参数:主要进行图像大小,图像翻转,采样帧率,像素格式,重采样进行配置
5、设置VI通道次属性
HI_S32 HI_MPI_VI_SetChnMinorAttr(VI_CHN ViChn,const VI_CHN_ATTR_S *pstAttr);
参数:在源帧率目标帧率的采样采用次属性
6、启动VI通道
HI_S32 HI_MPI_VI_EnableChn(VI_CHN ViChn)
7、禁用VI通道。
HI_S32 HI_MPI_VI_DisableChn(VI_CHN ViChn);
8、获取VI采集的图像
HI_S32 HI_MPI_VI_GetFrame(VI_CHN ViChn, VIDEO_FRAME_INFO_S *pstFrameInfo);
9、释放VI图像数据所占的缓存
HI_S32 HI_MPI_VI_ReleaseFrame(VI_CHN ViChn, VIDEO_FRAME_INFO_S *pstFrameInfo);
10、设置用户图片,作为无视频信号时的插入图片
HI_S32 HI_MPI_VI_SetUserPic(VI_CHN ViChn, VI_USERPIC_ATTR_S *pstUsrPic);
这个接口很有意思,可以把存储好的图片传到VI通道
11、启用插入用户图片。
HI_S32 HI_MPI_VI_EnableUserPic(VI_CHN ViChn);
12、获取VI通道对应的设备文件句柄
HI_S32 HI_MPI_VI_GetFd(VI_CHN ViChn);
13、设置VI闪光灯的配置信息
HI_S32 HI_MPI_VI_SetFlashConfig(VI_DEV ViDev,const VI_FLASH_CONFIG_S *pstFlashConfig);
14、关闭/ 启用VI闪光灯。
HI_S32 HI_MPI_VI_FlashTrigger(VI_DEV ViDev, HI_BOOL bEnable);
15、设置VI镜头畸变校正(LDC )属性
HI_S32 HI_MPI_VI_SetLDCAttr(VI_CHN ViChn, const VI_LDC_ATTR_S *pstLDCAttr);
16、设置VI设备的CSC 属性
HI_S32 HI_MPI_VI_SetCSCAttr(VI_DEV ViDev, const VI_CSC_ATTR_S *pstCSCAttr);
17、设置VI图像旋转属性
这几个属性可以具体调一下,看看有什么变化