PCL
pcl::ZstdCompression Class Reference

Implementation of the Zstandard compression algorithm. More...

#include <Compression.h>

+ Inheritance diagram for pcl::ZstdCompression:

Public Member Functions

String AlgorithmName () const override
 
int DefaultCompressionLevel () const override
 
int MaxCompressionLevel () const override
 
int MinCompressionLevel () 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
 
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 Zstandard (or "zstd") compression algorithm developed by Yann Collet at Facebook.

Zstandard is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.

The underlying implementation in PixInsight is the zstd reference implementation, which has been released under a BSD + GPLv2 dual license.

References

See also
Compression, LZ4Compression, LZ4HCCompression, ZLibCompression

Definition at line 837 of file Compression.h.

Member Function Documentation

◆ AlgorithmName()

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

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

Implements pcl::Compression.

Definition at line 844 of file Compression.h.

◆ DefaultCompressionLevel()

int pcl::ZstdCompression::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::ZstdCompression::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.

◆ MinCompressionLevel()

int pcl::ZstdCompression::MinCompressionLevel ( ) const
overridevirtual

Returns the minimum compression level supported. The zstd reference implementation supports negative compression levels.

Reimplemented from pcl::Compression.


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