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.

decodeStreamALawPCM
void decodeStreamALawPCM(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.

decodeStreamMuLawPCM
void decodeStreamMuLawPCM(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.

dynamicDecode12BitPCMSigned
short dynamicDecode12BitPCMSigned(ubyte* inputStream, DecoderWorkpad* workpad)
Undocumented in source. Be warned that the author may not have intended to support it.
dynamicDecode12BitPCMUnsigned
short dynamicDecode12BitPCMUnsigned(ubyte* inputStream, DecoderWorkpad* workpad)
Undocumented in source. Be warned that the author may not have intended to support it.
dynamicDecode8BitPCMUnsigned
short dynamicDecode8BitPCMUnsigned(ubyte* inputStream, DecoderWorkpad* workpad)

Appends 8 bit unsigned PCM to 16 bit signed PCM. Workpad is 16 bytes long.

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

Dinamically decodes an A-Law stream

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.

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

Dinamically decodes a Mu-Law stream

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

Dynamically decodes a Yamaha ADPCM A stream. Workpad is 16 bytes long.

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.

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

Dinamically encodes a stream with A-Law PCM.

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.

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

Dinamically encodes a stream with Mu-Law PCM.

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.

encodeStreamALawPCM
void encodeStreamALawPCM(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.

encodeStreamMuLawPCM
void encodeStreamMuLawPCM(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.
A_Law_DecodeTable
short[256] A_Law_DecodeTable;
Undocumented in source.
A_Law_EncodeTable
ubyte[128] A_Law_EncodeTable;
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.
MU_Law_DecodeTable
short[256] MU_Law_DecodeTable;
Undocumented in source.
MU_Law_EncodeTable
ubyte[256] MU_Law_EncodeTable;
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