45#include <unordered_map>
47#include "../utils/utils.hpp"
110 void setAxis(
size_t normalAxis,
size_t tangentAxis,
size_t bitangentAxis,
bool projectionMode) {
140 throw std::runtime_error(
"ViewId (" + std::to_string(patchPpi) +
") not allowed... exiting");
146 std::stringstream str;
153 str <<
", minU=" <<
posU_;
154 str <<
", minV=" <<
posV_;
155 str <<
", minD=" <<
posD_;
156 str <<
", sizeD=" <<
sizeD_;
208 std::vector<std::shared_ptr<Frame>>
frames;
243void setParameter(
const std::string& parameterName,
const std::string& parameterValue);
Definition jobManagement.cpp:168
void stopEncoder()
Insure a proper end of the encoder execution.
Definition uvgvpcc.cpp:622
void initializeEncoder()
Create the context of the uvgVPCCenc encoder. Parse the input parameters and verify if the given conf...
Definition uvgvpcc.cpp:497
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:517
void emptyFrameQueue()
This function is called when all frames to be processed have been sent to the encoder....
Definition uvgvpcc.cpp:611
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:536
constexpr size_t INVALID_PATCH_INDEX
Definition utils.hpp:52
const size_t g_infinitenumber
Definition utils.hpp:49
Bitstream writing miscellaneous.
Definition uvgvpcc.hpp:224
std::unique_ptr< char[]> data
Definition uvgvpcc.hpp:226
v3c_chunk(size_t len, std::unique_ptr< char[]> data)
Definition uvgvpcc.hpp:230
size_t len
Definition uvgvpcc.hpp:225
std::vector< size_t > v3c_unit_sizes
Definition uvgvpcc.hpp:227
Definition uvgvpcc.hpp:235
std::queue< v3c_chunk > v3c_chunks
Definition uvgvpcc.hpp:237
std::counting_semaphore available_chunks
Definition uvgvpcc.hpp:238
std::mutex io_mutex
Definition uvgvpcc.hpp:239
size_t v3c_unit_size_precision_bytes
Definition uvgvpcc.hpp:236
Definition uvgvpcc.hpp:171
size_t mapHeight
Definition uvgvpcc.hpp:185
std::string pointCloudPath
Definition uvgvpcc.hpp:177
std::vector< uint8_t > attributeMapL2
Definition uvgvpcc.hpp:195
size_t pointCount
Definition uvgvpcc.hpp:179
std::weak_ptr< GOF > gof
Definition uvgvpcc.hpp:174
std::vector< uint8_t > geometryMapL2
Definition uvgvpcc.hpp:192
std::vector< uint8_t > occupancyMap
Definition uvgvpcc.hpp:188
Frame(const size_t &frameId, const size_t &frameNumber, const std::string &pointCloudPath)
Definition uvgvpcc.hpp:197
std::shared_ptr< std::counting_semaphore< UINT16_MAX > > conccurentFrameSem
Definition uvgvpcc.hpp:175
std::vector< uint8_t > geometryMapL1
Definition uvgvpcc.hpp:191
std::vector< uint8_t > attributeMapL1
Definition uvgvpcc.hpp:194
std::vector< Vector3< uint8_t > > pointsAttribute
Definition uvgvpcc.hpp:181
~Frame()
Definition uvgvpcc.hpp:199
std::vector< Patch > patchList
Definition uvgvpcc.hpp:183
size_t mapHeightDS
Definition uvgvpcc.hpp:186
size_t frameNumber
Definition uvgvpcc.hpp:173
std::vector< Vector3< typeGeometryInput > > pointsGeometry
Definition uvgvpcc.hpp:180
void printInfo() const
Definition uvgvpcc.cpp:482
size_t frameId
Definition uvgvpcc.hpp:172
std::vector< uint8_t > occupancyMapDS
Definition uvgvpcc.hpp:189
Definition uvgvpcc.hpp:207
std::vector< std::shared_ptr< Frame > > frames
Definition uvgvpcc.hpp:208
size_t mapHeightGOF
Definition uvgvpcc.hpp:212
std::vector< uint8_t > bitstreamAttribute
Definition uvgvpcc.hpp:217
std::vector< uint8_t > bitstreamGeometry
Definition uvgvpcc.hpp:216
size_t nbFrames
Definition uvgvpcc.hpp:209
size_t mapHeightDSGOF
Definition uvgvpcc.hpp:213
size_t gofId
Definition uvgvpcc.hpp:210
std::vector< uint8_t > bitstreamOccupancy
Definition uvgvpcc.hpp:215
Definition uvgvpcc.hpp:56
size_t posU_
Definition uvgvpcc.hpp:64
bool isLinkToAMegaPatch
Definition uvgvpcc.hpp:107
bool axisSwap_
Definition uvgvpcc.hpp:85
size_t widthInPixel_
Definition uvgvpcc.hpp:74
size_t patchIndex_
Definition uvgvpcc.hpp:57
size_t area_
Definition uvgvpcc.hpp:95
std::string toString() const
Definition uvgvpcc.hpp:145
size_t sizeD_
Definition uvgvpcc.hpp:70
std::vector< typeGeometryInput > depthL2_
Definition uvgvpcc.hpp:88
size_t heightInOccBlk_
Definition uvgvpcc.hpp:79
void setPatchPpiAndAxis(size_t patchPpi)
Definition uvgvpcc.hpp:117
bool projectionMode_
Definition uvgvpcc.hpp:68
size_t omDSPosY_
Definition uvgvpcc.hpp:83
size_t posD_
Definition uvgvpcc.hpp:66
size_t bestMatchIdx
Definition uvgvpcc.hpp:102
size_t bitangentAxis_
Definition uvgvpcc.hpp:62
size_t normalAxis_
Definition uvgvpcc.hpp:60
std::vector< size_t > depthPCidxL2_
Definition uvgvpcc.hpp:92
size_t referencePatchId_
Definition uvgvpcc.hpp:97
std::vector< typeGeometryInput > depthL1_
Definition uvgvpcc.hpp:87
bool isMatched_
Definition uvgvpcc.hpp:106
size_t heightInPixel_
Definition uvgvpcc.hpp:75
std::vector< size_t > depthPCidxL1_
Definition uvgvpcc.hpp:91
size_t tangentAxis_
Definition uvgvpcc.hpp:61
size_t posV_
Definition uvgvpcc.hpp:65
std::vector< uint8_t > patchOccupancyMap_
Definition uvgvpcc.hpp:72
size_t unionPatchReferenceIdx
Definition uvgvpcc.hpp:108
size_t widthInOccBlk_
Definition uvgvpcc.hpp:77
void setAxis(size_t normalAxis, size_t tangentAxis, size_t bitangentAxis, bool projectionMode)
Definition uvgvpcc.hpp:110
size_t omDSPosX_
Definition uvgvpcc.hpp:82
size_t patchPpi_
Definition uvgvpcc.hpp:58