ffmpeg+dxva2 +D3D9显示 学习笔记
去年因为需要基于ffmpeg开发了一个解码库,当时解码高清视频9路CPU占用基本达到100%了(笔记本 i7处理器)不过在台式机上表现还可以。也就没管,也没深入研究。今年新上了一批PC,配置很差,满足不了16路高清视频解码的性能需求。测试发现vlc解码的cpu占用要低于我的解码器。网上查资料发现可以使用dxva2使用Gpu加速。
前期学习参考了https://blog.csdn.net/xjb2006/article/details/81082292
1、改变窗口大小视频显示会有问题
这个问题博主已经帮忙解决了,主要是
d3d9device->StretchRect(surface, NULL, m_pBackBuffer, NULL,D3DTEXF_LINEAR);这个函数的第四个参数设置为NULL就可以了.
2、窗口小的时候视频质量会变差,放大窗口后画面质量未改变。
主要原因是创建d3d9device的时候传入的D3DPRESENT_PARAMETERS参数的
m_ctx->d3dpp.BackBufferWidth和m_ctx->d3dpp.BackBufferHeight 这两个参数为0,这时候画面质量会根据窗口实际大小进行压缩。将这2个值设置为视频的分辨率对应的值就会保持原始画质
ffmpeg+dxva2 +D3D9显示 学习笔记相关推荐
- STM32OLED显示-学习笔记
目录 OLED简介 OLED 显示相关设置步骤 重要函数 OLED初始化 更新显存 void OLED_WR_Byte(u8 dat,u8 cmd) 画点函数 字符显示函数 主函数 OLED简介 OL ...
- ffmpeg h264转avi学习笔记
本章只记录h264封装成avi格式视频,参考ffmpeg项目的avienc.c,avi封装格式图请查看这个博客:https://blog.csdn.net/houxiaoni01/article/de ...
- STM32 Cube MX学习笔记——TOF 高速单线激光雷达 L10(usart)
STM32 Cube MX学习笔记--TOF 高速单线激光雷达 L10_串口中断通信 1. TOF 高速单线激光雷达 L10 2. STM32 Cube MX配置 3.代码配置 4.编译 烧录 显示 ...
- FFmpeg基础到工程-多路H265监控录放开发学习笔记
多路H265监控录放开发学习笔记 课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等.包括:音视频.流媒体.直播.Android.视频监控28181.等. 具体 ...
- NDK学习笔记:FFmpeg音视频同步3(你追我赶,升级ffmpeg/libyuv支持neon)
NDK学习笔记:FFmpeg音视频同步3 本篇内容说多不多,但如果要说得明明白白的,可能就有点难度了.所以我决定把我的调试过程日志都呈现出来,方便大家理解.继上一篇文末,我们学习到了什么是DTS/PT ...
- 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...
[初阶]unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流 一.关于 显示分数时,如何让函数之间相互交流 这是一个非常好的逻辑问题 1 思路:主 ...
- C# 学习笔记(15)自己的串口助手----波形显示
C# 学习笔记(15)自己的串口助手----波形显示 chart控件 chart控件共有5大集合,最重要的两个集合就是绘图空间和线 坐标系 坐标系的设置在绘图空间集合内 设置坐标系样式 框选放大功能 ...
- OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并
OpenCV之Python学习笔记 一直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看到一本国外的新书< ...
- OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast
OpenCV学习笔记(五十六)--InputArray和OutputArray的那些事core 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArray或者OutputArray ...
最新文章
- npm使用入门(package.json)
- 隐藏层节点数对迭代次数分布规律的影响
- USTC English Club Note20211215
- 记录 之 tensorflow中几个常用的函数:tf.unstack,tf.concat() 和 tf.stack() 等
- myeclipse中如何修改Servlet模板
- springboot 建readme_经验分享:给项目创建和编写README.md文件的步骤
- mysql增加修改字段
- Maven工程 报 Diamond types are not supported at language level ‘5‘
- To 研究生,第一:做学位论文期间,不要有任何度假休息的打算;第二,导师错的时候不多;第三……...
- 《原力计划【第二季】》第 7 周周榜揭晓!!!
- (转)区块链创造了ICO,但是无法守护ICO
- linux子进程杀不掉怎么办,LINUX KILL -9 杀不掉,求解决方法
- js调用摄像头拍照,js调用摄像头在线拍照,js调用电脑摄像头拍照
- 计算机操作系统--文件管理
- Bartender条码打印软件,提示30天以后该软件将会过期
- DEP bypass
- 无法安装驱动程序此计算机上不存在,在win7中安装打印机时,如果“找不到打印机驱动程序包所需的核心驱动程序包”怎么办?...
- 封装获取非行内样式函数
- 解读APP新一代验证登录方式——一键登录/免密认证
- python爬取王者荣耀皮肤高清图