FZGPUModules 2.0
GPU-accelerated modular compression pipelines
Loading...
Searching...
No Matches
clog_stage.h File Reference

Compressed-Logarithm (adaptive bit-width) coding stage — lossless byte-stream compressor. More...

#include "stage/stage.h"
#include "fzm_format.h"
#include "backend/types.h"
#include <cstdint>
#include <cstring>
#include <stdexcept>
#include <string>
#include <unordered_map>
#include <vector>

Go to the source code of this file.

Classes

class  fz::CLOGStage
 

Namespaces

namespace  fz
 

Detailed Description

Compressed-Logarithm (adaptive bit-width) coding stage — lossless byte-stream compressor.

Standalone port of the LC framework CLOG component. Splits each chunk into a fixed 32 subchunks; each subchunk finds its own max value and bit-packs every element in it to the minimum bit-width needed to represent that max losslessly (no element exceeds the subchunk's own max, so truncating every element to that width loses nothing). Unlike RREStage/RAREStage/RZEStage/RAZEStage, there is no auxiliary bitmap and no per-element full/dropped decision — every element in a subchunk is packed at the same fixed width. T must be unsigned (uint8/16/32/64 only).

Output stream layout (identical container to RREStage/RZEStage):

[uint32_t: original byte count]
[uint32_t: num_chunks]
[uint32_t × n_chunks: per-chunk compressed sizes (high bit → stored raw)]
[compressed chunk data...]

Serialized header (9 bytes): [0..3] chunk_size (uint32_t LE), [4] word_size (uint8_t), [5..8] cached_orig_bytes (uint32_t LE).