Alias for function pointer for codec interchangeability
Decodes a whole block of XA ADPCM, which outputs (8-channels)*28 samples for each channel.
Encodes a block of 16 bit PCM stream into XA ADPCM.
Decodes a preexisting stream automatically.
Decodes a preexisting stream automatically.
Decodes a preexisting stream automatically.
Decodes a preexisting stream automatically.
Decodes a preexisting stream automatically.
Decodes a preexisting stream automatically.
Decodes a preexisting stream automatically.
Appends 8 bit unsigned PCM to 16 bit signed PCM. Workpad is 16 bytes long.
Dinamically decodes an A-Law stream
Dinamically decodes an Dialogic ADPCM stream.
Dinamically decodes an IMA ADPCM stream.
Dinamically decodes a Mu-Law stream
Dynamically decodes a Yamaha ADPCM A stream. Workpad is 16 bytes long.
Dinamically encodes 16 bit stream into 8 bit. Workpad is 32 bytes long, inputStream and outputStream always points to the first byte.
Dinamically encodes a stream with A-Law PCM.
Dinamically encodes a stream with Dialogic ADPCM. Workpad is 32 bytes long, inputStream and outputStream always points to the first byte.
Dinamically encodes a stream with IMA ADPCM. Workpad is 32 bytes long, inputStream and outputStream always points to the first byte.
Dinamically encodes a stream with Mu-Law PCM.
Dinamically encodes a stream with Yamaha ADPCM A. Workpad is 32 bytes long, inputStream and outputStream always points to the first byte.
Encodes a preexisting stream automatically.
Encodes a preexisting stream automatically.
Encodes a preexisting stream automatically.
Encodes a preexisting stream automatically.
Encodes a preexisting stream automatically.
Encodes a stream of XA ADPCM automatically with multi-channel support
Encodes a preexisting stream automatically.
Encodes a unit of XA ADPCM
Initializes the index at 16 for Dialogic ADPCM codecs.
Initializes the index at 16 for Dialogic ADPCM codecs.
Decodes a single unit of XA ADPCM.
For IMA and Dialogic ADPCM
Very rare, mostly experimental Very low quality
Very rare, mostly experimental
Very rare, mostly experimental Supposedly has better quality sound than 4bit implementations.
Most OKI and Yamaha chips seems to use this step-table
Most common ADPCM steptable
For the Yamaha ADPCM A found in YM2610 and probably other chips
Used rarely, couldn't find more info about this codec
For easy access of 3bit ADPCM nibbles
For easy access of 5bit ADPCM nibbles
A note on workpads: Dynamic decode functions use 16 bytes of workpad, consisting of 4 32 bit integers, which is the recommended initialization method to avoid misaligned integers. For looping an audio sample, you need to back up the workpad at the start of the loop, monitor the third integer (which is the position), then replace the current workpad's data with the backed up one. This is extremly important with ADPCM as they depend on many local values. Dynamic encode functions use 32 bytes. In these cases, the 3rd and 6th integers need to be set to zero if working on a fixed length buffer. Functions meant to be used on a fixed length buffer coming soon.
Workpad for XA ADPCM decoders
Keeper values fo XAADPCM encoding.