uvgVPCCenc 1.2.0
uvgVPCCenc is an open-source real-time V-PCC encoder library written in C++ from scratch.
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Functions
v3cbitstream.hpp File Reference
#include <cstddef>
#include <cstdint>
#include <memory>
#include <mutex>
#include <queue>
#include <semaphore>
#include <vector>
#include "atlas.hpp"
#include "vps.hpp"
Include dependency graph for v3cbitstream.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uvgv3cbitstream::v3c_unit
 One complete V3C unit, including the V3C unit header. More...
 
struct  uvgv3cbitstream::v3c_unit_batch
 One GOF-worth of ordered V3C units emitted by the encoder. More...
 
struct  uvgv3cbitstream::v3c_unit_stream
 
struct  uvgv3cbitstream::uvg_data_chunk
 
struct  uvgv3cbitstream::bitstream_t
 
struct  uvgv3cbitstream::nal_info
 
struct  uvgv3cbitstream::V3cGof
 
struct  uvgv3cbitstream::SerializedUnit
 

Namespaces

namespace  uvgv3cbitstream
 

Macros

#define UVG_DATA_CHUNK_SIZE   4096
 

Typedefs

typedef struct uvgv3cbitstream::uvg_data_chunk uvgv3cbitstream::uvg_data_chunk
 
typedef struct uvgv3cbitstream::bitstream_t uvgv3cbitstream::bitstream_t
 

Functions

void uvgv3cbitstream::uvg_bitstream_init (bitstream_t *stream)
 
uvg_data_chunkuvgv3cbitstream::uvg_bitstream_alloc_chunk ()
 
void uvgv3cbitstream::uvg_bitstream_free_chunks (uvg_data_chunk *chunk)
 
void uvgv3cbitstream::uvg_bitstream_writebyte (bitstream_t *stream, uint8_t byte)
 
void uvgv3cbitstream::uvg_bitstream_put (bitstream_t *stream, uint32_t data, uint8_t bits)
 
uvg_data_chunkuvgv3cbitstream::uvg_bitstream_take_chunks (bitstream_t *stream)
 
void uvgv3cbitstream::uvg_bitstream_finalize (bitstream_t *stream)
 
void uvgv3cbitstream::uvg_bitstream_clear (bitstream_t *stream)
 
uint64_t uvgv3cbitstream::uvg_bitstream_tell (const bitstream_t *stream)
 
void uvgv3cbitstream::uvg_bitstream_put_ue (bitstream_t *stream, uint32_t code_num)
 
size_t uvgv3cbitstream::uvg_calculate_ue_len (uint32_t number)
 
void uvgv3cbitstream::uvg_bitstream_add_rbsp_trailing_bits (bitstream_t *stream)
 
void uvgv3cbitstream::uvg_bitstream_align (bitstream_t *stream)
 
void uvgv3cbitstream::uvg_bitstream_move (bitstream_t *dst, bitstream_t *src)
 
void uvgv3cbitstream::uvg_bitstream_copy_bytes (bitstream_t *stream, const uint8_t *bytes, uint32_t len)
 
uint32_t uvgv3cbitstream::uvg_bitstream_peek_last_byte (bitstream_t *stream)
 
void uvgv3cbitstream::prepareAtlasContext (AtlasContext &atlas)
 
bool uvgv3cbitstream::writeVps (bitstream_t *stream, const Vps &vps)
 
void uvgv3cbitstream::writeAtlasSubBitstream (bitstream_t *stream, const AtlasContext &atlas)
 
void uvgv3cbitstream::writeAtlasParameterSetNals (bitstream_t *stream, const AtlasContext &atlas)
 
void uvgv3cbitstream::writeAtlasNal (bitstream_t *stream, const AtlasContext &atlas, size_t index)
 
void uvgv3cbitstream::writeAtlasEob (bitstream_t *stream, const AtlasContext &atlas)
 
std::vector< SerializedUnituvgv3cbitstream::writeV3cUnits (const V3cGof &gof)
 
std::vector< SerializedUnituvgv3cbitstream::writeV3cLdUnits (const V3cGof &gof, const std::vector< nal_info > &ovd_nals, const std::vector< nal_info > &gvd_nals, const std::vector< nal_info > &avd_nals, bool double_layer)
 

Macro Definition Documentation

◆ UVG_DATA_CHUNK_SIZE

#define UVG_DATA_CHUNK_SIZE   4096