海思芯片研究开篇介绍

2024-05-31 17:48

本文主要是介绍海思芯片研究开篇介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

海思音视频处理芯片介绍

  1. 不多介绍了,大家都知道。

海思hi3516dv300 SDK目录介绍

在这里插入图片描述1. 板子测试文档,用来测试买来的板子是否是正常的,测试不通过,可联系商家换新。
2. 单独资料包:提供u-boot源码,内核源码,文件系统源码,mpp测试demo,h264,h265流推送demo,安装交叉编译环境和编译链等资料。
3. 虚拟机开发环境:提供已经配置好了的开发环境。
4. onvif测试文档
5. RTMP推流测试
6. 交叉编译链
7. 工具: 串口调试,tftp等开发工具。
8. 海思SDK:SDK开发文档。
9. emmc操作:海思芯片内存和外存都比较小,挂载emmc可以拷贝更多的东西到开发板。

海思hi3516板子测试

当你买了一块海思开发板的时候,商家会提供给你一份开发板的详细资料。里边有产品参数和开发文档,甚至一些原理图。新手的话,肯定会茫然,不知从哪开始研究这块板子。
在这里插入图片描述首先测试板子是否正常。
在上面商家提供的资料里边。 看那个板子测试文档。 他们会提供测试板子是否能正常运行,是否正常取流的一些demo文件。 这一步很简单,你只需要将demo用tftp下载到板子上运行测试就好。

  1. 首先下载VLC2.2.8这个软件,安装到你电脑windows操作系统里面。
  2. 安装usb转串口板驱动,然后设置好串口115200的波特率,具体设置看串口设置图片。在securecrt那个软件里面使用。设置好后,板子上电,应该可以看到板子的启动信息。
  3. 板子测试之前请把板子网口和电脑有线网口连通,可以在板子端使用ping 命令:ping 电脑ip测试,看网络是否已经通了。
  4. 板子启动后,将提供的sample_venc 这个文件放到TFTP服务器的服务目录里面。在你windows系统里面运行TFTP服务器软件,开启tftp服务器。
  5. 在板子的securecrt串口调试终端里面输入以下命令:
    我这里192.168.1.100 指的是电脑windows的ip,下面命令的192.168.1.100请把他改成你windows实际的ip地址
    在这里插入图片描述从tftp下载文件到板子命令:
tftp -g -r sample_venc 192.168.1.100
chmod +x sample_venc
./sample_venc 0   

上面的操作会生成一个.h264文件。 上传到windows主机上。

tftp -p -l stream_chn1.h264  192.168.1.100

使用vlc播放器播放这个264文件,如果正常播放则板子正常。

海思SDK提供的DEMO模块介绍

海思提供下列模块代码。
sample_venc(视频数据编码)
sample_vdec(视频数据解码)
sample_audio(音频相关)
sample_snap(拍照)
sample_dpu_main(Depth Process Unit,深度图)
sample_avs(Any View Stitching,全景拼接)
sample_fisheye(鱼眼模式)
sample_vio(视频输入输出)
sample_vgs(Video Graphics Sub-System,视频图形子系统)
sample_tde(Two Dimensional Engine,利用硬件为OSD和GUI提供快速的图形绘制功能)
sample_hifb(Hisilicon Framebuffer,基于Linux FB 基本功能扩展了一些图形层控制功能)
sample_awb_calibration(自动白光平衡测量)
sample_ive_main(智能加速引擎)
sample_dis(Digital Image Stabilization,数字稳像)
sample_dsp_main(DSP测试)
sample_nnie_main(神经网络硬件加速单元测试)

sample_venc(视频数据编码)
# ./sample_venc
Usage : ./sample_venc [index] index:0) H.265e@4K@120fps + H264e@1080p@30fps.1) H.265e@4K@60fps + H264e@4K@60fp.2) Lowdelay:H.265e@4K@30fps.3) IntraRefresh:H.265e@4K@60fps + H264e@4K@60fps.4) Qpmap:H.265e@4K + H264e@4K@60fps.5) Mjpeg@4K@60fps +Jpeg@4K.

shell 说明:

运行sample_venc (录制) 视频编码样例
使用方法: ./sample_venc [index]
参数<索引>
0) h265编码,4096×2160分辨率,每秒120帧 + h264编码,1920x1080分辨率,每秒30帧
1) h265编码,4096×2160分辨率,每秒60帧 + h264编码,4096×2160分辨率,每秒60帧
2) Lowdelay(低延时属性):h265编码,4096×2160分辨率,每秒30帧
3) IntraRefresh(P 帧帧内刷新):h265编码,4096×2160分辨率,每秒60帧 + h264编码,4096×2160分辨率,每秒60帧
4) Qpmap(是一种码率控制模式):h265编码,4096×2160分辨率 + h264编码,4096×2160分辨率,每秒60帧
5) Mjpeg(Mjpeg协议编码方式)的4096×2160分辨率,每秒60帧 + Jpeg(Jpeg的编码)的4096×2160分辨率
sample_vdec(视频数据解码)
# ./sample_vdec
Usage : ./sample_vdec <index> <IntfSync>
index:0)  VDEC(H265)-VPSS-VO1)  VDEC(H264)-VPSS-VO2)  VDEC(JPEG->YUV)-VPSS-VO3)  VDEC(JPEG->RGB)
IntfSync :0) VO HDMI 4K@30fps.1) VO HDMI 1080P@30fps.

shell 说明:

运行sample_vdec (播放) 视频解码样例
使用提示: ./sample_vdec <索引> <Vo接口时序类型>
参数<索引>:
0) VDEC解码器输入(H265的编码格式图片/视频)—>VPSS(视频输入缓存块)—>VO(图片/视频输出)
1) VDEC解码器输入(H264的编码格式图片/视频)—>VPSS(视频输入缓存块)—>VO(图片/视频输出)
2) VDEC解码器输入(JPEG数据)—>VPSS(视频输入缓存块)—>VO(YUV图片/视频输出)
3) VDEC解码器输入JPEG解码成RGB数据
参数<IntfSync>:
0) 输出到HDMI 4096×2160分辨率,每秒30帧
1) 输出到HDMI 1920x1080分辨率,每秒30帧
sample_audio(音频相关)
# ./sample_audio
/Usage:./sample_audio <index>/index and its function list below0:  start AI to AO loop1:  send audio frame to AENC channel from AI, save them2:  read audio stream from file, decode and send AO3:  start AI(VQE process), then send to AO4:  start AI to AO(Hdmi) loop5:  start AI to AO(Syschn) loop6:  start AI to Extern Resampler
channel:0:  mic0 input1:  mic1 input

shell 说明:

运行sample_audio 音频 (编码/解码)样例
使用提示:./sample_audio <索引>
以下内容是索引对应的功能
0) 循环音频从输入到输出 (话筒功能)
1) 通过音频输入发送音频帧到音频编码通道,保存起来 (录音功能)
2) 从文件读取音频流,解码然后发送到输出 (播放功能)
3) 通过音频输入声音质量增强处理,然后输出音频 (话筒功能)
4) 循环音频输入到HDMI通道音频输出 (话筒功能)
5) 循环音频输入到系统音通道音频输出 (话筒功能)
6) 通过音频输入重新采样 (录音功能)
音频输入通道
0) mic0输入(HeadPhone)
1) mic1输入(插针)
sample_snap(拍照)
# ./sample_snap
Usage : ./sample_snap <index> 
index:0)double pipe offline, normal snap.
shell 说明:运行sample_snap 拍照使用说明:./sample_snap <索引>参数<索引>0)双 pipe 离线模式普通拍照
sample_dpu_main(Depth Process Unit,深度图)
# ./sample_dpu_main
Usage : ./sample_dpu_main <index>                                               
index:                                                                          0) VI->VPSS->RECT->MATCH.                                              1) FILE->RECT->MATCH.

shell 说明:

运行 sample_dpu_main
使用方法:./sample_dpu_main <索引>
<索引>
0) DPU(Depth Process Unit)对输入的左图像和右图像经过校正和匹配计算得出深度图
1) DPU(Depth Process Unit)对读取的文件的左图像和右图像经过校正和匹配计算得出深度图
sample_avs(Any View Stitching,全景拼接)
# ./sample_avs
Usage : ./sample_avs <index>
index:0) 2 fisheye stitching, Normal projection.1) 4 fisheye stitching, Cube map.2) 4 pic no blend stitching.3) 2 fisheye stitching, Image stabilizing.4) Generate lut.
shell 说明:运行 sample_avs使用说明: ./sample_avs <index><index>0) 2个CAM 鱼眼拼接正常显示模式1) 4个CAM 鱼眼拼接呈现立体显示效果2) 4个CAM 图片无混合拼接3) 目前暂不支持4)生成LUT表
sample_fisheye(鱼眼模式)
# ./sample_fisheyeUsage : ./sample_fisheye <index> <vo intf> <venc type>
index:0) fisheye 360 panorama 2 half with ceiling mount.1) fisheye 360 panorama and 2 normal PTZ with desktop mount.2) fisheye 180 panorama and 2 normal dynamic PTZ with wall mount.3) fisheye source picture and 3 normal PTZ with wall mount.4) nine_lattice preview(Only images larger than or equal to 8M are supported).
vo intf:0) vo HDMI output, default.1) vo BT1120 output.
venc type:0) H265, default.1) H264.

shell 说明:

运行 ./sample_fisheye
使用说明 ./sample_fisheye <index> <vo intf> <venc type>
index:
0) 2个“半顶装模式”的鱼眼360°全景视频
1) 2个普通“地装的PTZ”鱼眼360°全景视频
2) 2个普通“壁装的PTZ”鱼眼180°全景视频
3) 三个鱼眼原画的普通PTZ 壁装视频
4) 九格预览视频(仅支持大于或等于8m的图像)
vo intf:
0) 默认HDMI输出
1) BT1120输出
venc type:
0) 默认H265编码
1) H264编码
sample_vio(视频输入输出)
# ./sample_vio_main 
Usage : ./sample_vio_main <index> <intf>
index:0)VI(Online) - VPSS(Online) - VO.1)VI(Offline)- VPSS(Offline) - VO. LDC+DIS+SPREAD.2)VI(Offline)- VPSS(Online) - VO.  Double pipe.3)VI(Online)- VPSS(Offline) - VO.  Double chn.4)Resolute Ratio Switch.5)GDC - VPSS LowDelay.6)Double WDR Pipe.7)FPN Calibrate & Correction.8)WDR Switch.9)90/180/270 Rotate.10)Mipi Demux Yuv.11)UserPic.
intf:0) vo HDMI output, default.1) vo BT1120 output.

shell 说明:

运行 sample_vio
使用方法:./sample_vio_main <index> <intf>
index:
0) 在线输入–> 在线视频处理 -->输出
1) 离线输入–> 离线视频处理 -->输出 镜头畸变校正视频防抖和展宽
2) 离线输入–> 在线视频处理 -->输出 双管道
3) 在线输入–> 离线视频处理 -->输出 双通道
4) Resolute Ratio Switch
5) 几何畸变矫正 -->视频处理 低延时
6) 双WDR管道
7) FPN标定&矫正
8) WDR 开关
9) 90/180/270 旋转
10) Mipi Demux Yuv
11) 设置用户图片
intf:
0) 默认HDMI输出
1) BT1120输出
sample_vgs(Video Graphics Sub-System,视频图形子系统)
# ./sample_vgs 
Usage: ./sample_vgs <index>
index:0) FILE -> VGS(Scale) -> FILE.1) FILE -> VGS(Cover+OSD) -> FILE.2) FILE -> VGS(DrawLine) -> FILE.3) FILE -> VGS(Rotate) -> FILE.

shell 说明:

运行 sample_vgs
使用说明:./sample_vgs <index> <intf>
index:
0) 文件–> 视频图像子系统(缩放) -->文件
1) 文件–> 视频图像子系统(Cover+OSD) -->文件
2) 文件–> 视频图像子系统(画线) -->文件
3) 文件–> 视频图像子系统(旋转) -->文件
sample_tde(Two Dimensional Engine,利用硬件为OSD和GUI提供快速的图形绘制功能)
# ./sample_tde 
Usage : ./sample_tde <intf>
intf:0) vo BT1120 output, default.1) vo HDMI output.
shell 说明:运行 sample_tde使用说明:./sample_tde <intf>intf:0) 默认BT1120输出演示1) HDMI输出演示
sample_hifb(Hisilicon Framebuffer,基于Linux FB 基本功能扩展了一些图形层控制功能)
# ./sample_hifb
Usage : ./sample_hifb <index> <device> <intf>/****************index******************/
please choose the case which you want to run:0:  ARGB8888 standard mode1:  ARGB1555 BUF_DOUBLE mode2:  ARGB1555 BUF_ONE mode3:  ARGB1555 BUF_NONE mode4:  ARGB1555 BUF_ONE mode with compress5:  ARGB8888 BUF_ONE mode with compress/****************device******************/0) VO device 0#, default.1) VO device 1#./****************intf******************/0) VO HDMI output, default.1) VO BT1120 output.

shell 说明:

运行 sample_hifb
使用说明:./sample_hifb <index> <device> <intf>
<index>
请选择一下您想运行的情况之一
0: ARGB8888像素格式标准模式
1: ARGB1555像素格式双缓存模式
2: ARGB1555像素格式单缓存模式
3: ARGB1555像素格式无缓存模式
4: ARGB1555像素格式带压缩的单缓存模式
5: ARGB8888像素格式带压缩的单缓存模式
<device>
0) 默认输出到超清显示设备DHD0
1) 输出到高清显示设备DHD1(暂未支持)
<intf>
0) 默认HDMI输出
1) BT1120输出(暂未支持)
sample_awb_calibration(自动白光平衡测量)
# ./sample_awb_calibration
Usage : ./sample_awb_calibration <mode> <intf1> <intf2> <intf3>
mode:0) Calculate Sample gain.1) Adjust Sample gain according to Golden Sample.
intf1:The value of Rgain of Golden Sample. 深红色区域的锐化增益控制。
intf2:The value of Bgain of Golden Sample. 
intf3:The value of Alpha ranging from 0 to 1024 (The strength of adusting Sampe Gain will increase with the value of Alpha) .

shell 说明:

运行 sample_awb_calibration
使用方法:./sample_awb_calibration <mode> <intf1> <intf2> <intf3>
<mode>
0) 计算例子中的增益
1) 根据标准例子来校正例子中的增益
intf1:
标准例子中的深红色区域的锐化增益控制值
intf2:
标准例子中的深蓝色区域的锐化增益控制值
intf3:
0~1024范围的初始值(采样数据的增益强度会随着初始值的值增加而增加)
sample_ive_main(智能加速引擎)
~ # ./sample_ive_main
Usage : ./sample_ive_main <index> [complete] [encode] [vo]
index:0)BgModel,<encode>:0, not encode;1,encode.<vo>:0,not call vo;1,call vo.(VI->VPSS->IVE->VGS->[VENC_H264]->[VO_HDMI]).1)Gmm,<encode>:0, not encode;1,encode.<vo>:0,not call vo;1,call vo.(VI->VPSS->IVE->VGS->[VENC_H264]->[VO_HDMI]).2)Occlusion detected.(VI->VPSS->IVE->VO_HDMI).3)Motion detected.(VI->VPSS->IVE->VGS->VO_HDMI).4)Canny,<complete>:0, part canny;1,complete canny.(FILE->IVE->FILE).5)Gmm2.(FILE->IVE->FILE).6)MemoryTest.(FILE->IVE->FILE).7)Sobel.(FILE->IVE->FILE).8)Ann.(FILE->IVE->STDIO).9)St Lk.(FILE->IVE->FILE).a)Svm.(FILE->IVE->STDIO).b)Cnn.(FILE->IVE->STDIO).     

shell 说明:

运行 sample_ive_main
使用说明: ./sample_ive_main <index> [complete] [encode] [vo]
index:
0) 背景模型
1) 高斯模型Gmm
2) 遮挡检测
3) 运动检测
4) 边缘检测
5) 高斯模型Gmm2
6) 内存测试
7) Sobel算子分割
8) 图像检索Ann
9) St和LK光流法
a) 分类器SVM
b) 神经网络Cnn
sample_dis(Digital Image Stabilization,数字稳像)
# ./sample_dis
Usage : ./sample_dis <index> <intf>
index:0)DIS-4DOF_GME.VI-VO VENC.1)DIS-6DOF_GME.VI-VO VENC.
intf:0) vo HDMI output, default.1) vo BT1120 output.

shell 说明:

运行 sample_dis
使用说明: ./sample_dis <index> <intf>
index:
0) DIS-4DOF_GME(四自由度 GME 算法,不使用陀螺仪),输入-输出 同时H256格式录像(存储在当前)
1) DIS-6DOF_GME(六自由度 GME 算法,不使用陀螺仪),输入-输出 同时H256格式录像(存储在当前)
intf:
0) HDMI 输出
1) BT1120 输出
sample_dsp_main(DSP测试)
~ # ./sample_dsp_main
shell 说明:四个DSP之DSP0的出图测试。
sample_nnie_main(神经网络硬件加速单元测试)
# ./sample_nnie_main
Usage : ./sample_nnie_main <index> 
index:0) RFCN(VI->VPSS->NNIE->VGS->VO).1) Segnet(Read File).2) FasterRcnnAlexnet(Read File).3) FasterRcnnDoubleRoiPooling(Read File).4) Cnn(Read File).5) SSD(Read File).6) Yolov1(Read File).7) Yolov2(Read File).8) LSTM(Read File).9)Pvanet(Read File).a) Rfcn(Read File).

shell 说明:

运行 sample_nnie_main
使用说明: ./sample_nnie_main <index>
index:
0) RFCN模型
1) 可训练的图像分割Segnet
2) 深度学习的目标检测Alexnet
3) 深度学习的目标检测DoubleRoiPooling
4) 神经网络Cnn
5) 可训练的SSD模型处理
6) 神经网格模型Yolov1
7) 神经网格模型Yolov2
8) LSTM模型
9) Pvanet网络
a) Rfcn目标检测

这篇关于海思芯片研究开篇介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018617

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

Mysql BLOB类型介绍

BLOB类型的字段用于存储二进制数据 在MySQL中,BLOB类型,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储的大小不同。 TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

nginx介绍及常用功能

什么是nginx nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务。 Apache:重量级的,不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些都决定了Apache不可能成为高性能WEB服务器  nginx:

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds  总结  fd_set操作接口  timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充  获取新连接 注意点 -- 通信时的调用函数 添加新fd到

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器