Guru3D.com Forums

Go Back   Guru3D.com Forums > Hardware > Soundcards, Speakers HiFI & File formats
Soundcards, Speakers HiFI & File formats A cracking SoundBlaster ? Got new Speakers ? Be heard in here !


Reply
 
Thread Tools Display Modes
Windows 8 & Audio Offloading: Exposing Hardware-Offloaded Audio Processing in Windows
Old
  (#1)
xtremegamer
Maha Guru
 
xtremegamer's Avatar
 
Videocard: ASUS 5750 1GB DDR5
Processor: Intel i5 2320 3.3GHz
Mainboard: Asus P8H61 MLE/B3
Memory: 4GB DDR3 Corsair
Soundcard: BLasTer Audi ValUe 7.1
PSU: Corsair 400WCX 30A 80+
Post Windows 8 & Audio Offloading: Exposing Hardware-Offloaded Audio Processing in Windows - 09-19-2011, 11:59 | posts: 1,212 | Location: India

Hi Guys ...

Does Windows 8 support Audio hardware Acceleration

::This provides information about audio offloading for Windows® operating systems. It provides guidelines for hardware manufacturers and driver developers to build hardware and drivers with hardware-offloaded audio processing capabilities. It assumes that the reader is familiar with kernel streaming (KS) for Windows audio and basic development of Port Class (PortCls) WaveRT-based audio drivers.

This information applies to the following operating systems:
Windows Developer Preview


Introduction:

Audio processing can be computationally intensive. In many scenarios, it may be beneficial to allow audio processing (including mixing, decoding, and applying effects) to be performed outside of the main CPU.

The current Windows audio stack does not provide any support for hardware or drivers that implement such functionality. However, the method described in this paper is a proposal for one such way that the Windows audio stack might enable the scenarios provided by offloaded audio processing.

This paper also describes the audio driver behavior and functionality that is necessary to plug into such a framework.

Framework Overview
Windows 7 does not support any form of hardware audio processing. Windows 7 instead provides a software audio engine with opportunities for third parties to plug in software decoders, encoders, and generic audio effects at specific points in the pipeline. The software architecture supported is as shown here.



Figure 1: Windows 7 Software Audio Architecture

As seen in Figure 1, audio streams are sent from WASAPI (possibly through a higher-level API such as DSound, WAVE, or Microsoft Media Foundation) and local effects, volume control, and decoding are performed on a per-stream basis before being mixed and sent to the speakers.

In order to provide support for offloaded audio processing, we are proposing a modification to the audio architecture to support a combined hardware/software architecture, as shown in Figure 2.



Figure 2: Proposed Software/Hardware Audio Offloading Architecture

In Figure 2, the audio hardware supports offloading of up to n (three shown) audio streams in hardware plus an additional special-purpose ("host process") stream. The n streams bypass the software audio engine and proceed directly to the hardware. If, however, more audio streams are opened than the n supported by the hardware, the additional audio streams will go through the software audio engine, be mixed, and the resulting stream will proceed to the hardware via the host process stream.


As seen in Figure 2, the proposed changes to the Windows audio stack would support hardware implementations that mimic the topology of the software audio engine. The audio driver is responsible for exposing the underlying capabilities of the hardware in the following topology.



Figure 3: Hardware Topology Necessary for Offloading

In the preceding diagram, the hardware topology must accept a single host process stream input and multiple offload streams. Each offloaded hardware solution must contain a hardware mixer and the ability to accept hardware-offloaded streams directly from the application (for example, not passed through the audio engine) to be processed in hardware. The hardware processor must also accept a host process stream, intended to be the final output from the software mixer of all the streams handled in software. The software audio engine will be instantiated on this host process stream in order to provide a software local effects (LFX)/decode/volume solution for all streams that cannot be offloaded in hardware.

In order to maintain parity with the Windows software audio engine and existing WASAPI interface, it is necessary for the hardware audio engine to provide the final audio output stream back to the audio stack. This is especially critical for applications and scenarios that rely on Acoustic Echo Cancellation, which requires knowledge of the final output stream to cancel echoes and prevent feedback. In order to do this, the audio driver is responsible for exposing a loopback pin. This pin will return the audio data from the final audio engine output if it is PCM; otherwise, the post-mixing (but pre-encoding) result will be returned.

User Interface Considerations
Because control of the underlying hardware capabilities must be done by the hardware-knowledgeable driver, it is necessary for the independent hardware vendor (IHV) driver provider to also provide any user interface necessary for controlling these capabilities.

However, the existing extensibility points around the audio processing object (APO) UI (turning on/off) can still be used; the settings configured here should control both the software and hardware capabilities.


Application Impact
The functionality described in this paper can be used by applications that use WASAPI, Media Foundation, or any APIs/frameworks that build on top of Media Foundation (for example, the Media Engine, which is used to render content from applications by using the HTML5 <audio> tag).

A WASAPI application will have to explicitly opt in to use offloading functionality. Media Foundation applications (and applications that employ frameworks that use Media Foundation) will automatically take advantage of offloading functionality when it is available.

Driver Implementation Details
Overview
The audio drivers for hardware solutions that support this offloading design will need to expose their capabilities in a specific manner such that the Windows user-mode audio stack can discover and take advantage of these capabilities. In order to support offloaded audio processing with Windows, a PortCls WaveRT driver is necessary. As described in detail later in this document, the audio endpoint builder will parse the topologies of audio KS filters in order to determine the characteristics of the endpoint that will be exposed.

Driver KS Topology
In order to express the hardware (HW) audio engine capability, an audio driver will need to expose its HW audio engine in a newly defined Audio Engine KS node (KSNODETYPE_AUDIO_ENGINE), which is located inside a KS filter.

Figure 4 shows the topology of the PortCls miniport driver.



Figure 4: Portcls Miniport Driver Topology


The HW audio engine must be expressed as a new node included in the wave KS filter. There will also need to be a new wave data sink pin factory exposed on the wave filter for offloaded streams. This pin factory will be required to be connected directly to the audio engine node.

In order to supply a reference stream of the processed audio data, a reference wave data source pin factory ("loopback pin") will also need to be connected to the audio engine node.

At the filter level, aside from the new node and pin factory, there will be no other changes required. It will still be required to support the same categories (for example, KSCATEGORY_AUDIO). Further changes are required on the new node and pin factory.


Source Microsoft Updated September 13 2011...
   
Reply With Quote
 
Old
  (#2)
xtremegamer
Maha Guru
 
xtremegamer's Avatar
 
Videocard: ASUS 5750 1GB DDR5
Processor: Intel i5 2320 3.3GHz
Mainboard: Asus P8H61 MLE/B3
Memory: 4GB DDR3 Corsair
Soundcard: BLasTer Audi ValUe 7.1
PSU: Corsair 400WCX 30A 80+
Default 09-20-2011, 06:22 | posts: 1,212 | Location: India

Hi....

Does Windows 8 support Hardware Acceleration any idea , i have read the whole content couldn't understand fully lol......
   
Reply With Quote
Old
  (#3)
xtremegamer
Maha Guru
 
xtremegamer's Avatar
 
Videocard: ASUS 5750 1GB DDR5
Processor: Intel i5 2320 3.3GHz
Mainboard: Asus P8H61 MLE/B3
Memory: 4GB DDR3 Corsair
Soundcard: BLasTer Audi ValUe 7.1
PSU: Corsair 400WCX 30A 80+
Default 09-20-2011, 13:08 | posts: 1,212 | Location: India

bump........
   
Reply With Quote
Old
  (#4)
DekerBSB
Newbie
 
Videocard: AMD
Processor: C2D
Mainboard:
Memory:
Soundcard:
PSU: CORSAIR
Default 09-20-2011, 17:37 | posts: 3

Thanks for the link...great news indeed...
Maybe we can expect a "full glory return" of hardware acceleration in Windows...and new sound cards with EAX like features...
   
Reply With Quote
 
Old
  (#5)
Anarion
Ancient Guru
 
Anarion's Avatar
 
Videocard: ASUS GeForce GTX 780 DC2
Processor: Intel Core i7 3770K
Mainboard: ASUS P8Z77-V
Memory: G.SKILL RipjawsX 16 GB
Soundcard: Sound Blaster Zx + HD 595
PSU: SF Golden Green Pro 600W
Default 09-20-2011, 17:44 | posts: 10,817 | Location: Finland

It would save power for tablets. I do hope that this is going to happen.
   
Reply With Quote
Old
  (#6)
AcceleratorX
Master Guru
 
AcceleratorX's Avatar
 
Videocard: GTX 560 Ti OC
Processor: Intel Core i5 2500K OCed
Mainboard: ASRock Z77 Pro4
Memory: Corsair XMS3 1600 2x2GB
Soundcard: Realtek ALC892
PSU: Antec VP550P
Default 11-21-2011, 00:23 | posts: 307

Quote:
Originally Posted by DekerBSB View Post
Thanks for the link...great news indeed...
Maybe we can expect a "full glory return" of hardware acceleration in Windows...and new sound cards with EAX like features...
Nope, the proposed hardware offload engine has exactly the same topology as the software engine, which means that the actual audio processing functions will likely be the same. It is likely this will allow for something like QSound or THX, CMSS or EAX to work (faster and much better) when applied through the driver control panel, but if there are going to be extensions for reverb into WASAPI (or Xaudio2, via audio processing objects), then it will have to work with both the software and hardware implementation. Thus, the only potential benefit of this is power saving for tablets as previously mentioned, and performance benefits which are questionable given today's very capable multi core CPUs.

We may, however, benefit since it is possible any new reverb techniques will likely work on integrated audio as well as dedicated cards in accelerated mode.

Last edited by AcceleratorX; 11-21-2011 at 00:26.
   
Reply With Quote
Old
  (#7)
pato
Member Guru
 
Videocard: Geforce 260GTX + 220GT
Processor: Dual Operon 875
Mainboard: Tyan Thunder K8WE
Memory: Kingston DDR ECC reg. 8GB
Soundcard: SB X-Fi XtremeMusic
PSU: BeQuiet 550W
Default 08-08-2012, 09:02 | posts: 87 | Location: Switzerland

Was there any news in this in the last months?
I wonder if creative will launch new soundcards thanks to this.
   
Reply With Quote
Old
  (#8)
sykozis
Ancient Guru
 
sykozis's Avatar
 
Videocard: Radeon R7 240
Processor: AMD Athlon 5350
Mainboard: Asus AM1M-A
Memory: 8gb G.Skill DDR3-1866
Soundcard: Realtek® ALC887-VD
PSU: Unk 300watt
Default 08-10-2012, 00:02 | posts: 16,320 | Location: US East Coast

Creative launched the SoundCore3D cards end of last year and the Sound BlasterAxxe recently.....don't expect any new sound cards for at least another year or more.


   
Reply With Quote
Old
  (#9)
jmacguire
Newbie
 
Videocard: ATI Radeon 5850 1 gig
Processor: Phenom II 940
Mainboard:
Memory:
Soundcard:
PSU: Corsair 900W
Default 11-10-2012, 09:32 | posts: 6

Creative is launching its Sound Blaster Z series of sound cards this month. Sorry to disappoint you.
   
Reply With Quote
Old
  (#10)
Anarion
Ancient Guru
 
Anarion's Avatar
 
Videocard: ASUS GeForce GTX 780 DC2
Processor: Intel Core i7 3770K
Mainboard: ASUS P8Z77-V
Memory: G.SKILL RipjawsX 16 GB
Soundcard: Sound Blaster Zx + HD 595
PSU: SF Golden Green Pro 600W
Default 11-10-2012, 13:18 | posts: 10,817 | Location: Finland

Nice thread necro, especially when you don't have anything nice to add.
   
Reply With Quote
 
Old
  (#11)
sykozis
Ancient Guru
 
sykozis's Avatar
 
Videocard: Radeon R7 240
Processor: AMD Athlon 5350
Mainboard: Asus AM1M-A
Memory: 8gb G.Skill DDR3-1866
Soundcard: Realtek® ALC887-VD
PSU: Unk 300watt
Default 11-10-2012, 13:41 | posts: 16,320 | Location: US East Coast

Quote:
Originally Posted by jmacguire View Post
Creative is launching its Sound Blaster Z series of sound cards this month. Sorry to disappoint you.
Sound Blaster Z is using the same SoundCore3D audio processor as the Recon3D cards. So, nothing disappointing for me....just for those looking for something better.


   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com
Copyright (c) 1995-2014, All Rights Reserved. The Guru of 3D, the Hardware Guru, and 3D Guru are trademarks owned by Hilbert Hagedoorn.