Restored : lz4 compression function using externally allocated memory for state

This commit is contained in:
Yann Collet 2014-07-20 13:34:14 +01:00
parent 2f93f3afd5
commit 1870d48fc8

18
lz4.h
View File

@ -72,7 +72,7 @@ LZ4_compress() :
Destination buffer must be already allocated, Destination buffer must be already allocated,
and must be sized to handle worst cases situations (input data not compressible) and must be sized to handle worst cases situations (input data not compressible)
Worst case size evaluation is provided by function LZ4_compressBound() Worst case size evaluation is provided by function LZ4_compressBound()
inputSize : Max supported value is LZ4_MAX_INPUT_VALUE inputSize : Max supported value is LZ4_MAX_INPUT_SIZE
return : the number of bytes written in buffer dest return : the number of bytes written in buffer dest
or 0 if the compression fails or 0 if the compression fails
@ -128,6 +128,17 @@ LZ4_compress_limitedOutput() :
int LZ4_compress_limitedOutput (const char* source, char* dest, int inputSize, int maxOutputSize); int LZ4_compress_limitedOutput (const char* source, char* dest, int inputSize, int maxOutputSize);
/*
LZ4_compress_withState() :
Same compression functions, but using an externally allocated memory space to store compression state.
Use LZ4_sizeofState() to know how much memory must be allocated,
and then, provide it as 'void* state' to compression functions.
*/
int LZ4_sizeofState(void);
int LZ4_compress_withState (void* state, const char* source, char* dest, int inputSize);
int LZ4_compress_limitedOutput_withState (void* state, const char* source, char* dest, int inputSize, int maxOutputSize);
/* /*
LZ4_decompress_fast() : LZ4_decompress_fast() :
originalSize : is the original and therefore uncompressed size originalSize : is the original and therefore uncompressed size
@ -289,11 +300,6 @@ It is highly recommended to stop using these functions and migrated to newer one
/* int LZ4_uncompress (const char* source, char* dest, int outputSize); */ /* int LZ4_uncompress (const char* source, char* dest, int outputSize); */
/* int LZ4_uncompress_unknownOutputSize (const char* source, char* dest, int isize, int maxOutputSize); */ /* int LZ4_uncompress_unknownOutputSize (const char* source, char* dest, int isize, int maxOutputSize); */
/* Obsolete functions for externally allocated state; use streaming interface instead */
int LZ4_sizeofState(void);
int LZ4_compress_withState (void* state, const char* source, char* dest, int inputSize);
int LZ4_compress_limitedOutput_withState (void* state, const char* source, char* dest, int inputSize, int maxOutputSize);
/* /*
* If you prefer dynamic allocation methods, * If you prefer dynamic allocation methods,
* LZ4_createStreamDecode() * LZ4_createStreamDecode()