当前位置:网站首页>基于海思3559 高效率的 0延时 0拷贝 qt播放器方案
基于海思3559 高效率的 0延时 0拷贝 qt播放器方案
2022-07-25 19:27:00 【faststream】
海思的有很好的mpp SDK, 播放视频流的,可以快速的从VDEC(解码)到 VO(显示),但是当我们UI需求比较复杂的时候,需要很多操作界面,比如快进,后退,比如调节摄像头位置等等,这些复杂的UI 功能,我们能想到的使用qt开源的平台的方案实现,但是如果视频在qt界面上播放怎么办呢?VO 是无法嵌入到qt的。我有如下方案:
一,编译支持opengl的qt,用opengl渲染 解码的yuv 或者rgb数据。这里会有一个问题,qt只能访问解码器的虚拟地址,从虚拟地址读取数据yuv 或者rgb的速度是很慢的。测试发现虽然3559可以解码8k视频,但是用虚拟地址读数据,读取1080的yuv或者rgb数据一帧,需要45毫秒。非常耗时。这个方案对分辨率不是很高的播放需求还可以满足。但是对分辨率和帧率高一些的方案无法满足。于是有了方案2.
二,方案二,我们可以不从虚拟地址获取yuv数据,我们直接用物理地址转成opengl的纹理。
1,eglCreateImageKHR 创建用物理地址一个egl 图像。我理解是应该是图像物理地址的一个映射。
2,glEGLImageTargetTexture2DOES ,相当于glTexImage2D函数的作用,把图像贴到纹理上。
在实施过程中,特别注意海思的eglCreateImageKHR 只支持rgba 的格式。Demo里面 关于yuv的根本跑不起来。
方案一图:

方案二图:

边栏推荐
- The second "future Cup" knowledge map championship was officially launched
- Talk about 15 tips of SQL optimization
- Flutter tips: optimizing the buildcontext you use
- Wechat campus maintenance application applet graduation design finished product of applet completion work (3) background function
- JS learning notes 17: DOM query exercise
- Monitor MySQL based on MySQL exporter
- 【小程序开发】宿主环境详解
- [919. Complete binary tree inserter]
- 安全基础6 ---漏洞复现
- [applet development] detailed explanation of host environment
猜你喜欢

SQL Server 2019 installation tutorial
![[record of question brushing] 21. Merge two ordered linked lists](/img/81/5f1ab0054ef5e8cba32f7a546a64c4.png)
[record of question brushing] 21. Merge two ordered linked lists

What is the application value of MES management system

Wechat campus maintenance and repair application applet graduation design finished product of applet completion work (6) opening defense ppt

Day7:有序二叉树(二叉搜索树)
![Scala foundation [set 01]](/img/6b/0f5da7ea923ef3aa436d7af9c4425c.png)
Scala foundation [set 01]

Hongmeng - Damiao computing Sketchpad - Introduction

微信小程序 27 进度条的动态实现和搜索框、热搜榜的静态搭建

微信小程序开发之WXSS模板样式与WXS脚本语言

Istio exposes applications to the Internet
随机推荐
聊聊sql优化的15个小技巧
FPGA based 1080p 60Hz bt1120 interface debugging process record
Global configuration and page configuration of wechat applet development
Imperial cms7.5 imitation "question and answer library" question and answer learning platform website source code with mobile version
What is the application value of MES management system
新瓶装老酒--近期APT32(海莲花)组织攻击活动样本分析
微信小程序开发之全局配置与页面配置
Pymoo learning (7): Parallelization
微信小程序开发之网络数据请求
小程序毕设作品之微信校园维修报修小程序毕业设计成品(5)任务书
[iniparser] simple use of the project configuration tool iniparser
telnet安装以及telnet(密码正确)无法登录!
微信小程序开发之WXSS模板样式与WXS脚本语言
由一个蓝桥杯基础题报时助手而引出的常见误区
【阅读笔记】《深度学习》第一章:引言
Hongke shares | how to solve blackmail software security vulnerabilities
Modelsim and quartus jointly simulate PLL FIFO and other IP cores
小程序毕设作品之微信校园维修报修小程序毕业设计成品(1)开发概要
【小程序开发】宿主环境详解
伺服驱动器在机器人上的研究与应用