海思hi35xx 开发学习:视频输入
Posted chay
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海思hi35xx 开发学习:视频输入相关的知识,希望对你有一定的参考价值。
视频输入(VI)模块实现的功能:通过 MIPI Rx(含 MIPI 接口、LVDS 接口和 HISPI 接口),SLVS-EC,BT.1120,BT.656,BT.601,DC 等接口接收视频数据。VI 将接收到的数据存入到指定的内存区域,在此过程中,VI 可以对接收到的原始视频图像数据进行处理,实现视频数据的采集。
重要概念
- 视频输入设备
视频输入设备支持若干种时序输入,负责对时序进行解析。 - 视频输入 PIPE
视频输入 PIPE 绑定在设备后端,负责设备解析后的数据再处理。 - 视频物理通道
物理通道负责将最终处理后的数据输出到 DDR,在真正将数据输出到 DDR 之前,它可以实现裁剪等功能。 - PIPE 的工作模式
参考: 海思hi35xx 开发学习(2):系统控制 - 掩码
掩码用于指示 VI 设备的视频数据来源。 - 镜头畸变校正(LDC)
镜头畸变校正,一些低端镜头容易产生图像畸变,需要根据畸变程度对其图像进行校正。 - DIS
DIS 模块通过比较当前图像与前两帧图像采用不同自由度的防抖算法计算出当前图像在各个轴方向上的抖动偏移向量,然后根据抖动偏移向量对当前图像进行校
正,从而起到防抖的效果。 - BAS
Bayer scaling,即 Bayer 域缩放。 - 低延时
低延时指图像写出指定的行数到 DDR 后,VI 上报一个中断,把图像发给后端模块处理,可以减少延时,且硬件会有机制保证图像是先写后读,不会出现读图像错误。 - 提前上报中断
提前上报中断指图像写出指定的行数到 DDR 后,VI 上报一个中断,把图像发给后端模块处理,可以减少延时,但没有和低延时一样的硬件机制保证后端模块读图像不会出错。
功能描述
VI 在软件层次上划分 4 个部分:
视频输入设备
所有 VI 设备都是相互独立的,支持时序解析。
视频输入 PIPE
VI 的 PIPE 包含了 ISP 的相关处理功能,主要是对图像数据进行流水线处理,输出YUV 图像格式给通道。PIPE 的工作模式参考: 海思hi35xx 开发学习(2):系统控制。
视频物理通道
- Hi3559AV100ES VI 的一个 PIPE 包含 2 个物理通道,每个物理通道具有裁剪等功能,每个物理通道同时支持 8 个扩展通道。
- Hi3559AV100 VI 只有一个物理通道,支持 8 个扩展通道。
- Hi3519AV100 VI 的一个 PIPE 包含 2 个物理通道,CH0 具有裁剪、压缩等功能,CH1 具有缩小的功能,支持 8 个扩展通道。
- Hi3559AV100ES/Hi3559AV100 物理通道支持的典型分辨率如 [email protected]、[email protected]、[email protected]、[email protected]、[email protected]、1080p @120、1080p @60、[email protected] 等。
- Hi3519AV100 物理通道支持的典型分辨率如 [email protected]、[email protected]、[email protected]、[email protected]、[email protected]、[email protected] 等。
视频扩展通道
扩展通道是物理通道的扩展,扩展通道具备缩放、裁剪、鱼眼矫正功能,它通过绑定物理通道,将物理通道输出作为自己的输入,然后输出用户设置的目标图像。
以上是关于海思hi35xx 开发学习:视频输入的主要内容,如果未能解决你的问题,请参考以下文章
FFmpeg开发笔记:ffmpeg在移植到海思HI35xx平台之将ffmpeg库引入到sample的demo中
经验分享华为海思Hi35xx系列ARM32交叉编译opencv
FFmpeg开发笔记:ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台