The legacy FIF format

In the 1990s, fractal images were stored in the file formats of Iterated Systems, Inc. The formats were never published. This page describes what they contained and why files in these formats are hard to use today.

FIF Legacy Tools & SDK

For more Information about FIF Legacy, free converting Tools and a C Library visit:
FIFlegacy & libbFIFlegacy project

One name, several formats

The files had the extension .fif, for Fractal Image Format. The name covered a family of related formats that changed with each generation of the software. Two main lines can be told apart by the first bytes of a file:

SignatureLineMain features
FTCFractal transform container Fixed 4 × 4 pixel blocks. Several versions, from a simple fixed layout to region-based files with arithmetic coding. Also used for early fractal video.
FIF + version 1Progressive FIF Picture divided into tiles; five levels of detail, each readable on its own; block sizes from 16 pixels down to single pixels.

Within each line, a file declared its exact profile in its header, and a decoder had to support that profile precisely. A file of one generation could not be read by software written for another.

How the pictures were coded

The basic method was the block-based one described on the previous pages. The picture was divided into small range blocks, and each block was described as a shrunk, turned and adjusted copy of a larger block elsewhere in the picture. In addition, the formats used these techniques:

Shared transformations
Where a whole group of 2 × 2 or 4 × 4 neighbouring blocks could be copied from one larger region, the file stored one transformation for the group instead of one per block. The positions of the individual copies followed from the group's orientation.
Reconstruction at half size first
The decoder carried out the iteration on a picture of half the final width and height, where each round costs a quarter of the work. Only after that picture had stopped changing did it expand the result to full size, in one final pass.
Separate colour planes
Colour pictures were coded as brightness plus two colour-difference planes at reduced resolution, as in JPEG. A later variant used a colour space of its own.
Progressive levels
The FIF line stored five levels of increasing detail, with a directory of starting points for each tile and level. A viewer could stop after any level and show a complete picture.

What else a file could contain

Why these files are hard to use today

Several properties of the formats make them difficult to use today:

The next page describes how FIF2 solves these problems and which techniques of the old formats it keeps.


©2026 By Oskar Behzadpour & Rezar Behzad | FIF v2 Format created by Rezar Behzad