12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /*********************************************************************
- Blosc - Blocked Shuffling and Compression Library
- Author: Francesc Alted <francesc@blosc.org>
- See LICENSES/BLOSC.txt for details about copyright and rights to use.
- **********************************************************************/
- /*********************************************************************
- The code in this file is heavily based on FastLZ, a lightning-fast
- lossless compression library. See LICENSES/FASTLZ.txt for details
- about copyright and rights to use.
- **********************************************************************/
- #ifndef BLOSCLZ_H
- #define BLOSCLZ_H
- #if defined (__cplusplus)
- extern "C" {
- #endif
- /**
- Compress a block of data in the input buffer and returns the size of
- compressed block. The size of input buffer is specified by
- length. The minimum input buffer size is 16.
- The output buffer must be at least 5% larger than the input buffer
- and can not be smaller than 66 bytes.
- If the input is not compressible, or output does not fit in maxout
- bytes, the return value will be 0 and you will have to discard the
- output buffer.
- The acceleration parameter is related with the frequency for
- updating the internal hash. An acceleration of 1 means that the
- internal hash is updated at full rate. A value < 1 is not allowed
- and will be silently set to 1.
- The input buffer and the output buffer can not overlap.
- */
- int blosclz_compress(const int opt_level, const void* input, int length,
- void* output, int maxout);
- /**
- Decompress a block of compressed data and returns the size of the
- decompressed block. If error occurs, e.g. the compressed data is
- corrupted or the output buffer is not large enough, then 0 (zero)
- will be returned instead.
- The input buffer and the output buffer can not overlap.
- Decompression is memory safe and guaranteed not to write the output buffer
- more than what is specified in maxout.
- */
- int blosclz_decompress(const void* input, int length, void* output, int maxout);
- #if defined (__cplusplus)
- }
- #endif
- #endif /* BLOSCLZ_H */
|