g726.h File Reference

Go to the source code of this file.

Classes

struct  g726_state_s

Defines

#define _G726_H_
#define G726_ENCODING_LINEAR   0
#define G726_ENCODING_ULAW   1
#define G726_ENCODING_ALAW   2

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 g726_state_s g726_state_t

Functions

g726_state_t * g726_init (g726_state_t *s, int bit_rate, int ext_coding, int packed)
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  packed 
)

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.
packed TRUE to use packed G.726. Otherwise G.726 will be expected as one code per octet.
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 Fri Nov 10 09:40:24 2006 for libspandsp by  doxygen 1.5.1