LZFSE

LZFSE 压缩库和命令行工具。(LZFSE compression library and command line tool)

Github stars Tracking Chart

LZFSE

这是 OS X 10.11 和 iOS 9 的压缩库中引入的 LZFSE 压缩器的参考 C 语言实现。

LZFSE 是一种使用有限状态熵编码的 Lempel-Ziv 风格的数据压缩算法。与使用 zlib 的 deflate 相比,它的目标是以更高的压缩和解压速度实现类似的压缩率。

文件

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

在 OS X 上构建

$ xcodebuild install DSTROOT=/tmp/lzfse.dst

在 /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

在 Linux 上构建

在 Ubuntu 15.10 上用 gcc 5.2.1 和 clang 3.6.2 测试。应该可以在任何最新的发行版上运行。

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

在/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

用 cmake 构建

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

这将在 /usr/local 中安装头文件、库和命令行工具。

绑定

Python: dimkr/pylzfse


(The first version translated by vz on 2020.09.19)

Main metrics

Overview
Name With Ownerlzfse/lzfse
Primary LanguageC
Program languageMakefile (Language Count: 3)
PlatformLinux, Mac
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2016-06-08 00:12:26
Pushed At2022-09-05 14:32:12
Last Commit At2017-05-22 08:46:52
Release Count1
Last Release Namelzfse-1.0 (Posted on 2017-05-07 17:41:44)
First Release Namelzfse-1.0 (Posted on 2017-05-07 17:41:44)
用户参与
Stargazers Count1.8k
Watchers Count91
Fork Count179
Commits Count55
Has Issues Enabled
Issues Count35
Issue Open Count22
Pull Requests Count18
Pull Requests Open Count7
Pull Requests Close Count5
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

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