Hi3559AV100的VI细节处理说明
因为项目后期涉及到MPP平台下的VI接口,现把有关视频输入VI模块的实现细节总结,也方便大家进一步了解。
1、整体概述
2、功能描述与结构体解析
图1 VI软件层次图解
其对应的参数定义如下所示:
1 typedef struct hiSAMPLE_VI_INFO_S
2 {
3 SAMPLE_SENSOR_INFO_S stSnsInfo;
4 SAMPLE_DEV_INFO_S stDevInfo;
5 SAMPLE_PIPE_INFO_S stPipeInfo;
6 SAMPLE_CHN_INFO_S stChnInfo;
7 SAMPLE_SNAP_INFO_S stSnapInfo;
8 } SAMPLE_VI_INFO_S;
而这五个结构体分别对应如下:
1 typedef struct hiSAMPLE_SENSOR_INFO_S
2 {
3 //支持的sony MIPI接口相机类型 如IMX334 477
4 SAMPLE_SNS_TYPE_E enSnsType;
5
6 HI_S32 s32SnsId;
7 HI_S32 s32BusId;
8 combo_dev_t MipiDev; //MIPI Rx、SLVS 设备类型
9 } SAMPLE_SENSOR_INFO_S; //支持MIPI接口相机的参数及ID信息等
1 typedef struct hiSAMPLE_DEV_INFO_S
2 {
3 VI_DEV ViDev; //VI 设备号
4 WDR_MODE_E enWDRMode; //WDR 工作模式,分为帧模式、行模式、非 WDR 等三大类。
5 } SAMPLE_DEV_INFO_S;
1 typedef struct hiSAMPLE_PIPE_INFO_S
2 {
3 VI_PIPE aPipe[WDR_MAX_PIPE_NUM]; //输入 物理PIPE号
4 VI_VPSS_MODE_E enMastPipeMode; //定义VI PIPE和VPSS组的工作模式 如VI_ONLINE_VPSS_OFFLINE
5 } SAMPLE_PIPE_INFO_S;
1 typedef struct hiSAMPLE_CHN_INFO_S
2 {
3 VI_CHN ViChn; //输入通道
4 PIXEL_FORMAT_E enPixFormat; //定义视频格式 如VIDEO_FORMAT_LINEAR线性存储的视频格式
5 DYNAMIC_RANGE_E enDynamicRange; //定义动态范围枚举 如8bit 数据的标准动态范围
6 VIDEO_FORMAT_E enVideoFormat; //定义视频格式 如VIDEO_FORMAT_LINEAR线性存储的视频格式
7 COMPRESS_MODE_E enCompressMode;//定义视频压缩数据格式 如非压缩的视频格式COMPRESS_MODE_NONE
8 } SAMPLE_CHN_INFO_S;
1 typedef struct hiSAMPLE_SNAP_INFO_S //项目中没有用到此参数,就不说明了
2 {
3 HI_BOOL bSnap;
4 HI_BOOL bDoublePipe;
5 VI_PIPE VideoPipe;
6 VI_PIPE SnapPipe;
7 VI_VPSS_MODE_E enVideoPipeMode;
8 VI_VPSS_MODE_E enSnapPipeMode;
9 }SAMPLE_SNAP_INFO_S;
Hi3559AV100 VI通道功能框图如下所示:

图2 Hi3559AV100 VI通道功能框图
Hi3559AV100的VI细节处理说明的更多相关文章
- 基于Hi3559AV100 RFCN实现细节解析-(3)系统输入VI分析一 :
下面随笔系列将对Hi3559AV100 RFCN实现细节进行解析,整个过程涉及到VI.VDEC.VPSS.VGS.VO.NNIE,其中涉及的内容,大家可以参考之前我写的博客: Hi3559AV100的 ...
- 基于Hi3559AV100 RFCN实现细节解析-(2)RFCN数据流分析
下面随笔系列将对Hi3559AV100 RFCN实现细节进行解析,整个过程涉及到VI.VDEC.VPSS.VGS.VO.NNIE,其中涉及的内容,大家可以参考之前我写的博客: Hi3559AV100的 ...
- 基于Hi3559AV100 RFCN实现细节解析-(3)系统输入VI分析(HiISP)二 :
下面随笔系列将对Hi3559AV100 RFCN实现细节进行解析,整个过程涉及到VI.VDEC.VPSS.VGS.VO.NNIE,其中涉及的内容,大家可以参考之前我写的博客: 基于Hi3559AV10 ...
- 基于Hi3559AV100 RFCN实现细节解析-(1)VGS初介绍
下面随笔系列将对Hi3559AV100 RFCN实现细节进行解析,因为RFCN用到了VGS加框,因此本篇随笔将给出VGS视频图像子系统的具体说明,便于后面RFCN的细节实现说明. VGS 是视频图形子 ...
- vim /vi中对字符串的查找并替换
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
- vi、vim 查找替换
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
- Vi/Vim查找替换使用方法
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian 为 s ...
- [转]Vi/Vim查找替换使用方法
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
- Vi/Vim 替换使用方法
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian 为 s ...
随机推荐
- Codeforces Round #665 (Div. 2)
Codeforces Round #665 (Div. 2) A. Distance and Axis 如果\(B\)在\(O\)左边,那么只能是定值\(OA\) 如果\(B\)在\(OA\)中间 ...
- poj 1511-- Invitation Cards (dijkstra+优先队列)
刚开始想复杂了,一直做不出来,,,其实就是两遍dijkstra+优先队列(其实就是板子题,只要能有个好的板子,剩下的都不是事),做出来感觉好简单...... 题意:有n个车站和n个志愿者,早上每个志愿 ...
- 【noi 2.2_1751】分解因数(递归)
题意:问一个给定正整数的分解因数的方式数.N=a1*a2*...*ak(a1<=a2<=...<=ak). 解法:一步步分解该数,总方式数为一个个因数被分解的方案数之和. 可用大括号 ...
- hdu3706 Second My Problem First
Problem Description Give you three integers n, A and B. Then we define Si = Ai mod B and Ti = Min{ ...
- [HDU-5172] 单点查询线段树
题意: 给你一个长度为n的数组v[],有m次询问,问你在区间[L,R]中是否包含区间[1,R-L+1]的全部数字,如果是输出YES,否则输出NO 题解: 区间[1,R-L+1]与区间[L,R]的长度一 ...
- tomacat配置虚拟主机 && 配置缺省页面
在conf文件夹下的server.xml文件中 在c盘建立一个sina文件夹,里面建立一个mail文件夹,在mail文件夹下面建立一个1.html网页 你配置完如果直接访问http://www.sin ...
- C#之字符编码
在 Windows Vista 及之后的版本中,每个Unicode字符都使用UTF-16编码,UTF的全称是 Unicode Transformation Format(Unicode 转换格式).U ...
- MySql 执行 DELETE/UPDATE时,报 Error Code: 1175错误
MySql 执行 DELETE FROM Table 时,报 Error Code: 1175. You are using safe update mode and you tried to upd ...
- Docker配置文件deamon.json详解
vim /etc/docker/daemon.json { "authorization-plugins": [], "data-root": "&q ...
- Pangolin 安装测试 Installation & Examination (Ubuntu 20.04)
Pangolin 安装测试 Installation & Examination (Ubuntu 20.04) 如题所述,这是一个比较轻松的 Pangolin 安装配置方法,同样是基于 WSL ...