Hi3519使用·记录
- 静态属性26 与动态属性 34
- 先VB_inti再SYS_init 29,退出时需要消除所有阻塞的MPI进程 30
- 绑定和bind结构数据成员 31
- 时间戳(3个函数)
- 建议1秒后进行一次微调 35
- 海思自己已经为音视频同步做了一个时钟,专门设定时间戳的值
- mmap映射 38
- 等同于linux - mmap的作用,内存映射,共享
- mmz内存分配 41
- 啥作用呢?
- 配置内存参数 45
- 通道使用哪个DDR,DDR的名字必须存在(哪里设置DDR的名字?)
- 设置MPP视频缓冲区 48 配置规则
- VB_exit 不会清除VB_setconf的配置 51
- 创建一个视频缓存池
- 返回缓存池ID 52
- 创建池-从中获取一个块-获取这个块的物理地址--检错-释放块-销毁池 52
- 从缓存池中获取块(帧缓存块),2中情况
- 从指定缓存池取缓存块时,参数pcMmzName无效 55
- 任意一个公共缓存池中获取一块指定大小的缓存块 55, 第1个参数 Pool 设置为无效 ID 号(VB_INVALID_POOLID)
- MPP视频缓存池(1情况)与公共缓存池(2情况)
- 用户态获取一个缓存块的物理地址 / 用户态获取一个帧缓存块所在缓存池的 ID
- 视频缓存池映射用户态虚拟地址 59 / 获取一个视频缓存池中的缓存块的用户态虚拟地址 60
- 模块公共视频缓存池 61
- 根据虚拟地址获取对应的内存信息,包括物理地址及 cached 属性67
- 离线和在线模式 24 96 (功能上有差别)
- 参数 VI_DEV_ATTR_S 主要用来配置指定 VI 设备的视频接口模式,用于与外围 camera、sensor 或 codec 对接。101 也就是需要根据接口来设定参数。VI设备与VI通道的绑定关系 108
- VI_CHN_ATTR_S通道属性,连结VI设备与VI通道,设置说明 109
- 如果设置了后端模块与 VI 的绑定,在成功调用该接口后,后端模块就会得到视频数据 112 使能VI通道
- VI通道响应硬件中断 可节约系统资源 114
- 获取该 VI 通道数据 119,获取的是原始图像YUV格式(可动态设置深度 116)
- 用户图片(作为无视频信号时的插入图片)122 VI 通道不再需要输出用户图片时,应该调用此接口以恢复输出 AD 的原始视频数据 126
- HI_MPI_VI_BindChn 3519不支持
- HI_MPI_VI_Query可查询中断计数、通道使能状态、平均帧率、中断丢失数、获取 VB 失败 次数、图像宽高等信息 132
- 闪光灯(单闪、频闪两模式) 133 有啥作用?
- VI 设备的 CSC 用于图像的亮度、色调、对比度、饱和度的调节 147
- 旋转149 注意图像宽高大小的改变
- 获取通道亮度和统计,帧的PTS 152 208
- VI 设备 dump 属性 157 啥作用?3519不支持
- 获取 RAW DATA 159-166 啥作用?
- DCI 自动对比度增强 209
- WDR 工作属性 169
- 本模块支持多路实时编码,且每路编码独立,编码协议和编码 profile 可以不同 636 (该说明是否能够证明H.264和H.265同时多路编码呢?)
- 通道支持接收 YUV 格式图像输入, 其中 H.264/H.265 只支持 Semi-planar YUV 4:2:0 ; VENC 将按照编码通道尺寸大小,调用 VGS 对源图像进行缩小,然后对缩小之后的图像进行编码。637
- CBR与VBR的控制概念 639
- 两种编码协议(H.264/H.265),GOP 结构属性;支持彩转灰; 裁剪编码,即 VENC 从图像中裁剪出一部分进行编码 642
- P 帧帧内刷新(P 帧刷新 ISlice/Intra 宏块行)
- 作用:码流平滑( 刷新 ISlice 可以提供更好的码流兼容性)、IP帧大小接近、降低I帧过大带来的网络冲击,网络延迟、传输容错概率 644
- 注意:
- 码流帧配置:多包或单包 645 图6-9(646) 讲述:包的类型、图像参数集的问题
- 码流buffer配置:仅给出下限 646 (需要防止因码流 buffer 不足而不断重编或者丢帧的情况)
- VENC_CHN_ATTR_S 787
- 编码通道宽高差异(编码分辨率) 表6-3 650
- 编码器属性的约束 表6-4 651 :码流buffer深度、获取码流方式
- 码率控制器属性的约束 表6-5 652
- VI输出帧率、VPSS帧率 与VENC的码率控制关系
- SrcFrmRate与 DstFrmRate的设置关系
- CBR的平均比特率配置 表6-6 652 和 波动等级(码率的波动范围的大小划分) 653
- 视频输入单元通过 ITU-R BT.601/656 接口接收由 VADC 输出的数字视频信息, 并通过 AHB 总线把接收到的原始图像写入到外存 (SDR SDRAM 或 DDR SDRAM)中;
- 视频编解码器 器从外存中读取图像,进行运动估计(帧间预测)、帧 内 预 测 、 DCT 变 换 、 量 化 、 熵 编 码 (CAVLC+Exp-Golomb)、IDCT 变换、反量化、运动 补偿等操作, 最后将符合 H.264 协议的裸码流和编码重 构帧(作为下一帧的参考帧)写入到外存中;
- 视频输出 单元从外存中读取图像数据并通过 ITU-R BT.601/656 接口送给 VDAC 进行显示,应用的需求不同,视频输 出单元从外存中读取的图像内容也不同,
- 当需要对输入 图像进行预览时,视频输出单元从外存中读取原始图 像,当需要观察视频编码器的编码效果时,视频输出单 元从外存中读取编码重构帧;
- ARM 对视频编码器输出 的码流进行协议栈的封装,然后送给网口发送,以实现 视频点播业务。
- 加载MPP
- 最大的视频缓存池个数、最大缓存池中公共缓存块的个数、每个公共缓存块的大小
- MPP系统控制属性、控制参数
- 设置输入设备与输入通道的属性
- 根据VI设备(摄像头),设置VI属性(接口制式、接口时序)
- 根据VI通道属性(采集图像的视频分辨率、像素格式),设置VI通道
- 启动输入设备及通道
- 启动VI通道,设置通道采集帧率
- 定义(设置) 视频输出公共属性的结构体:背景、输出接口类型、接口时序
- 定义(设置)视频层属性:设备/显示/图像分辨率(示意图),设备与显示相同,显示与图像最好相同,输入像素格式
- 启动VO设备与VO视频层:
- 设置输出通道属性并启用输出通道:绑定通道关系
- H.264视频编码流程
- MPP系统初始化流程
- 输入设置与初始化流程
- 输出设置与初始化流程
- H.264编码配置过程
- MPEG-2 TS介绍:语法结构(包的组成,想rtmp用flv格式推流那样子)
- H.264编码视频的TS封装
- TS封装原理(流程框图)
- H.264编码ES的PES打包
- H.264编码ES的结构(实际就是NALU):联合Hi3515的码流包结构体
- PES包结构:正如flv文件格式中需要的各个数据,FFmpeg-AVPacket使用转flv格式的过程一样
- PES打包过程
- IPB帧类型对PTS、DTS的影响
- PTS、DTS计算公式和插入方式
- PES包的TS封装:未看
- 多路视频和数据的TS复用
- PSI表信息的作用和插入:未看
- PCR的计算及插入:
- 编码端和解码端的时钟同步,不加以处理,解码端缓冲区的溢出
- 解码端的时钟过慢,造成解码端缓冲区的上溢,视频丢帧
- 解码端的时钟过快,造成解码端缓冲区的下溢,视频卡顿
- 基于Hi3515的多路视频的TS封装
- 利用Hi3515进行多通道编码时的多路分时编码而进行的封装复用
- Hi3515的H.264编码ES流测试:NAL单元类型测试,需要寻找一个H.265的测试工具
Hi3519使用·记录相关推荐
- max9286 四合一_MAX9286+HI3519 +MAX96705方案分享
马上注册/登录,获取更多电子研发资料! 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 硅天下备货方案套片:MAX9286+hi3519 +MAX967051. 方案介绍: 1)基于美信MAX ...
- mysql建立联合索引,mysql建立唯一键,mysql如何解决重复记录联合索引
在项目中,常常要用到联合唯一 在一些配置表中,一些列的组合成为一条记录. 比如,在游戏中,游戏的分区和用户id会形成一条记录.(比如,一个qq用户可以在艾欧尼亚.德玛西亚创建两个账号) 添加联 ...
- 实现 连续15签到记录_MySQL和Redis实现用户签到,你喜欢怎么实现?
现在的网站和app开发中,签到是一个很常见的功能 如微博签到送积分,签到排行榜 微博签到 如移动app ,签到送流量等活动, 移动app签到 用户签到是提高用户粘性的有效手段,用的好能事半功倍! 下面 ...
- 记录一次http请求失败的问题分析
问题背景 当前我有一个基于Flask编写的Restful服务,由于业务的需求,我需要将该服务打包成docker 镜像进行离线部署,原始服务的端口是在6661端口进行开启,为了区分,在docker中启动 ...
- Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)
Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...
- LeetCode简单题之学生出勤记录 I
题目 给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤.迟到.到场).记录中只含下面三种字符: 'A':Absent,缺勤 'L':Late,迟到 'P':Pre ...
- 关于TVM的点滴记录
关于TVM的点滴记录
- MySql数据库Update批量更新与批量更新多条记录的不同值实现方法
批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other ...
- 记录篇,自己在项目中使用过的。
图片选择器,6.0已经适配过,类似qq空间上传 点击打开链接_胡小牧记录 下面是效果图: PictureSelector PhotoPicker 类似qq空间发布心情. 点击打开链接 BubbleSe ...
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
最新文章
- linux系统配置之开机启动过程(centos)
- 【转】推荐给初级Java程序员的3本进阶书
- android 布局管理器,【Android开发】布局管理器-表格布局
- 宝山区佳力图服务器空调维修价格,成都佳力图空调维修师傅
- LFS、BLFS、ALFS、HLFS的区别详解
- [html] input上传文件可以同时选择多张吗?怎么设置?
- 设计模式:观察者(Observer)模式
- 传说之下音乐计算机版,传说之下同人音乐
- 团伙 并查集_BZOJ 1370 Baltic2003 Gang团伙 并查集
- Uncaught TypeError: l.push is not a function
- docker常用操作(六)docker安装内网穿透nps
- Java 输出三角形
- vfp access mysql具体_详细介绍Visual FoxPro数据表的索引
- 物联网智能产品WiFi/蓝牙定位原理
- 最近很火的养猫小程序—365赚钱宝小程序源码
- C语言程序设计 - 积分兑换
- Android生态系统进化论
- Android 仿QQ退出(点击返回键不退出app,点击icon直接进入上次退出的页面)
- 开启 Linux 版的 Window 子系统(WSL)
- 全球投资移民青睐低气候风险地,最具气候韧性国家排名前五都在北半球 | 美通社头条...