Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os-example-mbed5-blinky by
SpeexBits: Bit-stream manipulations
This is the structure that holds the bit-stream when encoding or decoding with Speex. More...
Data Structures | |
| struct | SpeexBits |
| Bit-packing data structure representing (part of) a bit-stream. More... | |
Typedefs | |
| typedef struct SpeexBits | SpeexBits |
| Bit-packing data structure representing (part of) a bit-stream. | |
Functions | |
| 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_set_bit_buffer (SpeexBits *bits, void *buff, int buf_size) |
| Sets the bits in a SpeexBits struct to use data from an existing buffer (for decoding without copying data) | |
| void | speex_bits_destroy (SpeexBits *bits) |
| Frees all resources associated to a SpeexBits struct. | |
| 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. | |
| 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. | |
| 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. | |
| void | speex_bits_pack (SpeexBits *bits, int data, int nbBits) |
| Append bits to the bit-stream. | |
| int | speex_bits_unpack_signed (SpeexBits *bits, int nbBits) |
| Interpret the next bits in the bit-stream as a signed integer. | |
| unsigned int | speex_bits_unpack_unsigned (SpeexBits *bits, int nbBits) |
| Interpret the next bits in the bit-stream as an unsigned integer. | |
| 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". | |
| unsigned int | speex_bits_peek_unsigned (SpeexBits *bits, int nbBits) |
| Same as speex_bits_unpack_unsigned, but without modifying the cursor position. | |
| int | speex_bits_peek (SpeexBits *bits) |
| Get the value of the next bit in the stream, without modifying the "cursor" position. | |
| void | speex_bits_advance (SpeexBits *bits, int n) |
| Advances the position of the "bit cursor" in the stream. | |
| int | speex_bits_remaining (SpeexBits *bits) |
| Returns the number of bits remaining to be read in a stream. | |
| 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. | |
Detailed Description
This is the structure that holds the bit-stream when encoding or decoding with Speex.
It allows some manipulations as well.
Typedef Documentation
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
- Returns:
- Value of the bit peeked (one bit only)
| unsigned int speex_bits_peek_unsigned | ( | SpeexBits * | bits, |
| int | nbBits | ||
| ) |
Same as speex_bits_unpack_unsigned, but without modifying the cursor position.
- Parameters:
-
bits Bit-stream to operate on nbBits Number of bits to look for
- Returns:
- Value of the bits peeked, interpreted as unsigned
| 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
- Returns:
- Number of bits that can still be read from the stream
| 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.
| void speex_bits_set_bit_buffer | ( | SpeexBits * | bits, |
| void * | buff, | ||
| int | buf_size | ||
| ) |
Sets the bits in a SpeexBits struct to use data from an existing buffer (for decoding without copying data)
| 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.
- Parameters:
-
bits Bit-stream to operate on bytes Memory location where to write the bits max_len Maximum number of bytes to write (i.e. size of the "bytes" buffer)
- Returns:
- Number of bytes written to the "bytes" buffer
| 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 Tue Jul 12 2022 16:28:54 by
1.7.2
