当前位置:网站首页>A high efficiency 0-delay 0-copy QT player scheme based on Hisilicon 3559
A high efficiency 0-delay 0-copy QT player scheme based on Hisilicon 3559
2022-07-25 19:32:00 【faststream】
Haisi has very good mpp SDK, Play video stream , Can quickly from VDEC( decode ) To VO( Show ), But when we UI When the requirements are complex , It requires many operation interfaces , Like fast forward , back off , For example, adjust the position of the camera , These are complicated UI function , We can think of using qt Implementation of open source platform , But if the video is qt How to play on the interface ?VO It cannot be embedded into qt Of . I have the following plan :
One , Compile support opengl Of qt, use opengl Rendering Decoded yuv perhaps rgb data . There's a problem here ,qt Only the virtual address of the decoder can be accessed , Read data from virtual address yuv perhaps rgb It's very slow . The test found that although 3559 Can decode 8k video , But read data with virtual address , Read 1080 Of yuv perhaps rgb One frame of data , need 45 millisecond . It's very time consuming . This scheme can also meet the playback requirements with low resolution . But the scheme with higher resolution and frame rate cannot be satisfied . So there's a plan 2.
Two , Option two , We can not get from the virtual address yuv data , We directly use the physical address to convert to opengl The texture of .
1,eglCreateImageKHR Create a physical address egl Images . I understand that it should be a mapping of the physical address of the image .
2,glEGLImageTargetTexture2DOES , amount to glTexImage2D Function function , Paste the image onto the texture .
In the process of implementation , Pay special attention to Hess eglCreateImageKHR Only support rgba The format of .Demo Inside About yuv I can't run at all .
Plan 1 :

Scheme II diagram :

边栏推荐
- [CSAPP Practice Problem 2.32] tsub_ OK (int x, int y) judge whether complement subtraction overflows
- Leetcode skimming: dynamic programming 07 (different binary search trees)
- Solve the problem that the win10 account has no administrator rights
- [wp]ctfshow-web入门信息搜集
- Istio exposes applications to the Internet
- [reading notes] deep learning Chapter 1: Introduction
- Wechat campus maintenance and repair applet graduation design finished product (7) Interim inspection report
- 【刷题记录】21. 合并两个有序链表
- Day7:有序二叉树(二叉搜索树)
- Empire CMS whole station | mobile number /qq lianghao mall source code | suitable for mobile terminal
猜你喜欢

小程序毕设作品之微信校园维修报修小程序毕业设计成品(4)开题报告

Old wine in new bottles -- sample analysis of recent apt32 (sea Lotus) organizational attacks
![[iniparser] simple use of the project configuration tool iniparser](/img/2b/1d20b4ef44dfe2544891d9c72b676e.png)
[iniparser] simple use of the project configuration tool iniparser

Empire CMS whole station | mobile number /qq lianghao mall source code | suitable for mobile terminal
![[hdlbits questions] Verilog language (3) modules: hierarchy section](/img/35/ccdbb55aa0aff7e9dec2bf9e64c4e2.png)
[hdlbits questions] Verilog language (3) modules: hierarchy section

C# 合并集合

Wechat campus maintenance and repair applet graduation design finished product (7) Interim inspection report

Flutter 小技巧之优化你使用的 BuildContext

Imperial cms7.5 imitation "question and answer library" question and answer learning platform website source code with mobile version

高端旗舰投影仪选购指南:当贝X3 Pro、当贝F5观影更沉浸!
随机推荐
Is there a "fingerprint" in the structure of AAAI 2022 | Gan? Generating network structure from forged image traceability
平衡二叉树
C merge set
Wechat campus maintenance application applet graduation design finished product of applet completion work (3) background function
Pymoo learning (5): convergence analysis
Old wine in new bottles -- sample analysis of recent apt32 (sea Lotus) organizational attacks
TFIDF examples and explanations
Imeta | sangerbox: interactive integrated clinical information analysis platform
[wp]ctfshow-web入门-爆破
An idea of solving div adapting to screen
iMeta | Sangerbox: 交互式整合临床生信分析平台
微信小程序10-微搭模板
哈希无向图可视化
How to ensure the consistency of double write between database and cache?
Intouch高级报警(报警筛选)
Detailed explanation of three methods of selenium setting element waiting
C# 合并集合
Sccm2012r2 network deployment reinstallation system
919. 完全二叉树插入器
Leetcode skimming: dynamic programming 07 (different binary search trees)