Main Page   Compound List   File List   Compound Members   File Members  

speex_bits.h File Reference

Handles bit packing/unpacking. More...

Go to the source code of this file.

Compounds

struct  SpeexBits

Defines

#define MAX_BYTES_PER_FRAME   2000

Typedefs

typedef SpeexBits SpeexBits

Functions

void speex_bits_init (SpeexBits *bits)
void speex_bits_init_buffer (SpeexBits *bits, void *buff, int buf_size)
void speex_bits_destroy (SpeexBits *bits)
void speex_bits_reset (SpeexBits *bits)
void speex_bits_rewind (SpeexBits *bits)
void speex_bits_read_from (SpeexBits *bits, char *bytes, int len)
void speex_bits_read_whole_bytes (SpeexBits *bits, char *bytes, int len)
int speex_bits_write (SpeexBits *bits, char *bytes, int max_len)
int speex_bits_write_whole_bytes (SpeexBits *bits, char *bytes, int max_len)
void speex_bits_pack (SpeexBits *bits, int data, int nbBits)
int speex_bits_unpack_signed (SpeexBits *bits, int nbBits)
unsigned int speex_bits_unpack_unsigned (SpeexBits *bits, int nbBits)
int speex_bits_nbytes (SpeexBits *bits)
unsigned int speex_bits_peek_unsigned (SpeexBits *bits, int nbBits)
int speex_bits_peek (SpeexBits *bits)
void speex_bits_advance (SpeexBits *bits, int n)
int speex_bits_remaining (SpeexBits *bits)
void speex_bits_insert_terminator (SpeexBits *bits)


Detailed Description

Handles bit packing/unpacking.


Define Documentation

#define MAX_BYTES_PER_FRAME   2000
 

Maximum size of the bit-stream (for fixed-size allocation)


Typedef Documentation

typedef struct SpeexBits SpeexBits
 

Bit-packing data structure representing (part of) a bit-stream.


Function Documentation

void speex_bits_advance SpeexBits   bits,
int    n
 

Advances the position of the "bit cursor" in the stream

Parameters:
bits  Bit-stream to operate on
n  Number of bits to advance

void speex_bits_destroy SpeexBits   bits
 

Frees all resources associated to a SpeexBits struct. Right now this does nothing since no resources are allocated, but this could change in the future.

void speex_bits_init SpeexBits   bits
 

Initializes and allocates resources for a SpeexBits struct

void speex_bits_init_buffer SpeexBits   bits,
void *    buff,
int    buf_size
 

Initializes SpeexBits struct using a pre-allocated buffer

void speex_bits_insert_terminator SpeexBits   bits
 

Insert a terminator so that the data can be sent as a packet while auto-detecting the number of frames in each packet

Parameters:
bits  Bit-stream to operate on

int speex_bits_nbytes SpeexBits   bits
 

Returns the number of bytes in the bit-stream, including the last one even if it is not "full"

Parameters:
bits  Bit-stream to operate on
Returns:
Number of bytes in the stream

void speex_bits_pack SpeexBits   bits,
int    data,
int    nbBits
 

Append bits to the bit-stream

Parameters:
bits  Bit-stream to operate on
data  Value to append as integer
nbBits  number of bits to consider in "data"

int speex_bits_peek SpeexBits   bits
 

Get the value of the next bit in the stream, without modifying the "cursor" position

Parameters:
bits  Bit-stream to operate on

unsigned int speex_bits_peek_unsigned SpeexBits   bits,
int    nbBits
 

Same as speex_bits_unpack_unsigned, but without modifying the cursor position

void speex_bits_read_from SpeexBits   bits,
char *    bytes,
int    len
 

Initializes the bit-stream from the data in an area of memory

void speex_bits_read_whole_bytes SpeexBits   bits,
char *    bytes,
int    len
 

Append bytes to the bit-stream

Parameters:
bits  Bit-stream to operate on
bytes  pointer to the bytes what will be appended
len  Number of bytes of append

int speex_bits_remaining SpeexBits   bits
 

Returns the number of bits remaining to be read in a stream

Parameters:
bits  Bit-stream to operate on

void speex_bits_reset SpeexBits   bits
 

Resets bits to initial value (just after initialization, erasing content)

void speex_bits_rewind SpeexBits   bits
 

Rewind the bit-stream to the beginning (ready for read) without erasing the content

int speex_bits_unpack_signed SpeexBits   bits,
int    nbBits
 

Interpret the next bits in the bit-stream as a signed integer

Parameters:
bits  Bit-stream to operate on
nbBits  Number of bits to interpret
Returns:
A signed integer represented by the bits read

unsigned int speex_bits_unpack_unsigned SpeexBits   bits,
int    nbBits
 

Interpret the next bits in the bit-stream as an unsigned integer

Parameters:
bits  Bit-stream to operate on
nbBits  Number of bits to interpret
Returns:
An unsigned integer represented by the bits read

int speex_bits_write SpeexBits   bits,
char *    bytes,
int    max_len
 

Write the content of a bit-stream to an area of memory

int speex_bits_write_whole_bytes SpeexBits   bits,
char *    bytes,
int    max_len
 

Like speex_bits_write, but writes only the complete bytes in the stream. Also removes the written bytes from the stream


Generated on Wed Feb 11 13:48:37 2004 for speex by doxygen1.2.15