47#include "../utils/parameters.hpp"
48#include "../utils/constants.hpp"
114 void setAxis(
size_t normalAxis,
size_t tangentAxis,
size_t bitangentAxis,
bool projectionMode) {
144 throw std::runtime_error(
"ViewId (" + std::to_string(patchPpi) +
") not allowed... exiting");
150 std::stringstream str;
157 str <<
", minU=" <<
posU_;
158 str <<
", minV=" <<
posV_;
159 str <<
", minD=" <<
posD_;
160 str <<
", sizeD=" <<
sizeD_;
213 std::vector<std::shared_ptr<Frame>>
frames;
261void setParameter(
const std::string& parameterName,
const std::string& parameterValue);
Definition jobManagement.hpp:71
void stopEncoder()
Insure a proper end of the encoder execution.
Definition uvgvpcc.cpp:687
void initializeEncoder()
Create the context of the uvgVPCCenc encoder. Parse the input parameters and verify if the given conf...
Definition uvgvpcc.cpp:563
void setParameter(const std::string ¶meterName, const std::string ¶meterValue)
The only way to modify the exposed uvgVPCCenc parameters is by calling this function.
Definition uvgvpcc.cpp:583
void emptyFrameQueue()
This function is called when all frames to be processed have been sent to the encoder....
Definition uvgvpcc.cpp:676
void encodeFrame(std::shared_ptr< Frame > &frame, v3c_unit_stream *output)
Entry point of the uvgVPCCenc library. Take as input a frame. Create all the jobs for processing this...
Definition uvgvpcc.cpp:602
Definition uvgvpcc.hpp:56
constexpr size_t INVALID_PATCH_INDEX
Definition constants.hpp:54
constexpr size_t MAX_GOF_SIZE
Definition constants.hpp:62
const Parameters * p_
Definition uvgvpcc.cpp:522
const size_t g_infinitenumber
Definition constants.hpp:51
Bitstream writing miscellaneous.
Definition uvgvpcc.hpp:242
std::unique_ptr< char[]> data
Definition uvgvpcc.hpp:244
v3c_chunk(size_t len, std::unique_ptr< char[]> data)
Definition uvgvpcc.hpp:248
size_t len
Definition uvgvpcc.hpp:243
std::vector< size_t > v3c_unit_sizes
Definition uvgvpcc.hpp:245
Definition uvgvpcc.hpp:253
std::queue< v3c_chunk > v3c_chunks
Definition uvgvpcc.hpp:255
std::counting_semaphore available_chunks
Definition uvgvpcc.hpp:256
std::mutex io_mutex
Definition uvgvpcc.hpp:257
size_t v3c_unit_size_precision_bytes
Definition uvgvpcc.hpp:254
Definition uvgvpcc.hpp:175
size_t mapHeight
Definition uvgvpcc.hpp:188
std::string pointCloudPath
Definition uvgvpcc.hpp:182
std::vector< uint8_t > * geometryMapL2
Definition uvgvpcc.hpp:206
std::vector< Patch > * patchList
Definition uvgvpcc.hpp:201
size_t pointCount
Definition uvgvpcc.hpp:184
std::weak_ptr< GOF > gof
Definition uvgvpcc.hpp:179
std::vector< uint8_t > * attributeMapL2
Definition uvgvpcc.hpp:208
size_t gofId
Definition uvgvpcc.hpp:177
Frame(const size_t &frameId, const size_t &frameNumber, const std::string &pointCloudPath)
Definition uvgvpcc.hpp:191
std::vector< uvgutils::VectorN< typeGeometryInput, 3 > > pointsGeometry
Definition uvgvpcc.hpp:185
std::shared_ptr< std::counting_semaphore< UINT16_MAX > > conccurentFrameSem
Definition uvgvpcc.hpp:180
~Frame()
Definition uvgvpcc.hpp:193
std::vector< uint8_t > * occupancyMapDS
Definition uvgvpcc.hpp:204
size_t mapHeightDS
Definition uvgvpcc.hpp:189
std::vector< uint8_t > * occupancyMap
Definition uvgvpcc.hpp:203
size_t frameNumber
Definition uvgvpcc.hpp:178
void printInfo() const
Definition uvgvpcc.cpp:524
std::vector< uint8_t > * attributeMapL1
Definition uvgvpcc.hpp:207
size_t frameId
Definition uvgvpcc.hpp:176
std::vector< uint8_t > * geometryMapL1
Definition uvgvpcc.hpp:205
std::vector< uvgutils::VectorN< uint8_t, 3 > > pointsAttribute
Definition uvgvpcc.hpp:186
Definition uvgvpcc.hpp:212
std::vector< std::shared_ptr< Frame > > frames
Definition uvgvpcc.hpp:213
size_t mapHeightGOF
Definition uvgvpcc.hpp:217
std::array< std::vector< uint8_t >, MAX_GOF_SIZE > * frameAttributeMapsL1
Definition uvgvpcc.hpp:230
std::array< std::vector< uint8_t >, MAX_GOF_SIZE > * frameOccupancyMaps
Definition uvgvpcc.hpp:226
void setFrameMemoryPtrs(std::shared_ptr< Frame > &frame)
Definition uvgvpcc.cpp:544
std::array< std::vector< uint8_t >, MAX_GOF_SIZE > * frameGeometryMapsL1
Definition uvgvpcc.hpp:228
std::vector< uint8_t > bitstreamAttribute
Definition uvgvpcc.hpp:222
std::array< std::vector< uint8_t >, MAX_GOF_SIZE > * frameAttributeMapsL2
Definition uvgvpcc.hpp:231
std::vector< uint8_t > bitstreamGeometry
Definition uvgvpcc.hpp:221
size_t nbFrames
Definition uvgvpcc.hpp:214
size_t mapHeightDSGOF
Definition uvgvpcc.hpp:218
std::array< std::vector< uint8_t >, MAX_GOF_SIZE > * frameGeometryMapsL2
Definition uvgvpcc.hpp:229
size_t gofId
Definition uvgvpcc.hpp:215
std::array< std::vector< uint8_t >, MAX_GOF_SIZE > * frameOccupancyMapsDS
Definition uvgvpcc.hpp:227
std::vector< uint8_t > bitstreamOccupancy
Definition uvgvpcc.hpp:220
std::array< std::vector< Patch >, MAX_GOF_SIZE > * framePatches
Definition uvgvpcc.hpp:225
~GOF()
Definition uvgvpcc.cpp:557
Definition uvgvpcc.hpp:59
size_t posU_
Definition uvgvpcc.hpp:67
bool isLinkToAMegaPatch
Definition uvgvpcc.hpp:109
bool axisSwap_
Definition uvgvpcc.hpp:88
size_t widthInPixel_
Definition uvgvpcc.hpp:77
size_t patchIndex_
Definition uvgvpcc.hpp:60
size_t area_
Definition uvgvpcc.hpp:98
std::string toString() const
Definition uvgvpcc.hpp:149
size_t sizeD_
Definition uvgvpcc.hpp:73
std::vector< typeGeometryInput > depthL2_
Definition uvgvpcc.hpp:91
size_t heightInOccBlk_
Definition uvgvpcc.hpp:82
void setPatchPpiAndAxis(size_t patchPpi)
Definition uvgvpcc.hpp:121
bool projectionMode_
Definition uvgvpcc.hpp:71
size_t omDSPosY_
Definition uvgvpcc.hpp:86
size_t posD_
Definition uvgvpcc.hpp:69
size_t bestMatchIdx
Definition uvgvpcc.hpp:105
size_t bitangentAxis_
Definition uvgvpcc.hpp:65
size_t normalAxis_
Definition uvgvpcc.hpp:63
std::vector< size_t > depthPCidxL2_
Definition uvgvpcc.hpp:95
size_t referencePatchId_
Definition uvgvpcc.hpp:100
std::vector< typeGeometryInput > depthL1_
Definition uvgvpcc.hpp:90
size_t heightInPixel_
Definition uvgvpcc.hpp:78
std::vector< size_t > depthPCidxL1_
Definition uvgvpcc.hpp:94
size_t tangentAxis_
Definition uvgvpcc.hpp:64
size_t posV_
Definition uvgvpcc.hpp:68
std::vector< uint8_t > patchOccupancyMap_
Definition uvgvpcc.hpp:75
size_t unionPatchReferenceIdx
Definition uvgvpcc.hpp:110
size_t widthInOccBlk_
Definition uvgvpcc.hpp:80
bool isDiscarded
Definition uvgvpcc.hpp:112
void setAxis(size_t normalAxis, size_t tangentAxis, size_t bitangentAxis, bool projectionMode)
Definition uvgvpcc.hpp:114
size_t omDSPosX_
Definition uvgvpcc.hpp:85
size_t patchPpi_
Definition uvgvpcc.hpp:61