ffplay使用dxva2实现硬解渲染
来源:http://www.tudoupe.com时间:2022-05-25
ffplay 个性化系列片
自定义玩家界面(第1章)
第二章 倍速播放
第3章中的投标(第三章)
第四章:C##接口规定
第5章:WPF玩家制造
文章目录
- ffplay 个性化系列片
- 前言
- ffmpeg雇用dxva2。
- 二、解码
- 1、添加字段
- 2、初始化
- 3、反初始化
- 三、渲染
- 总结
前言
解码器可配置 ffplay 。硬线装置可包括h264_qsv、hevc_cuvid和其他装置。实际测试运作良好。CPU的使用也有所减少。然而,这不是最大的解决办法。在 Windows 上,可取的选择是解码 dxva2, 然后生成 d3d9 。这一战略不仅大大减少了CPU的利用率,而且还降低了GPU的使用率,并加快了解码速度。然而,ffplay不允许使用dxva2。所以现在是时候成长了
ffmpeg雇用dxva2。
Dxva2 解码包括两个步骤:解码和转换。这个节目很棒,因为它不是一个好概念。图形卡处理解码和转换。已解码的数据不需要从记忆中删除。直接转换为可见,然后重写。在 ffmpeg 中的示例代码中使用 Dxva2 。然而,图形卡没有显示功能。设置解码器对性能没有影响。我们需要提到的是Win32项目1的解码文本(当时没有找到)。我不想包括任何其它类型的链接。
头文件如下:
二、解码
必须修改串流_ 元件_ open 以适应 ffplay 解码 功能的更改 :
1、添加字段
ffmpeg_dxva2.H Win32 项目1 的标题
创建查点以指定硬件加速的类型 。
在视频状态下,添加以下硬件加速类型和 Win32 Project1 的输入Stream 对象。
添加相应接口
2、初始化
在流_ 元件_ open, 在 avcodec_open 2 的第一行中加上了Hwaccel判决初始化dxva逻辑。Win32 Project1 的方法是 Dxva2_init 。此方法必须包含 hwnd 。此 hwnd 必须与提交窗口对应 。如果您不希望 hwnd 在同一级别上执行, 您必须修改 hwnd 。本文件没有详细叙述。
解码框架格式为 AV_PIX_FMT_DXVA2_VLD,以下代码包含 GetHwFormat:
3、反初始化
在串流中,加入以下反初始化代码,其中dxva2_unnite2是 Win32 Project1 的 dxva2_unniit,它将其参数类型改为 InvestiveStream* 。
三、渲染
加上前述的解码装置,解码数据为表面d3d9。本文是埃及2011年抗议活动特别报导的一部分。我们必须处理它。将其显示到界面上。幸好,Win32项目1列入了这一功能。我们只需要使用这个方法。
SDL_RenderClearar前一行的视频显示器,加入以下代码。
总结
这就是我们今天正在讨论的。使用上述方法取得的 dxva2 硬记录性能极佳。直觉感觉是4k视频处理器的使用率不到1%,然而,加固编码器导致CPU利用率增加10%。GPU的使用率也约为50%。解释可参见Win32Project1_ffmpeg_dxva2。这里就不重复了。总的来说,ffplay支持 Xva2 硬记录。例如,对于不良的实时多反省性能问题,就有一个直截了当的解决办法。
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
