社区
图形处理/算法
帖子详情
qt中调用direct3d实现yv12视频绘制有马赛克效果,mfc中正常,不知何故?
equalman2
2020-03-26 05:48:34
使用如下网页介绍的direct3d surface方式
...全文
168
1
打赏
收藏
qt中调用direct3d实现yv12视频绘制有马赛克效果,mfc中正常,不知何故?
使用如下网页介绍的direct3d surface方式
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
equalman2
2020-03-26
打赏
举报
回复
https://blog.csdn.net/leixiaohua1020/article/details/40279297 这个网页的内容, 代码基本是照搬的
最简单的视音频播放示例3:
Direct3D
播放YUV,RGB(通过Surface)
上一篇文章记录了GDI播放
视频
的技术。打算接下来写两篇文章记录
Direct3D
(简称D3D)播放
视频
的技术。
Direct3D
应该Windows下最常用的播放
视频
的技术。实际上
视频
播放只是
Direct3D
的“副业”,它主要用于3D游戏制作。当前主流的游戏几乎都是使用
Direct3D
制作的,例如《地下城与勇士》,《穿越火线》,《英雄联盟》,《魔兽世界》,《QQ飞车》等等。使用
Direct3D
可以用两种
基于
qt
的 Opengl 渲染 YUV
运行环境:Ubuntu 14.04、
Qt
5.6.1
qt
opengl 渲染 显示 yuv
yv12
nv12
【OpenGL】用OpenGL shader
实现
将YUV(YUV420,
YV12
)转RGB-(直接
调用
GPU
实现
,纯硬件方式,效率高) 这段时间一直在搞
视频
格式的转换问题,终于最近将一个图片的YUV
【OpenGL】用OpenGL shader
实现
将YUV(YUV420,
YV12
)转RGB-(直接
调用
GPU
实现
,纯硬件方式,效率高) 这段时间一直在搞
视频
格式的转换问题,终于最近将一个图片的YUV格式转RGB格式转换成功了。下面就来介绍一下: 由于我的工程是在vs2008
中
的,其
中
包含一些相关头文件和库,所以下面只是列出部分核心代码,并不是全部代码。 1、下载一个包含Y
qt
采用opengl渲染nv12
视频
到QSG并采用qml做显示
前面采用了离屏渲染,多线程的方式
实现
了nv12
视频
的播放,这次采用在QSG
中
渲染的方式
实现
,也就是在渲染线程
中
。原理同样是将图像纹理到一个FBO
中
,然后通过
qt
的接口带到QSG
中
进行显示。 采用opengl渲染并用qml显示的接口类为QQuickFramebufferObject,渲染线程会在刷新画面的时候
调用
其createRenderer()方法用于创建渲染,这里我留了一个设置
视频
...
qt
使用opengl
绘制
YUV数据图像
ffmpeg解码后数据为YUV类型数据,如果需要在界面显示,一种方法是使用ffmpeg将YUV转为RGB格式,然后
绘制
图像;另外一种是使用opengl将YUV转成RGB32后渲染到
qt
中
显示,
实现
类如下: h文件 #ifndef GLYUVWIDGET_H #define GLYUVWIDGET_H #include <QOpenGLWidget> #include <QOpenGLFunctions> #include <QOpenGLBuffer> #includ
图形处理/算法
19,467
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章