Commit d5d4e366 authored by David Flynn's avatar David Flynn
Browse files

hls/m45867: add geom_tile_id to geometry payload header

parent 70c904ff
......@@ -101,6 +101,9 @@ private:
// Current identifier of payloads with the same geometry
int _sliceId;
// Identifies the current tile
int _tileId;
};
//============================================================================
......
......@@ -131,6 +131,7 @@ PCCTMC3Encoder3::compress(
// geometry encoding
_sliceId = 0;
_tileId = 0;
if (1) {
PayloadBuffer payload(PayloadType::kGeometryBrick);
......@@ -239,6 +240,7 @@ PCCTMC3Encoder3::encodeGeometryBrick(PayloadBuffer* buf)
gbh.geomBoxOrigin.y() = int(minPositions.y());
gbh.geomBoxOrigin.z() = int(minPositions.z());
gbh.geom_slice_id = _sliceId;
gbh.geom_tile_id = _tileId;
gbh.geom_box_log2_scale = 0;
gbh.geom_max_node_size_log2 = nodeSizeLog2;
gbh.geom_num_points = int(pointCloud.getPointCount());
......
......@@ -205,6 +205,7 @@ struct GeometryParameterSet {
struct GeometryBrickHeader {
int geom_geom_parameter_set_id;
int geom_tile_id;
int geom_slice_id;
// derived from geom_box_origin_{x,y,z} * (1 << geom_box_log2_scale)
......
......@@ -343,6 +343,7 @@ write(
auto bs = makeBitWriter(std::back_inserter(*buf));
bs.writeUe(gbh.geom_geom_parameter_set_id);
bs.writeUe(gbh.geom_tile_id);
bs.writeUe(gbh.geom_slice_id);
if (gps.geom_box_present_flag) {
......@@ -372,6 +373,7 @@ parseGbh(
auto bs = makeBitReader(buf.begin(), buf.end());
bs.readUe(&gbh.geom_geom_parameter_set_id);
bs.readUe(&gbh.geom_tile_id);
bs.readUe(&gbh.geom_slice_id);
if (gps.geom_box_present_flag) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment