IFF
Dan Tobias (Talk | contribs) |
MihaiPopa7 (Talk | contribs) (→FORM type cross-reference: Added Fantavision.) |
||
(73 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | { | + | {{FormatInfo |
− | | | + | |formattype=electronic |
− | | | + | |subcat=Metaformats |
− | | | + | |extensions={{ext|iff}}, many others |
− | | | + | |locfdd={{LoCFDD|fdd000115}} |
− | | | + | |pronom={{PRONOM|x-fmt/157}} |
− | | | + | |released=1985 |
− | |'' | + | }} |
− | + | :''This article is about the generic IFF metaformat. For the IFF '''image format''', see [[ILBM]]. For Sun IFF, see [[Sun TAAC image]].'' | |
− | + | '''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'''. | |
− | IFF is a file format introduced by Electronic Arts on the Commodore Amiga computer. | + | |
− | + | == Format details == | |
− | + | 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. |
+ | |||
+ | Of particular significance is chunk type <code>FORM</code>. Most IFF-based files are formatted as a single <code>FORM</code> chunk. A <code>FORM</code> 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 "<code>FORM</code>". The file type is then indicated by the 4-byte ASCII code beginning at offset 8. | ||
+ | |||
+ | There are also aggregate formats that begin with "<code>LIST</code>" or "<code>CAT </code>". | ||
+ | |||
+ | == FORM type cross-reference == | ||
+ | Selected FORM types, and related articles, are listed below. See also [[:Category:IFF based file formats]]. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! FORM type | ||
+ | ! Refer to | ||
+ | ! Remarks | ||
+ | |- | ||
+ | | <code>8SVX</code> || [[8-Bit Sampled Voice]] || 8-bit sampled sound voice; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>ACBM</code> || [[ILBM#ACBM]] || | ||
+ | |- | ||
+ | | <code>AIFC</code> || [[AIFC]] || | ||
+ | |- | ||
+ | | <code>AIFF</code> || [[AIFF]] || | ||
+ | |- | ||
+ | | <code>AMFF</code> || [[Amiga Metafile]] || | ||
+ | |- | ||
+ | | <code>ANBM</code> || || Animated bitmap; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>ANIM</code> || [[ANIM]] || | ||
+ | |- | ||
+ | | <code>CMUS</code> || [[DeLuxe Music Score]] || | ||
+ | |- | ||
+ | | <code>CTLG</code> || || Amiga Catalog translaton format | ||
+ | |- | ||
+ | | <code>D3TV</code> || [[D3TV]] || | ||
+ | |- | ||
+ | | <code>DEEP</code> || [[IFF-DEEP]] || | ||
+ | |- | ||
+ | | <code>DR2D</code> || [[DR2D]] || | ||
+ | |- | ||
+ | | <code>FANT</code> || [[Fantavision]] || | ||
+ | |- | ||
+ | | <code>FAXX</code> || [[FAXX]] || | ||
+ | |- | ||
+ | | <code>FNTR</code> || || Raster font; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>FNTV</code> || || Vector font; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>FTXT</code> || [[FTXT]] || Formatted text; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>GSCR</code> || || General-use musical score; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>ICON</code> || [[GlowIcons]] || | ||
+ | |- | ||
+ | | <code>IFRS</code> || [[Blorb]] || | ||
+ | |- | ||
+ | | <code>ILBM</code> || [[ILBM]] || Interleaved raster bitmap image; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>IMAG</code> || [[CD-I IFF IMAG]] || | ||
+ | |- | ||
+ | | <code>LWLO</code>, <code>LWOB</code>, <code>LWO2</code> || [[LightWave Object]] | ||
+ | |- | ||
+ | | <code>MAUD</code> || [[IFF-MAUD]] || Amiga sound format | ||
+ | |- | ||
+ | | <code>MAUD</code> || [[MLDF]] || Unknown graphics format | ||
+ | |- | ||
+ | | <code>PBM</code> || [[ILBM#PBM]] || | ||
+ | |- | ||
+ | | <code>PDEF</code> || || Deluxe Print page definition; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>PICS</code> || || Macintosh picture; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>PLBM</code> || || (obsolete); listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>RGFX</code> || [[RGFX]] || | ||
+ | |- | ||
+ | | <code>SCDH</code> || || Sim City 2000 saved city (*.sc2) | ||
+ | |- | ||
+ | | <code>SMUS</code> || [[SMUS]] || Simple musical score; listed in the original IFF spec. [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/SMUS.pdf] | ||
+ | |- | ||
+ | | <code>SSA </code> || [[IFF-SSA]] || ClariSSA Super smooth Animation | ||
+ | |- | ||
+ | | <code>TDDD</code> || [[TDDD]], [[Imagine Object File]] | ||
+ | |- | ||
+ | | <code>USCR</code> || || Uhuru Sound Software musical score; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>UVOX</code> || || Uhuru Sound Software Macintosh voice; listed in the original IFF spec. | ||
+ | |- | ||
+ | | <code>VAXL</code> || [[VAXL]] || Unknown animation format | ||
+ | |- | ||
+ | | <code>VDEO</code> || [[VDEO]] || Deluxe Video Construction Set video; listed in the original IFF spec. | ||
+ | |} | ||
+ | |||
+ | == 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 (<code>FOR1</code> instead of <code>FORM</code>) | ||
+ | * Microsoft's [[RIFF]] and [[RIFX]] formats are based on IFF (RIFF uses [[Endianness|little-endian]] byte order instead, and the root chunk is called <code>RIFF</code> instead of <code>FORM</code>) | ||
+ | * Apple's [[AIFF]] and [[AIFC]] formats are similar to IFF/RIFF as well | ||
+ | * [[Maya IFF]] | ||
+ | * [[IFF (The Sims)]] | ||
+ | |||
+ | == Specifications == | ||
+ | * [http://1fish2.github.io/IFF/ The EA IFF-85 Repository] | ||
+ | ** [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/EA%20IFF%2085.pdf EA IFF 85] - January 14, 1985 (Updated Oct, 1988 Commodore-Amiga, Inc.) | ||
+ | ** [http://1fish2.github.io/IFF/IFF%20docs%20with%20Commodore%20revisions/IFF%20Quick%20Intro.pdf A Quick Introduction to IFF] | ||
+ | ** [https://github.com/1fish2/IFF/blob/master/IFF%20retrospective.md IFF Retrospective] by Jerry Morrison, 2013 | ||
+ | ** [https://github.com/1fish2/IFF/blob/master/64-bit%20IFF.md 64-bit IFF] (abandoned) | ||
+ | * [http://wiki.amigaos.net/wiki/EA_IFF_85_Standard_for_Interchange_Format_Files EA IFF 85] (Updated October, 1988 Amiga, Inc.) - From AmigaOS Documentation Wiki | ||
* [http://www.martinreddy.net/gfx/2d/IFF.txt The original EA spec] | * [http://www.martinreddy.net/gfx/2d/IFF.txt The original EA spec] | ||
− | * [http://wiki.amigaos.net/ | + | ** [http://www.textfiles.com/programming/FORMATS/ea.iff Another copy at textfiles.com] |
− | * | + | * [http://www.fileformat.info/format/iff/spec/7866a9f0e53c42309af667c5da3bd426/view.htm IFF.TXT] - A concatenation of about a dozen IFF-related documents, from FileFormat.Info |
+ | |||
+ | == Sample files == | ||
+ | * CTLG: {{DexvertSamples|other/iffCTLG}} | ||
+ | |||
+ | == Links == | ||
+ | * [http://wiki.amigaos.net/wiki/IFF_FORM_and_Chunk_Registry IFF chunk registry], defining all known chunks | ||
+ | * [http://wiki.amigaos.net/wiki/IFF_Source_Code IFF Source Code] | ||
+ | * [http://rewiki.regengedanken.de/wiki/.IFF REWiki: .IFF] | ||
+ | * {{EGFF|iff|IFF File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]] | ||
+ | * [http://www.textfiles.com/programming/FORMATS/admusfmt.pro 1994 "advanced music formats" discussion that covers some IFF formats] | ||
+ | * [http://www.ibm.com/developerworks/library/pa-spec16/ IBM developerWorks: The Interchange File Format] | ||
+ | * [http://sandervanderburg.blogspot.com/2012/06/iff-file-format-experiments.html IFF file format experiments] | ||
+ | |||
+ | [[Category:IFF based file formats| ]] | ||
+ | [[Category:Audio and Music]] | ||
+ | [[Category:Graphics]] | ||
+ | [[Category:Video]] | ||
+ | [[Category:Amiga]] | ||
+ | [[Category:Electronic Arts]] |
Latest revision as of 01:00, 27 May 2024
- This article is about the generic IFF metaformat. For the IFF image format, see ILBM. For Sun IFF, see Sun TAAC image.
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 |
[edit] 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.
[edit] 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
".
[edit] FORM type cross-reference
Selected FORM types, and related articles, are listed below. See also Category:IFF based file formats.
FORM type | Refer to | Remarks |
---|---|---|
8SVX |
8-Bit Sampled Voice | 8-bit sampled sound voice; listed in the original IFF spec. |
ACBM |
ILBM#ACBM | |
AIFC |
AIFC | |
AIFF |
AIFF | |
AMFF |
Amiga Metafile | |
ANBM |
Animated bitmap; listed in the original IFF spec. | |
ANIM |
ANIM | |
CMUS |
DeLuxe Music Score | |
CTLG |
Amiga Catalog translaton format | |
D3TV |
D3TV | |
DEEP |
IFF-DEEP | |
DR2D |
DR2D | |
FANT |
Fantavision | |
FAXX |
FAXX | |
FNTR |
Raster font; listed in the original IFF spec. | |
FNTV |
Vector font; listed in the original IFF spec. | |
FTXT |
FTXT | Formatted text; listed in the original IFF spec. |
GSCR |
General-use musical score; listed in the original IFF spec. | |
ICON |
GlowIcons | |
IFRS |
Blorb | |
ILBM |
ILBM | Interleaved raster bitmap image; listed in the original IFF spec. |
IMAG |
CD-I IFF IMAG | |
LWLO , LWOB , LWO2 |
LightWave Object | |
MAUD |
IFF-MAUD | Amiga sound format |
MAUD |
MLDF | Unknown graphics format |
PBM |
ILBM#PBM | |
PDEF |
Deluxe Print page definition; listed in the original IFF spec. | |
PICS |
Macintosh picture; listed in the original IFF spec. | |
PLBM |
(obsolete); listed in the original IFF spec. | |
RGFX |
RGFX | |
SCDH |
Sim City 2000 saved city (*.sc2) | |
SMUS |
SMUS | Simple musical score; listed in the original IFF spec. [1] |
SSA |
IFF-SSA | ClariSSA Super smooth Animation |
TDDD |
TDDD, Imagine Object File | |
USCR |
Uhuru Sound Software musical score; listed in the original IFF spec. | |
UVOX |
Uhuru Sound Software Macintosh voice; listed in the original IFF spec. | |
VAXL |
VAXL | Unknown animation format |
VDEO |
VDEO | Deluxe Video Construction Set video; listed in the original IFF spec. |
[edit] 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 ofFORM
) - 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 ofFORM
) - Apple's AIFF and AIFC formats are similar to IFF/RIFF as well
- Maya IFF
- IFF (The Sims)
[edit] Specifications
- The EA IFF-85 Repository
- EA IFF 85 - January 14, 1985 (Updated Oct, 1988 Commodore-Amiga, Inc.)
- A Quick Introduction to IFF
- IFF Retrospective by Jerry Morrison, 2013
- 64-bit IFF (abandoned)
- EA IFF 85 (Updated October, 1988 Amiga, Inc.) - From AmigaOS Documentation Wiki
- The original EA spec
- IFF.TXT - A concatenation of about a dozen IFF-related documents, from FileFormat.Info