FS#10690 - Add 24-bit support to ALAC decoder

Attached to Project: Rockbox
Opened by Tom Ross (midgey34) - Monday, 19 October 2009, 06:46 GMT
Last edited by Tom Ross (midgey34) - Wednesday, 03 February 2010, 00:46 GMT
Task Type Patches
Category Codecs
Status Closed
Assigned To No-one
Operating System SW-codec
Severity Low
Priority Normal
Reported Version Release 3.4
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


I've merged in the changes from 0.2.0 of the ALAC decoder upstream into our implementation. Enables 24-bit ALAC files to playback. Seems to work on all of my samples. I did my best to mimic the current style of the code.

I'd like to make sure this doesn't overflow IRAM on any target (I can only build for ARM at the moment...). I'm also a bit unsure about the parts where uncompressed bytes are copied into our output buffer. Should that data be shifted?
This task depends upon

Closed by  Tom Ross (midgey34)
Wednesday, 03 February 2010, 00:46 GMT
Reason for closing:  Accepted
Comment by Frank Gevaerts (fg) - Monday, 19 October 2009, 10:26 GMT
Builds find on all currently auto-built targets
Comment by Tom Ross (midgey34) - Tuesday, 20 October 2009, 01:11 GMT
The patch above is a bit slower than SVN. This is fixed in the patch below (it's actually about 0.5% faster...). I used test_codec to dump one of my 16-bit test files and it dumped the same wave as SVN.

Still not sure about the part where it copies uncompressed bytes into the output buffer.