#include <stdlib.h>
#include <inttypes.h>
#include <string.h>
#include "floating_fudge.h"
#include "spandsp/telephony.h"
#include "spandsp/saturated.h"
#include "spandsp/ima_adpcm.h"
Defines | |
#define | STEP_MAX 88 |
Functions | |
ima_adpcm_state_t * | ima_adpcm_init (ima_adpcm_state_t *s, int variant, int chunk_size) |
int | ima_adpcm_release (ima_adpcm_state_t *s) |
int | ima_adpcm_decode (ima_adpcm_state_t *s, int16_t amp[], const uint8_t ima_data[], int ima_bytes) |
int | ima_adpcm_encode (ima_adpcm_state_t *s, uint8_t ima_data[], const int16_t amp[], int len) |
int ima_adpcm_decode | ( | ima_adpcm_state_t * | s, | |
int16_t | amp[], | |||
const uint8_t | ima_data[], | |||
int | ima_bytes | |||
) |
Decode a buffer of IMA ADPCM data to linear PCM.
s | The IMA ADPCM context. | |
amp | The audio sample buffer. | |
ima_data | ||
ima_bytes |
References ima_adpcm_state_t::bits, ima_adpcm_state_t::chunk_size, IMA_ADPCM_DVI4, IMA_ADPCM_IMA4, IMA_ADPCM_VDVI, ima_adpcm_state_t::last, ima_adpcm_state_t::step_index, and ima_adpcm_state_t::variant.
int ima_adpcm_encode | ( | ima_adpcm_state_t * | s, | |
uint8_t | ima_data[], | |||
const int16_t | amp[], | |||
int | len | |||
) |
Encode a buffer of linear PCM data to IMA ADPCM.
s | The IMA ADPCM context. | |
ima_data | The IMA ADPCM data produced. | |
amp | The audio sample buffer. | |
len | The number of samples in the buffer. |
References ima_adpcm_state_t::bits, ima_adpcm_state_t::chunk_size, IMA_ADPCM_DVI4, IMA_ADPCM_IMA4, IMA_ADPCM_VDVI, ima_adpcm_state_t::ima_byte, ima_adpcm_state_t::last, ima_adpcm_state_t::step_index, and ima_adpcm_state_t::variant.
ima_adpcm_state_t* ima_adpcm_init | ( | ima_adpcm_state_t * | s, | |
int | variant, | |||
int | chunk_size | |||
) |
Initialise an IMA ADPCM encode or decode context.
s | The IMA ADPCM context | |
variant | ??? | |
chunk_size | The size of a chunk, in samples. A chunk size of zero sample samples means treat each encode or decode operation as a chunk. |
References ima_adpcm_state_t::chunk_size, and ima_adpcm_state_t::variant.
int ima_adpcm_release | ( | ima_adpcm_state_t * | s | ) |
Free an IMA ADPCM encode or decode context.
s | The IMA ADPCM context. |