Interchange File Format


Interchange File Format

Interchange File Format (IFF), is a generic file format originally introduced by the Electronic Arts company in 1985 (in cooperation with Commodore-Amiga) in order to ease transfer of data between software produced by different companies.

IFF files do not have any common extension. Most files with ".iff" extension are in fact ILBM files, wrongly named so because they are the most common IFF files and most assume that they are the only type of IFF files (on many systems that generate IFF files, file extensions are not important).

tructure

An IFF file is built up from chunks. Each chunk begins with what the spec calls a "Type ID" (what the Macintosh called an OSType and Windows developers might call a FourCC). This is followed by a 32-bit unsigned integer (all integers in IFF files' structure are big-endian) specifying the size of the following data (the chunk content) in bytes. Because the spec includes explicit lengths for each chunk, it is possible for a parser to skip over chunks which it either can't or doesn't care to process.

There are predefined "group" chunks, with type IDs ‘FORM’, ‘LIST’ and ‘CAT ’. A FORM chunk is like a record structure, containing a type ID (indicating the record type) followed by nested chunks specifying the record fields. A LIST is a factoring structure containing a series of ‘PROP’ (property) chunks plus nested group chunks to which those properties apply. A CAT is just a collection of nested chunks with no special semantics. Group chunks can contain other group chunks, depending on the needs of the application. Group chunks, like their simpler counterparts, contain a length element. Skipping over a group can thus be done with a simple Unix-style relative seek operation.

Chunks must begin on even file offsets, as befits the origins of IFF on the Motorola 68000 processor, which couldn't address quantities larger than a byte on odd addresses. Thus a chunk following an odd-length chunk will be preceded by a pad byte.

The top-level structure of an IFF file consists of exactly one of the group chunks: FORM, LIST or CAT .

Each type of chunk typically has different internal structure, that could be numerical data, text, or raw data. It is also possible to include other IFF files as if they are chunks (note that they have the same structure: four letters followed with length) and some formats use this. There are standard chunks that could be present in any IFF file, such as ‘AUTH’ (containing text with information about author of the file), ‘ANNO’ (containing text with annotation, usually name of the program that created the file), ‘NAME’ (containing text with name of the work in the file), ‘VERS’ (containing file version), ‘(c) ’ (containing text with copyright information). There are also chunks that are common among a number of formats, such as ‘CMAP’ which holds color palette in ILBM, ANIM and DR2D files (pictures, animations and vector pictures). There are chunks that have common name but hold different data such as ‘BODY’ which could store image in an ILBM file and sound in an 8SVX file. And finally, there are chunks unique to their file type. Some programs that create IFF files add to them chunks with their internal data; these same files can later be read by other programs without any disruption (because their parsers could skip uninteresting chunks) which is a great advantage of IFF and similar formats.

As a nestable, descriptive file format, there are architectural similaries to XML. XML, however, is primarily a text format, whereas all IFF contains at least some binary data (the length fields). It is possible to mechanically convert IFF to an XML equivalent; however, XML has additional features such as descriptive data and metadata (attributes, entities, DTD's and schemas) and navigational features (xpath) which cannot be trivially mapped back to IFF.

External links

* [http://www.borg.com/~jglatt/tech/aboutiff.htm About Interchange File Format]
* [http://www.szonye.com/bradd/iff.html “EA IFF 85”: Standard for Interchange Format Files] - the original IFF spec written by EA's Jerry Morrison (January 14, 1985)
* [http://www.file-extensions.org/search/?searchstring=interchange Interchange file format entries at File Extensions Encyclopedia]
* [http://www-128.ibm.com/developerworks/power/library/pa-spec16/?ca=dgr-lnxw07IFF Article on IFF]
* [http://lclevy.free.fr/amiga/formats.html Page about Amiga files formats and IFF variants]
* [http://amigan.1emu.net/reg/iff.html Registry]
* [http://www.ibm.com/developerworks/power/library/pa-spec16/ "Standards and specs: The Interchange File Format (IFF)"] article at IBM developerworks page.


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Interchange File Format — (IFF), es un formato de archivo originalmente introducido por la compañía Electronic Arts en 1985 (en cooperación con Commodore Amiga) con el objetivo de facilitar la transferencia de datos entre programas de software producidos por empresas… …   Wikipedia Español

  • Interchange File Format — (IFF)  стандарт для файлов обмена данными, разработанный в 1985 фирмой Electronic Arts совместно с Commodore для новой платформы  Amiga  с целью упростить обмен данными между ПО различных производителей. Может содержать любые… …   Википедия

  • Interchange File Format —   [Abk. IFF, dt. »Austauschdateiformat«], das Amiga Format für den Austausch von Daten, das v. a. für Bilder und Animationen verwendet wurde. Auf Commodore Amiga war IFF das Standardformat, auf IBM kompatiblen Computern gibt es einige… …   Universal-Lexikon

  • Interchange file format — IFF, acronyme de l anglais Interchange File Format, est un format de fichier multi usages lancé par Electronic Arts en 1985. Sa spécification EA IFF 1985 a été utilisée comme base pour divers formats de fichiers, notamment : AIFF, un format… …   Wikipédia en Français

  • Interchange File Format — Das Interchange File Format (IFF) wurde 1985 von der Firma Electronic Arts als Standard Dateiformat in ihren Produkten eingeführt. Es handelt sich dabei eigentlich um eine ganze Familie von Dateiformaten, die sich durch die gemeinsame TLV… …   Deutsch Wikipedia

  • Resource Interchange File Format — The Resource Interchange File Format (RIFF) is a generic file container format for storing data in tagged chunks. It is primarily used to store multimedia such as sound and video, though it may also be used to store any arbitrary data. It was… …   Wikipedia

  • Audio Interchange File Format — Infobox file format name = Audio Interchange File Format icon = extension = .aiff .aif .aifc mime = audio/x aiff audio/aiff type code = AIFF uniform type = public.aiff audio public.aifc audio owner = Apple Inc. genre = audio file container for =… …   Wikipedia

  • Resource Interchange File Format — Saltar a navegación, búsqueda Resource Interchange File Format (RIFF), o formato de archivo informático para intercambio de recursos, es un formato genérico que almacena información en bloques etiquetados. Microsoft e IBM lo presentaron en 1991 y …   Wikipedia Español

  • Graphics Interchange File Format — Bei Fotos wie diesem macht sich bei ganz genauem Hinsehen die Beschränkung auf 256 Farben bemerkbar. Das Bild wirkt hier durch Dithering grobkörnig. GIF (/dʒɪf/ oder /gɪf/) für Graphics Interchange Format (e …   Deutsch Wikipedia

  • Notation Interchange File Format — (NIFF) is a music notation file format used primarily for transferring music notation between different scorewriters. The NIFF project was started in February 1994 to create an open format that would allow exchange of music between various… …   Wikipedia