images revision 226048
1226048Sobrien
268349Sobrien#------------------------------------------------------------------------------
3226048Sobrien# $File: images,v 1.70 2010/11/25 15:00:12 christos Exp $
4186690Sobrien# images:  file(1) magic for image formats (see also "iff", and "c-lang" for
5186690Sobrien# XPM bitmaps)
668349Sobrien#
768349Sobrien# originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
868349Sobrien# additions by janl@ifi.uio.no as well as others. Jan also suggested
968349Sobrien# merging several one- and two-line files into here.
1068349Sobrien#
1168349Sobrien# little magic: PCX (first byte is 0x0a)
1268349Sobrien
1368349Sobrien# Targa - matches `povray', `ppmtotga' and `xv' outputs
1468349Sobrien# by Philippe De Muyter <phdm@macqel.be>
1568349Sobrien# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
1668349Sobrien# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
1768349Sobrien# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
1868349Sobrien# `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
1968349Sobrien# `tgatoppm' recognizes a superset (Index may be anything)
2068349Sobrien1	belong&0xfff7ffff	0x01010000	Targa image data - Map
2168349Sobrien>2	byte&8			8		- RLE
22133359Sobrien>12	leshort			>0		%hd x
23133359Sobrien>14	leshort			>0		%hd
2468349Sobrien1	belong&0xfff7ffff	0x00020000	Targa image data - RGB
2568349Sobrien>2	byte&8			8		- RLE
26133359Sobrien>12	leshort			>0		%hd x
27133359Sobrien>14	leshort			>0		%hd
2868349Sobrien1	belong&0xfff7ffff	0x00030000	Targa image data - Mono
2968349Sobrien>2	byte&8			8		- RLE
30133359Sobrien>12	leshort			>0		%hd x
31133359Sobrien>14	leshort			>0		%hd
3268349Sobrien
3368349Sobrien# PBMPLUS images
3468349Sobrien# The next byte following the magic is always whitespace.
35186690Sobrien0	search/1	P1		Netpbm PBM image text
36186690Sobrien!:mime	image/x-portable-bitmap
37226048Sobrien0	search/1b	P2		Netpbm PGM image text
38186690Sobrien!:mime	image/x-portable-greymap
39186690Sobrien0	search/1	P3		Netpbm PPM image text
40186690Sobrien!:mime	image/x-portable-pixmap
4169216Sobrien0	string		P4		Netpbm PBM "rawbits" image data
42186690Sobrien!:mime	image/x-portable-bitmap
4369216Sobrien0	string		P5		Netpbm PGM "rawbits" image data
44186690Sobrien!:mime	image/x-portable-greymap
4569216Sobrien0	string		P6		Netpbm PPM "rawbits" image data
46186690Sobrien!:mime	image/x-portable-pixmap
4769216Sobrien0	string		P7		Netpbm PAM image file
48186690Sobrien!:mime	image/x-portable-pixmap
4968349Sobrien
5069216Sobrien# From: bryanh@giraffe-data.com (Bryan Henderson)
5169216Sobrien0	string		\117\072	Solitaire Image Recorder format
5269216Sobrien>4	string		\013		MGI Type 11
5369216Sobrien>4	string		\021		MGI Type 17
5469216Sobrien0	string		.MDA		MicroDesign data
5569216Sobrien>21	byte		48		version 2
5669216Sobrien>21	byte		51		version 3
5769216Sobrien0	string		.MDP		MicroDesign page data
5869216Sobrien>21	byte		48		version 2
5969216Sobrien>21	byte		51		version 3
6069216Sobrien
6168349Sobrien# NIFF (Navy Interchange File Format, a modification of TIFF) images
62186690Sobrien# [GRR:  this *must* go before TIFF]
6368349Sobrien0	string		IIN1		NIFF image data
64186690Sobrien!:mime	image/x-niff
6568349Sobrien
66226048Sobrien# Canon RAW version 1 (CRW) files are a type of Canon Image File Format
67226048Sobrien# (CIFF) file. These are apparently all little-endian.
68226048Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
69226048Sobrien# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html
70226048Sobrien0	string		II\x1a\0\0\0HEAPCCDR	Canon CIFF raw image data
71226048Sobrien!:mime	image/x-canon-crw
72226048Sobrien>16	leshort		x	\b, version %d.
73226048Sobrien>14	leshort		x	\b%d
74226048Sobrien
75226048Sobrien# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic
76226048Sobrien# number. Put this above the TIFF test to make sure we detect them.
77226048Sobrien# These are apparently all little-endian.
78226048Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
79226048Sobrien# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2
80226048Sobrien0	string		II\x2a\0\x10\0\0\0CR	Canon CR2 raw image data
81226048Sobrien!:mime	image/x-canon-cr2
82226048Sobrien>10	byte		x	\b, version %d.
83226048Sobrien>11	byte		x	\b%d
84226048Sobrien
8568349Sobrien# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
8668349Sobrien# The second word of TIFF files is the TIFF version number, 42, which has
8768349Sobrien# never changed.  The TIFF specification recommends testing for it.
8868349Sobrien0	string		MM\x00\x2a	TIFF image data, big-endian
89186690Sobrien!:mime	image/tiff
9068349Sobrien0	string		II\x2a\x00	TIFF image data, little-endian
91186690Sobrien!:mime	image/tiff
9268349Sobrien
9368349Sobrien# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
9468349Sobrien# (Greg Roelofs, newt@uchicago.edu)
9568349Sobrien# (Albert Cahalan, acahalan@cs.uml.edu)
9668349Sobrien#
9768349Sobrien# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
9868349Sobrien#
99226048Sobrien0	string		\x89PNG\x0d\x0a\x1a\x0a		PNG image data
100186690Sobrien!:mime	image/png
101186690Sobrien>16	belong		x		\b, %ld x
102186690Sobrien>20	belong		x		%ld,
103186690Sobrien>24	byte		x		%d-bit
104186690Sobrien>25	byte		0		grayscale,
105186690Sobrien>25	byte		2		\b/color RGB,
106186690Sobrien>25	byte		3		colormap,
107186690Sobrien>25	byte		4		gray+alpha,
108186690Sobrien>25	byte		6		\b/color RGBA,
109186690Sobrien#>26	byte		0		deflate/32K,
110186690Sobrien>28	byte		0		non-interlaced
111186690Sobrien>28	byte		1		interlaced
11268349Sobrien
113186690Sobrien# possible GIF replacements; none yet released!
114186690Sobrien# (Greg Roelofs, newt@uchicago.edu)
115186690Sobrien#
116186690Sobrien# GRR 950115:  this was mine ("Zip GIF"):
117186690Sobrien0	string		GIF94z		ZIF image (GIF+deflate alpha)
118186690Sobrien!:mime	image/x-unknown
119186690Sobrien#
120186690Sobrien# GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
121186690Sobrien#					
122186690Sobrien0	string		FGF95a		FGF image (GIF+deflate beta)
123186690Sobrien!:mime	image/x-unknown
124186690Sobrien#
125186690Sobrien# GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
126186690Sobrien# (best; not yet implemented):
127186690Sobrien#					
128186690Sobrien0	string		PBF		PBF image (deflate compression)
129186690Sobrien!:mime	image/x-unknown
130186690Sobrien
13168349Sobrien# GIF
13268349Sobrien0	string		GIF8		GIF image data
133186690Sobrien!:mime	image/gif
134191736Sobrien!:apple	8BIMGIFf
13568349Sobrien>4	string		7a		\b, version 8%s,
13668349Sobrien>4	string		9a		\b, version 8%s,
13768349Sobrien>6	leshort		>0		%hd x
138103373Sobrien>8	leshort		>0		%hd
13968349Sobrien#>10	byte		&0x80		color mapped,
14068349Sobrien#>10	byte&0x07	=0x00		2 colors
14168349Sobrien#>10	byte&0x07	=0x01		4 colors
14268349Sobrien#>10	byte&0x07	=0x02		8 colors
14368349Sobrien#>10	byte&0x07	=0x03		16 colors
14468349Sobrien#>10	byte&0x07	=0x04		32 colors
14568349Sobrien#>10	byte&0x07	=0x05		64 colors
14668349Sobrien#>10	byte&0x07	=0x06		128 colors
14768349Sobrien#>10	byte&0x07	=0x07		256 colors
14868349Sobrien
14968349Sobrien# ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
15068349Sobrien# 1 plane, no encoding.
15168349Sobrien0	string		\361\0\100\273	CMU window manager raster image data
15268349Sobrien>4	lelong		>0		%d x
15368349Sobrien>8	lelong		>0		%d,
15468349Sobrien>12	lelong		>0		%d-bit
15568349Sobrien
15668349Sobrien# Magick Image File Format
15768349Sobrien0	string		id=ImageMagick	MIFF image data
15868349Sobrien
15968349Sobrien# Artisan
16068349Sobrien0	long		1123028772	Artisan image data
16168349Sobrien>4	long		1		\b, rectangular 24-bit
16268349Sobrien>4	long		2		\b, rectangular 8-bit with colormap
16368349Sobrien>4	long		3		\b, rectangular 32-bit (24-bit with matte)
16468349Sobrien
16568349Sobrien# FIG (Facility for Interactive Generation of figures), an object-based format
166186690Sobrien0	search/1	#FIG		FIG image text
16768349Sobrien>5	string		x		\b, version %.3s
16868349Sobrien
16968349Sobrien# PHIGS
17068349Sobrien0	string		ARF_BEGARF		PHIGS clear text archive
17168349Sobrien0	string		@(#)SunPHIGS		SunPHIGS
17268349Sobrien# version number follows, in the form m.n
17368349Sobrien>40	string		SunBin			binary
17468349Sobrien>32	string		archive			archive
17568349Sobrien
17668349Sobrien# GKS (Graphics Kernel System)
17768349Sobrien0	string		GKSM		GKS Metafile
17868349Sobrien>24	string		SunGKS		\b, SunGKS
17968349Sobrien
18068349Sobrien# CGM image files
18168349Sobrien0	string		BEGMF		clear text Computer Graphics Metafile
18268349Sobrien
18368349Sobrien# MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
18468349Sobrien0	string	yz	MGR bitmap, modern format, 8-bit aligned
18568349Sobrien0	string	zz	MGR bitmap, old format, 1-bit deep, 16-bit aligned
18668349Sobrien0	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned
18768349Sobrien0	string	yx	MGR bitmap, modern format, squeezed
18868349Sobrien
18968349Sobrien# Fuzzy Bitmap (FBM) images
19068349Sobrien0	string		%bitmap\0	FBM image data
19168349Sobrien>30	long		0x31		\b, mono
19268349Sobrien>30	long		0x33		\b, color
19368349Sobrien
19468349Sobrien# facsimile data
19568349Sobrien1	string		PC\ Research,\ Inc	group 3 fax data
19668349Sobrien>29	byte		0		\b, normal resolution (204x98 DPI)
19768349Sobrien>29	byte		1		\b, fine resolution (204x196 DPI)
198110949Sobrien# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
199110949Sobrien0	string		Sfff		structured fax file
20068349Sobrien
201110949Sobrien
202186690Sobrien# PC bitmaps (OS/2, Windows BMP files)  (Greg Roelofs, newt@uchicago.edu)
203186690Sobrien0	string		BM
204186690Sobrien>14	leshort		12		PC bitmap, OS/2 1.x format
205186690Sobrien!:mime	image/x-ms-bmp
20668349Sobrien>>18	leshort		x		\b, %d x
20768349Sobrien>>20	leshort		x		%d
208186690Sobrien>14	leshort		64		PC bitmap, OS/2 2.x format
209186690Sobrien!:mime	image/x-ms-bmp
21068349Sobrien>>18	leshort		x		\b, %d x
21168349Sobrien>>20	leshort		x		%d
212186690Sobrien>14	leshort		40		PC bitmap, Windows 3.x format
213186690Sobrien!:mime	image/x-ms-bmp
21468349Sobrien>>18	lelong		x		\b, %d x
21568349Sobrien>>22	lelong		x		%d x
21668349Sobrien>>28	leshort		x		%d
217186690Sobrien>14	leshort		128		PC bitmap, Windows NT/2000 format
218186690Sobrien!:mime	image/x-ms-bmp
219186690Sobrien>>18	lelong		x		\b, %d x
220186690Sobrien>>22	lelong		x		%d x
221186690Sobrien>>28	leshort		x		%d
222133359Sobrien# Too simple - MPi
223133359Sobrien#0	string		IC		PC icon data
224133359Sobrien#0	string		PI		PC pointer image data
225133359Sobrien#0	string		CI		PC color icon data
226133359Sobrien#0	string		CP		PC color pointer image data
22768349Sobrien# Conflicts with other entries [BABYL]
22868349Sobrien#0	string		BA		PC bitmap array data
22968349Sobrien
23068349Sobrien# XPM icons (Greg Roelofs, newt@uchicago.edu)
23168349Sobrien# note possible collision with C/REXX entry in c-lang; currently commented out
232186690Sobrien0	search/1	/*\ XPM\ */	X pixmap image text
23368349Sobrien
23468349Sobrien# Utah Raster Toolkit RLE images (janl@ifi.uio.no)
23568349Sobrien0	leshort		0xcc52		RLE image data,
23668349Sobrien>6	leshort		x		%d x
23768349Sobrien>8	leshort		x		%d
23868349Sobrien>2	leshort		>0		\b, lower left corner: %d
23968349Sobrien>4	leshort		>0		\b, lower right corner: %d
24068349Sobrien>10	byte&0x1	=0x1		\b, clear first
24168349Sobrien>10	byte&0x2	=0x2		\b, no background
24268349Sobrien>10	byte&0x4	=0x4		\b, alpha channel
24368349Sobrien>10	byte&0x8	=0x8		\b, comment
24468349Sobrien>11	byte		>0		\b, %d color channels
24568349Sobrien>12	byte		>0		\b, %d bits per pixel
24668349Sobrien>13	byte		>0		\b, %d color map channels
24768349Sobrien
24868349Sobrien# image file format (Robert Potter, potter@cs.rochester.edu)
24968349Sobrien0	string		Imagefile\ version-	iff image data
25068349Sobrien# this adds the whole header (inc. version number), informative but longish
25168349Sobrien>10	string		>\0		%s
25268349Sobrien
25368349Sobrien# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
25468349Sobrien0	belong		0x59a66a95	Sun raster image data
25568349Sobrien>4	belong		>0		\b, %d x
25668349Sobrien>8	belong		>0		%d,
25768349Sobrien>12	belong		>0		%d-bit,
25868349Sobrien#>16	belong		>0		%d bytes long,
25968349Sobrien>20	belong		0		old format,
26068349Sobrien#>20	belong		1		standard,
26168349Sobrien>20	belong		2		compressed,
26268349Sobrien>20	belong		3		RGB,
26368349Sobrien>20	belong		4		TIFF,
26468349Sobrien>20	belong		5		IFF,
26568349Sobrien>20	belong		0xffff		reserved for testing,
26668349Sobrien>24	belong		0		no colormap
26768349Sobrien>24	belong		1		RGB colormap
26868349Sobrien>24	belong		2		raw colormap
26968349Sobrien#>28	belong		>0		colormap is %d bytes long
27068349Sobrien
27168349Sobrien# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
27268349Sobrien#
27368349Sobrien# See
27468349Sobrien#	http://reality.sgi.com/grafica/sgiimage.html
27568349Sobrien#
27668349Sobrien0	beshort		474		SGI image data
27768349Sobrien#>2	byte		0		\b, verbatim
27868349Sobrien>2	byte		1		\b, RLE
27968349Sobrien#>3	byte		1		\b, normal precision
28068349Sobrien>3	byte		2		\b, high precision
28168349Sobrien>4	beshort		x		\b, %d-D
28268349Sobrien>6	beshort		x		\b, %d x
28368349Sobrien>8	beshort		x		%d
28468349Sobrien>10	beshort		x		\b, %d channel
28568349Sobrien>10	beshort		!1		\bs
28668349Sobrien>80	string		>0		\b, "%s"
28768349Sobrien
28868349Sobrien0	string		IT01		FIT image data
28968349Sobrien>4	belong		x		\b, %d x
29068349Sobrien>8	belong		x		%d x
29168349Sobrien>12	belong		x		%d
29268349Sobrien#
29368349Sobrien0	string		IT02		FIT image data
29468349Sobrien>4	belong		x		\b, %d x
29568349Sobrien>8	belong		x		%d x
29668349Sobrien>12	belong		x		%d
29768349Sobrien#
29868349Sobrien2048	string		PCD_IPI		Kodak Photo CD image pack file
29984685Sobrien>0xe02	byte&0x03	0x00		, landscape mode
30084685Sobrien>0xe02	byte&0x03	0x01		, portrait mode
30184685Sobrien>0xe02	byte&0x03	0x02		, landscape mode
30284685Sobrien>0xe02	byte&0x03	0x03		, portrait mode
30368349Sobrien0	string		PCD_OPA		Kodak Photo CD overview pack file
30468349Sobrien
30568349Sobrien# FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
30668349Sobrien# FITS is the Flexible Image Transport System, the de facto standard for
30768349Sobrien# data and image transfer, storage, etc., for the astronomical community.
30868349Sobrien# (FITS floating point formats are big-endian.)
30968349Sobrien0	string	SIMPLE\ \ =	FITS image data
31068349Sobrien>109	string	8		\b, 8-bit, character or unsigned binary integer
31168349Sobrien>108	string	16		\b, 16-bit, two's complement binary integer
31268349Sobrien>107	string	\ 32		\b, 32-bit, two's complement binary integer
31368349Sobrien>107	string	-32		\b, 32-bit, floating point, single precision
31468349Sobrien>107	string	-64		\b, 64-bit, floating point, double precision
31568349Sobrien
31668349Sobrien# other images
31768349Sobrien0	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file
31868349Sobrien
31968349Sobrien# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
32068349Sobrien# stuff.
32168349Sobrien#
32268349Sobrien0	beshort		0x1010		PEX Binary Archive
32368349Sobrien
32468349Sobrien# DICOM medical imaging data
32568349Sobrien128	string	DICM			DICOM medical imaging data
326186690Sobrien!:mime	application/dicom
32774784Sobrien
328133359Sobrien# XWD - X Window Dump file.
32974784Sobrien#   As described in /usr/X11R6/include/X11/XWDFile.h
33074784Sobrien#   used by the xwd program.
33174784Sobrien#   Bradford Castalia, idaeim, 1/01
332226048Sobrien#   updated by Adam Buchbinder, 2/09
333226048Sobrien# The following assumes version 7 of the format; the first long is the length
334226048Sobrien# of the header, which is at least 25 4-byte longs, and the one at offset 8
335226048Sobrien# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth,
336226048Sobrien# which is a maximum of 32.
337226048Sobrien0	belong	>100
338226048Sobrien>8	belong	<3
339226048Sobrien>>12	belong	<33
340226048Sobrien>>>4	belong	7			XWD X Window Dump image data
341226048Sobrien!:mime	image/x-xwindowdump
342226048Sobrien>>>>100	string	>\0			\b, "%s"
343226048Sobrien>>>>16	belong	x			\b, %dx
344226048Sobrien>>>>20	belong	x			\b%dx
345226048Sobrien>>>>12	belong	x			\b%d
34674784Sobrien
34774784Sobrien# PDS - Planetary Data System
34874784Sobrien#   These files use Parameter Value Language in the header section.
34974784Sobrien#   Unfortunately, there is no certain magic, but the following
35074784Sobrien#   strings have been found to be most likely.
35174784Sobrien0	string	NJPL1I00		PDS (JPL) image data
35274784Sobrien2	string	NJPL1I			PDS (JPL) image data
35374784Sobrien0	string	CCSD3ZF			PDS (CCSD) image data
35474784Sobrien2	string	CCSD3Z			PDS (CCSD) image data
35574784Sobrien0	string	PDS_			PDS image data
35674784Sobrien0	string	LBLSIZE=		PDS (VICAR) image data
35774784Sobrien
35874784Sobrien# pM8x: ATARI STAD compressed bitmap format
35974784Sobrien#
36074784Sobrien# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
36174784Sobrien# p M 8 5/6 xx yy zz data...
36274784Sobrien# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
36374784Sobrien# bytes either run horizontally (pM85) or vertically (pM86). yy is the
36474784Sobrien# most frequent byte, xx and zz are runlength escape codes, where xx is
36574784Sobrien# used for runs of yy.
36674784Sobrien#
36774784Sobrien0	string	pM85		Atari ST STAD bitmap image data (hor)
36874784Sobrien>5	byte	0x00		(white background)
36974784Sobrien>5	byte	0xFF		(black background)
37074784Sobrien0	string	pM86		Atari ST STAD bitmap image data (vert)
37174784Sobrien>5	byte	0x00		(white background)
37274784Sobrien>5	byte	0xFF		(black background)
37380588Sobrien
374169962Sobrien# G��rkan Seng��n <gurkan@linuks.mine.nu>, www.linuks.mine.nu
375169962Sobrien# http://www.atarimax.com/jindroush.atari.org/afmtatr.html
376169962Sobrien0	leshort	0x0296		Atari ATR image
377169962Sobrien
37884685Sobrien# XXX:
37984685Sobrien# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
38084685Sobrien# magic.
38180588Sobrien# SGI RICE image file <mpruett@sgi.com>
38284685Sobrien#0	beshort	0x5249		RICE image
38384685Sobrien#>2	beshort	x		v%d
38484685Sobrien#>4	beshort	x		(%d x
38584685Sobrien#>6	beshort	x		%d)
38684685Sobrien#>8	beshort	0		8 bit
38784685Sobrien#>8	beshort	1		10 bit
38884685Sobrien#>8	beshort	2		12 bit
38984685Sobrien#>8	beshort	3		13 bit
39084685Sobrien#>10	beshort	0		4:2:2
39184685Sobrien#>10	beshort	1		4:2:2:4
39284685Sobrien#>10	beshort	2		4:4:4
39384685Sobrien#>10	beshort	3		4:4:4:4
39484685Sobrien#>12	beshort	1		RGB
39584685Sobrien#>12	beshort	2		CCIR601
39684685Sobrien#>12	beshort	3		RP175
39784685Sobrien#>12	beshort	4		YUV
39884685Sobrien
39984685Sobrien#------------------------------------------------------------------------------
40084685Sobrien#
40184685Sobrien# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
40284685Sobrien# for the EPOC operating system, which is used with PDAs like those from Psion
40384685Sobrien#
40484685Sobrien# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
40584685Sobrien# of various EPOC file formats
40684685Sobrien
40784685Sobrien0	string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
408110949Sobrien
409110949Sobrien# PCX image files
410110949Sobrien# From: Dan Fandrich <dan@coneharvesters.com>
411110949Sobrien0	beshort		0x0a00	PCX ver. 2.5 image data
412110949Sobrien0	beshort		0x0a02	PCX ver. 2.8 image data, with palette
413110949Sobrien0	beshort		0x0a03	PCX ver. 2.8 image data, without palette
414110949Sobrien0	beshort		0x0a04	PCX for Windows image data
415110949Sobrien0	beshort		0x0a05	PCX ver. 3.0 image data
416110949Sobrien>4	leshort		x      bounding box [%hd,
417110949Sobrien>6	leshort		x      %hd] -
418110949Sobrien>8	leshort		x      [%hd,
419110949Sobrien>10	leshort		x      %hd],
420110949Sobrien>65	byte		>1	%d planes each of
421110949Sobrien>3	byte		x	%hhd-bit
422110949Sobrien>68	byte		0	image,
423110949Sobrien>68	byte		1	colour,
424110949Sobrien>68	byte		2	grayscale,
425110949Sobrien>68	byte		>2	image,
426110949Sobrien>68	byte		<0	image,
427110949Sobrien>12	leshort		>0	%hd x
428110949Sobrien>>14	leshort		x      %hd dpi,
429110949Sobrien>2	byte		0	uncompressed
430110949Sobrien>2	byte		1	RLE compressed
431133359Sobrien
432133359Sobrien# Adobe Photoshop
433226048Sobrien# From: Asbjoern Sloth Toennesen <asbjorn@lila.io>
434133359Sobrien0	string		8BPS Adobe Photoshop Image
435186690Sobrien!:mime	image/vnd.adobe.photoshop
436226048Sobrien>4   beshort 2 (PSB)
437226048Sobrien>18  belong  x \b, %d x
438226048Sobrien>14  belong  x %d,
439226048Sobrien>24  beshort 0 bitmap
440226048Sobrien>24  beshort 1 grayscale
441226048Sobrien>>12 beshort 2 with alpha
442226048Sobrien>24  beshort 2 indexed
443226048Sobrien>24  beshort 3 RGB
444226048Sobrien>>12 beshort 4 \bA
445226048Sobrien>24  beshort 4 CMYK
446226048Sobrien>>12 beshort 5 \bA
447226048Sobrien>24  beshort 7 multichannel
448226048Sobrien>24  beshort 8 duotone
449226048Sobrien>24  beshort 9 lab
450226048Sobrien>12  beshort > 1
451226048Sobrien>>12  beshort x \b, %dx
452226048Sobrien>12  beshort 1 \b,
453226048Sobrien>22  beshort x %d-bit channel
454226048Sobrien>12  beshort > 1 \bs
455133359Sobrien
456133359Sobrien# XV thumbnail indicator (ThMO)
457133359Sobrien0	string		P7\ 332		XV thumbnail image data
458133359Sobrien
459133359Sobrien# NITF is defined by United States MIL-STD-2500A
460133359Sobrien0	string	NITF	National Imagery Transmission Format
461133359Sobrien>25	string	>\0	dated %.14s
462133359Sobrien
463133359Sobrien# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
464133359Sobrien0	belong		0x00010008	GEM Image data
465133359Sobrien>12	beshort		x		%d x
466133359Sobrien>14	beshort		x		%d,
467133359Sobrien>4	beshort		x		%d planes,
468133359Sobrien>8	beshort		x		%d x
469133359Sobrien>10	beshort		x		%d pixelsize
470133359Sobrien
471133359Sobrien# GEM Metafile (Wolfram Kleff)
472133359Sobrien0	lelong		0x0018FFFF	GEM Metafile data
473133359Sobrien>4	leshort		x		version %d
474133359Sobrien
475133359Sobrien#
476133359Sobrien# SMJPEG. A custom Motion JPEG format used by Loki Entertainment
477133359Sobrien# Software Torbjorn Andersson <d91tan@Update.UU.SE>.
478133359Sobrien#
479133359Sobrien0	string	\0\nSMJPEG	SMJPEG
480133359Sobrien>8	belong	x		%d.x data
481133359Sobrien# According to the specification you could find any number of _TXT
482133359Sobrien# headers here, but I can't think of any way of handling that. None of
483133359Sobrien# the SMJPEG files I tried it on used this feature. Even if such a
484133359Sobrien# file is encountered the output should still be reasonable.
485133359Sobrien>16	string	_SND		\b,
486133359Sobrien>>24	beshort	>0		%d Hz
487133359Sobrien>>26	byte	8		8-bit
488133359Sobrien>>26	byte	16		16-bit
489133359Sobrien>>28	string	NONE		uncompressed
490133359Sobrien# >>28	string	APCM		ADPCM compressed
491133359Sobrien>>27	byte	1		mono
492133359Sobrien>>28	byte	2		stereo
493133359Sobrien# Help! Isn't there any way to avoid writing this part twice?
494133359Sobrien>>32	string	_VID		\b,
495133359Sobrien# >>>48	string	JFIF		JPEG
496133359Sobrien>>>40	belong	>0		%d frames
497133359Sobrien>>>44	beshort	>0		(%d x
498133359Sobrien>>>46	beshort	>0		%d)
499133359Sobrien>16	string	_VID		\b,
500133359Sobrien# >>32	string	JFIF		JPEG
501133359Sobrien>>24	belong	>0		%d frames
502133359Sobrien>>28	beshort	>0		(%d x
503133359Sobrien>>30	beshort	>0		%d)
504133359Sobrien
505133359Sobrien0	string	Paint\ Shop\ Pro\ Image\ File	Paint Shop Pro Image File
506133359Sobrien
507133359Sobrien# "thumbnail file" (icon)
508133359Sobrien# descended from "xv", but in use by other applications as well (Wolfram Kleff)
509133359Sobrien0       string          P7\ 332         XV "thumbnail file" (icon) data
510133359Sobrien
511133359Sobrien# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
512133359Sobrien0       string          KiSS            KISS/GS
513133359Sobrien>4      byte            16              color
514133359Sobrien>>5     byte            x               %d bit
515133359Sobrien>>8     leshort         x               %d colors
516133359Sobrien>>10    leshort         x               %d groups
517133359Sobrien>4      byte            32              cell
518133359Sobrien>>5     byte            x               %d bit
519133359Sobrien>>8     leshort         x               %d x
520133359Sobrien>>10    leshort         x               %d
521133359Sobrien>>12    leshort         x               +%d
522133359Sobrien>>14    leshort         x               +%d
523133359Sobrien
524133359Sobrien# Webshots (www.webshots.com), by John Harrison
525133359Sobrien0       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
526133359Sobrien
527133359Sobrien# Hercules DASD image files
528133359Sobrien# From Jan Jaeger <jj@septa.nl>
529133359Sobrien0       string  CKD_P370        Hercules CKD DASD image file
530133359Sobrien>8      long    x               \b, %d heads per cylinder
531133359Sobrien>12     long    x               \b, track size %d bytes
532133359Sobrien>16     byte    x               \b, device type 33%2.2X
533133359Sobrien
534133359Sobrien0       string  CKD_C370        Hercules compressed CKD DASD image file
535133359Sobrien>8      long    x               \b, %d heads per cylinder
536133359Sobrien>12     long    x               \b, track size %d bytes
537133359Sobrien>16     byte    x               \b, device type 33%2.2X
538133359Sobrien
539133359Sobrien0       string  CKD_S370        Hercules CKD DASD shadow file
540133359Sobrien>8      long    x               \b, %d heads per cylinder
541133359Sobrien>12     long    x               \b, track size %d bytes
542133359Sobrien>16     byte    x               \b, device type 33%2.2X
543133359Sobrien
544186690Sobrien# Squeak images and programs - etoffi@softhome.net
545186690Sobrien0	string		\146\031\0\0	Squeak image data
546186690Sobrien0	search/1	'From\040Squeak	Squeak program text
547133359Sobrien
548133359Sobrien# partimage: file(1) magic for PartImage files (experimental, incomplete)
549133359Sobrien# Author: Hans-Joachim Baader <hjb@pro-linux.de>
550133359Sobrien0		string	PaRtImAgE-VoLuMe	PartImage
551133359Sobrien>0x0020		string	0.6.1		file version %s
552133359Sobrien>>0x0060	lelong	>-1		volume %ld
553133359Sobrien#>>0x0064 8 byte identifier
554133359Sobrien#>>0x007c reserved
555133359Sobrien>>0x0200	string	>\0		type %s
556133359Sobrien>>0x1400	string	>\0		device %s,
557133359Sobrien>>0x1600	string	>\0		original filename %s,
558133359Sobrien# Some fields omitted
559133359Sobrien>>0x2744	lelong	0		not compressed
560133359Sobrien>>0x2744	lelong	1		gzip compressed
561133359Sobrien>>0x2744	lelong	2		bzip2 compressed
562133359Sobrien>>0x2744	lelong	>2		compressed with unknown algorithm
563133359Sobrien>0x0020		string	>0.6.1		file version %s
564133359Sobrien>0x0020		string	<0.6.1		file version %s
565133359Sobrien
566133359Sobrien# DCX is multi-page PCX, using a simple header of up to 1024
567133359Sobrien# offsets for the respective PCX components.
568133359Sobrien# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
569133359Sobrien0	lelong	987654321	DCX multi-page PCX image data
570133359Sobrien
571133359Sobrien# Simon Walton <simonw@matteworld.com>
572133359Sobrien# Kodak Cineon format for scanned negatives
573133359Sobrien# http://www.kodak.com/US/en/motion/support/dlad/
574133359Sobrien0	lelong  0xd75f2a80	Cineon image data
575133359Sobrien>200	belong  >0		\b, %ld x
576133359Sobrien>204	belong  >0		%ld
577133359Sobrien
578133359Sobrien
579133359Sobrien# Bio-Rad .PIC is an image format used by microscope control systems
580133359Sobrien# and related image processing software used by biologists.
581133359Sobrien# From: Vebjorn Ljosa <vebjorn@ljosa.com>
582226048Sobrien# BOOL values are two-byte integers; use them to rule out false positives.
583226048Sobrien# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt
584226048Sobrien# Samples: http://www.loci.wisc.edu/software/sample-data
585226048Sobrien14	leshort <2
586226048Sobrien>62	leshort <2
587226048Sobrien>>54	leshort 12345		Bio-Rad .PIC Image File
588226048Sobrien>>>0	leshort >0		%hd x
589226048Sobrien>>>2	leshort >0		%hd,
590226048Sobrien>>>4	leshort =1		1 image in file
591226048Sobrien>>>4	leshort >1		%hd images in file
592133359Sobrien
593133359Sobrien# From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
594133359Sobrien# The description of *.mrw format can be found at
595133359Sobrien# http://www.dalibor.cz/minolta/raw_file_format.htm
596133359Sobrien0	string	\000MRM			Minolta Dimage camera raw image data
597133359Sobrien
598186690Sobrien# Summary: DjVu image / document
599186690Sobrien# Extension: .djvu
600186690Sobrien# Reference: http://djvu.org/docs/DjVu3Spec.djvu
601186690Sobrien# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
602186690Sobrien# Modified by (1): Abel Cheung <abelcheung@gmail.com>
603186690Sobrien0	string	AT&TFORM
604226048Sobrien>12	string	DJVM		DjVu multiple page document
605186690Sobrien!:mime	image/vnd.djvu
606186690Sobrien>12	string	DJVU		DjVu image or single page document
607226048Sobrien!:mime	image/vnd.djvu
608186690Sobrien>12	string	DJVI		DjVu shared document
609226048Sobrien!:mime	image/vnd.djvu
610186690Sobrien>12	string	THUM		DjVu page thumbnails
611226048Sobrien!:mime	image/vnd.djvu
612133359Sobrien
613133359Sobrien
614159764Sobrien# From Marc Espie
615159764Sobrien0	lelong	20000630		OpenEXR image data
616133359Sobrien
617133359Sobrien# From: Tom Hilinski <tom.hilinski@comcast.net>
618133359Sobrien# http://www.unidata.ucar.edu/packages/netcdf/
619159764Sobrien0	string	CDF\001			NetCDF Data Format data
620159764Sobrien
621159764Sobrien#-----------------------------------------------------------------------
622159764Sobrien# Hierarchical Data Format, used to facilitate scientific data exchange
623159764Sobrien# specifications at http://hdf.ncsa.uiuc.edu/
624159764Sobrien0	belong	0x0e031301	Hierarchical Data Format (version 4) data
625186690Sobrien!:mime	application/x-hdf
626226048Sobrien0	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) data
627186690Sobrien!:mime	application/x-hdf
628169942Sobrien
629169942Sobrien# From: Tobias Burnus <burnus@net-b.de>
630169942Sobrien# Xara (for a while: Corel Xara) is a graphic package, see
631186690Sobrien# http://www.xara.com/ for Windows and as GPL application for Linux
632169942Sobrien0	string	XARA\243\243	Xara graphics file
633186690Sobrien
634186690Sobrien# http://www.cartesianinc.com/Tech/
635186690Sobrien0	string	CPC\262		Cartesian Perceptual Compression image
636186690Sobrien!:mime	image/x-cpi
637186690Sobrien
638186690Sobrien# From Albert Cahalan <acahalan@gmail.com>
639186690Sobrien# puredigital used it for the CVS disposable camcorder
640186690Sobrien#8       lelong  4       ZBM bitmap image data
641186690Sobrien#>4      leshort x       %u x
642186690Sobrien#>6      leshort x       %u
643186690Sobrien
644186690Sobrien# From Albert Cahalan <acahalan@gmail.com>
645186690Sobrien# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons
646186690Sobrien0       string C565     OLPC firmware icon image data
647186690Sobrien>4      leshort x       %u x
648186690Sobrien>6      leshort x       %u
649186690Sobrien
650186690Sobrien# Applied Images - Image files from Cytovision
651186690Sobrien# Gustavo Junior Alves <gjalves@gjalves.com.br>
652186690Sobrien0	string	\xce\xda\xde\xfa	Cytovision Metaphases file
653186690Sobrien0	string	\xed\xad\xef\xac	Cytovision Karyotype file
654186690Sobrien0	string	\x0b\x00\x03\x00	Cytovision FISH Probe file
655186690Sobrien0	string	\xed\xfe\xda\xbe	Cytovision FLEX file
656186690Sobrien0	string	\xed\xab\xed\xfe	Cytovision FLEX file
657186690Sobrien0	string	\xad\xfd\xea\xad	Cytovision RATS file
658186690Sobrien
659186690Sobrien# Wavelet Scalar Quantization format used in gray-scale fingerprint images
660186690Sobrien# From Tano M Fotang <mfotang@quanteq.com>
661186690Sobrien0	string	\xff\xa0\xff\xa8\x00	Wavelet Scalar Quantization image data
662191736Sobrien
663191736Sobrien# JPEG 2000 Code Stream Bitmap
664191736Sobrien# From Petr Splichal <psplicha@redhat.com>
665191736Sobrien0	string	\xFF\x4F\xFF\x51\x00	JPEG-2000 Code Stream Bitmap data
666226048Sobrien
667226048Sobrien# From: Rick Richardson <rick.richardson@comcast.net>
668226048Sobrien0	string	GARMIN\ BITMAP\ 01	Garmin Bitmap file
669226048Sobrien
670226048Sobrien# Type:	Ulead Photo Explorer5 (.pe5)
671226048Sobrien# URL:	http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese)
672226048Sobrien# From:	Simon Horman <horms@debian.org>
673226048Sobrien0	string	IIO2H			Ulead Photo Explorer5
674226048Sobrien
675226048Sobrien# Type:	X11 cursor
676226048Sobrien# URL:	http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup
677226048Sobrien# From:	Mathias Brodala <info@noctus.net>
678226048Sobrien0	string	Xcur			X11 cursor
679226048Sobrien
680226048Sobrien# Type:	Olympus ORF raw images.
681226048Sobrien# URL:	http://libopenraw.freedesktop.org/wiki/Olympus_ORF
682226048Sobrien# From:	Adam Buchbinder <adam.buchbinder@gmail.com>
683226048Sobrien0	string		MMOR		Olympus ORF raw image data, big-endian
684226048Sobrien!:mime	image/x-olympus-orf
685226048Sobrien0	string		IIRO		Olympus ORF raw image data, little-endian
686226048Sobrien!:mime	image/x-olympus-orf
687226048Sobrien0	string		IIRS		Olympus ORF raw image data, little-endian
688226048Sobrien!:mime	image/x-olympus-orf
689226048Sobrien
690226048Sobrien# Type: files used in modern AVCHD camcoders to store clip information
691226048Sobrien# Extension: .cpi
692226048Sobrien# From: Alexander Danilov <alexander.a.danilov@gmail.com>
693226048Sobrien0	string	HDMV0100	AVCHD Clip Information
694226048Sobrien
695226048Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
696226048Sobrien# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/
697226048Sobrien# Radiance HDR; usually has .pic or .hdr extension.
698226048Sobrien0	string	#?RADIANCE\n	Radiance HDR image data
699226048Sobrien#!mime	image/vnd.radiance
700226048Sobrien
701226048Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
702226048Sobrien# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf
703226048Sobrien# Used by the pfstools packages. The regex matches for the image size could
704226048Sobrien# probably use some work. The MIME type is made up; if there's one in
705226048Sobrien# actual common use, it should replace the one below.
706226048Sobrien0	string	PFS1\x0a	PFS HDR image data
707226048Sobrien#!mime	image/x-pfs
708226048Sobrien>1	regex	[0-9]*\ 		\b, %s
709226048Sobrien>>1	regex	\ [0-9]{4}		\bx%s
710226048Sobrien
711226048Sobrien# Type: Foveon X3F
712226048Sobrien# URL:  http://www.photofo.com/downloads/x3f-raw-format.pdf
713226048Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
714226048Sobrien# Note that the MIME type isn't defined anywhere that I can find; if
715226048Sobrien# there's a canonical type for this format, it should replace this one.
716226048Sobrien0	string	FOVb	Foveon X3F raw image data
717226048Sobrien!:mime	image/x-x3f
718226048Sobrien>6	leshort	x	\b, version %d.
719226048Sobrien>4	leshort	x	\b%d
720226048Sobrien>28	lelong	x	\b, %dx
721226048Sobrien>32	lelong	x	\b%d
722226048Sobrien
723226048Sobrien# Paint.NET file
724226048Sobrien# From Adam Buchbinder <adam.buchbinder@gmail.com>
725226048Sobrien0	string	PDN3	Paint.NET image data
726226048Sobrien!:mime	image/x-paintnet
727226048Sobrien
728226048Sobrien# Not really an image.
729226048Sobrien# From: "Tano M. Fotang" <mfotang@quanteq.com>
730226048Sobrien0	string	\x46\x4d\x52\x00	ISO/IEC 19794-2 Format Minutiae Record (FMR)
731