Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dmG728Encode(3dm) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dmG728EncoderCreate(3dm)

dmG728EncoderDestroy(3dm)

dmG728Decode(3dm)



dmG728Encode(3dm)                                            dmG728Encode(3dm)



NAME
     dmG728Encode - implements the ITU (International Telecommunication Union)
     Recommendation G.728 compression (LD-CELP).


SYNOPSIS
     #include <dmedia/dmaudioutil.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 DMFAILURE or DMSUCCESS.



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.



                                                                        Page 1





dmG728Encode(3dm)                                            dmG728Encode(3dm)



     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.









































                                                                        Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026