Toybrick

标题: 如何在QT中实现0拷贝解码视频显示 [打印本页]

作者: MadDog    时间: 2021-1-27 20:09
标题: 如何在QT中实现0拷贝解码视频显示
大家好:
我的系统是debian10+3399ProD,我希望达到的目标是实时解码多路视频然后进行界面显示;

目前我实现了基于drm的0拷贝的多路画面显示,实现思路是:解码得到内存handle1,RGA进行格式转换(NV12到RGBA)得到handle2,
然后通过drmModeSetCrtc将handle2刷新出去。

但是我的应用是基于QT来实现的,如何将我的视频画面和QT的界面结合在一起呢?
我看其他人的帖子的思路是通过openGLES来实现,看完代码后有一个问题没有搞清楚,我理解openGLES起的作用是把解码得到的Buffer,
拷贝到texture中,然后通过shader转换为RGBA格式绘制到frameBuffer中,然后通过drmModeSetPlane显示出去。
在这个过程中,存在一次内存拷贝(Buffer到纹理),openGLES在其中起到的作用是高效转换格式,这个完全可以用RGA进行替代,那
为什么还要用openGLES ?

不知道我的理解是否有问题,哪位高人在这个方面有经验,请指教一二。
谢谢

作者: wtmelen    时间: 2022-9-12 21:03
同求,楼主实现了么
作者: sanshixiong    时间: 2022-12-9 17:33
wtmelen 发表于 2022-9-12 21:03
同求,楼主实现了么

你好,层主实现了吗
作者: sanshixiong    时间: 2023-1-5 16:37
直接用Qmediaplayer 就可以,可实现用mpp解码与调用gpu绘图




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3