non-gpl-bits/g726.h File Reference

Go to the source code of this file.

Classes

struct  g726_state_s

Typedefs

typedef int16_t(* g726_decoder_func_t )(struct g726_state_s *s, uint8_t code)
typedef uint8_t(* g726_encoder_func_t )(struct g726_state_s *s, int16_t amp)
typedef struct g726_state_s g726_state_t

Enumerations

enum  { G726_ENCODING_LINEAR = 0, G726_ENCODING_ULAW, G726_ENCODING_ALAW }
enum  { G726_PACKING_NONE = 0, G726_PACKING_LEFT = 1, G726_PACKING_RIGHT = 2 }

Functions

g726_state_tg726_init (g726_state_t *s, int bit_rate, int ext_coding, int packing)
int g726_release (g726_state_t *s)
int g726_decode (g726_state_t *s, int16_t amp[], const uint8_t g726_data[], int g726_bytes)
int g726_encode (g726_state_t *s, uint8_t g726_data[], const int16_t amp[], int samples)


Detailed Description


Function Documentation

int g726_decode ( g726_state_t s,
int16_t  amp[],
const uint8_t  g726_data[],
int  g726_bytes 
)

Decode a buffer of G.726 ADPCM data to linear PCM, a-law or u-law.

Parameters:
s The G.726 context.
amp 
g726_data 
g726_bytes 
Returns:
The number of samples returned.

int g726_encode ( g726_state_t s,
uint8_t  g726_data[],
const int16_t  amp[],
int  samples 
)

Encode a buffer of linear PCM data to G.726 ADPCM.

Parameters:
s The G.726 context.
g726_data 
amp 
samples 
Returns:
The number of bytes of G.726 data produced.

g726_state_t* g726_init ( g726_state_t s,
int  bit_rate,
int  ext_coding,
int  packing 
)

Initialise a G.726 encode or decode context.

Parameters:
s The G.726 context.
bit_rate The required bit rate for the ADPCM data. The valid rates are 16000, 24000, 32000 and 40000.
ext_coding The coding used outside G.726.
packing One of the G.726_PACKING_xxx options.
Returns:
A pointer to the G.726 context, or NULL for error.

int g726_release ( g726_state_t s  ) 

Free a G.726 encode or decode context.

Parameters:
s The G.726 context.
Returns:
0 for OK.


Generated on Tue Oct 7 20:25:51 2008 for spandsp by  doxygen 1.5.6