libPCM.codecs

Undocumented in source.

Members

Functions

blockDecodeXAADPCM
void blockDecodeXAADPCM(ubyte* inputStream, short* outputStream, int channels, XAADPCMDecoderWorkpad* workpad)

Decodes a whole block of XA ADPCM, which outputs (8-channels)*28 samples for each channel.

blockEncodeXAADPCM
void blockEncodeXAADPCM(short* inputStream, ubyte* outputStream, int channels, XAADPCMEncoderWorkpad* workpad, bool vl)

Encodes a block of 16 bit PCM stream into XA ADPCM.

decodeStream8BitPCMUnsigned
void decodeStream8BitPCMUnsigned(ubyte* inputStream, short* outputStream, uint length)

Decodes a preexisting stream automatically.

decodeStreamDialogicADPCM
void decodeStreamDialogicADPCM(ubyte* inputStream, short* outputStream, uint length)

Decodes a preexisting stream automatically.

decodeStreamIMAADPCM
void decodeStreamIMAADPCM(ubyte* inputStream, short* outputStream, uint length)

Decodes a preexisting stream automatically.

decodeStreamXAADPCM
void decodeStreamXAADPCM(ubyte* inputStream, short* outputStream, uint length, int channels)

Decodes a preexisting stream automatically.

decodeStreamYamahaADPCMA
void decodeStreamYamahaADPCMA(ubyte* inputStream, short* outputStream, uint length)

Decodes a preexisting stream automatically.

dynamicDecode8BitPCMUnsigned
short dynamicDecode8BitPCMUnsigned(ubyte* inputStream, DecoderWorkpad* workpad)

Appends 8 bit unsigned PCM to 16 bit signed PCM. Workpad is 16 bytes long, inputStream always points to the first byte.

dynamicDecodeDialogicADPCM
short dynamicDecodeDialogicADPCM(ubyte* inputStream, DecoderWorkpad* workpad)

Dinamically decodes an Dialogic ADPCM stream.

dynamicDecodeIMAADPCM
short dynamicDecodeIMAADPCM(ubyte* inputStream, DecoderWorkpad* workpad)

Dinamically decodes an IMA ADPCM stream.

dynamicDecodeYamahaADPCMA
short dynamicDecodeYamahaADPCMA(ubyte* inputStream, DecoderWorkpad* workpad)

Dynamically decodes a Yamaha ADPCM A stream. Workpad is 16 bytes long, inputStream always points to the first byte.

dynamicEncode8BitPCMUnsigned
void dynamicEncode8BitPCMUnsigned(short* inputStream, ubyte* outputStream, void* workpad)

Dinamically encodes 16 bit stream into 8 bit. Workpad is 32 bytes long, inputStream and outputStream always points to the first byte.

dynamicEncodeDialogicADPCM
void dynamicEncodeDialogicADPCM(short* inputStream, ubyte* outputStream, EncoderWorkpad* workpad)

Dinamically encodes a stream with Dialogic ADPCM. Workpad is 32 bytes long, inputStream and outputStream always points to the first byte.

dynamicEncodeIMAADPCM
void dynamicEncodeIMAADPCM(short* inputStream, ubyte* outputStream, EncoderWorkpad* workpad)

Dinamically encodes a stream with IMA ADPCM. Workpad is 32 bytes long, inputStream and outputStream always points to the first byte.

dynamicEncodeYamahaADPCMA
void dynamicEncodeYamahaADPCMA(short* inputStream, ubyte* outputStream, EncoderWorkpad* workpad)

Dinamically encodes a stream with Yamaha ADPCM A. Workpad is 32 bytes long, inputStream and outputStream always points to the first byte.

encodeStream8BitPCMUnsigned
void encodeStream8BitPCMUnsigned(short* inputStream, ubyte* outputStream, uint length)

Encodes a preexisting stream automatically.

encodeStreamDialogicADPCM
void encodeStreamDialogicADPCM(short* inputStream, ubyte* outputStream, uint length)

Encodes a preexisting stream automatically.

encodeStreamIMAADPCM
void encodeStreamIMAADPCM(short* inputStream, ubyte* outputStream, uint length)

Encodes a preexisting stream automatically.

encodeStreamXAADPCM
void encodeStreamXAADPCM(short* inputStream, ubyte* outputStream, uint length, int channels)

Encodes a stream of XA ADPCM automatically with multi-channel support

encodeStreamYamahaADPCMA
void encodeStreamYamahaADPCMA(short* inputStream, ubyte* outputStream, uint length)

Encodes a preexisting stream automatically.

encodeXAADPCM
double encodeXAADPCM(int unit, XAADPCMEncoderWorkpad* workpad, byte[2] inputCoEff, short* inputStream, ubyte* outputStream, int iostep, int channels, bool vl)

Encodes a unit of XA ADPCM

initializeDialogicADPCMDecoderWorkpad
DecoderWorkpad initializeDialogicADPCMDecoderWorkpad()

Initializes the index at 16 for Dialogic ADPCM codecs.

initializeDialogicADPCMEncoderWorkpad
EncoderWorkpad initializeDialogicADPCMEncoderWorkpad()

Initializes the index at 16 for Dialogic ADPCM codecs.

unitDecodeXAADPCM
void unitDecodeXAADPCM(ubyte* inputStream, short* outputStream, int channels, XAADPCMDecoderWorkpad* workpad, int filter, int shift, int unit)

Decodes a single unit of XA ADPCM.

Static variables

ADPCM_IndexTable
byte[16] ADPCM_IndexTable;

For IMA and Dialogic ADPCM

ADPCM_IndexTable_2Bit
byte[4] ADPCM_IndexTable_2Bit;
Undocumented in source.
ADPCM_IndexTable_3Bit
byte[8] ADPCM_IndexTable_3Bit;
Undocumented in source.
ADPCM_IndexTable_5Bit
byte[32] ADPCM_IndexTable_5Bit;
Undocumented in source.
DIALOGIC_ADPCM_StepTable
ushort[49] DIALOGIC_ADPCM_StepTable;

Most OKI and Yamaha chips seems to use this step-table

IMA_ADPCM_StepTable
ushort[89] IMA_ADPCM_StepTable;
Undocumented in source.
XA_ADPCM_Table
byte[2][5] XA_ADPCM_Table;
Undocumented in source.
Yamaha_ADPCM_A_IndexTable
byte[16] Yamaha_ADPCM_A_IndexTable;

For the Yamaha ADPCM A found in YM2610 and probably other chips

Yamaha_ADPCM_DiffLookup
byte[16] Yamaha_ADPCM_DiffLookup;
Undocumented in source.
Yamaha_ADPCM_IndexScale
ushort[16] Yamaha_ADPCM_IndexScale;
Undocumented in source.

Structs

DecoderWorkpad
struct DecoderWorkpad
Undocumented in source.
EncoderWorkpad
struct EncoderWorkpad
Undocumented in source.
XAADPCMDecoderWorkpad
struct XAADPCMDecoderWorkpad

Workpad for XA ADPCM decoders

XAADPCMEncoderWorkpad
struct XAADPCMEncoderWorkpad

Keeper values fo XAADPCM encoding.

Meta