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 ...
随机推荐
- HHKB Programming Contest 2020【ABCE】
比赛链接:https://atcoder.jp/contests/hhkb2020/tasks A - Keyboard 代码 #include <bits/stdc++.h> using ...
- Testing Beta Round (Unrated)
比赛链接:https://codeforces.com/contest/1390 A. 123-sequence 题意 给出一个只含有 $1,2,3$ 的数组,问使所有元素相同至少要替换多少元素. 题 ...
- HDU6061 RXD and functions【NTT】
\(RXD\ and\ functions\) Problem Description RXD has a polynomial function \(f(x)\), \(f(x)=\sum ^{n} ...
- POJ - 3376 Finding Palindromes(拓展kmp+trie)
传送门:POJ - 3376 题意:给你n个字符串,两两结合,问有多少个是回文的: 题解:这个题真的恶心,我直接经历了5种错误类型 : ) ... 因为卡内存,所以又把字典树改成了指针版本的. 字符串 ...
- Codeforces Round #646 (Div. 2) 题解 (ABCDE)
目录 A. Odd Selection B. Subsequence Hate C. Game On Leaves D. Guess The Maximums E. Tree Shuffling ht ...
- CodeForces - 449B 最短路(迪杰斯特拉+堆优化)判断最短路路径数
题意: 给出n个点m条公路k条铁路. 接下来m行 u v w //u->v 距离w 然后k行 v w //1->v 距离w 如果修建了铁路并不影响两点的最短距离, ...
- Codeforces Round #666 (Div. 2) C. Multiples of Length (贪心)
题意:给你一个由\(0,1,?\)组成的字符串,你可以将\(?\)任意改成\(0\)或\(1\),问你操作后能否使得该字符串的任意长度为\(k\)的区间中的\(0\)和$1的个数相等. 题解:我们首先 ...
- Chapter Zero 0.1.2 CPU的架构
CPU的架构 CPU内部含有一些微指令, 我们所使用的软件都要经过CPU内部的微指令集达成才行. 这些指令集的设计又分为两种设计理念, 这就是目前世界上常见的两种主要CPU架构: 精简指令集(Redu ...
- leetcode 12 整数转罗马数字 贪心
额,连着两个贪心? 这是局部最优问题:能用大"罗马数表示"就不会用小的. 先构造出所有基础罗马数,然后从大到小比较 因为比较的只有1000,900,...有限并有些麻烦,构造tab ...
- MongoDB 101
MongoDB 101 Studio 3T https://studio3t.com/academy/ https://studio3t.com/academy/lessons/introducing ...