ima_adpcm.h File Reference
Go to the source code of this file.
|
Typedefs |
typedef struct ima_adpcm_state_s | ima_adpcm_state_t |
Enumerations |
enum | { IMA_ADPCM_IMA4 = 0,
IMA_ADPCM_DVI4 = 1,
IMA_ADPCM_VDVI = 2
} |
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_free (ima_adpcm_state_t *s) |
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) |
Detailed Description
Typedef Documentation
IMA (DVI/Intel) ADPCM conversion state descriptor. This defines the state of a single working instance of the IMA ADPCM converter. This is used for either linear to ADPCM or ADPCM to linear conversion.
Enumeration Type Documentation
- Enumerator:
-
IMA_ADPCM_IMA4 |
IMA4 is the original IMA ADPCM variant |
IMA_ADPCM_DVI4 |
DVI4 is the IMA ADPCM variant defined in RFC3551 |
IMA_ADPCM_VDVI |
VDVI is the variable bit rate IMA ADPCM variant defined in RFC3551 |
Function Documentation
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.
- Parameters:
-
| s | The IMA ADPCM context. |
| amp | The audio sample buffer. |
| ima_data | The IMA ADPCM data |
| ima_bytes | The number of bytes of IMA ADPCM data |
- Returns:
- The number of samples returned.
References IMA_ADPCM_DVI4, IMA_ADPCM_IMA4, and IMA_ADPCM_VDVI.
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.
- Parameters:
-
| 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. |
- Returns:
- The number of bytes of IMA ADPCM data produced.
References IMA_ADPCM_DVI4, IMA_ADPCM_IMA4, and IMA_ADPCM_VDVI.
Free an IMA ADPCM encode or decode context.
- Parameters:
-
- Returns:
- 0 for OK.
Initialise an IMA ADPCM encode or decode context.
- Parameters:
-
| s | The IMA ADPCM context. |
| variant | IMA_ADPCM_IMA4, IMA_ADPCM_DVI4, or IMA_ADPCM_VDVI. |
| 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. |
- Returns:
- A pointer to the IMA ADPCM context, or NULL for error.
Release an IMA ADPCM encode or decode context.
- Parameters:
-
- Returns:
- 0 for OK.