mv100视频输入服务器的视频输入模块究竟有何特别之处?
- 行业动态
- 2024-10-14
- 2
mv100视频输入服务器的视频输入模块负责接收和处理来自各种设备的视频信号。
MV100视频输入服务器 视频输入模块
模块划分
在MV100视频输入服务器中,视频输入(VI)模块通过多种接口接收视频数据,并将这些数据存入指定的内存区域,该模块可以对接收到的原始视频图像数据进行处理,实现视频数据的采集。
模块名称 | 描述 |
输入设备 (DEV) | 所有VI设备相互独立,支持时序解析。 |
输入PIPE | 包括物理PIPE和虚拟PIPE,虚拟PIPE只包含ISP_BE。 |
物理通道 (PHY_CHN) | 每个PIPE包含两个物理通道,如CH0和CH1,支持多种分辨率。 |
扩展通道 (EXT_CHN) | 扩展通道是物理通道的扩展,具备缩放、裁剪、鱼眼矫正等功能。 |
模块功能
1、视频输入设备:所有VI设备都是相互独立的,支持时序解析。
2、视频输入PIPE:VI的PIPE包含了ISP的相关处理功能,主要是对图像数据进行流水线处理,输出YUV图像格式给通道。
3、视频物理通道:每个PIPE包含两个物理通道,例如CH0具有裁剪、压缩等功能,CH1具有缩小的功能,支持8个扩展通道,Hi3519AV100的物理通道支持的典型分辨率包括3840×2160@60fps、1080p@240fps等。
4、视频扩展通道:扩展通道是物理通道的扩展,具备缩放、裁剪、鱼眼矫正功能,通过绑定物理通道,将物理通道输出作为自己的输入,然后输出用户设置的目标图像。
5、MIPI和DEV的绑定关系:Hi3519AV100/Hi3519AV100/Hi3516DV300等设备的Dev与MIPI绑定关系是固定的,不能动态修改绑定关系,每个PIPE都可以与任意Dev绑定,但不能动态修改绑定关系,在WDR模式下,需要多个物理PIPE绑定一个Dev。
API功能
视频输入(VI)模块实现了启用视频输入设备、创建视频输入PIPE、配置视频输入通道、绑定Dev与MIPI设备、绑定PIPE与Dev等功能,具体API功能如下:
1、CVI_VI_SetDevAttr:设置设备属性。
2、CVI_VI_GetDevAttr:获取设备属性。
3、CVI_VI_SetDevAttrEx:扩展设置设备属性。
4、CVI_VI_GetDevAttrEx:扩展获取设备属性。
5、CVI_VI_EnableDev:启用设备。
6、CVI_VI_DisableDev:禁用设备。
7、CVI_VI_SetDevBindPipe:设置设备绑定的管道。
8、CVI_VI_GetDevBindPipe:获取设备绑定的管道。
9、CVI_VI_SetDevTimingAttr:设置设备时序属性。
10、CVI_VI_GetDevTimingAttr:获取设备时序属性。
11、CVI_VI_CreatePipe:创建管道。
12、CVI_VI_DestroyPipe:销毁管道。
13、CVI_VI_SetPipeAttr:设置管道属性。
14、CVI_VI_GetPipeAttr:获取管道属性。
15、CVI_VI_StartPipe:启动管道。
16、CVI_VI_StopPipe:停止管道。
17、CVI_VI_SetPipeCrop:设置管道裁剪。
18、CVI_VI_GetPipeCrop:获取管道裁剪。
19、CVI_VI_SetPipeDumpAttr:设置管道转储属性。
20、CVI_VI_GetPipeDumpAttr:获取管道转储属性。
21、CVI_VI_SetPipeFrameSource:设置管道帧源。
22、CVI_VI_GetPipeFrameSource:获取管道帧源。
23、CVI_VI_GetPipeFrame:获取管道帧。
24、CVI_VI_ReleasePipeFrame:释放管道帧。
25、CVI_VI_SendPipeRaw:发送原始数据。
26、CVI_VI_QueryPipeStatus:查询管道状态。
27、CVI_VI_GetPipeFd:获取管道文件描述符。
28、CVI_VI_CloseFd:关闭文件描述符。
29、CVI_VI_AttachVbPool:附加VB池。
30、CVI_VI_DetachVbPool:分离VB池。
31、CVI_VI_SetChnAttr:设置通道属性。
32、CVI_VI_GetChnAttr:获取通道属性。
33、CVI_VI_EnableChn:启用通道。
34、CVI_VI_DisableChn:禁用通道。
35、CVI_VI_SetChnCrop:设置通道裁剪。
36、CVI_VI_GetChnCrop:获取通道裁剪。
37、CVI_VI_GetChnFrame:获取通道帧。
38、CVI_VI_ReleaseChnFrame:释放通道帧。
39、CVI_VI_SetChnRotation:设置通道旋转。
40、CVI_VI_GetChnRotation:获取通道旋转。
41、CVI_VI_SetChnLDCAttr:设置通道LDC属性。
42、CVI_VI_GetChnLDCAttr:获取通道LDC属性。
43、CVI_VI_RegChnFlipMirrorCallBack:注册通道翻转回调。
44、CVI_VI_UnRegChnFlipMirrorCallBack:注销通道翻转回调。
45、CVI_VI_SetChnFlipMirror:设置通道翻转镜像。
46、CVI_VI_GetChnFlipMirror:获取通道翻转镜像。
47、CVI_VI_Suspend:暂停。
48、CVI_VI_Resume:恢复。
49、CVI_VI_SetDevNum:设置设备数量。
50、CVI_VI_GetDevNum:获取设备数量。
51、CVI_VI_EnablePatt:启用模式。
52、CVI_VI_StartSmoothRawDump:开始平滑原始转储。
53、CVI_VI_StopSmoothRawDump:停止平滑原始转储。
54、CVI_VI_GetSmoothRawDump:获取平滑原始转储。
55、CVI_VI_PutSmoothRawDump:放置平滑原始转储。
56、CVI_VI_GetRgbMapLeBuf:获取RGB映射LE缓冲区。
57、CVI_VI_GetRgbMapSeBuf:获取RGB映射SE缓冲区。
58、CVI_VI_DumpHwRegisterToFile:转储硬件寄存器到文件。
59、CVI_VI_QueryChnStatus:查询通道状态。
60、CVI_VI_GetChnFd:获取通道文件描述符。
61、CVI_VI_SetChnAlign:设置通道对齐。
62、CVI_VI_GetChnAlign:获取通道对齐。
63、CVI_VI_RegPmCallBack:注册PM回调。
64、CVI_VI_UnRegPmCallBack:注销PM回调。
65、CVI_VI_SetTuningDis:设置调谐器禁用。
常见问题解答 (FAQs)
问题1:如何初始化和配置视频输入设备?
答案:要初始化和配置视频输入设备,可以使用以下步骤:调用SAMPLE_COMM_VI_Start()函数来启动视频输入设备和VPSS(视频处理子系统),使用SAMPLE_COMM_SYS_GetPicSize()函数获取图像大小,并使用SAMPLE_COMM_VPSS_Start()函数启动VPSS,使用SAMPLE_COMM_VI_BindVpss()函数将视频输入设备的数据绑定到VPSS,根据具体的视频输入场景,依次初始化各个视频输入设备。
问题2:如何查看视频输入模块的状态?
答案:可以通过读取/proc/umap/vi文件来查看视频输入模块的状态,这个文件中会显示已配置的视频输入设备和通道,以及接收到的数据帧数。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/7141.html