IFF
Jump to navigation
Jump to search
- Extensions: 8svx, 16sv, ilbm, anim
- MIME Types:
- 8svx: audio/8svx, audio/x-8svx
- 16sv: audio/16sv, audio/x-16sv
- ilbm: image/ilbm, image/x-ilbm
- anim: video/anim, video/x-anim
- Specification:
- Original Electronic Arts specification january 14 1985.
IFF (Interchange File Format) is a format developed by electronic arts in the 80's. It is the predominant format on the Amiga computer. It is a chunked format. It can be used to store any type of data, but it is predominantly used to store images, animations and audio.
IFF chunks are always padded to an even number of bytes.
Implementations
- xine has a demuxer/decoder for iff. Manfred Tremmel the author of the xine code has agreed to relicence his xine code as LGPL to allow easier use in ffmpeg. Thanks Manfred.
- Werner Randelshofer the author of multishow has also granted permission for his iff code to be relicenced as LGPL. Thanks Werner.
- Xanim also contains code to support iff, it may contain some formats not available in xine.
- libiffanim supports lots of animation formats http://www-user.tu-chemnitz.de/~womar/projects/iffanim/
- Virtualdub contains a demuxer/decoder also, look in the file InputFileANIM.cpp
ILBM FOURCC
Images are stored in planes. So, to get a pixels color value you need to combine the bits from each frame to create a color register index.
/* ---------- BitMapHeader ---------------------------------------------*/ /* Required Bitmap header (BMHD) structure describes an ILBM */ typedef struct { uint16_t w; /* raster width in pixels */ uint16_t h; /* raster height in pixels */ int16_t x; /* x offset in pixels */ int16_t y; /* y offset in pixels */ uint8_t nplanes; /* # source bitplanes */ uint8_t masking; /* masking technique */ uint8_t compression; /* compression algoithm */ uint8_t pad1; /* UNUSED. For consistency, put 0 here. */ uint16_t transparentColor; /* transparent "color number" */ uint8_t xaspect; /* aspect ratio, a rational number x/y */ uint8_t yaspect; /* aspect ratio, a rational number x/y */ int16_t pagewidth; /* source "page" size in pixels */ int16_t pageheight; /* source "page" size in pixels */ } BitMapHeader;
Table Of Forms/Chunks FOURCC's
Note: an underscore (_) is used to indicate the space character.
Group Identifiers | ||
---|---|---|
FOURCC | Standard | Description |
CAT_ | EA85 | |
END_ | unofficial | END-of-FORM identifier (see Amiga RKM Devices Ed. 3 page 376) |
FORM | EA85 | |
LIST | EA85 | |
PROP | EA85 | |
Text, annotations, et cetera | ||
FOURCC | Standard | Description |
(c)_ | EA85 | Copyright |
ANNO | EA85 | Annotation |
AUTH | EA85 | Author |
CHRS | EA85 | Character String |
CSET | Character Set | |
FTXT | EA85 | Formatted Text |
FVER | Amiga OS Version String | |
HLID | private | HotLink IDentification (Soft-Logik) |
JUNK | Ignore | |
NAME | EA85 | Title of image, music, ... |
TEXT | EA85 | Unformatted ASCII Text |
VERS | File Version Number | |
Image Forms | ||
FOURCC | Standard | Description |
ACBM | Amiga Contiguous Bitmap (AmigaBasic) | |
DEEP | Chunky Pixel Image Files (TV Paint) | |
ILBM | EA85 | Raster Bitmap Form |
PBM_ | 256-Color Chunky Pixel | |
RGB8 | RGB Image, Turbo Silver (Impulse) | |
RGBN | RGB Image, Turbo Silver (Impulse) | |
ILBM Chunks | ||
FOURCC | Standard | Description |
3DCM | reserved | by Haitex |
3DPA | reserved | by Haitex |
ABIT | ACBM Body | |
ASDG | private | ASDG Application |
BHBA | private | Photon Paint (brushes) |
BHCP | private | Photon Paint (screens) |
BHSM | private | Photon Paint |
BMHD | EA85 | ILBM Bitmap Header |
BODY | EA85 | Image Data |
CAMG | Amiga Viewport Modes | |
CCRT | Graphicraft Color Cycling | |
CLUT | Color Lookup Table | |
CMAP | EA85 | 8-bit RGB Color Map (packed array of ColorRegisters) |
CMYK | CMYK Color Map (Soft-Logik) | |
CNAM | Color Naming Chunk, providex names for CMAP and/or CMYK (Soft-Logik) | |
CRNG | Color Cycling | |
CTBL.DYCP | Newtek Dynamic Ham Color | |
DCOL | unofficial | Direct Color |
DCTV | reserved | |
DEST | Destination Image Info | |
DGVW | private | Newtek DigiView |
DPI_ | Dots Per Inch | |
DPPV | DPaint Perspective (EA) | |
DRNG | DPaint IV Enhanced Color Cycling (EA) | |
EPSF | Encapsulated Postscript | |
GRAB | Hotspot Coordinates | |
PCHG | Line-by-line Palette Control Information | |
PRVW | proposal | Preview (thumbnail) |
SHAM | Sliced HAM Color | |
SPRT | Sprite Identifier | |
TMAP | reserved | Transparency Map |
VTAG | proposal | Viewmode Tags |
XBMI | Extended Bitmap Information (Soft-Logik) | |
XSSL | Identifier for 3D X-Specs Image (Haitex) | |
Audio Forms | ||
FOURCC | Standard | Description |
16SV | ||
8SVX | EA85 | 8-bit Sound Sample |
Rest... | ||
FOURCC | Standard | Description |
ANFI | ||
ANHD | ANIM Frame | |
ANIM | Animation | |
ANSQ | ||
ATAK | ||
CHAN | ||
DLTA | ||
DPAN | Deluxe Paint Anim Chunk | |
DPPS | ||
DR2D | Vector Graphics | |
FACE | ||
FADE | ||
FRED | private | ASDG Global Chunk |
INFO | proposal | Conatins data usually found in .info file |
INS1 | ||
IMRT | ||
MHDR | ||
PAN_ | ||
RLSE | ||
SAMP | ||
SEQN | ||
SHDR | ||
SMUS | ||
TINY | ||
TRAK | ||
VHDR |