thanks for all your help on this. i've found more examples of audio decoders that are aligning data in strange ways within a 32-bit int. while the idea of doing an extra converter run with the "16 bit interleaved" trick from your last post works, it's kind of undesirable since the ppc version of the converter works flawlessly. just means a second conversion on our intel builds.
i would suggest that these unpacked features of the audioconverter get fixed in leopard, not just shut off. two libraries we are using are producing this strange integer source. since we have a stand in for the audioconverter in our windows builds that can handle these formats, it means the ppc mac and windows can use the same code path, but the intel mac code is covered in compiler directives.
again, just my 2 cents. thanks for your help. christopher skogen gizmolabs, inc. office: (404) 687-0008 fax: (404) 687-1010
On Dec 5, 2006, at 12:21 PM, Doug Wyatt wrote: High-aligned unpacked formats are OK. It's best described with an example: if you have 20-bit samples high-aligned in 4-byte words, then they're treated as 32-bit samples. The only way this might not behave the way one might desire is that the extra 12 low bits are used, not ignored.
Doug
On Dec 4, 2006, at 13:39 , Christopher Skogen wrote:
thanks for the info. since the converters can't do this, i'll do the interleaved to mono trick. thanks.
so does that man that all "unpacked" formats will be unsupported in the leopard audioconverter? or just low-aligned?
On Dec 4, 2006, at 2:33 PM, Doug Wyatt wrote:
In attempt to be somewhat exhaustive, AudioConverter on Tiger and previous tries to support these low-aligned formats. This may be the first time anyone's tried to use low-aligned conversions, because I discovered during the Intel port that they never quite worked properly. Rather than fix something that was never bug-free, which no one appeared to be using, and was complicating the "normal" code paths, on Leopard you can't create such a converter.
But: Another way of looking at your source stream is as interleaved stereo 16-bit where you want to ignore one of the channels.
Doug
|