- 29 Aug, 2018 11 commits
-
-
David Flynn authored
This is an editorial change to improve naming clarity: attr_count represents the number of elements (dimensionality) in an attribute set rather than the total number of attributes.
-
David Flynn authored
This commit adds the trisoup parameters to the GPS.
-
-
This commit fixes a premature determination of the point count, resulting in no predictor weights being calculated.
-
This commit fixes an error in the hls: dist2 is capable of being a 64-bit value and must not be signalled as 32-bit.
-
This commit modifies PCCBuildLevelOfDetail to use the direct dist2 value, rather than attempting to derive dist2. This unifies the behaviour of the two PCCBuildLevelOfDetail*() implementations.
-
David Flynn authored
-
David Flynn authored
This is the upper allowed value for best coding gain.
-
David Flynn authored
-
David Flynn authored
-
David Flynn authored
-
- 20 Aug, 2018 28 commits
-
-
David Flynn authored
This commit allows the attribute codec to be parametrised by attribute bitdepth. The attribute bitdepth is signalled in the attribute's sequence parameter set description. The specified bitdepth affects cliping in the attribute prediction and reconstruction process.
-
David Flynn authored
This commit allows individual payloads to be inserted into the decoder rather than the decoder expecting to decode each payload in a fixed order. When an output pointcloud is ready, the decoder will call a user supplied callback with the conforming output pointcloud. The user may choose to rescale this point cloud as necessary.
-
David Flynn authored
This commit removes the "lossless" geometry bypass coding mode that simply skipped coding of geometry and required the decoder to read the geometry from the source video. Bypass coding mode is replaced by octree coding.
-
David Flynn authored
This commit rewrites the codec high-level syntax: - the bitstream is divided into "bricks" (akin to an AVC/HEVC slice/tile). - sequence, geometry and attribute parameter sets describe the coding parameters in use generally and for a specific brick. - marshalling the bitstream payloads to a file format is achieved using a type-length-value encoding scheme. Additionally, the triSoup bitstream scale and translation values have been unified with (replaced by) the octree counterparts. For compatibility, existing command line parameters continue to function as before. NB: this commit does not incorporate flexibility in the decoding order. The decoder requires the bitstream to be presented in a fixed order.
-
Point positions are represented at integer precision. This commit removes the need to perform an epsilon comparison when comparing floating point positions.
-
-
-
David Flynn authored
The IntegerLift name is misleading in light of a separate coding method that uses lifting predict and update operators. This commit renames the method to specify it is a prediction-only scheme.
-
This commit implements a lifting scheme optimized for lossy attribute compression, consisting of predict/update operators, and an adaptive quantization strategy.
-
Adaptively pick the number of neighbours considered during the prediction based on analysis of the reconstructed attribute values of the neighbours. From m42642, this is performed by computing the maximum difference between any two reconstructed attribute values of a points neighbours. If the variability is higher than a threshold, then apply a rate-distortion optimization procedure to choose between using either a single neighbour or all neighbours. The index of the best prediction strategy is arithmetically encoded. This commit: - implements the m42642 method - moves buildPredictors into transform-specific attribute encoding/decoding - adds quantizationStepsChroma - renames quantizationSteps -> quantizationStepsLuma df: fixed incorrect application of quantizationStepsLuma|Chroma df: updated cat3 cfg to specify quantizationStepsChroma df: fixed header encoding if quantizationStepsChroma missing
-
David Flynn authored
This commit removes the searchRange option that was set to 0 by m42538.
-
David Flynn authored
-
David Flynn authored
-
-
David Flynn authored
-
David Flynn authored
In the contextualisation of occupancy coding using neighbour patterns, this commit replaces the case when neighbour contextualisation is disabled with a constraint that restricts neighbour contextualisation only examine the direct siblings of a node. The restriction ensures that at most three neighbours may be present for a node. The configuration option "neighbourContextualisation=1" is replaced with "neighbourContextRestriction=0".
-
David Flynn authored
This commit provides an implementation of m42522 to code occupancy using a binary context model rather than a 255-ary model. A total of 581 binary contexts are used compared to the previous 10 255-ary contexts.
-
David Flynn authored
-
David Flynn authored
-
David Flynn authored
-
David Flynn authored
This commit removes the bundled Intel Threading Building Blocks library from the repository.
-
David Flynn authored
-
David Flynn authored
-
David Flynn authored
-
David Flynn authored
This commit adds support for setting encflags, decflags and pcerrorflags at the top-level of the config which are then applied to all categories. Precedence is such that global enc/dec/pcerror flags are set after all other more-specific definitions.
-
David Flynn authored
The gen-cfg.pl tool permits the merging of yaml input prior to generation of the derived configuration files. This commit permits merging of existing arrays. For example, given the following input (in order): file a: "{ key: [a] }" file b: "{ key: [b] }" The merged structure is { key: [a, b] }.
-
David Flynn authored
The provision of these configuration files causes confusion when they are not kept in sync with the .yaml files -- either due to modification of the .yaml files without regenerating the .cfg files, or due to direct modification of the .cfg files themselves. Please see cfg/README.md for further details on how to generate configuration files for the encoder/decoder.
-
David Flynn authored
-
- 23 Jul, 2018 1 commit
-
-
David Flynn authored
-