Unigine::Compress Class
Header: | #include <UnigineCompress.h> |
Compress class is used to compress and decompress data using the following algorithms:
- Jackalless — recommended. UNIGINE compression method optimized for compressing 2D and 3D textures. It provides better results than LZ4 and Zlib without deteriorating the quality.
- LZ4 — temporary option, planned to be removed in the upcoming releases.
- Zlib — for high compression ratio (can provide up to 2 times higher compression ratio, but takes up to 20 times longer).
Compress Class
Members
bool zlibCompress ( void* dest, size_t& dest_size, const void* src, size_t src_size, bool quality ) #
Compresses the source data using the Zlib algorithm with the specified compression level and puts the result to the specified destination.Arguments
- void* dest - Destination buffer pointer.
- size_t& dest_size - Destination data size.
- const void* src - Source buffer pointer.
- size_t src_size - Source data size.
- bool quality - Compression quality; false is for faster compression, true is for higher compression (less size).
Return value
true if the operation was successful; otherwise, false.bool zlibDecompress ( void* dest, size_t dest_size, const void* src, size_t src_size ) #
Decompresses the source data using the Zlib algorithm and puts the result to the specified destination.Arguments
- void* dest - Destination buffer pointer.
- size_t dest_size - Destination data size.
- const void* src - Source buffer pointer.
- size_t src_size - Source data size.
Return value
true if the operation was successful; otherwise, false.size_t zlibSize ( size_t size ) #
Returns the maximum Zlib-compressed data size for the specified uncompressed size value.Arguments
- size_t size - Uncompressed data size.
Return value
Maximum Zlib-compressed data size.size_t lz4Size ( size_t size ) #
Returns the maximum LZ4-compressed data size for the specified uncompressed size value.Arguments
- size_t size - Uncompressed data size.
Return value
Maximum lz4-compressed data size.bool lz4Compress ( void* dest, size_t& dest_size, const void* src, size_t src_size, bool quality ) #
Compresses the source data using the LZ4 algorithm with the specified compression level and puts the result to the specified destination.Arguments
- void* dest - Destination buffer pointer.
- size_t& dest_size - Destination data size.
- const void* src - Source buffer pointer.
- size_t src_size - Source data size.
- bool quality - Compression quality; false is for faster compression, true is for higher compression (less size).
Return value
true if the operation was successful; otherwise, false.bool lz4Decompress ( void* dest, size_t dest_size, const void* src, size_t src_size ) #
Decompresses the source data using the LZ4 algorithm and puts the result to the specified destination.Arguments
- void* dest - Destination buffer pointer.
- size_t dest_size - Destination data size.
- const void* src - Source buffer pointer.
- size_t src_size - Source data size.
Return value
true if the operation was successful; otherwise, false.size_t jackallessSize ( size_t size ) #
Returns the maximum size of data compressed using jackalless method for the specified uncompressed size value.Arguments
- size_t size - Uncompressed data size.
Return value
Maximum size of data compressed using jackalless method.bool jackallessCompress ( void* dest, size_t& dest_size, const void* src, size_t src_size ) #
Compresses the source data using jackalless method and puts the result to the specified destination.Arguments
- void* dest - Destination buffer pointer.
- size_t& dest_size - Destination data size.
- const void* src - Source buffer pointer.
- size_t src_size - Source data size.
Return value
true if the operation was successful; otherwise, false.bool jackallessDecompress ( void* dest, const void* src ) #
Decompresses the source data using jackalless method and puts the result to the specified destination.Arguments
- void* dest - Destination buffer pointer.
- const void* src - Source buffer pointer.
Return value
true if the operation was successful; otherwise, false.bool jackallessCompressFloat ( void* dest, size_t& dest_size, const float* src, size_t src_length ) #
Compresses the source data using jackalless method and puts the result to the specified destination.Arguments
- void* dest - Destination buffer pointer.
- size_t& dest_size - Destination data size.
- const float* src - Source buffer pointer.
- size_t src_length - Source data length.
Return value
true if the operation was successful; otherwise, false.bool jackallessDecompressFloat ( float* dest, size_t dest_length, const void* src ) #
Decompresses the source data using jackalless method and puts the result to the specified destination.Arguments
- float* dest - Destination buffer pointer.
- size_t dest_length - Destination data length.
- const void* src - Source buffer pointer.
Return value
true if the operation was successful; otherwise, false.size_t jackallessRawSize ( void* compressed_data ) #
Returns the raw size of the compressed data.Arguments
- void* compressed_data - Compressed data pointer.
Return value
Raw data size.size_t jackallessCompressedSize ( void* compressed_data ) #
Returns the compressed size of the compressed data.Arguments
- void* compressed_data - Compressed data pointer.
Return value
Compressed data size.Last update:
2023-06-23
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)