海思 DSP xtensa xplorer
海思新出的HI3559A和Hi3519A自带了DSP,对于我们这种做图形图像处理及加速的太有用了。拿到开发板后,才发现海思只提供了一个膨胀和腐蚀的例子。更坑的是,居然没有源代码,关键算法被封装成库了。
经过几番折腾,在某宝上买到了廉价的xtensa xplorer开发工具(官方的太贵了,哈哈),终于把海思的DSP用了起来。使用步骤简单描述一下吧:
1. 首先得有xplorer的编译工具,这个工具不是免费的,要有license才能用,包括开发和性能调优。
2. 买一个海思的开发板,一般某宝上的几千块的就行,不过只能接一个摄像头。例子中我是使用了自己做的开发板,直接接入了4路3G-SDI摄像头做输入源了,开发板我就不多说了,免得被误解是打广告的 。
3. 使用海思自带的svp/dsp例子,在里面加入一个自己的算法(反正就是依葫芦画瓢,理解一下dsp的调度),难点主要是算法的优化,海思SDK给的膨胀和腐蚀两个例子都是没有源码的,这个比较坑。我也是自己用xplorer工具一点一点的理解加优化,实现了一个边沿检测算法(sobel和candy两种算法都实现了)。代码这种东西,这里我就不分享了哈。
4. 运行并显示画面,vio和dsp两个程序是相互独立的,所以我单独开dsp程序就能看到处理后效果,不开的话就是处理前原始画面。
效果图如下:
4.1. 使用dsp前画面:
4.2. 使用dsp处理画面:
另外看一下dsp的调试信息:
~ # cat /proc/umap/dsp
[DSP] Version: [Hi3559AV100_MPP_V2.0.2.0 B060 Release], Build Time[Dec 21 2018, 17:05:06]
-------------------------------MODULE PARAM--------------------------------------
max_node_num
30
-------------------------------DSP CORE STATUS--------------------------------------
CoreId Enable
0 Yes
1 Yes
2 Yes
3 Yes
-------------------------------DSP PRI STATUS--------------------------------------
CoreId Pri Create
0 0 Yes
0 1 No
0 2 No
1 0 Yes
1 1 No
1 2 No
2 0 Yes
2 1 No
2 2 No
3 0 Yes
3 1 No
3 2 No
--------------------------------DSP TASK INFO------------------------------------
CoreId Pri Hnd TaskFsh HndWrap FreeNum WorkNum
0 0 4403 4403 0 30 0
0 1 0 0 0 30 0
0 2 0 0 0 30 0
1 0 4395 4395 0 30 0
1 1 0 0 0 30 0
1 2 0 0 0 30 0
2 0 4388 4388 0 30 0
2 1 0 0 0 30 0
2 2 0 0 0 30 0
3 0 4380 4380 0 30 0
3 1 0 0 0 30 0
3 2 0 0 0 30 0
-----------------------------------DSP RUN-TIME INFO-----------------------------
CoreId Pri CntPerSec MaxCntPerSec TotalIntCntLastSec TotalIntCnt QTCnt CostTm MCostTm CostTmPerSec MCostTmPerSec TotalIntCostTm RunTm
0 0 31 33 4381 4402 0 3 11 97 167 17079 1049
0 1 0 0 0 0 0 0 0 0 0 0 1049
0 2 0 0 0 0 0 0 0 0 0 0 1049
1 0 31 32 4377 4394 0 4 17 91 148 14916 1049
1 1 0 0 0 0 0 0 0 0 0 0 1049
1 2 0 0 0 0 0 0 0 0 0 0 1049
2 0 31 32 4376 4387 0 3 12 89 169 15492 1049
2 1 0 0 0 0 0 0 0 0 0 0 1049
2 2 0 0 0 0 0 0 0 0 0 0 1049
3 0 31 32 4373 4379 0 3 15 116 162 16776 1049
3 1 0 0 0 0 0 0 0 0 0 0 1049
3 2 0 0 0 0 0 0 0 0 0 0 1049
----------------------------------DSP INVOKE INFO--------------------------------
CoreId Pri RPC
0 0 4402
0 1 0
0 2 0
1 0 4394
1 1 0
1 2 0
2 0 4387
2 1 0
2 2 0
3 0 4379
3 1 0
3 2 0
可以看到,4个DSP核每个核都是按照30帧来处理视频的。测试极限是1080P的画面,单核DSP可以每秒处理200帧左右。性能相当的强悍。难点就是怎么优化,怎么去使用啦,后续继续研究新的算法。包括图像的增强、锐化、白平衡、融合、跟踪等等,都可以在DSP上加速使用。
海思 DSP xtensa xplorer相关推荐
- DSP及海思嵌入式板实现gb28181
DSP及海思嵌入式板实现gb28181 开发语言:c++ 运行环境:x86-linux; arm-linux 协议栈:OSIP 设计模式中运用了面向对象编程语言的重要特性:封装.继承. 优点:比c语言 ...
- 高清 网络摄像机 华为海思3510芯片
给大家介绍一款,采用海思3510芯片 的网络摄像机 IP camera. 海思半导体有限公司成立于2004年10月,前身是创建于1991年的华为集成电路设计中心.海思公司总部位于深圳,在北京.上海.美 ...
- Hi3559av100安装linux,海思hi3559AV100开发板参数规格介绍
海思hi3559AV100开发板调试参数资料介绍: 处理器内核: 双核 arm Cortex A73@1.8GHz,32KB I-Cache, 64KB D-Cache /512KB L2 cache ...
- 的有效 海思编码_【最佳案例展示】2020年CUVA“超高清视频创新产品与解决方案”全球首款8K@120解码芯片海思Hi3796CV300...
最佳奖:上海海思技术有限公司<全球首款8K@120解码芯片-海思Hi3796CV300> 案例概述 8K从摄像.制作.编码到传输.解码.显示,全链条的产业化正在加快成熟, 国家超高清/8 ...
- TI 海思 安霸 智利普 等顶级摄像机芯片简要介绍
很多年以前业界就谈到安防视频监控领域的三个趋势:数字化.网络化.智能化.目前国内市场上安防视频监控系统的主流产品已经从十多年前的纯模拟视频监控系统,逐步转变成了纯数字的百万高清视频监控系统,即从视频采 ...
- 华为发布海思麒麟950:神兽决斗跑分琅琊榜,麒麟压得过骁龙?---ESM
今年国产手机品牌发布会一场接力一场,下血本造势比拼精彩纷呈,更多的是吃相难看的抢市场.手机芯片作为智能手机中的皇冠,而华为麒麟950的发布会只安静的邀请了数十位行业达人,其话题性却不亚于任何一场发布会 ...
- 海思SD3403开发板
一.3403开发板 SD3043标准开发板是常州海图电子科技有限公司推出的一款基于海思SD3043芯片设计的嵌入式开发,具有强劲的处理器性能以及强悍的视频处理.视频分析与编解码能力. 二.性能介绍 1 ...
- 海思Hi3519A开发(6.sample内容介绍)
文章目录 编译与运行 sample sample_venc(视频数据编码) sample_vdec(视频数据解码) sample_audio(音频相关) sample_snap(拍照) sample_ ...
- 1.海思项目整理 编译烧录+启动参数+sample编译+bayeRGBYUV+MPP(VB+VI+VPSS)
1.1.2.检测开发板 (4)SecureCRT监视打开,开发板开机,自动挂载到/home/aston/rootfs中 (5)自动加入/mnt中,执行./sample_venc即可 (6)在vlc中输 ...
最新文章
- 今天你(L)China了吗?
- 一个程序员是怎么被逼疯的?
- Spring Cloud之网关搭建
- 浅谈如何防范电池事故
- 基于Ruby的watir-webdriver自动化测试方案与实施(四)
- B1928 日期差值
- 2021年度训练联盟热身训练赛第一场 E Early Orders 思维 + 栈
- 2.1.3码元、波特、速率、带宽
- ansys 内聚力_内聚力 软件工程
- 怎么在Word中插入歌曲
- 【原创】RMQ - ST算法详解
- golang odbc mysql_go语言通过odbc操作Access数据库的方法
- MySQL数据库反向生成powerdesigner模型
- python学习第二天标准输入输出和注释用法
- 15串行加法器和并行加法器原理
- 计算机log是代表什么,Log是什么文件?Log文件可以删除吗?
- 智能鱼塘远程检测控制系统
- 创建FTP站点访问超链接
- IMO班聊助力壹米滴答全国“织网” 让每一米、每一秒都更有效率
- 阿里云要引领数据库市场?这话没毛病
热门文章
- Rust中的dyn关键字
- 如何创建一个以chatgpt为基础的QQ群聊机器人的流程细节
- 压电陶瓷堆栈执行器线性模型simulink仿真
- 软考必过 - 系统架构师 - 软件架构设计 - SOA与微服务
- 前端笔记之React(六)ES6的Set和Mapimmutable和Ramda和lodashredux-thunk
- RISC-V GNU编译环境搭建与运行实践
- (一)学习笔记autoware源码core_planning(waypoint_saver)
- php date('Y-m-d H:i:s',time())获取时间不对问题解决
- javascript进制及进制之间的转换
- 安装redhat 8.0红帽系统的图文教程(小白必备)