嵌入式视频方案学习第六篇——视频输入

视频输入模块定义:

通过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图像旋转属性

这几个属性可以具体调一下,看看有什么变化

你可能感兴趣的:(视频终端方案)