dmG728Encode(3dm)
dmG728Encode - implements the ITU (International Telecommunication Union) Recommendation G.728 compression (LD-CELP).
Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.
NAME dmG728Encode - implements the ITU (International Telecommunication Union) Recommendation G.728 compression (LD-CELP). SYNOPSIS #include <dmedia/dm_audioutil.h> DMstatus dmG728Encode(DMG728encoder handle, short *ibuf, unsigned char *obuf, int nsamples) PARAMETER handle DMG728encoder structure, created by dmG728EncoderCreate(3dm), specifies the signal processing parameters. ibuf pointer to input sample data buffer. 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. The data format is unsigned char (8-bit). This bitstrem buffer must consist of a multiple of 10 bytes. nsamples number of samples in the input buffer to be processed. the value of nsamples passed to the G.728 encode/decode routines must always be a multiple of 40. RETURNED VALUE Returns DM_FAILURE or DM_SUCCESS. DESCRIPTION dmG728Encode(3dm) implements the ITU Recommendation G.728 compression. The uncompressed data sampling rate is 8000 Hz. And the compressed bitrate is 16000 bits/s. ITU Recommendation G.728 compression also 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 dmG728Decode(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. We recommend 2 second "preroll". NOTE G.728 algorithm was developed for sampling rate of 8 kHz. SEE ALSO dmG728EncoderCreate(3dm), dmG728EncoderDestroy(3dm), dmG728Decode(3dm), ITU Recommendation G.728.