libflif 0.3

libflif 0.3

DreamPiggyBogdan Poplauschi 维护。



  • 作者
  • Jon Sneyers

FLIF:Free Lossless Image Format

Build Status Join the chat at https://gitter.im/jonsneyers/FLIF Donate via Gratipay

FLIF 是基于 MANIAC 压缩的无损图像格式。MANIAC(Meta-Adaptive Near-zero Integer Arithmetic Coding)是 CABAC(context-adaptive binary arithmetic coding)的一种变体,其中上下文是决策树的节点,这些节点在编码时动态学习。

在压缩比方面,FLIF 优于 PNG、FFV1、无损 WebP、无损 BPG 和无损 JPEG2000。

此外,FLIF 还支持一种渐进式交错形式(本质上是对 PNG 的 Adam7 的一种泛化/改进),这意味着压缩文件的任何前缀(例如部分下载)都可以用作整个图像的合理的有损编码。

有关 FLIF 的更多信息,请访问 http://flif.info


许可证

FLIF 是自由的/自由软件:您可以分发它并/或修改它,前提是您会回馈。

FLIF 的参考实现根据 GNU Lesser General Public License version 3 或更高版本(LGPLv3+)的条款发布。

解码库 libflif_dec 根据较弱的、非自由软件许可证发布:Apache 2.0 许可证。

示例应用程序 viewflif 展示了如何使用解码库。在 viewflif.c 中的示例代码是公共领域的(Creative Commons CC0 1.0 Universe)。


构建说明

GNU/Linux

安装依赖

在 Debian 上

  • 对于编码器/解码器: sudo apt-get install libpng-dev
  • 对于查看器: sudo apt-get install libsdl2-dev

在 Fedora 上

  • 对于编码器/解码器: sudo dnf install libpng-devel
  • 对于查看器: sudo dnf install SDL-devel

编译

  • 转到 FLIF/src 目录并运行 make 以编译所有内容,或者
    • 运行 make flif 以仅构建 flif 命令行工具
    • 运行 make libflif.so 以构建 LGPL 的共享库
    • 运行 make libflif_dec.so 以构建 Apache 许可的仅解码共享库
    • 运行 make viewflif 以构建示例查看器(它依赖于解码库)

安装

  • 如果您想要全局安装,请执行 sudo make install

Windows

  • 安装 Visual Studio(VS Community 2015 对开源项目是免费的)
  • 打开 build\MSVC 文件夹,双击 dl_make_vs.bat 文件。这将下载所需的库,并运行 nmake 构建 flif.exe。然后,在命令行中运行
    • nmake libflif.dll 以构建共享库
    • nmake viewflif.exe 以构建示例查看器

OS X

  • 安装 homebrew
  • 安装依赖: brew install pkg-config libpng sdl2
  • 在 FLIF/src 目录中运行 make

预构建二进制文件

这些将在发布页面上提供


相关项目

  • Poly FLIF - 允许你在浏览器中使用 FLIF 文件的 JavaScript Polyfill。(演示
  • UGUI: FLIF - 一个图形用户界面,允许你转换和查看 FLIF 文件。
  • Ivy, 标签图像查看器 – 一个图像查看器,支持通过 riff 使用 FLIF。
  • flifcrush - 一个暴力破解的 FLIF 优化器。
  • libflif.js – JavaScript FLIF 编码和解码器。(演示
  • flif-rs – 正在进行中的 FLIF 在 Rust 中的实现。
  • FLIF Windows 编解码器 – 一个插件,允许你在 Windows 应用程序中使用 Windows 图像组件 API 解码和编码 FLIF 文件。这允许在 Windows PhotoViewer 和 Windows 资源管理器中查看文件,例如其他常见图像格式。
  • FLIF Windows 插件 – 使能够使用 Windows 图像组件 API 解码 FLIF 图像的插件。这样,FLIF 图像可以通过其他常见图像格式一样在 Windows 资源管理器中查看。
  • qt-flif-plugin – 允许 Qt4 和 Qt5 应用程序加载 FLIF 图像格式。
  • FLIFSharp – C# FLIF 库绑定。
  • go-flif – Go FLIF 库绑定。