1. 31 Oct, 2018 9 commits
    • 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.
    • 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
      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.
    • 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
      The provided code has been reworked to avoid duplicating code, dead code,
      and operate with the current HLS.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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
  2. 05 Sep, 2018 1 commit
  3. 03 Sep, 2018 1 commit
  4. 29 Aug, 2018 1 commit
  5. 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
       - 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.
    • Khaled Mammou's avatar
      m43591/geometry: look-ahead for neighbour occupancy retrieval · 9d11f9fd
      Khaled Mammou authored and David Flynn's avatar David Flynn committed
    • 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.
  6. 08 Jun, 2018 1 commit
  7. 05 Jun, 2018 4 commits
  8. 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.
  9. 10 May, 2018 1 commit
  10. 09 May, 2018 1 commit
  11. 27 Feb, 2018 1 commit
  12. 20 Feb, 2018 1 commit
  13. 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
  14. 11 Dec, 2017 1 commit