• 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