Encoding and decoding


Functions

EXPORT CELTModecelt_mode_create (celt_int32_t Fs, int channels, int frame_size, int *error)
EXPORT void celt_mode_destroy (CELTMode *mode)
EXPORT int celt_mode_info (const CELTMode *mode, int request, celt_int32_t *value)
EXPORT CELTEncodercelt_encoder_create (const CELTMode *mode)
EXPORT void celt_encoder_destroy (CELTEncoder *st)
EXPORT int celt_encode (CELTEncoder *st, celt_int16_t *pcm, unsigned char *compressed, int nbCompressedBytes)
EXPORT CELTDecodercelt_decoder_create (const CELTMode *mode)
EXPORT void celt_decoder_destroy (CELTDecoder *st)
EXPORT int celt_decode (CELTDecoder *st, unsigned char *data, int len, celt_int16_t *pcm)

Detailed Description


Function Documentation

EXPORT int celt_decode ( CELTDecoder st,
unsigned char *  data,
int  len,
celt_int16_t *  pcm 
)

Decodes a frame of audio.

Parameters:
st Decoder state
data Compressed data produced by an encoder
len Number of bytes to read from "data". This MUST be exactly the number of bytes returned by the encoder. Using a larger value WILL NOT WORK.
pcm One frame (frame_size samples per channel) of decoded PCM will be returned here.
Returns:
Error code.

EXPORT CELTDecoder* celt_decoder_create ( const CELTMode mode  ) 

Creates a new decoder state. Each stream needs its own decoder state (can't be shared across simultaneous streams).

Parameters:
mode Contains all the information about the characteristics of the stream (must be the same characteristics as used for the encoder)
Returns:
Newly created decoder state.

EXPORT void celt_decoder_destroy ( CELTDecoder st  ) 

Destroys a a decoder state.

Parameters:
st Decoder state to be destroyed

EXPORT int celt_encode ( CELTEncoder st,
celt_int16_t *  pcm,
unsigned char *  compressed,
int  nbCompressedBytes 
)

Encodes a frame of audio.

Parameters:
st Encoder state
pcm PCM audio in signed 16-bit format (native endian). There must be exactly frame_size samples per channel. The input data is overwritten by a copy of what the remote decoder would decode.
compressed The compressed data is written here
nbCompressedBytes Number of bytes to use for compressing the frame (can change from one frame to another)
Returns:
Number of bytes written to "compressed". Should be the same as "nbCompressedBytes" unless the stream is VBR. If negative, an error has occured (see error codes). It is IMPORTANT that the length returned be somehow transmitted to the decoder. Otherwise, no decoding is possible.

EXPORT CELTEncoder* celt_encoder_create ( const CELTMode mode  ) 

Creates a new encoder state. Each stream needs its own encoder state (can't be shared across simultaneous streams).

Parameters:
mode Contains all the information about the characteristics of the stream (must be the same characteristics as used for the decoder)
Returns:
Newly created encoder state.

EXPORT void celt_encoder_destroy ( CELTEncoder st  ) 

Destroys a an encoder state.

Parameters:
st Encoder state to be destroyed

EXPORT CELTMode* celt_mode_create ( celt_int32_t  Fs,
int  channels,
int  frame_size,
int *  error 
)

Creates a new mode struct. This will be passed to an encoder or decoder. The mode MUST NOT BE DESTROYED until the encoders and decoders that use it are destroyed as well.

Parameters:
Fs Sampling rate (32000 to 64000 Hz)
channels Number of channels
frame_size Number of samples (per channel) to encode in each packet (64 - 256)
lookahead Extra latency (in samples per channel) in addition to the frame size (between 32 and frame_size). The larger that value, the better the quality (at the expense of latency)
error Returned error code (if NULL, no error will be returned)
Returns:
A newly created mode

EXPORT void celt_mode_destroy ( CELTMode mode  ) 

Destroys a mode struct. Only call this after all encoders and decoders using this mode are destroyed as well.

Parameters:
mode Mode to be destroyed

EXPORT int celt_mode_info ( const CELTMode mode,
int  request,
celt_int32_t *  value 
)

Query information from a mode


Generated on Sat Jul 26 14:07:31 2008 for CELT by  doxygen 1.5.6