45#include <unordered_map>
47#include "../utils/parameters.hpp"
48#include "../utils/constants.hpp"
113 void setAxis(
size_t normalAxis,
size_t tangentAxis,
size_t bitangentAxis,
bool projectionMode) {
143 throw std::runtime_error(
"ViewId (" + std::to_string(patchPpi) +
") not allowed... exiting");
149 std::stringstream str;
156 str <<
", minU=" <<
posU_;
157 str <<
", minV=" <<
posV_;
158 str <<
", minD=" <<
posD_;
159 str <<
", sizeD=" <<
sizeD_;
211 std::vector<std::shared_ptr<Frame>>
frames;
246void 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:635
void initializeEncoder()
Create the context of the uvgVPCCenc encoder. Parse the input parameters and verify if the given conf...
Definition uvgvpcc.cpp:513
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:533
void emptyFrameQueue()
This function is called when all frames to be processed have been sent to the encoder....
Definition uvgvpcc.cpp:624
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:552
Definition uvgvpcc.hpp:55
constexpr size_t INVALID_PATCH_INDEX
Definition constants.hpp:53
const Parameters * p_
Definition uvgvpcc.cpp:498
const size_t g_infinitenumber
Definition constants.hpp:50
Bitstream writing miscellaneous.
Definition uvgvpcc.hpp:227
std::unique_ptr< char[]> data
Definition uvgvpcc.hpp:229
v3c_chunk(size_t len, std::unique_ptr< char[]> data)
Definition uvgvpcc.hpp:233
size_t len
Definition uvgvpcc.hpp:228
std::vector< size_t > v3c_unit_sizes
Definition uvgvpcc.hpp:230
Definition uvgvpcc.hpp:238
std::queue< v3c_chunk > v3c_chunks
Definition uvgvpcc.hpp:240
std::counting_semaphore available_chunks
Definition uvgvpcc.hpp:241
std::mutex io_mutex
Definition uvgvpcc.hpp:242
size_t v3c_unit_size_precision_bytes
Definition uvgvpcc.hpp:239
Definition uvgvpcc.hpp:174
size_t mapHeight
Definition uvgvpcc.hpp:188
std::string pointCloudPath
Definition uvgvpcc.hpp:180
std::vector< uint8_t > attributeMapL2
Definition uvgvpcc.hpp:198
size_t pointCount
Definition uvgvpcc.hpp:182
std::weak_ptr< GOF > gof
Definition uvgvpcc.hpp:177
std::vector< uint8_t > geometryMapL2
Definition uvgvpcc.hpp:195
std::vector< uint8_t > occupancyMap
Definition uvgvpcc.hpp:191
Frame(const size_t &frameId, const size_t &frameNumber, const std::string &pointCloudPath)
Definition uvgvpcc.hpp:200
std::vector< uvgutils::VectorN< typeGeometryInput, 3 > > pointsGeometry
Definition uvgvpcc.hpp:183
std::shared_ptr< std::counting_semaphore< UINT16_MAX > > conccurentFrameSem
Definition uvgvpcc.hpp:178
std::vector< uint8_t > geometryMapL1
Definition uvgvpcc.hpp:194
std::vector< uint8_t > attributeMapL1
Definition uvgvpcc.hpp:197
~Frame()
Definition uvgvpcc.hpp:202
std::vector< Patch > patchList
Definition uvgvpcc.hpp:186
size_t mapHeightDS
Definition uvgvpcc.hpp:189
size_t frameNumber
Definition uvgvpcc.hpp:176
void printInfo() const
Definition uvgvpcc.cpp:500
size_t frameId
Definition uvgvpcc.hpp:175
std::vector< uvgutils::VectorN< uint8_t, 3 > > pointsAttribute
Definition uvgvpcc.hpp:184
std::vector< uint8_t > occupancyMapDS
Definition uvgvpcc.hpp:192
Definition uvgvpcc.hpp:210
std::vector< std::shared_ptr< Frame > > frames
Definition uvgvpcc.hpp:211
size_t mapHeightGOF
Definition uvgvpcc.hpp:215
std::vector< uint8_t > bitstreamAttribute
Definition uvgvpcc.hpp:220
std::vector< uint8_t > bitstreamGeometry
Definition uvgvpcc.hpp:219
size_t nbFrames
Definition uvgvpcc.hpp:212
size_t mapHeightDSGOF
Definition uvgvpcc.hpp:216
size_t gofId
Definition uvgvpcc.hpp:213
std::vector< uint8_t > bitstreamOccupancy
Definition uvgvpcc.hpp:218
Definition uvgvpcc.hpp:58
size_t posU_
Definition uvgvpcc.hpp:66
bool isLinkToAMegaPatch
Definition uvgvpcc.hpp:108
bool axisSwap_
Definition uvgvpcc.hpp:87
size_t widthInPixel_
Definition uvgvpcc.hpp:76
size_t patchIndex_
Definition uvgvpcc.hpp:59
size_t area_
Definition uvgvpcc.hpp:97
std::string toString() const
Definition uvgvpcc.hpp:148
size_t sizeD_
Definition uvgvpcc.hpp:72
std::vector< typeGeometryInput > depthL2_
Definition uvgvpcc.hpp:90
size_t heightInOccBlk_
Definition uvgvpcc.hpp:81
void setPatchPpiAndAxis(size_t patchPpi)
Definition uvgvpcc.hpp:120
bool projectionMode_
Definition uvgvpcc.hpp:70
size_t omDSPosY_
Definition uvgvpcc.hpp:85
size_t posD_
Definition uvgvpcc.hpp:68
size_t bestMatchIdx
Definition uvgvpcc.hpp:104
size_t bitangentAxis_
Definition uvgvpcc.hpp:64
size_t normalAxis_
Definition uvgvpcc.hpp:62
std::vector< size_t > depthPCidxL2_
Definition uvgvpcc.hpp:94
size_t referencePatchId_
Definition uvgvpcc.hpp:99
std::vector< typeGeometryInput > depthL1_
Definition uvgvpcc.hpp:89
size_t heightInPixel_
Definition uvgvpcc.hpp:77
std::vector< size_t > depthPCidxL1_
Definition uvgvpcc.hpp:93
size_t tangentAxis_
Definition uvgvpcc.hpp:63
size_t posV_
Definition uvgvpcc.hpp:67
std::vector< uint8_t > patchOccupancyMap_
Definition uvgvpcc.hpp:74
size_t unionPatchReferenceIdx
Definition uvgvpcc.hpp:109
size_t widthInOccBlk_
Definition uvgvpcc.hpp:79
bool isDiscarded
Definition uvgvpcc.hpp:111
void setAxis(size_t normalAxis, size_t tangentAxis, size_t bitangentAxis, bool projectionMode)
Definition uvgvpcc.hpp:113
size_t omDSPosX_
Definition uvgvpcc.hpp:84
size_t patchPpi_
Definition uvgvpcc.hpp:60