Skip to content

kif/FLIF

 
 

Repository files navigation

FLIF: Free Lossless Image Format

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

FLIF is a lossless image format based on MANIAC compression. MANIAC (Meta-Adaptive Near-zero Integer Arithmetic Coding) is a variant of CABAC (context-adaptive binary arithmetic coding), where the contexts are nodes of decision trees which are dynamically learned at encode time.

FLIF outperforms PNG, FFV1, lossless WebP, lossless BPG and lossless JPEG2000 in terms of compression ratio.

Moreover, FLIF supports a form of progressive interlacing (essentially a generalization/improvement of PNG's Adam7) which means that any prefix (e.g. partial download) of a compressed file can be used as a reasonable lossy encoding of the entire image.

For more information on FLIF, visit http://flif.info


###Build Instructions

GNU/Linux

  • Install the dependencies:
    • for the encoder/decoder: sudo apt-get install libpng-dev
    • for the viewer: sudo apt-get install libsdl2-dev
  • Navigate to the FLIF directory and run make to build flif
    • make libflif.so to build the shared library
    • make viewflif to build the example viewer
  • sudo make install if you want to install it globally

Windows

  • Install Visual Studio (VS Community 2015 is free for open source projects)
  • Open the build\MSVC folder and Double click the dl_make_vs.bat. This will download required libraries and run nmake to build flif.exe
    • nmake libflif.dll to build the shared library
    • nmake viewflif.exe to build the example viewer

OS X

  • Install homebrew
  • Install kegs named pkg-config and libpng
  • Run make in the FLIF directory

###Pre-Built Binaries

These will be available on the Release page


###Related Projects

  • Poly-FLIF - A javascript polyfill that allows you to use FLIF files in the browser.
  • UGUI: FLIF - A GUI that allows you to convert and view FLIF files.

About

Free Lossless Image Format

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 80.1%
  • C 13.1%
  • Roff 3.4%
  • Makefile 2.0%
  • Batchfile 0.8%
  • CMake 0.4%
  • Shell 0.2%