IFF: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(character set chunk)
(reformat table again)
Line 48: Line 48:
{| border="1" cellpadding="4"
{| border="1" cellpadding="4"
|-
|-
! colspan="2" align="left" | EA IFF 85 Group Identifiers
! colspan="3" align="left" style="background-color: #ddffdd;" | Group Identifiers
|-
|-
| CAT_
| style="background-color: #dddddd;" | ''FOURCC'' || style="background-color: #dddddd;" | ''Standard'' || style="background-color: #dddddd;" | ''Description''
|-
|-
| END_ || unofficial END-of-FORM identifier (see Amiga RKM Devices Ed. 3 page 376)
| CAT_ || EA85 ||
|-
|-
| FORM
| END_ || unofficial || END-of-FORM identifier (see Amiga RKM Devices Ed. 3 page 376)
|-
|-
| LIST
| FORM || EA85 ||
|-
|-
| PROP
| LIST || EA85 ||
|-
| PROP || EA85 ||


|-
|-
! colspan="2" align="left" | Text, annotations, et cetera
! colspan="3" align="left" style="background-color: #ddffdd;" | Text, annotations, et cetera
|-
| style="background-color: #dddddd;" | ''FOURCC'' || style="background-color: #dddddd;" | ''Standard'' || style="background-color: #dddddd;" | ''Description''
|-
|-
| (c)_ || EA IFF 85 Copyright
| (c)_ || EA85 || Copyright
|-
|-
| ANNO || EA IFF 85 Annotation
| ANNO || EA85 || Annotation
|-
|-
| AUTH || EA IFF 85 Author
| AUTH || EA85 || Author
|-
|-
| CHRS || EA IFF 85 Character String
| CHRS || EA85 || Character String
|-
|-
| CSET || Character Set
| CSET || || Character Set
|-
|-
| FTXT || EA IFF 85 Formatted Text
| FTXT || EA85 || Formatted Text
|-
|-
| FVER || Amiga OS Version String
| FVER || Amiga || OS Version String
|-
|-
| JUNK || Ignore
| JUNK || || Ignore
|-
|-
| NAME || EA IFF 85 Title of image, music, ...
| NAME || EA85 || Title of image, music, ...
|-
|-
| TEXT || EA IFF 85 Unformatted ASCII Text
| TEXT || EA85 || Unformatted ASCII Text
|-
|-
| VERS || File Version Number
| VERS || || File Version Number


|-
|-
! colspan="2" align="left" | Images
! colspan="3" align="left" style="background-color: #ddffdd;" | Images
|-
| style="background-color: #dddddd;" | ''FOURCC'' || style="background-color: #dddddd;" | ''Standard'' || style="background-color: #dddddd;" | ''Description''
|-
|-
| ILBM || EA IFF 85 Raster Bitmap Form
| ILBM || EA85 || Raster Bitmap Form
|-
|-
| DEEP || Chunky Pixel Image Files (TV Paint)
| DEEP || || Chunky Pixel Image Files (TV Paint)
|-
|-
| RGB8 || RGB Image, Turbo Silver (Impulse)
| RGB8 || || RGB Image, Turbo Silver (Impulse)
|-
|-
| RGBN || RGB Image, Turbo Silver (Impulse)
| RGBN || || RGB Image, Turbo Silver (Impulse)
|-
|-
| PBM_ || 256-Color Chunky Pixel
| PBM_ || || 256-Color Chunky Pixel
|-
|-
| ACBM || Amiga Contiguous Bitmap (AmigaBasic)  
| ACBM || || Amiga Contiguous Bitmap (AmigaBasic)  


|-
|-
! colspan="2" align="left" | ILBM Chunks
! colspan="3" align="left" style="background-color: #ddffdd;" | ILBM Chunks
|-
|-
| BMHD || ILBM Bitmap Header
| style="background-color: #dddddd;" | ''FOURCC'' || style="background-color: #dddddd;" | ''Standard'' || style="background-color: #dddddd;" | ''Description''
|-
|-
| CMAP || 8-bit RGB Color Map (packed array of ColorRegisters)
| BMHD || EA85 || ILBM Bitmap Header
|-
|-
| GRAB || Hotspot Coordinates
| CMAP || EA85 || 8-bit RGB Color Map (packed array of ColorRegisters)
|-
|-
| DEST || Destination Image Info
| GRAB || || Hotspot Coordinates
|-
|-
| SPRT || Sprite Identifier
| DEST || || Destination Image Info
|-
|-
| BODY || Image Data
| SPRT || || Sprite Identifier
|-
|-
| CAMG || Amiga Viewport Modes
| BODY || EA85 || Image Data
|-
|-
| CCRT || Graphicraft Color Cycling
| CAMG || || Amiga Viewport Modes
|-
|-
| CRNG || Color Cycling
| CCRT || || Graphicraft Color Cycling
|-
|-
| CLUT || Color Lookup Table
| CRNG || || Color Cycling
|-
|-
| DPI_ || Dots Per Inch
| CLUT || || Color Lookup Table
|-
|-
| DPPV || DPaint Perspective
| DPI_ || || Dots Per Inch
|-
|-
| DRNG || DPaint IV Enhanced Color Cycling
| DPPV || || DPaint Perspective
|-
|-
| EPSF || Encapsulated Postscript
| DRNG || || DPaint IV Enhanced Color Cycling
|-
|-
| CMYK || CMYK Color Map (Soft-Logik)
| EPSF || || Encapsulated Postscript
|-
|-
| CNAM || Color Naming Chunk (Soft-Logik)
| CMYK || || CMYK Color Map (Soft-Logik)
|-
|-
| PCHG || Line-by-line Palette Control Information
| CNAM || || Color Naming Chunk (Soft-Logik)
|-
|-
| PRVW || Preview (thumbnail)
| PCHG || || Line-by-line Palette Control Information
|-
|-
| XBMI || Extended Bitmap Information (Soft-Logik)
| PRVW || || Preview (thumbnail)
|-
|-
| CTBL || Newtek Dynamic Ham Color
| XBMI || || Extended Bitmap Information (Soft-Logik)
|-
|-
| DYCP || Newtek Dynamic Ham
| CTBL.DYCP || || Newtek Dynamic Ham Color
|-
|-
| SHAM || Sliced HAM Color
| SHAM || || Sliced HAM Color
|-
|-
| ABIT || ACBM Body
| ABIT || || ACBM Body
|-
|-
| DCOL || Unofficial Direct Color
| DCOL || || Unofficial Direct Color


|-
|-
! colspan="2" align="left" | Rest...
! colspan="3" align="left" style="background-color: #ddffdd;" | Rest...
|-
| style="background-color: #dddddd;" | ''FOURCC'' || style="background-color: #dddddd;" | ''Standard'' || style="background-color: #dddddd;" | ''Description''
|-
|-
| 16SV
| 16SV || ||
|-
|-
| 8SVX
| 8SVX || ||
|-
|-
| ANFI
| ANFI || ||
|-
|-
| ANHD || ANIM Frame
| ANHD || || ANIM Frame
|-
|-
| ANIM || Animation
| ANIM || || Animation
|-
|-
| ANSQ
| ANSQ || ||
|-
|-
| ATAK
| ATAK || ||
|-
|-
| CHAN
| CHAN || ||
|-
|-
| DLTA
| DLTA || ||
|-
|-
| DPAN || Deluxe Paint Anim Chunk
| DPAN || || Deluxe Paint Anim Chunk
|-
|-
| DPPS
| DPPS || ||
|-
|-
| DR2D || Vector Graphics
| DR2D || || Vector Graphics
|-
|-
| FACE
| FACE || ||
|-
|-
| FADE
| FADE || ||
|-
|-
| INS1
| INS1 || ||
|-
|-
| IMRT
| IMRT || ||
|-
|-
| MHDR
| MHDR || ||
|-
|-
| PAN_
| PAN_ || ||
|-
|-
| RLSE
| RLSE || ||
|-
|-
| SAMP
| SAMP || ||
|-
|-
| SEQN
| SEQN || ||
|-
|-
| SHDR
| SHDR || ||
|-
|-
| SMUS
| SMUS || ||
|-
|-
| TINY
| TINY || ||
|-
|-
| TRAK
| TRAK || ||
|-
|-
| VHDR
| VHDR || ||
|}
|}



Revision as of 14:34, 2 May 2008

  • 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:

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
JUNK Ignore
NAME EA85 Title of image, music, ...
TEXT EA85 Unformatted ASCII Text
VERS File Version Number
Images
FOURCC Standard Description
ILBM EA85 Raster Bitmap Form
DEEP Chunky Pixel Image Files (TV Paint)
RGB8 RGB Image, Turbo Silver (Impulse)
RGBN RGB Image, Turbo Silver (Impulse)
PBM_ 256-Color Chunky Pixel
ACBM Amiga Contiguous Bitmap (AmigaBasic)
ILBM Chunks
FOURCC Standard Description
BMHD EA85 ILBM Bitmap Header
CMAP EA85 8-bit RGB Color Map (packed array of ColorRegisters)
GRAB Hotspot Coordinates
DEST Destination Image Info
SPRT Sprite Identifier
BODY EA85 Image Data
CAMG Amiga Viewport Modes
CCRT Graphicraft Color Cycling
CRNG Color Cycling
CLUT Color Lookup Table
DPI_ Dots Per Inch
DPPV DPaint Perspective
DRNG DPaint IV Enhanced Color Cycling
EPSF Encapsulated Postscript
CMYK CMYK Color Map (Soft-Logik)
CNAM Color Naming Chunk (Soft-Logik)
PCHG Line-by-line Palette Control Information
PRVW Preview (thumbnail)
XBMI Extended Bitmap Information (Soft-Logik)
CTBL.DYCP Newtek Dynamic Ham Color
SHAM Sliced HAM Color
ABIT ACBM Body
DCOL Unofficial Direct Color
Rest...
FOURCC Standard Description
16SV
8SVX
ANFI
ANHD ANIM Frame
ANIM Animation
ANSQ
ATAK
CHAN
DLTA
DPAN Deluxe Paint Anim Chunk
DPPS
DR2D Vector Graphics
FACE
FADE
INS1
IMRT
MHDR
PAN_
RLSE
SAMP
SEQN
SHDR
SMUS
TINY
TRAK
VHDR