#include <inttypes.h>
#include <memory.h>
#include <stdlib.h>
#include "floating_fudge.h"
#include "spandsp/telephony.h"
#include "spandsp/dc_restore.h"
#include "spandsp/bitstream.h"
#include "spandsp/bit_operations.h"
#include "spandsp/g711.h"
#include "spandsp/g726.h"
Functions | |
g726_state_t * | g726_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 len) |
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.
s | The G.726 context. | |
amp | ||
g726_data | ||
g726_bytes |
References g726_state_s::bits_per_sample, bitstream_state_t::bitstream, g726_state_s::bs, g726_state_s::dec_func, g726_state_s::ext_coding, g726_state_s::in_bits, g726_state_s::in_buffer, g726_state_s::packing, and bitstream_state_t::residue.
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.
s | The G.726 context. | |
g726_data | ||
amp | ||
samples |
References g726_state_s::bits_per_sample, bitstream_state_t::bitstream, g726_state_s::bs, g726_state_s::enc_func, g726_state_s::ext_coding, g726_state_s::out_bits, g726_state_s::out_buffer, g726_state_s::packing, and bitstream_state_t::residue.
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.
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. |
References g726_state_s::a, g726_state_s::ap, g726_state_s::b, g726_state_s::bits_per_sample, bitstream_init(), g726_state_s::bs, g726_state_s::dec_func, g726_state_s::dml, g726_state_s::dms, g726_state_s::dq, g726_state_s::enc_func, g726_state_s::ext_coding, g726_state_s::in_bits, g726_state_s::in_buffer, g726_state_s::out_bits, g726_state_s::out_buffer, g726_state_s::packing, g726_state_s::pk, g726_state_s::rate, g726_state_s::sr, g726_state_s::td, g726_state_s::yl, and g726_state_s::yu.
int g726_release | ( | g726_state_t * | s | ) |
Free a G.726 encode or decode context.
s | The G.726 context. |