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
- for the encoder/decoder:
- Navigate to the FLIF/src directory and run
make
to compile everything, ormake flif
to build just theflif
toolmake libflif.so
to build the shared librarymake viewflif
to build the example viewer (it depends on the library)
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 thedl_make_vs.bat
. This will download required libraries and runnmake
to buildflif.exe
nmake libflif.dll
to build the shared librarynmake viewflif.exe
to build the example viewer
OS X
- Install homebrew
- Install kegs named
pkg-config
andlibpng
- Run
make
in the FLIF/src 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. (Demo)
- UGUI: FLIF - A GUI that allows you to convert and view FLIF files.