LZ4_compress_fast_continue

[LZ4_compress_fast_continue()](API\Runtime\Core\Compression\LZ4_compress_fast_continue) : Compress 'src' content using data from previously compressed blocks, for better compression ratio.

Choose your operating system:

Windows

macOS

Linux

References

Module

Core

Header

/Engine/Source/Runtime/Core/Public/Compression/lz4.h

Include

#include "Compression/lz4.h"

Source

/Engine/Source/Runtime/Core/Private/Compression/lz4.cpp

Syntax

LZ4int LZ4_compress_fast_continue
(
    LZ4_stream_t * streamPtr,
    const char * src,
    char * dst,
    int srcSize,
    int dstCapacity,
    int acceleration
)

Remarks

LZ4_compress_fast_continue() : Compress 'src' content using data from previously compressed blocks, for better compression ratio. 'dst' buffer must be already allocated. If dstCapacity >= LZ4_compressBound(srcSize), compression is guaranteed to succeed, and runs faster.

1 : Each invocation to LZ4_compress_fast_continue() generates a new block. Each block has precise boundaries. Each block must be decompressed separately, calling LZ4_decompress*() with relevant metadata. It's not possible to append blocks together and expect a single invocation of LZ4_decompress*() to decompress them together.

2 : The previous 64KB of source data is assumed to remain present, unmodified, at same address in memory !

3 : When input is structured as a double-buffer, each buffer can have any size, including < 64 KB. Make sure that buffers are separated, by at least one byte. This construction ensures that each block only depends on previous block.

4 : If input buffer is a ring-buffer, it can have any size, including < 64 KB.

5 : After an error, the stream status is undefined (invalid), it can only be reset or freed.

Returns

: size of compressed block or 0 if there is an error (typically, cannot fit into 'dst').