1. 21 Nov, 2019 3 commits
    • David Flynn's avatar
      pointcloud/m42611: change geometry representation from double to int32_t · e36bbaee
      David Flynn authored
      Since the codec can only code integer positions, using Vec3<double> for
      position data requires repeated inefficient format conversions.  This
      commit changes the internal representation to Vec3<int32_t>.
    • Xiang Zhang's avatar
      geom/m49232: octree node geometry quantisation · 4d0d1e66
      Xiang Zhang authored and David Flynn's avatar David Flynn committed
      This introduces a quantization scheme into the octree coding process,
      enables adaptive geometry quantization for different regions of the
      point cloud.  This in-loop scheme is independent of the any quantisation
      performed in non-normative pre-processing at the input to the encoder.
      At a particular depth of the octree, the remaining (uncoded) position
      bits of each point are quantised according to a per-node (or rather,
      per-subtree) QP.  The QP itself is signalled as an offset to a base QP.
      The following configuration parameters are added:
    • Noritaka Iguchi's avatar
      attr/m49626: add region-wise quantization support for LoD coding · 6b18730b
      Noritaka Iguchi authored and David Flynn's avatar David Flynn committed
      A per-slice region may be defined with a qp offset.  Points within
      the region have an offset applied to the per-level QP.
  2. 12 Nov, 2019 1 commit
  3. 12 Aug, 2019 3 commits
  4. 16 Apr, 2019 3 commits
  5. 31 Oct, 2018 4 commits
    • David Flynn's avatar
      geom/m43600: intra geometry occupancy prediction · 89fae502
      David Flynn authored
      This commit provides a method to predict the child occupancy bits of a
      node based on the node's 26 neighbours.  The prediction is used to
      contextualise coding of each occupancy bit.
      This tool requires the use of the occupancyAtlas for neighbour lookup.
      NB: a restriction in the current implementation requires that the
      atlas size is at most 8³.
      intra_pred_max_node_size_log2: 6
    • Khaled Mammou's avatar
      attr/m43780: use dual lut coder for transform coefficients · fc813708
      Khaled Mammou authored and David Flynn's avatar David Flynn committed
      This commit replaces the m-ary coding of transform coefficient values
      with a binary coding using the dual-lut coder.
      Reworked to include a bug fix where the maximum attribute symbol value
      used by the dual lut coder is 64 rather than 255
    • David Flynn's avatar
      refactor: tidy includes · 2c6d7287
      David Flynn authored
      This commit removes unnecessary include directives.
    • David Flynn's avatar
      refactor: move common constants to constants.h · a298b199
      David Flynn authored
      This commit moves various constants from PCCTMC3Common.h to a new
      constants.h.  Hard coded values of constants have been replaced with
      their symbolic name.
  6. 20 Aug, 2018 1 commit
    • David Flynn's avatar
      m43953/hls: implement sps, gps, aps syntax structures and tlv fileformat · faf569e8
      David Flynn authored
      This commit rewrites the codec high-level syntax:
       - the bitstream is divided into "bricks" (akin to an AVC/HEVC
       - 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.
  7. 05 Jun, 2018 1 commit
    • Philip A. Chou's avatar
      m42634/tmc1: add mode to invoke TMC1 geometry compression · c3d42c2d
      Philip A. Chou authored and David Flynn's avatar David Flynn committed
      This commit does not add the triangle soup geometry compressor to TMC3,
      rather.  Rather, it adds a means to call out to TMC1 binaries to perform
      the compression, integrate the results into the bitstream.
      Attribute compression is performed natively by the TMC13 codec.
  8. 09 May, 2018 1 commit
  9. 06 May, 2018 1 commit
  10. 20 Feb, 2018 1 commit
  11. 17 Feb, 2018 1 commit
    • David Flynn's avatar
      use program-options-lite for command-line and config handling · 5529c24e
      David Flynn authored
      This commit replaces the previous command-line argument parsing with
      program-options-lite, which additionally serves as a simple config-file
      A table based configuration of options provides in a single place
      option naming, help text, and default values.
      Side effects of this change are to:
       - adds further error checking for unknown arguments (warning only), parse
         failures, required options.
       - replace the default constructor of Parameters,
         PCCAttributeEncodeParamaters, and PCCAttributeEncodeParamaters
         with defaults in args handler
       - updates the type of Parameters::mode & ...::colorTransform to be more
         more descriptive.
      git-svn-id: http://wg11.sc29.org/svn/repos/MPEG-I/Part5-PointCloudCompression/TM/TMC3/trunk@1318 94298a81-5874-47c9-aab8-bfb24faeed7f
  12. 17 Jan, 2018 1 commit
  13. 03 Jan, 2018 1 commit
  14. 11 Dec, 2017 2 commits