Appending bits into an Annex-B coded bitstream.
#include "global.h"
#include "kvazaar.h"
Go to the source code of this file.
|
typedef struct bitstream_t | bitstream_t |
| A stream of bits.
|
|
◆ WRITE_SE
#define WRITE_SE |
( |
| stream, |
|
|
| data, |
|
|
| name ) |
Value:
void kvz_bitstream_put_se(bitstream_t *stream, int32_t data)
Write signed Exp-Golomb bit string.
Definition bitstream.c:267
static kvz_rc_data * data
Definition rate_control.c:48
◆ WRITE_U
#define WRITE_U |
( |
| stream, |
|
|
| data, |
|
|
| bits, |
|
|
| name ) |
Value:
void kvz_bitstream_put(bitstream_t *stream, uint32_t data, uint8_t bits)
Write bits to bitstream Buffers individual bits untill they make a full byte.
Definition bitstream.c:232
◆ WRITE_UE
#define WRITE_UE |
( |
| stream, |
|
|
| data, |
|
|
| name ) |
Value:
void kvz_bitstream_put_ue(bitstream_t *stream, uint32_t data)
Write unsigned Exp-Golomb bit string.
Definition bitstream.c:253
◆ bitstream_t
typedef struct bitstream_t bitstream_t |
◆ kvz_bitstream_add_rbsp_trailing_bits()
void kvz_bitstream_add_rbsp_trailing_bits |
( |
bitstream_t * | stream | ) |
|
◆ kvz_bitstream_align()
◆ kvz_bitstream_align_zero()
◆ kvz_bitstream_alloc_chunk()
- Returns
- Pointer to the new chunk, or NULL.
◆ kvz_bitstream_clear()
◆ kvz_bitstream_finalize()
◆ kvz_bitstream_free_chunks()
◆ kvz_bitstream_init()
◆ kvz_bitstream_move()
Destination stream must be byte-aligned. Source stream will be cleared.
◆ kvz_bitstream_put()
void kvz_bitstream_put |
( |
bitstream_t *const | stream, |
|
|
const uint32_t | data, |
|
|
uint8_t | bits ) |
- Parameters
-
stream | stream the data is to be appended to |
data | input data |
bits | number of bits to write from data to stream |
◆ kvz_bitstream_put_byte()
void kvz_bitstream_put_byte |
( |
bitstream_t *const | stream, |
|
|
uint32_t | data ) |
- Parameters
-
stream | stream the data is to be appended to |
data | input data |
◆ kvz_bitstream_put_se()
void kvz_bitstream_put_se |
( |
bitstream_t * | stream, |
|
|
int32_t | data ) |
◆ kvz_bitstream_put_ue()
void kvz_bitstream_put_ue |
( |
bitstream_t * | stream, |
|
|
uint32_t | data ) |
◆ kvz_bitstream_take_chunks()
Move ownership of the chunks to the caller and clear the bitstream.
The bitstream must be byte-aligned.
◆ kvz_bitstream_tell()
uint64_t kvz_bitstream_tell |
( |
const bitstream_t *const | stream | ) |
|
- Parameters
-
- Returns
- position
◆ kvz_bitstream_writebyte()
void kvz_bitstream_writebyte |
( |
bitstream_t *const | stream, |
|
|
const uint8_t | byte ) |
The stream must be byte-aligned.
- Parameters
-
stream | pointer bitstream to put the data |
byte | byte to write |