VI模块指的是,视频输入模块的参数配置。一般而言,视频输入模块的参数和外设摄像头和外设视频设备的参数是一致的。
一.****RV1126项目中VI视频输入模块属性的配置
二. RV1126输入模块基础属性参数讲解:
pcVideoNode:VIDEO视频节点路径,RV1126的视频节点是以下面的截图为基准。
从上面的截图我们可以看到。在RV1126里面,视频节点一般以rkispp_开头的,它一般映射到/dev/video的某个设备节点。一般情况下,我们都是用rkispp_scale0*作为开发的视频节点。
u32Width:视频输入的宽度,一般和CMOS摄像头或者外设的宽度一致。
u32Height:视频输入的高度,一般和CMOS摄像头或者外设的高度一致。
enPixFmt:视频输入的图像格式,默认是NV12(IMAGE_TYPE_NV12)
u32BufCnt:VI捕获视频缓冲区计数,默认是3
VI_CHN_BUF_TYPE:VI捕捉视频的类型,这里面有两种。一种是DMA模式(VI_CHN_BUF_TYPE_DMA)、另外一种是MMAP模式(VI_CHN_BUF_TYPE_MMAP)。
****DMA****:**指的是直接访问内存的方式,相当于音视频数据直接从硬件传输到内存里面。这种方式的优点就是两边传输的速度非常之快,但缺点就是非常消耗硬件资源,对硬件外设资源要求较高。
****MMAP****:指的是内存映射,这种方式就是把硬件外设、磁盘的文件映射到虚拟内存上面。然后用户只需要对虚拟内存进行读写操作就可以对硬件外设进行操作了。这种方法的优点是用户不需要直接操作硬件就能够修改硬件的内容,换言之就是对硬件的消耗没那么大。但是缺点就是:第一,它的读写速度相对DMA来说没那么快;第二,有时候硬件写到虚拟内存的数据可能会出现丢失情况,导致数据出现丢失的情况。**
VI_CHN_WORK_MODE:VI的工作模式,默认是NORMAL(VI_WORK_MODE_NORMAL)