#include <assert.h>
#include <inttypes.h>
#include "floating_fudge.h"
#include <stdlib.h>
#include <memory.h>
#include "spandsp/telephony.h"
#include "spandsp/bitstream.h"
#include "spandsp/saturated.h"
#include "spandsp/gsm0610.h"
#include "gsm0610_local.h"
Functions | |
int | gsm0610_unpack_none (gsm0610_frame_t *s, const uint8_t c[]) |
int | gsm0610_unpack_wav49 (gsm0610_frame_t *s, const uint8_t c[]) |
int | gsm0610_unpack_voip (gsm0610_frame_t *s, const uint8_t c[33]) |
int | gsm0610_decode (gsm0610_state_t *s, int16_t amp[], const uint8_t code[], int len) |
int gsm0610_decode | ( | gsm0610_state_t * | s, | |
int16_t | amp[], | |||
const uint8_t | code[], | |||
int | len | |||
) |
Decode a buffer of GSM 06.10 data to linear PCM.
s | The GSM 06.10 context. | |
amp | The audio sample buffer. | |
code | The GSM 06.10 data. | |
len | The number of bytes of GSM 06.10 data to be decoded. |
References gsm0610_unpack_wav49(), and gsm0610_state_t::packing.
int gsm0610_unpack_wav49 | ( | gsm0610_frame_t * | s, | |
const uint8_t | c[] | |||
) |
Unpack a pair of GSM 06.10 frames from the format used for wave files (wave type 49).
s | A pointer to a buffer into which the frames will be packed. | |
c | The buffer containing the data to be unpacked. This must be at least 65 bytes long. |
References gsm0610_frame_t::bc, gsm0610_frame_t::LARc, gsm0610_frame_t::Mc, gsm0610_frame_t::Nc, gsm0610_frame_t::xmaxc, and gsm0610_frame_t::xMc.
Referenced by gsm0610_decode().