#构建 #格式 #原始 #创建 #zopfli #zopfli-compress

sys zopfli-sys

原始的 Zopfli C 库

1 个不稳定版本

0.1.0 2022年2月23日

#86#原始

Apache-2.0

125KB
2.5K SLoC

C 2.5K SLoC // 0.2% comments Rust 66 SLoC // 0.0% comments

Zopfli 压缩算法是一个用 C 语言编写的库,用于执行非常好的但速度较慢的 deflate 或 zlib 压缩。

用于压缩数据的基函数是 zopfli.h 中的 ZopfliCompress。使用 ZopfliOptions 对象设置影响速度和压缩的参数。使用 ZopfliInitOptions 函数将默认值放入 ZopfliOptions。

ZopfliCompress 支持使用参数的 deflate、gzip 和 zlib 输出格式。要仅支持单个格式,可以使用 deflate.h 中的 ZopfliDeflate、zlib_container.h 中的 ZopfliZlibCompress 或 gzip_container.h 中的 ZopfliGzipCompress。

ZopfliDeflate 在内存中创建有效的 deflate 流,请参阅:http://www.ietf.org/rfc/rfc1951.txt ZopfliZlibCompress 在内存中创建有效的 zlib 流,请参阅:http://www.ietf.org/rfc/rfc1950.txt ZopfliGzipCompress 在内存中创建有效的 gzip 流,请参阅:http://www.ietf.org/rfc/rfc1952.txt

此库只能压缩,不能解压。现有的 zlib 或 deflate 库可以解压数据。

zopfli_bin.c 与库分开,包含一个创建非常压缩的 gzip 文件的示例程序。目前 makefile 使用静态链接库构建此程序。

Zopfli 的源代码位于 src/zopfli。构建说明

要构建 zopfli,使用 C 编译 src/zopfli 下的所有 .c 源文件为一个单一的二进制文件,并链接到标准 C 数学库,例如:gcc src/zopfli/*.c -O2 -W -Wall -Wextra -Wno-unused-function -ansi -pedantic -lm -o zopfli

还提供了一个 makefile,但仅适用于 Linux。使用 "make" 构建二进制文件,使用 "make libzopfli" 构建为共享库。对于其他平台,请使用上面的构建说明。

Zopfli 压缩算法由 Lode Vandevenne 和 Jyrki Alakuijala 创建,基于 Jyrki Alakuijala 的算法。

依赖关系

~180KB