45#include "../utils/utils.hpp"
108 void setAxis(
size_t normalAxis,
size_t tangentAxis,
size_t bitangentAxis,
bool projectionMode) {
138 throw std::runtime_error(
"ViewId (" + std::to_string(patchPpi) +
") not allowed... exiting");
144 std::stringstream str;
151 str <<
", minU=" <<
posU_;
152 str <<
", minV=" <<
posV_;
153 str <<
", minD=" <<
posD_;
154 str <<
", sizeD=" <<
sizeD_;
206 std::vector<std::shared_ptr<Frame>>
frames;
241void 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:594
void initializeEncoder()
Create the context of the uvgVPCCenc encoder. Parse the input parameters and verify if the given conf...
Definition uvgvpcc.cpp:469
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:489
void emptyFrameQueue()
This function is called when all frames to be processed have been sent to the encoder....
Definition uvgvpcc.cpp:583
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:508
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:222
std::unique_ptr< char[]> data
Definition uvgvpcc.hpp:224
v3c_chunk(size_t len, std::unique_ptr< char[]> data)
Definition uvgvpcc.hpp:228
size_t len
Definition uvgvpcc.hpp:223
std::vector< size_t > v3c_unit_sizes
Definition uvgvpcc.hpp:225
Definition uvgvpcc.hpp:233
std::queue< v3c_chunk > v3c_chunks
Definition uvgvpcc.hpp:235
std::counting_semaphore available_chunks
Definition uvgvpcc.hpp:236
std::mutex io_mutex
Definition uvgvpcc.hpp:237
size_t v3c_unit_size_precision_bytes
Definition uvgvpcc.hpp:234
Definition uvgvpcc.hpp:169
size_t mapHeight
Definition uvgvpcc.hpp:183
std::string pointCloudPath
Definition uvgvpcc.hpp:175
std::vector< uint8_t > attributeMapL2
Definition uvgvpcc.hpp:193
size_t pointCount
Definition uvgvpcc.hpp:177
std::weak_ptr< GOF > gof
Definition uvgvpcc.hpp:172
std::vector< uint8_t > geometryMapL2
Definition uvgvpcc.hpp:190
std::vector< uint8_t > occupancyMap
Definition uvgvpcc.hpp:186
Frame(const size_t &frameId, const size_t &frameNumber, const std::string &pointCloudPath)
Definition uvgvpcc.hpp:195
std::shared_ptr< std::counting_semaphore< UINT16_MAX > > conccurentFrameSem
Definition uvgvpcc.hpp:173
std::vector< uint8_t > geometryMapL1
Definition uvgvpcc.hpp:189
std::vector< uint8_t > attributeMapL1
Definition uvgvpcc.hpp:192
std::vector< Vector3< uint8_t > > pointsAttribute
Definition uvgvpcc.hpp:179
~Frame()
Definition uvgvpcc.hpp:197
std::vector< Patch > patchList
Definition uvgvpcc.hpp:181
size_t mapHeightDS
Definition uvgvpcc.hpp:184
size_t frameNumber
Definition uvgvpcc.hpp:171
std::vector< Vector3< typeGeometryInput > > pointsGeometry
Definition uvgvpcc.hpp:178
void printInfo() const
Definition uvgvpcc.cpp:454
size_t frameId
Definition uvgvpcc.hpp:170
std::vector< uint8_t > occupancyMapDS
Definition uvgvpcc.hpp:187
Definition uvgvpcc.hpp:205
std::vector< std::shared_ptr< Frame > > frames
Definition uvgvpcc.hpp:206
size_t mapHeightGOF
Definition uvgvpcc.hpp:210
std::vector< uint8_t > bitstreamAttribute
Definition uvgvpcc.hpp:215
std::vector< uint8_t > bitstreamGeometry
Definition uvgvpcc.hpp:214
size_t nbFrames
Definition uvgvpcc.hpp:207
size_t mapHeightDSGOF
Definition uvgvpcc.hpp:211
size_t gofId
Definition uvgvpcc.hpp:208
std::vector< uint8_t > bitstreamOccupancy
Definition uvgvpcc.hpp:213
Definition uvgvpcc.hpp:54
size_t posU_
Definition uvgvpcc.hpp:62
bool isLinkToAMegaPatch
Definition uvgvpcc.hpp:105
bool axisSwap_
Definition uvgvpcc.hpp:83
size_t widthInPixel_
Definition uvgvpcc.hpp:72
size_t patchIndex_
Definition uvgvpcc.hpp:55
size_t area_
Definition uvgvpcc.hpp:93
std::string toString() const
Definition uvgvpcc.hpp:143
size_t sizeD_
Definition uvgvpcc.hpp:68
std::vector< typeGeometryInput > depthL2_
Definition uvgvpcc.hpp:86
size_t heightInOccBlk_
Definition uvgvpcc.hpp:77
void setPatchPpiAndAxis(size_t patchPpi)
Definition uvgvpcc.hpp:115
bool projectionMode_
Definition uvgvpcc.hpp:66
size_t omDSPosY_
Definition uvgvpcc.hpp:81
size_t posD_
Definition uvgvpcc.hpp:64
size_t bestMatchIdx
Definition uvgvpcc.hpp:100
size_t bitangentAxis_
Definition uvgvpcc.hpp:60
size_t normalAxis_
Definition uvgvpcc.hpp:58
std::vector< size_t > depthPCidxL2_
Definition uvgvpcc.hpp:90
size_t referencePatchId_
Definition uvgvpcc.hpp:95
std::vector< typeGeometryInput > depthL1_
Definition uvgvpcc.hpp:85
bool isMatched_
Definition uvgvpcc.hpp:104
size_t heightInPixel_
Definition uvgvpcc.hpp:73
std::vector< size_t > depthPCidxL1_
Definition uvgvpcc.hpp:89
size_t tangentAxis_
Definition uvgvpcc.hpp:59
size_t posV_
Definition uvgvpcc.hpp:63
std::vector< uint8_t > patchOccupancyMap_
Definition uvgvpcc.hpp:70
size_t unionPatchReferenceIdx
Definition uvgvpcc.hpp:106
size_t widthInOccBlk_
Definition uvgvpcc.hpp:75
void setAxis(size_t normalAxis, size_t tangentAxis, size_t bitangentAxis, bool projectionMode)
Definition uvgvpcc.hpp:108
size_t omDSPosX_
Definition uvgvpcc.hpp:80
size_t patchPpi_
Definition uvgvpcc.hpp:56