DataLZ4

Module implementing the LZ4 block compression format.

Ref : Link

This code is from the simplified implementation : Link

License is Apache License 2.0, Copyright 2022 Nigel Tao.

Procedures

BlockDecodeRaw

Decode LZ4 block format data from src to dst. Operates directly on raw memory data. Source size is limited to 16777215 bytes in order to simplify the code. Return decoded length if success or error code on failure.

PROCEDURE BlockDecodeRaw*(dst : ADDRESS; dlen : LENGTH; src : ADDRESS; slen : LENGTH): INTEGER;

MaxEncodeSize

Worst case needed destination for encoded data

PROCEDURE MaxEncodeSize*(slen : LENGTH): LENGTH;

BlockEncodeRaw

Encode raw memory data in src to LZ4 block format data in dst. Return encoded length if success or error code on failure.

PROCEDURE BlockEncodeRaw*(dst : ADDRESS; dlen : LENGTH; src : ADDRESS; slen : LENGTH): INTEGER;