1. 21 Nov, 2019 1 commit
  2. 26 Aug, 2019 1 commit
  3. 14 Aug, 2019 1 commit
  4. 24 Apr, 2019 1 commit
  5. 16 Apr, 2019 5 commits
  6. 11 Feb, 2019 1 commit
  7. 06 Feb, 2019 3 commits
    • David Flynn's avatar
      release: update version to 5.0-rc1 · 551d2a84
      David Flynn authored
      551d2a84
    • Yiting Shao's avatar
      slice/m44910: add longest-edge slice partitioning scheme · 81bde409
      Yiting Shao authored and David Flynn's avatar David Flynn committed
      This partitioning method (--partitionMethod=2) finds the longest edge of
      the point cloud and divides it into --partitionNumUniformGeom=n slices
      along the longest edge.
      
      If n = 0, the ratio of longest edge to shortest edge determines
      the number of slices.
      81bde409
    • David Flynn's avatar
      hls: initial slice and partitioning framework · 693f8517
      David Flynn authored
      This commit provides a basic frame work for partitioning a frame into
      multiple slices, with the continued assumption of single-frame
      sequences.
      
      The decoder is modified to independently decode each slice and
      accumulate decoded points in a buffer for output.
      
      The encoder is updated to support partitioning the input point cloud
      into slices and to independently code each slice.  Points from
      reconstructed slices are accumulated and output at the end of the
      frame period.
      
      The partitioning process (partitioning methods are defined in
      partitioning.cpp) proceeds as follows:
      
       - quantise the input point cloud without duplicate point removal
         or reordering points.
      
       - apply the partitioning function to produce a list of tiles
         and slices, each slice having an origin, id, and list of point
         indexes that identify points in the input point cloud.
      
       - producing a source point cloud for each partition as a subset
         of the input point cloud.
      
       - compressing each partition (slice) as normal by quantising
         the partitioned input.  Recolouring is necessarily performed
         against the partitioned input since the recolouring method
         cannot correctly handle recolouring a partition from a complete
         point cloud.
      
      NB: this commit does not provide any partitioning methods.
      693f8517
  8. 05 Feb, 2019 1 commit
  9. 14 Nov, 2018 1 commit
  10. 02 Nov, 2018 1 commit
  11. 31 Oct, 2018 10 commits
    • David Flynn's avatar
      entropy/m43649: use schroarith for arithmetic coding · cb261e2d
      David Flynn authored
      This commit provides an implementation of the entropy coding interface
      using the dirac (schroedinger) arithmetic codec.
      
      In order to handle any remaining m-ary symbols, a naïve unary
      binarisation is employed.
      cb261e2d
    • David Flynn's avatar
      entropy: arithmetic codec wrapper to allow compile time selection · a3bc1ac4
      David Flynn authored
      This commit adds an arithmetic codec interface class that allows a
      compile time choice of arithmetic codec implementation.  Context types
      are renamed to support compile time selection, and existing support
      functions that were added to the third-party arithmetic codec are
      moved to the wrapper.
      a3bc1ac4
    • 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
      89fae502
    • Khaled Mammou's avatar
      entropy/m43592: dual lut dictionary coder implementation · 7605654e
      Khaled Mammou authored and David Flynn's avatar David Flynn committed
      This commit provides an m-ary entropy coder based on a fixed-size
      dictionary with periodic updates, a cache of recently used symbols
      (updated using an LRU eviction policy), and a fallback direct binary
      coding of any unhandled symbols.
      
      NB: the proposed version used a context with a halving period
      (max_count) of 64 symbols.  However, this conflicts with another
      adoption (512 symbols), and a wholesale replacement of the arithmetic
      codec and context model.  To resolve the conflict, the existing halving
      period (128) is used.
      7605654e
    • Philip A. Chou's avatar
      trisoup/m43786: initial import of c++ version of trisoup · 32137071
      Philip A. Chou authored and David Flynn's avatar David Flynn committed
      This commit integrates a c++ trisoup codec, replacing the previous matlab
      implementation.
      
      The provided code has been reworked to avoid duplicating code, dead code,
      and operate with the current HLS.
      32137071
    • David Flynn's avatar
      geom: refactor/isolate geometry brick coding · 952112c4
      David Flynn authored
      This commit splits the handling of the geometry brick header and octree
      geometry coding.  The encoder/decoder classes now take care of coding
      the header, while the geometry coder handles the geometry coding itself.
      952112c4
    • David Flynn's avatar
      refactor: move PCCTMC3Decoder definitions to cpp file · ee3ba26c
      David Flynn authored
      This commit moves method definitions out of a header file
      into a separate compilation unit.
      ee3ba26c
    • 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.
      a298b199
    • David Flynn's avatar
      refactor: move PCCTMC3Encoder definitions to cpp file · 5561887e
      David Flynn authored
      This commit moves method definitions out of a header file
      into a separate compilation unit.
      5561887e
    • David Flynn's avatar
      geom: refactor octree coding into seperate files · e7f8c7fc
      David Flynn authored
      The geometry coder is quite large, especially with trisoup and has no
      benefit to being a header only implementation.  This commit moves the
      geometry octree coder out of the header files and into
      geometry_octree_{en,de}coder.cpp.
      e7f8c7fc
  12. 05 Sep, 2018 1 commit
  13. 03 Sep, 2018 1 commit
  14. 29 Aug, 2018 1 commit
  15. 20 Aug, 2018 3 commits
    • 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
         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.
      faf569e8
    • Khaled Mammou's avatar
      m43591/geometry: look-ahead for neighbour occupancy retrieval · 9d11f9fd
      Khaled Mammou authored and David Flynn's avatar David Flynn committed
      9d11f9fd
    • David Flynn's avatar
      remove unused threading building blocks library · fa253c7d
      David Flynn authored
      This commit removes the bundled Intel Threading Building Blocks library
      from the repository.
      fa253c7d
  16. 08 Jun, 2018 1 commit
  17. 05 Jun, 2018 4 commits
  18. 23 May, 2018 1 commit
    • David Flynn's avatar
      build: explicitly list tmc3 source files in CMakeLists.txt · 8785717c
      David Flynn authored
      In order to avoid obscure broken builds when switching branches
      or otherwise adding/removing files, this commit removes the use
      of wild cards for source files in the tmc3 directory.
      
      To add files to or remove from the build, the tmc3/CMakeLists.txt
      must be modified, thereby permitting the build system to detect
      changes in the file list.
      8785717c
  19. 10 May, 2018 1 commit
  20. 09 May, 2018 1 commit