Difference between revisions of "IFF"

From MultimediaWiki
Jump to navigation Jump to search
(→‎Table Of Forms/Chunks FOURCC's: more forms and chunks)
(→‎Table Of Forms/Chunks FOURCC's: again, more fourcc's)
Line 113: Line 113:
|-
|-
| DSDR || private || DrawStudio
| DSDR || private || DrawStudio
|-
| GRYP || proposal || Byteplane Storage
|-
|-
| ILBM || EA85 || Raster Bitmap Form
| ILBM || EA85 || Raster Bitmap Form
Line 186: Line 188:
|-
|-
| GRAB || || Hotspot Coordinates
| GRAB || || Hotspot Coordinates
|-
| MFAX || private, reserved || TKR GmbH & Co.
|-
|-
| PCHG || || Line-by-line Palette Control Information
| PCHG || || Line-by-line Palette Control Information
Line 231: Line 235:
|-
|-
| CMUS || proposal || Common Musical Score
| CMUS || proposal || Common Musical Score
|-
| GSCR || EA85 || General Music Score
|-
| MIDI || private || Circum Design
|-
| MSCX || private || Music-X Format


|-
|-
Line 238: Line 248:
|-
|-
| CPFM || private || Cloanto Personal Fontmaker
| CPFM || private || Cloanto Personal Fontmaker
|-
| FNTR || EA85 || Raster Font
|-
| FNTV || EA85 || Vector Font


|-
|-
Line 256: Line 270:
| ANIM.op6 || || Stereo, 3D Animation
| ANIM.op6 || || Stereo, 3D Animation
|-
|-
| ANIM.op7 || private ||
| ANIM.op7 || private, unregistered ||
|-
|-
| ANIM.op8 || ||
| ANIM.op8 || ||
Line 265: Line 279:
|-
|-
| FIGR || private || Deluxe Video
| FIGR || private || Deluxe Video
|-
| FILM || private || Store ILBM's with interleaved 8SVX audio
|-
| JMOV || private, reserved || Merging Technologies
|-
| MOVI || private || LIST MOVI


|-
|-
Line 277: Line 297:
| ARC || proposal || Archive Format
| ARC || proposal || Archive Format
|-
|-
| ARES || private ||
| ARES || private, unregistered ||
|-
|-
| ATXT || reserved ||
| ATXT || reserved ||
Line 304: Line 324:
|-
|-
| FRED || private || ASDG Global Chunk
| FRED || private || ASDG Global Chunk
|-
| GMS || || Gesture and Motion Signal (see libGMS)
|-
| GUI || proposal, private || Graphical User Interface Storage
|-
| HEAD || || Flow Idea Processor, New Horizons Software
|-
| IMRT || ||
|-
|-
| INFO || proposal || Contains data usually found in .info file
| INFO || proposal || Contains data usually found in .info file
Line 309: Line 337:
| INS1 || ||  
| INS1 || ||  
|-
|-
| IMRT || ||  
| IOBJ || private, reserved || Seven Seas Software
|-
| IODK || private, reserved || Jean-Marc Porchet, Merging Technologies
|-
| ITRF || private, reserved ||
|-
|-
| MHDR || ||  
| MHDR || ||  
|-
| MSMP || reserved ||
|-
| MTRX || || Numerical Data Storage, MathVision - Seven Seas
|-
| NSEQ || private || Numerical Sequence, Stockhausen GmbH
|-
|-
| RLSE || ||  
| RLSE || ||  

Revision as of 03:17, 3 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: FOURCC's of less than four characters are padded with spaces.

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)
CHBM private Chunky Bitmap
DCCL private DCTV Paint Clip
DCPA private DCTV Paint Palette
DCTV private DCTV Raw Picture
DEEP Chunky Pixel Image Files (TV Paint)
DR2D 2D Object, Vector Graphics
DRAW reserved Jim Bayless, 12/90
DSDR private DrawStudio
GRYP proposal Byteplane Storage
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
DLTA Image Data
DPI Dots Per Inch
DPPV DPaint Perspective (EA)
DRNG DPaint IV Enhanced Color Cycling (EA)
EPSF Encapsulated Postscript
FAX3 private GPSoftware FAX
FAXX Fascimile Image
FAXX.GPHD Additional Header Info for FAXX forms
GRAB Hotspot Coordinates
MFAX private, reserved TKR GmbH & Co.
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 and Music
FOURCC Standard Description
16SV
8SVX EA85 8-bit Sound Sample
8SVX.CHAN.PAN Stereo chunks
8SVX.SEQN.FADE Looping chunks
AHIM private AHI Modes
AHIM.AUDN private Audio Driver Name
AHIM.AUDD private Audio Driver Data
AHIM.AUDM private Audio Mode
AIFF Audio 1-32 bit Samples
BANK private Soundquest Editor/Librarian MIDI Sysex Dump
CELP proposal Compressed ZyXEL Voice Data
CMUS proposal Common Musical Score
GSCR EA85 General Music Score
MIDI private Circum Design
MSCX private Music-X Format
Fonts
FOURCC Standard Description
CPFM private Cloanto Personal Fontmaker
FNTR EA85 Raster Font
FNTV EA85 Vector Font
Animation and Movies
FOURCC Standard Description
AHAM private
ANBM Animated Bitmap (Framer, Deluxe Video)
ANHD ANIM Frame
ANIM Cel Animation
ANIM.brush Brushes
ANIM.op6 Stereo, 3D Animation
ANIM.op7 private, unregistered
ANIM.op8
DPAN Deluxe Paint Animation
FANT Fantavision Movie
FIGR private Deluxe Video
FILM private Store ILBM's with interleaved 8SVX audio
JMOV private, reserved Merging Technologies
MOVI private LIST MOVI
Rest...
FOURCC Standard Description
ANFI
ANSQ
ARC proposal Archive Format
ARES private, unregistered
ATXT reserved
ATAK
AVCF private AmigaVision Flow format
BBSD private BBS Database, F. Patnaude, Jr., Phalanx Software
C100 private Cloanto Italiaformat
CLIP private CAT CLIP, holds various clipboard formats
DECK private Inovatronics CanDo
DOC private PageStream
DPPS
DTYP DataTypes Identification
EXEC proposal Executable Code
FACE
FRED private ASDG Global Chunk
GMS Gesture and Motion Signal (see libGMS)
GUI proposal, private Graphical User Interface Storage
HEAD Flow Idea Processor, New Horizons Software
IMRT
INFO proposal Contains data usually found in .info file
INS1
IOBJ private, reserved Seven Seas Software
IODK private, reserved Jean-Marc Porchet, Merging Technologies
ITRF private, reserved
MHDR
MSMP reserved
MTRX Numerical Data Storage, MathVision - Seven Seas
NSEQ private Numerical Sequence, Stockhausen GmbH
RLSE
SAMP
SHDR
SMUS
TINY
TRAK
VHDR