IFF

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Format details)
Line 12: Line 12:
  
 
== Format details ==
 
== Format details ==
An IFF file is composed of elements called "chunks". Each chunk consists of a 4-byte type identifier (represented by four ASCII characters), a 4-byte length, and the chunk's payload data. Some types of chunks contain a sequence of nested chunks. Multi-byte numeric values are [[Endianness|big-endian]].
+
An IFF file is composed of elements called "chunks". Each chunk consists of a [[FourCC|4-byte type identifier]] (represented by four ASCII characters), a 4-byte length, and the chunk's payload data. Some types of chunks contain a sequence of nested chunks. Multi-byte numeric values are [[Endianness|big-endian]].
  
 
IFF defines a number of standard chunks types. Additional types are invented as needed by IFF-based formats.
 
IFF defines a number of standard chunks types. Additional types are invented as needed by IFF-based formats.

Revision as of 17:43, 26 December 2015

File Format
Name IFF
Ontology
Extension(s) .iff, many others
LoCFDD fdd000115
PRONOM x-fmt/157
Released 1985
This article is about the generic IFF metaformat. For the IFF image format, see ILBM.

IFF (Interchange File Format) is a general-purpose binary file format introduced by Electronic Arts on the Commodore Amiga computer in 1985. It is sometimes known as IFF 85.

Contents

Format details

An IFF file is composed of elements called "chunks". Each chunk consists of a 4-byte type identifier (represented by four ASCII characters), a 4-byte length, and the chunk's payload data. Some types of chunks contain a sequence of nested chunks. Multi-byte numeric values are big-endian.

IFF defines a number of standard chunks types. Additional types are invented as needed by IFF-based formats.

Of particular significance is chunk type FORM. Most IFF-based files are formatted as a single FORM chunk. A FORM chunk's data contains a four-byte "FORM type" code, indicating the data type, followed by a sequence of nested chunks.

An IFF-based format whose FORM type is xxxx might be referred to as "FORM xxxx". FORM types may also be used as filename extensions.

Identification

Most IFF files begin with the ASCII characters "FORM". The file type is then indicated by the 4-byte ASCII code beginning at offset 8.

There are also aggregate formats that begin with "LIST" or "CAT ".

IFF-based formats

Formats based on IFF include:

See Category:IFF based file formats for more.

Variant formats

Some other formats are largely or heavily influenced by the IFF standard, but are not compatible. These include, for example:

  • Erlang BEAM compiled modules: Uses 4 byte alignment instead of 2 byte, and the root chunk has a different ID (FOR1 instead of FORM)
  • Microsoft's RIFF and RIFX formats are based on IFF (RIFF uses little-endian byte order instead, and the root chunk is called RIFF instead of FORM)
  • Apple's AIFF and AIFC formats are similar to IFF/RIFF as well
  • Maya IFF

Specifications

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox