dmGSMEncode(3dm)
dmGSMEncode - 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.
As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.
NAME dmGSMEncode - 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. SYNOPSIS #include <dmedia/dm_audioutil.h> DMstatus dmGSMEncode(DMGSMencoder handle, short *ibuf, unsigned char *obuf, int numSamples) PARAMETER handle DMGSMencoder structure, created by dmGSMEncoderCreate(3dm), specifies the signal processing parameters. ibuf pointer to input 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. obuf pointer to output data buffer, an array of a multiple of 33 bytes. The data format is unsigned char (8-bit). numSamples number of sample in the input buffer to be processed. 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. RETURNED VALUE Returns DM_FAILURE or DM_SUCCESS. DESCRIPTION dmGSMEncode(3dm) implements GSM 06.10 compression. GSM compression uses a linear prediction scheme. This means that the compressed bits, which carrying compressed information, are interrelated or interdependent. If a application calls afSeekFrame(3dm) to an offset into the compressed bit stream file and then starts reading bits in the middle of the bit stream and decompress them with dmGSMDecode(3dm), the interdependency of the bits at the cutting point is lost. The application will initially get back data with a lower amplitude than if he had read the same data back during a complete pass over the file from the beginning. There is no way to exactly recreate the decoded data in the middle of the bit stream file without going all the way back to the beginning. However, with a "preroll" value to read ahead a portion of the compressed file, application can compensate for the amplitude problem. NOTE 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. GSM algorithm was developed for sampling rate of 8 kHz. SEE ALSO dmGSMEncoderCreate(3dm), dmGSMEncoderDestroy(3dm), dmGSMDecode(3dm), ETSI GSM 06.10 standard.