ILBM

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Sample files)
Line 21: Line 21:
  
 
== Compression ==
 
== Compression ==
ILBM images are compressed using the [[PackBits]] algorithm, or are uncompressed. Other compression schemes could be defined, but that has apparently not happened.
+
ILBM images are compressed using the [[PackBits]] algorithm, or are uncompressed. Other compression schemes could be defined, but that has apparently not happened (but see VDAT, below).
  
 
== Special types of ILBM ==
 
== Special types of ILBM ==
Line 65: Line 65:
 
=== RGBN and RGB8 ===
 
=== RGBN and RGB8 ===
 
RGBN (12-bit RGB) and RGB8 (24-bit RGB) were used by Impulse's ''Silver'' and ''Turbo Silver'' programs (see also [[TDDD]]).
 
RGBN (12-bit RGB) and RGB8 (24-bit RGB) were used by Impulse's ''Silver'' and ''Turbo Silver'' programs (see also [[TDDD]]).
 +
 +
=== VDAT ===
 +
In the ILBM variant we're calling VDAT (reportedly used by "the ST version of DPAINT"), instead of raw image data, the <code>BODY</code> chunk contains a sequence of <code>VDAT</code> chunks. It possibly uses compression type 2.
  
 
== Specifications ==
 
== Specifications ==
Line 95: Line 98:
 
* [http://aminet.net/misc/sci/pl_pix.lha pl_pix.lha] → Plan_pix.lha → *.pic (ACBM)
 
* [http://aminet.net/misc/sci/pl_pix.lha pl_pix.lha] → Plan_pix.lha → *.pic (ACBM)
 
* [ftp://ftp.cs.tu-berlin.de/pub/aminet/pix/art/Hardwired1a.lha Hardwired1a.lha] (Extra-Halfbrite)
 
* [ftp://ftp.cs.tu-berlin.de/pub/aminet/pix/art/Hardwired1a.lha Hardwired1a.lha] (Extra-Halfbrite)
 +
* [http://cd.textfiles.com/crawlycrypt1/tt/iffloadr/neworld.iff neworld.iff] (VDAT)
  
 
== Links ==
 
== Links ==

Revision as of 02:01, 22 April 2015

File Format
Name ILBM
Ontology
Extension(s) .iff, .lbm, .ilbm, .pic, others
PRONOM fmt/338, x-fmt/424, x-fmt/301

ILBM (or IFF-ILBM, or LBM) is a loosely-defined family of raster image file formats that use the IFF container format. ILBM stands for InterLeaved BitMap.

It is also sometimes called IFF or Amiga IFF, though IFF more properly refers to the generic IFF format on which ILBM is based.

As seems to be common practice, we consider ILBM to include some similar formats whose type identifier is not "ILBM", and which are not necessarily interleaved. We exclude formats that use incompatible variants of IFF.

ILBM files were widely used on Amiga computers, but are not limited to that platform. The format originated with the Deluxe Paint program from Electronic Arts.

When "lost" computer graphics created by Andy Warhol on an Amiga computer were discovered and converted by retrocomputing buffs at the Carnegie Mellon University Computer Club in 2013, some of them were found to be in a slight variant of the ILBM format, with a .pic extension.

Contents

Identification

The file begins with the ASCII string FORM, and has a type identifier at offset 8 that is usually ILBM. A BMHD chunk appears somewhere in the file, usually immediately after ILBM.

Some variants formats have a "FORM type" that is something other than ILBM, such as "PBM ", ACBM, RGBN, or RGB8.

Compression

ILBM images are compressed using the PackBits algorithm, or are uncompressed. Other compression schemes could be defined, but that has apparently not happened (but see VDAT, below).

Special types of ILBM

The plain ILBM format is reasonably well standardized. This section describes some of the other ILBM formats.

Hold-and-Modify

Hold-and-Modify (HAM) images are designed to work with the Amiga's oddball Hold-and-Modify graphics modes. There are two main kinds of HAM images: HAM6 (6 bits per pixel) and HAM8 (8 bits per pixel). The term HAM sometimes refers just to HAM6.

It is usually said that HAM6 supports up to 4096 different colors in an image, and HAM8 supports 262,144. This is probably true with regard to the actual Amiga graphics modes, but some not-so-carefully-written ILBM specifications imply that more colors are possible. Not that it matters much, because the real limitation is that, for each pixel, there are at most 64 or 256 available colors.

HAM6

HAM6 files have bit 11 of the CAMG chunk set, 6 planes (rarely 5), and 16 palette colors.

Reportedly, some HAM6 files are missing the CAMG chunk. A file with no CAMG chunk, 6 bit planes, and 16 palette colors is probably HAM6.

HAM8

HAM8 files have bit 11 of the CAMG chunk set, 8 planes (rarely 7), and 64 palette colors.

Multi-palette HAM

There are at least three extended HAM formats designed to take advantage of the Amiga's ability to make changes to the palette in the middle of an image:

  • SHAM (Sliced HAM) - Uses a SHAM chunk.
  • CTBL (Newtek Dynamic Ham) - Uses CTBL and DYCP chunks.
  • PCHG - Uses a PCHG (Palette Changes) chunk.

Extra-Halfbrite

Extra-Halfbrite (EBH) images are designed to work with the Amiga's Halfbrite graphics mode. They have 6 planes, but only 32 colors in the palette. In effect, the palette should be assumed to have an additional 32 colors that are half as bright as the first 32.

Extra-Halfbrite files are identified by bit 7 of the CAMG chunk being set.

Deep images

Non-paletted (for example, 24-bit RGB) ILBM images are sometimes called "deep images". This is not to be confused with IFF-DEEP, a different format.

PBM

PBM (Planar BitMap) files have FORM type of "PBM " instead of ILBM. Each pixel is stored contiguously, and there is only a single plane.

This is not to be confused with Netpbm's PBM format.

ACBM

ACBM (Amiga Contiguous Bitmap) is a variant of ILBM designed to be used efficiently by AmigaBASIC. The image is separated into bit-planes and then rows, instead of rows and then bit-planes.

The "FORM type" is ACBM (instead of ILBM), and instead of a BODY chunk there is an ABIT chunk.

RGBN and RGB8

RGBN (12-bit RGB) and RGB8 (24-bit RGB) were used by Impulse's Silver and Turbo Silver programs (see also TDDD).

VDAT

In the ILBM variant we're calling VDAT (reportedly used by "the ST version of DPAINT"), instead of raw image data, the BODY chunk contains a sequence of VDAT chunks. It possibly uses compression type 2.

Specifications

Software

It is possible that there is no single application that does a good job of decoding the full range of ILBM formats. More research is needed here.

Sample files

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox