LZFSE compression library and command line tool
Go to file
2023-07-26 11:02:08 -07:00
include Integrate with Darling 2019-07-20 18:33:01 -04:00
lzfse.xcodeproj merged nemequ changes; fixed end of stream reservation size in LZVN partial encoder; fixed Xcode project with updated README.md file 2016-06-20 15:43:07 -07:00
src Improve patch for #28 2017-03-07 01:35:48 -05:00
tests Add some tests to verify the build. 2016-08-11 16:37:43 -07:00
.gitignore initial commit 2016-06-07 17:15:15 -07:00
.travis.yml Don't rely on unaligned accesses in the LZVN encoder. 2016-08-15 11:51:57 -07:00
appveyor.yml Get Visual Studio 12 working. 2016-08-16 11:24:55 -07:00
CMakeLists.txt Update CMake Version To 3.13 2023-07-26 11:02:08 -07:00
LICENSE reformatted LICENSE 2016-06-20 10:50:55 -07:00
Makefile initial commit 2016-06-07 17:15:15 -07:00
README.md OS X → macOS where appropriate 2017-05-22 18:12:28 +03:00

LZFSE

This is a reference C implementation of the LZFSE compressor introduced in the Compression library with OS X 10.11 and iOS 9.

LZFSE is a Lempel-Ziv style data compression algorithm using Finite State Entropy coding. It targets similar compression rates at higher compression and decompression speed compared to deflate using zlib.

Files

README.md                             This file ;-)
Makefile                              Linux / macOS Makefile
lzfse.xcodeproj                       Xcode project

src/lzfse.h                           Main LZFSE header
src/lzfse_tunables.h                  LZFSE encoder configuration
src/lzfse_internal.h                  LZFSE internal header
src/lzfse_decode.c                    LZFSE decoder API entry point
src/lzfse_encode.c                    LZFSE encoder API entry point
src/lzfse_decode_base.c               LZFSE decoder internal functions
src/lzfse_encode_base.c               LZFSE encoder internal functions
src/lzfse_encode_tables.h             LZFSE encoder tables

src/lzfse_fse.h                       FSE entropy encoder/decoder header
src/lzfse_fse.c                       FSE entropy encoder/decoder functions

src/lzvn_decode_base.h                LZVN decoder
src/lzvn_decode_base.c
src/lzvn_encode_base.h                LZVN encoder
src/lzvn_encode_base.c

src/lzfse_main.c                      Command line tool

Building on OS X

$ xcodebuild install DSTROOT=/tmp/lzfse.dst

Produces the following files in /tmp/lzfse.dst:

usr/local/bin/lzfse                   command line tool
usr/local/include/lzfse.h             LZFSE library header
usr/local/lib/liblzfse.a              LZFSE library

Building on Linux

Tested on Ubuntu 15.10 with gcc 5.2.1 and clang 3.6.2. Should work on any recent distribution.

$ make install INSTALL_PREFIX=/tmp/lzfse.dst/usr/local

Produces the following files in /tmp/lzfse.dst:

usr/local/bin/lzfse                   command line tool
usr/local/include/lzfse.h             LZFSE library header
usr/local/lib/liblzfse.a              LZFSE library

Building with cmake

$ mkdir build
$ cd build
$ cmake ..
$ make install

Installs the header, library, and command line tool in /usr/local.

Bindings

Python: dimkr/pylzfse