PCL
pcl::LZ4HCCompression Class Reference

Implementation of the LZ4-HC compression algorithm. More...

#include <Compression.h>

+ Inheritance diagram for pcl::LZ4HCCompression:

Public Member Functions

String AlgorithmName () const override
 
int DefaultCompressionLevel () const override
 
int MaxCompressionLevel () const override
 
- Public Member Functions inherited from pcl::Compression
 Compression ()=default
 
 Compression (const Compression &)=default
 
 ~Compression () override
 
bool ByteShufflingEnabled () const
 
bool ChecksumsEnabled () const
 
template<class C >
subblock_list Compress (const C &data, Performance *perf=nullptr) const
 
subblock_list Compress (const void *data, size_type size, Performance *perf=nullptr) const
 
int CompressionLevel () const
 
void DisableByteShuffling (bool disable=true)
 
void DisableChecksums (bool disable=true)
 
void EnableByteShuffling (bool enable=true)
 
void EnableChecksums (bool enable=true)
 
size_type ItemSize () const
 
virtual int MinCompressionLevel () const
 
Compressionoperator= (const Compression &)=default
 
void SetCompressionLevel (int level)
 
void SetDefaultCompressionLevel ()
 
void SetItemSize (size_type itemSize)
 
void SetSubblockSize (size_type size)
 
size_type SubblockSize () const
 
ByteArray Uncompress (const ByteArray &compressedData, size_type uncompressedSize, Performance *perf=nullptr) const
 
ByteArray Uncompress (const subblock_list &subblocks, Performance *perf=nullptr) const
 
size_type Uncompress (void *data, size_type maxSize, const subblock_list &subblocks, Performance *perf=nullptr) const
 
- Public Member Functions inherited from pcl::ParallelProcess
 ParallelProcess ()=default
 
 ParallelProcess (const ParallelProcess &)=default
 
virtual ~ParallelProcess ()
 
void DisableParallelProcessing (bool disable=true) noexcept
 
void EnableParallelProcessing (bool enable=true, int maxProcessors=0) noexcept
 
bool IsParallelProcessingEnabled () const noexcept
 
int MaxProcessors () const noexcept
 
ParallelProcessoperator= (const ParallelProcess &)=default
 
void SetMaxProcessors (int maxProcessors) noexcept
 
void Swap (ParallelProcess &process) noexcept
 

Additional Inherited Members

- Public Types inherited from pcl::Compression
using subblock_list = Array< Subblock >
 
- Protected Member Functions inherited from pcl::Compression
void Throw (const String &errorMessage) const
 
- Static Protected Member Functions inherited from pcl::Compression
static void InPlaceUnshuffle (uint8 *data, size_type size, size_type itemSize)
 
static ByteArray Shuffle (const uint8 *data, size_type size, size_type itemSize)
 
static ByteArray Unshuffle (const uint8 *data, size_type size, size_type itemSize)
 

Detailed Description

This class implements the LZ4 compression algorithm (high compression variant) by Yann Collet.

LZ4 is a lossless data compression algorithm focused on compression and decompression speed.

The underlying implementation in the PixInsight core application is the reference implementation by Yann Collet, which has been released under a New BSD license.

References

See also
Compression, LZ4Compression, ZLibCompression, ZstdCompression

Definition at line 765 of file Compression.h.

Member Function Documentation

◆ AlgorithmName()

String pcl::LZ4HCCompression::AlgorithmName ( ) const
inlineoverridevirtual

Returns the name of this data compression algorithm (LZ4-HC).

Implements pcl::Compression.

Definition at line 772 of file Compression.h.

◆ DefaultCompressionLevel()

int pcl::LZ4HCCompression::DefaultCompressionLevel ( ) const
overridevirtual

Returns the default compression optimization level for this algorithm. The returned value represents a good compromise between execution speed and compression ratio.

Implements pcl::Compression.

◆ MaxCompressionLevel()

int pcl::LZ4HCCompression::MaxCompressionLevel ( ) const
overridevirtual

Returns the maximum compression optimization level supported by this algorithm. Higher levels tend to provide higher compression ratios at the cost of more computational work.

Implements pcl::Compression.


The documentation for this class was generated from the following file: