mirror of
https://codeberg.org/ashley/poke.git
synced 2024-11-15 09:58:20 +01:00
45 lines
2.9 KiB
Text
45 lines
2.9 KiB
Text
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||
|
The Apple Lossless Format
|
||
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||
|
|
||
|
Apple Lossless supports the following features. Not all of these are implemented in alacconvert, though they are in the codec code provided.
|
||
|
|
||
|
1. Bit depths 16, 20, 24 and 32 bits.
|
||
|
2. Any arbitrary integer sample rate from 1 to 384,000 Hz. In theory rates up to 4,294,967,295 (2^32 - 1) Hz could be supported.
|
||
|
3. From one to eight channels are supported. Channel orders for the supported formats are described as:
|
||
|
Num Chan Order
|
||
|
1 mono
|
||
|
2 stereo (Left, Right)
|
||
|
3 MPEG 3.0 B (Center, Left, Right)
|
||
|
4 MPEG 4.0 B (Center, Left, Right, Center Surround)
|
||
|
5 MPEG 5.0 D (Center, Left, Right, Left Surround, Right Surround)
|
||
|
6 MPEG 5.1 D (Center, Left, Right, Left Surround, Right Surround, Low Frequency Effects)
|
||
|
7 Apple AAC 6.1 (Center, Left, Right, Left Surround, Right Surround, Center Surround, Low Frequency Effects)
|
||
|
8 MPEG 7.1 B (Center, Left Center, Right Center, Left, Right, Left Surround, Right Surround, Low Frequency Effects)
|
||
|
4. Packet size defaults to 4096 sample frames of audio per packet. Other packet sizes are certainly possible. However, non-default packet sizes are not guaranteed to work properly on all hardware devices that support Apple Lossless. Packets above 16,384 sample frames are not supported.
|
||
|
|
||
|
|
||
|
|
||
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||
|
This package contains the sources for the Apple Lossless (ALAC) encoder and decoder.
|
||
|
|
||
|
The "codec" directory contains all the sources necessary for a functioning codec. Also includes is a makefile that will build libalac.a on a UNIX/Linux machine.
|
||
|
|
||
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||
|
ALACconvert
|
||
|
|
||
|
The convert-utility directory contains sources to build alacconvert which is a simple utility that demonstrates how to use the included ALAC encoder and decoder.
|
||
|
|
||
|
alacconvert supports the following formats:
|
||
|
|
||
|
1. 16- or 24-bit mono or stereo .wav files where the data is little endian integer. Extended WAVE format chunks are not handled.
|
||
|
2. 16- or 24-bit mono or stereo .caf (Core Audio Format) files as well as certain multi-channel configurations where the data is big or little endian integer. It does no channel order manipulation.
|
||
|
3. ALAC .caf files.
|
||
|
|
||
|
Three project are provided to build a command line utility called alacconvert that converts cpm data to ALAC or vice versa. A Mac OS X Xcode project, A Windows Visual Studio project, and a generic UNIX/Linux make file.
|
||
|
|
||
|
Note: When building on Windows, if you are using a version of Visual Studio before Visual Studio 2010, <stdint.h> is not installed. You will need to acquire this file on your own. It can be put in the same directory as the project.
|
||
|
|
||
|
|
||
|
|