dmGSMDecode(3dm) dmGSMDecode(3dm)
dmGSMDecode - implements the European GSM 06.10 provisional standard for
full-rate speech transcoding, prI-ETS 300 036, which uses RPE/LTP
(regular pulse excitation/long term prediction) coding at 13 kbit/s.
#include <dmedia/dm_audioutil.h>
DMstatus dmGSMDecode(DMGSMdecoder handle,
unsigned char *ibuf, short *obuf, int numSamples)
handle DMGSMdecoder structure, created by dmGSMDecoderCreate(3dm),
specifies the signal processing parameters.
ibuf pointer to input compressed data buffer, an array of a multiple
of 33 bytes. The data format is unsigned char (8-bit).
obuf pointer to output sample data buffer, an array of size of a
multiple of 160. The data format is short (16-bit). The
samples are assumed to be two's complement. The sampling rate
must be 8 kHz.
numSamples
number of sample in the output buffer to be generated. the
value of numSamples passed to the GSM decode/decode routines
must always be a multiple of 160. The compressed bitstrem
buffer consists of a multiple of 33 bytes.
Returns DM_FAILURE or DM_SUCCESS.
dmGSMDecode(3dm) implements the GSM 06.10 decompression.
The compressed bitrate now is 13200 bits/s. This is not the same as
standard specification of 13000 bits/s because the first 4 bits of each
33 byte are not useful information bits. This bits arrangement was
adopted using the original scheme by Jutta Degener (jutta@cs.tu-
berlin.de) and Carsten Bormann (cabo@cs.tu-berlin.de), Communications and
Operating Systems Research Group, TU Berlin for compatibility with
typical UNIX applications. And may be modify later.
Page 1
dmGSMDecode(3dm) dmGSMDecode(3dm)
GSM algorithm was developed for sampling rate of 8 kHz.
dmGSMDecoderCreate(3dm), dmGSMDecoderDestroy(3dm), dmGSMEncode(3dm), ETSI
GSM 06.10 standard.
PPPPaaaaggggeeee 2222 [ Back ]
|