uvgVPCCenc 1.2.0
uvgVPCCenc is an open-source real-time V-PCC encoder library written in C++ from scratch.
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
uvgvpcc_enc::FrameContext Struct Reference

Encoder-internal per-frame state. More...

#include <types.hpp>

Collaboration diagram for uvgvpcc_enc::FrameContext:

Public Member Functions

 FrameContext (const size_t frameId, std::shared_ptr< uvgformat::uvgFrame > frame)
 
 ~FrameContext ()
 
void printInfo () const
 

Public Attributes

std::shared_ptr< uvgformat::uvgFrameuvgframe
 
std::vector< uvgutils::VectorN< typeGeometryInput, 3 > > & pointsGeometry
 
std::vector< uvgutils::VectorN< uint8_t, 3 > > & pointsAttribute
 
size_t frameId
 
size_t gofId
 
size_t frameNumber
 
std::weak_ptr< GOFgof
 
std::shared_ptr< std::counting_semaphore< UINT16_MAX > > conccurentFrameSem
 
size_t mapHeight
 
size_t mapHeightDS
 
std::vector< Patch > * patchList
 
std::vector< uint8_t > * occupancyMap
 
std::vector< uint8_t > * occupancyMapColored
 
std::vector< uint8_t > * occupancyMapDS
 
std::vector< uint8_t > * geometryMapL1
 
std::vector< uint8_t > * geometryMapL2
 
std::vector< uint8_t > * attributeMapL1
 
std::vector< uint8_t > * attributeMapL2
 

Detailed Description

Encoder-internal per-frame state.

Holds a shared_ptr to the user's uvgFrame (zero-copy ownership) plus all encoder bookkeeping. The reference members pointsGeometry and pointsAttribute are bound at construction to the geometry/attribute vectors inside the uvgFrame payload, providing direct access with the same syntax as the old Frame struct. Both are non-const because the encoder clears their contents after use to release memory (via swap-with-empty).

Constructor & Destructor Documentation

◆ FrameContext()

uvgvpcc_enc::FrameContext::FrameContext ( const size_t  frameId,
std::shared_ptr< uvgformat::uvgFrame frame 
)
inline

◆ ~FrameContext()

uvgvpcc_enc::FrameContext::~FrameContext ( )
inline

Member Function Documentation

◆ printInfo()

void uvgvpcc_enc::FrameContext::printInfo ( ) const

Member Data Documentation

◆ attributeMapL1

std::vector<uint8_t>* uvgvpcc_enc::FrameContext::attributeMapL1

◆ attributeMapL2

std::vector<uint8_t>* uvgvpcc_enc::FrameContext::attributeMapL2

◆ conccurentFrameSem

std::shared_ptr<std::counting_semaphore<UINT16_MAX> > uvgvpcc_enc::FrameContext::conccurentFrameSem

◆ frameId

size_t uvgvpcc_enc::FrameContext::frameId

◆ frameNumber

size_t uvgvpcc_enc::FrameContext::frameNumber

◆ geometryMapL1

std::vector<uint8_t>* uvgvpcc_enc::FrameContext::geometryMapL1

◆ geometryMapL2

std::vector<uint8_t>* uvgvpcc_enc::FrameContext::geometryMapL2

◆ gof

std::weak_ptr<GOF> uvgvpcc_enc::FrameContext::gof

◆ gofId

size_t uvgvpcc_enc::FrameContext::gofId

◆ mapHeight

size_t uvgvpcc_enc::FrameContext::mapHeight

◆ mapHeightDS

size_t uvgvpcc_enc::FrameContext::mapHeightDS

◆ occupancyMap

std::vector<uint8_t>* uvgvpcc_enc::FrameContext::occupancyMap

◆ occupancyMapColored

std::vector<uint8_t>* uvgvpcc_enc::FrameContext::occupancyMapColored

◆ occupancyMapDS

std::vector<uint8_t>* uvgvpcc_enc::FrameContext::occupancyMapDS

◆ patchList

std::vector<Patch>* uvgvpcc_enc::FrameContext::patchList

◆ pointsAttribute

std::vector<uvgutils::VectorN<uint8_t, 3> >& uvgvpcc_enc::FrameContext::pointsAttribute

◆ pointsGeometry

std::vector<uvgutils::VectorN<typeGeometryInput, 3> >& uvgvpcc_enc::FrameContext::pointsGeometry

◆ uvgframe

std::shared_ptr<uvgformat::uvgFrame> uvgvpcc_enc::FrameContext::uvgframe

The documentation for this struct was generated from the following files: