|Internet media type|
|Uniform Type Identifier (UTI)||public.flif|
|Developed by||Jon Sneyers and Pieter Wuille|
|Extended to||FUIF, JPEG XL|
|Initial release||3 October 2015|
0.3 / 28 April 2017
FLIF supports a form of progressive interlacing (a generalization of the Adam7 algorithm) with which any partial download (greater than couple hundred bytes) of an image file can be used as a lossy encoding of the entire image.
Jon Sneyers, one of the developers of FLIF, since combined it with ideas from various lossy compression formats to create a successor called Free Universal Image FormatGoogle's PIK format to create JPEG XL. As a consequence, FLIF is no longer being developed.(FUIF), which itself was combined with
The first stable version of FLIF was released in September 2016.
FLIF uses the reversible YCoCg color space (unlike Y′CBCR that loses some color information to rounding errors, independently of its use in otherwise lossy JPEG). Not yet implemented are some features, e.g. other "color spaces (CMYK, YCbCr, ...)". The color space conversion is faster, but the overall decoding (and encoding) is still slower than it needs to be, or some of the competition, even with the better color space as that is only a small fraction of the overall process. The format supports an optional alpha channel (RGBA) like PNG (but unlike JPEG); and progressive coding, similar to PNG (unlike it, progressive compression doesn't increase file-size), but as FLIF's algorithm is more complex (and partly, may not have had as much tuning of the implementation yet), it has a higher computational cost; at least lower bandwidth requirements can offset some of that extra time. Progressive coding reduces FLIF's performance.
FLIF has some tuning parameters which can result in differently sized images. All of the images are still lossless. A
flifcrush tool is also available to achieve the minimal size.
Lossy compression can be achieved by preprocessing. The process is deterministic and does not cause generation loss.
UGUI-FLIF supports preview and converting PNG file to FLIF.