uvgVPCCenc 1.0.0
uvgVPCCenc is an open-source real-time V-PCC encoder library written in C++ from scratch.
|
#include "bitstream_util.hpp"
#include <array>
#include <cassert>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <new>
Functions | |
void | uvg_bitstream_init (bitstream_t *const stream) |
uvg_data_chunk * | uvg_bitstream_alloc_chunk () |
void | uvg_bitstream_free_chunks (uvg_data_chunk *chunk) |
void | uvg_bitstream_writebyte (bitstream_t *const stream, const uint8_t byte) |
Write a byte to bitstream. | |
void | uvg_bitstream_put (bitstream_t *const stream, const uint32_t data, uint8_t bits) |
uvg_data_chunk * | uvg_bitstream_take_chunks (bitstream_t *const stream) |
void | uvg_bitstream_finalize (bitstream_t *const stream) |
void | uvg_bitstream_clear (bitstream_t *const stream) |
uint64_t | uvg_bitstream_tell (const bitstream_t *const stream) |
void | uvg_bitstream_put_ue (bitstream_t *stream, uint32_t code_num) |
size_t | uvg_calculate_ue_len (uint32_t number) |
void | uvg_bitstream_add_rbsp_trailing_bits (bitstream_t *const stream) |
void | uvg_bitstream_align (bitstream_t *const stream) |
void | uvg_bitstream_move (bitstream_t *const dst, bitstream_t *const src) |
void | uvg_bitstream_copy_bytes (bitstream_t *const stream, const uint8_t *bytes, uint32_t len) |
Copy array of bytes to a byte-aligned bitstream. | |
uint32_t | uvg_bitstream_peek_last_byte (bitstream_t *const stream) |
Variables | |
const std::array< uint32_t, 32 > | uvg_bit_set_mask |
void uvg_bitstream_add_rbsp_trailing_bits | ( | bitstream_t *const | stream | ) |
void uvg_bitstream_align | ( | bitstream_t *const | stream | ) |
uvg_data_chunk * uvg_bitstream_alloc_chunk | ( | ) |
void uvg_bitstream_clear | ( | bitstream_t *const | stream | ) |
Reset stream.
void uvg_bitstream_copy_bytes | ( | bitstream_t *const | stream, |
const uint8_t * | bytes, | ||
uint32_t | len | ||
) |
Copy array of bytes to a byte-aligned bitstream.
stream | pointer bitstream to put the data |
bytes | bytes to copy |
len | length of bytes array |
void uvg_bitstream_finalize | ( | bitstream_t *const | stream | ) |
void uvg_bitstream_free_chunks | ( | uvg_data_chunk * | chunk | ) |
void uvg_bitstream_init | ( | bitstream_t *const | stream | ) |
void uvg_bitstream_move | ( | bitstream_t *const | dst, |
bitstream_t *const | src | ||
) |
uint32_t uvg_bitstream_peek_last_byte | ( | bitstream_t *const | stream | ) |
void uvg_bitstream_put | ( | bitstream_t *const | stream, |
const uint32_t | data, | ||
uint8_t | bits | ||
) |
void uvg_bitstream_put_ue | ( | bitstream_t * | stream, |
uint32_t | code_num | ||
) |
uvg_data_chunk * uvg_bitstream_take_chunks | ( | bitstream_t *const | stream | ) |
uint64_t uvg_bitstream_tell | ( | const bitstream_t *const | stream | ) |
void uvg_bitstream_writebyte | ( | bitstream_t *const | stream, |
const uint8_t | byte | ||
) |
Write a byte to bitstream.
The stream must be byte-aligned.
stream | pointer bitstream to put the data |
byte | byte to write |
size_t uvg_calculate_ue_len | ( | uint32_t | number | ) |
const std::array<uint32_t, 32> uvg_bit_set_mask |