实现硬件分担(Hardware Offloaded)APO音效 您所在的位置:网站首页 播放器hw是什么意思 实现硬件分担(Hardware Offloaded)APO音效

实现硬件分担(Hardware Offloaded)APO音效

2024-07-17 14:20| 来源: 网络整理| 查看: 265

"Windows音频驱动"翻译系列总目录: https://blog.csdn.net/danteLiujie/article/details/102530417

目录

硬件分担APO 音效概览

实现硬件分担APO音效

支持的音频格式实施指南

INF 文件入口

在Windows 10 1511和更高版本中,支持了offloaded APO(audio processing objects)。除了可能的性能增强之外,使用硬件分担APO时可以大大节省功耗。

在硬件卸载播放期间可以加载两种类型的APO。

Offload Stream Effects (OSFX)Offload Mode Effects (OMFX)

 

硬件分担APO 音效概览

硬件分担音频处理和 硬件分担APOs

Windows 8的音频引擎已经重新设计, 可以和已经被分担(offloaded)给硬件设备的音频流协同工作, 这里的硬件设备和电脑的主音频系统是分开又连接着的. 这被称为硬件分担(hardware offloading). 更多信息请参阅Hardware-Offloaded Audio Processing.

硬件分担功能主要针对缓冲区大小较大的低功耗场景。 例如,在有条件的低功率音频(Low Power Audio, LPA)系统播放期间,音频缓冲器大小或周期设置为1秒,使得CPU不用经常唤醒以处理小缓冲器(例如,每10毫秒)。

实现硬件分担的APO以及硬件分担的音频处理提供了最大化功耗效率。

下图显示了APO体系结构。 图的右侧显示了一个应用程序向下通信硬件卸载的OSFX和OMFX效果。

实现硬件分担APO音效

硬件分担APO必须遵循APO架构(Audio Processing Object Architecture)和实现音频处理对象(Implementing Audio Processing Objects)中描述的基本要求和设计原则。

支持的音频格式实施指南

对于硬件分担APO,必须对支持的音频格式进行一些额外的考虑。

每个APO实现IAudioProcessingObject::IsInputFormatSupported方法,该方法在音频图形(audio graph)构建期间被用于确定输出音频格式以及是否需要格式转换。

HRESULT IsInputFormatSupported(   [in, optional]  IAudioMediaType *pOppositeFormat,   [in, optional]  IAudioMediaType *pRequestedInputFormat,   [out, optional] IAudioMediaType **ppSupportedInputFormat );

Offloaded 渲染(rendering)端点可以支持多种格式,包括主机/系统引脚(host/system pin) 渲染支持的默认格式。Offloaded APO应支持所有这些格式,以便渲染流(使用支持的格式)不必进行任何其他格式转换。

Offload SFX 可以实现格式转换并接受更广泛的格式。例如,如果Offload SFX提供耳机虚拟化(即,将5.1声道音频转换为立体声),则它应该在此方法中为适当的输入/输出对(pair)返回S_OK。

Offload SFX 应检查offload引脚支持的格式并支持/扩展功能。

Offload MFX不能改变输入流的格式,但它仍然需要支持offload端点提供的各种格式,并消除任何不必要的格式转换.

在offload引脚中渲染期间,该引脚上只有一个流有效,因此没有混合流。 因此,不需要同时在流级和模式级处理音频。 因此,可能不需要同时启用流音效和模式音效。并且根据一个系统的处理体系结构不同, offloaded端点将支持更多流,offload处理可能需要分配到SFX / MFX中。

INF 文件入口

实现以下INF文件条目以定义在offload播放期间将加载的效果(the effects that will be loaded during offload playback)。 INF文件属性键值指示音频端点构建器(audio endpoint builder)将offloaded APO的CLSID设置到特性属性存储中。 此信息用于构建音频图(audio graph),该图将被用于通知上层应用程序具有哪些效果。

Property Key

GUID

PKEY_FX_Offload_StreamEffectClsid

{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},11

PKEY_FX_Offload_ModeEffectClsid

{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},12

PKEY_SFX_Offload_ProcessingModes_Supported_For_Streaming

{D3993A3F-99C2-4402-B5EC-A92A0367664B},11

PKEY_MFX_Offload_ProcessingModes_Supported_For_Streaming

{D3993A3F-99C2-4402-B5EC-A92A0367664B},12

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有