[wdmaudiodev] Re: 24 bit PCM

  • From: BlazeAudio Developer <developer@xxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 17 Jun 2003 10:32:25 -0700

Peter,

I now understand the problem about not being able to "really" tell what the driver has been opened at!

Perhaps there is no good solution - and we'll have to simply live with that.

However, supporting 24 bit packed *can* be inefficient - it all depends on how the hardware supports 24bit.

At least three different pieces of hardware that I have worked with do not support 24bit packed natively.

Which means, that the driver has to sit there and copy the 24bit packed data to 24bit unpacked DMA buffers - going through each sample - which would not be necessary if the application was not required to use 24bit packed.

Although I'm not sure how this would really affect other processing, but I'm fairly certain that any code (user or kernel mode) that has to process 24bit packed data is going to be less efficient because of the lack of 24 bit math instructions on the CPUs.

Perhaps some of the SIMD/MMX instructions support that - but I'm not sure.

Thanks.
Devendra.

At 07:27 PM 6/16/2003, Peter Haller wrote:

> How about getting application vendors to fix things rather than having
drivers do the extra work of translating formats - which makes the system
inefficient!
<

Supporting 24 bit packed is not that inefficient.

You have to support both because of a problem with how Windows deals with
the 24 mapping using WDM Wave Emulation - at least in WinXP.

If you attempt to open a driver at 24 bit packed, but the driver only
supports 24 bit unpacked, Windows will resolve this to 16 bit.  If you open
at 24 bit unpacked and the driver only supports 24 bit packed, then Windows
will resolve to 16 bit.

For apps that only speak Wave MME , this is bad.

Since WDM/Kmixer will always succeed regardless of the driver capabilities,
there is no way of knowing what the driver is really opened at.

Peter Haller
Sonic Foundry, Inc.







******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/
****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/

Other related posts: