1234449Sobrien
268349Sobrien#------------------------------------------------------------------------------
3234449Sobrien# $File: images,v 1.72 2011/12/08 12:12:46 rrt Exp $
4186691Sobrien# images:  file(1) magic for image formats (see also "iff", and "c-lang" for
5186691Sobrien# 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.
35186691Sobrien0	search/1	P1		Netpbm PBM image text
36186691Sobrien!:mime	image/x-portable-bitmap
37234449Sobrien0	search/1b	P2		Netpbm PGM image text
38186691Sobrien!:mime	image/x-portable-greymap
39186691Sobrien0	search/1	P3		Netpbm PPM image text
40186691Sobrien!:mime	image/x-portable-pixmap
4169216Sobrien0	string		P4		Netpbm PBM "rawbits" image data
42186691Sobrien!:mime	image/x-portable-bitmap
4369216Sobrien0	string		P5		Netpbm PGM "rawbits" image data
44186691Sobrien!:mime	image/x-portable-greymap
4569216Sobrien0	string		P6		Netpbm PPM "rawbits" image data
46186691Sobrien!:mime	image/x-portable-pixmap
4769216Sobrien0	string		P7		Netpbm PAM image file
48186691Sobrien!: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
62186691Sobrien# [GRR:  this *must* go before TIFF]
6368349Sobrien0	string		IIN1		NIFF image data
64186691Sobrien!:mime	image/x-niff
6568349Sobrien
66234449Sobrien# Canon RAW version 1 (CRW) files are a type of Canon Image File Format
67234449Sobrien# (CIFF) file. These are apparently all little-endian.
68234449Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
69234449Sobrien# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html
70234449Sobrien0	string		II\x1a\0\0\0HEAPCCDR	Canon CIFF raw image data
71234449Sobrien!:mime	image/x-canon-crw
72234449Sobrien>16	leshort		x	\b, version %d.
73234449Sobrien>14	leshort		x	\b%d
74234449Sobrien
75234449Sobrien# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic
76234449Sobrien# number. Put this above the TIFF test to make sure we detect them.
77234449Sobrien# These are apparently all little-endian.
78234449Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
79234449Sobrien# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2
80234449Sobrien0	string		II\x2a\0\x10\0\0\0CR	Canon CR2 raw image data
81234449Sobrien!:mime	image/x-canon-cr2
82234449Sobrien>10	byte		x	\b, version %d.
83234449Sobrien>11	byte		x	\b%d
84234449Sobrien
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
89186691Sobrien!:mime	image/tiff
9068349Sobrien0	string		II\x2a\x00	TIFF image data, little-endian
91186691Sobrien!:mime	image/tiff
9268349Sobrien
93234449Sobrien0	string		MM\x00\x2b	Big TIFF image data, big-endian
94234449Sobrien!:mime	image/tiff
95234449Sobrien0	string		II\x2b\x00	Big TIFF image data, little-endian
96234449Sobrien!:mime	image/tiff
97234449Sobrien
9868349Sobrien# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
9968349Sobrien# (Greg Roelofs, newt@uchicago.edu)
10068349Sobrien# (Albert Cahalan, acahalan@cs.uml.edu)
10168349Sobrien#
10268349Sobrien# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
10368349Sobrien#
104234449Sobrien0	string		\x89PNG\x0d\x0a\x1a\x0a		PNG image data
105186691Sobrien!:mime	image/png
106186691Sobrien>16	belong		x		\b, %ld x
107186691Sobrien>20	belong		x		%ld,
108186691Sobrien>24	byte		x		%d-bit
109186691Sobrien>25	byte		0		grayscale,
110186691Sobrien>25	byte		2		\b/color RGB,
111186691Sobrien>25	byte		3		colormap,
112186691Sobrien>25	byte		4		gray+alpha,
113186691Sobrien>25	byte		6		\b/color RGBA,
114186691Sobrien#>26	byte		0		deflate/32K,
115186691Sobrien>28	byte		0		non-interlaced
116186691Sobrien>28	byte		1		interlaced
11768349Sobrien
118186691Sobrien# possible GIF replacements; none yet released!
119186691Sobrien# (Greg Roelofs, newt@uchicago.edu)
120186691Sobrien#
121186691Sobrien# GRR 950115:  this was mine ("Zip GIF"):
122186691Sobrien0	string		GIF94z		ZIF image (GIF+deflate alpha)
123186691Sobrien!:mime	image/x-unknown
124186691Sobrien#
125186691Sobrien# GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
126186691Sobrien#					
127186691Sobrien0	string		FGF95a		FGF image (GIF+deflate beta)
128186691Sobrien!:mime	image/x-unknown
129186691Sobrien#
130186691Sobrien# GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
131186691Sobrien# (best; not yet implemented):
132186691Sobrien#					
133186691Sobrien0	string		PBF		PBF image (deflate compression)
134186691Sobrien!:mime	image/x-unknown
135186691Sobrien
13668349Sobrien# GIF
13768349Sobrien0	string		GIF8		GIF image data
138186691Sobrien!:mime	image/gif
139191771Sobrien!:apple	8BIMGIFf
14068349Sobrien>4	string		7a		\b, version 8%s,
14168349Sobrien>4	string		9a		\b, version 8%s,
14268349Sobrien>6	leshort		>0		%hd x
143103373Sobrien>8	leshort		>0		%hd
14468349Sobrien#>10	byte		&0x80		color mapped,
14568349Sobrien#>10	byte&0x07	=0x00		2 colors
14668349Sobrien#>10	byte&0x07	=0x01		4 colors
14768349Sobrien#>10	byte&0x07	=0x02		8 colors
14868349Sobrien#>10	byte&0x07	=0x03		16 colors
14968349Sobrien#>10	byte&0x07	=0x04		32 colors
15068349Sobrien#>10	byte&0x07	=0x05		64 colors
15168349Sobrien#>10	byte&0x07	=0x06		128 colors
15268349Sobrien#>10	byte&0x07	=0x07		256 colors
15368349Sobrien
15468349Sobrien# ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
15568349Sobrien# 1 plane, no encoding.
15668349Sobrien0	string		\361\0\100\273	CMU window manager raster image data
15768349Sobrien>4	lelong		>0		%d x
15868349Sobrien>8	lelong		>0		%d,
15968349Sobrien>12	lelong		>0		%d-bit
16068349Sobrien
16168349Sobrien# Magick Image File Format
16268349Sobrien0	string		id=ImageMagick	MIFF image data
16368349Sobrien
16468349Sobrien# Artisan
16568349Sobrien0	long		1123028772	Artisan image data
16668349Sobrien>4	long		1		\b, rectangular 24-bit
16768349Sobrien>4	long		2		\b, rectangular 8-bit with colormap
16868349Sobrien>4	long		3		\b, rectangular 32-bit (24-bit with matte)
16968349Sobrien
17068349Sobrien# FIG (Facility for Interactive Generation of figures), an object-based format
171186691Sobrien0	search/1	#FIG		FIG image text
17268349Sobrien>5	string		x		\b, version %.3s
17368349Sobrien
17468349Sobrien# PHIGS
17568349Sobrien0	string		ARF_BEGARF		PHIGS clear text archive
17668349Sobrien0	string		@(#)SunPHIGS		SunPHIGS
17768349Sobrien# version number follows, in the form m.n
17868349Sobrien>40	string		SunBin			binary
17968349Sobrien>32	string		archive			archive
18068349Sobrien
18168349Sobrien# GKS (Graphics Kernel System)
18268349Sobrien0	string		GKSM		GKS Metafile
18368349Sobrien>24	string		SunGKS		\b, SunGKS
18468349Sobrien
18568349Sobrien# CGM image files
18668349Sobrien0	string		BEGMF		clear text Computer Graphics Metafile
18768349Sobrien
18868349Sobrien# MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
18968349Sobrien0	string	yz	MGR bitmap, modern format, 8-bit aligned
19068349Sobrien0	string	zz	MGR bitmap, old format, 1-bit deep, 16-bit aligned
19168349Sobrien0	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned
19268349Sobrien0	string	yx	MGR bitmap, modern format, squeezed
19368349Sobrien
19468349Sobrien# Fuzzy Bitmap (FBM) images
19568349Sobrien0	string		%bitmap\0	FBM image data
19668349Sobrien>30	long		0x31		\b, mono
19768349Sobrien>30	long		0x33		\b, color
19868349Sobrien
19968349Sobrien# facsimile data
20068349Sobrien1	string		PC\ Research,\ Inc	group 3 fax data
20168349Sobrien>29	byte		0		\b, normal resolution (204x98 DPI)
20268349Sobrien>29	byte		1		\b, fine resolution (204x196 DPI)
203110949Sobrien# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
204110949Sobrien0	string		Sfff		structured fax file
20568349Sobrien
206110949Sobrien
207186691Sobrien# PC bitmaps (OS/2, Windows BMP files)  (Greg Roelofs, newt@uchicago.edu)
208186691Sobrien0	string		BM
209186691Sobrien>14	leshort		12		PC bitmap, OS/2 1.x format
210186691Sobrien!:mime	image/x-ms-bmp
21168349Sobrien>>18	leshort		x		\b, %d x
21268349Sobrien>>20	leshort		x		%d
213186691Sobrien>14	leshort		64		PC bitmap, OS/2 2.x format
214186691Sobrien!:mime	image/x-ms-bmp
21568349Sobrien>>18	leshort		x		\b, %d x
21668349Sobrien>>20	leshort		x		%d
217186691Sobrien>14	leshort		40		PC bitmap, Windows 3.x format
218186691Sobrien!:mime	image/x-ms-bmp
21968349Sobrien>>18	lelong		x		\b, %d x
22068349Sobrien>>22	lelong		x		%d x
22168349Sobrien>>28	leshort		x		%d
222186691Sobrien>14	leshort		128		PC bitmap, Windows NT/2000 format
223186691Sobrien!:mime	image/x-ms-bmp
224186691Sobrien>>18	lelong		x		\b, %d x
225186691Sobrien>>22	lelong		x		%d x
226186691Sobrien>>28	leshort		x		%d
227133359Sobrien# Too simple - MPi
228133359Sobrien#0	string		IC		PC icon data
229133359Sobrien#0	string		PI		PC pointer image data
230133359Sobrien#0	string		CI		PC color icon data
231133359Sobrien#0	string		CP		PC color pointer image data
23268349Sobrien# Conflicts with other entries [BABYL]
23368349Sobrien#0	string		BA		PC bitmap array data
23468349Sobrien
23568349Sobrien# XPM icons (Greg Roelofs, newt@uchicago.edu)
236186691Sobrien0	search/1	/*\ XPM\ */	X pixmap image text
237234449Sobrien!:mime	image/x-xpmi
23868349Sobrien
23968349Sobrien# Utah Raster Toolkit RLE images (janl@ifi.uio.no)
24068349Sobrien0	leshort		0xcc52		RLE image data,
24168349Sobrien>6	leshort		x		%d x
24268349Sobrien>8	leshort		x		%d
24368349Sobrien>2	leshort		>0		\b, lower left corner: %d
24468349Sobrien>4	leshort		>0		\b, lower right corner: %d
24568349Sobrien>10	byte&0x1	=0x1		\b, clear first
24668349Sobrien>10	byte&0x2	=0x2		\b, no background
24768349Sobrien>10	byte&0x4	=0x4		\b, alpha channel
24868349Sobrien>10	byte&0x8	=0x8		\b, comment
24968349Sobrien>11	byte		>0		\b, %d color channels
25068349Sobrien>12	byte		>0		\b, %d bits per pixel
25168349Sobrien>13	byte		>0		\b, %d color map channels
25268349Sobrien
25368349Sobrien# image file format (Robert Potter, potter@cs.rochester.edu)
25468349Sobrien0	string		Imagefile\ version-	iff image data
25568349Sobrien# this adds the whole header (inc. version number), informative but longish
25668349Sobrien>10	string		>\0		%s
25768349Sobrien
25868349Sobrien# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
25968349Sobrien0	belong		0x59a66a95	Sun raster image data
26068349Sobrien>4	belong		>0		\b, %d x
26168349Sobrien>8	belong		>0		%d,
26268349Sobrien>12	belong		>0		%d-bit,
26368349Sobrien#>16	belong		>0		%d bytes long,
26468349Sobrien>20	belong		0		old format,
26568349Sobrien#>20	belong		1		standard,
26668349Sobrien>20	belong		2		compressed,
26768349Sobrien>20	belong		3		RGB,
26868349Sobrien>20	belong		4		TIFF,
26968349Sobrien>20	belong		5		IFF,
27068349Sobrien>20	belong		0xffff		reserved for testing,
27168349Sobrien>24	belong		0		no colormap
27268349Sobrien>24	belong		1		RGB colormap
27368349Sobrien>24	belong		2		raw colormap
27468349Sobrien#>28	belong		>0		colormap is %d bytes long
27568349Sobrien
27668349Sobrien# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
27768349Sobrien#
27868349Sobrien# See
27968349Sobrien#	http://reality.sgi.com/grafica/sgiimage.html
28068349Sobrien#
28168349Sobrien0	beshort		474		SGI image data
28268349Sobrien#>2	byte		0		\b, verbatim
28368349Sobrien>2	byte		1		\b, RLE
28468349Sobrien#>3	byte		1		\b, normal precision
28568349Sobrien>3	byte		2		\b, high precision
28668349Sobrien>4	beshort		x		\b, %d-D
28768349Sobrien>6	beshort		x		\b, %d x
28868349Sobrien>8	beshort		x		%d
28968349Sobrien>10	beshort		x		\b, %d channel
29068349Sobrien>10	beshort		!1		\bs
29168349Sobrien>80	string		>0		\b, "%s"
29268349Sobrien
29368349Sobrien0	string		IT01		FIT image data
29468349Sobrien>4	belong		x		\b, %d x
29568349Sobrien>8	belong		x		%d x
29668349Sobrien>12	belong		x		%d
29768349Sobrien#
29868349Sobrien0	string		IT02		FIT image data
29968349Sobrien>4	belong		x		\b, %d x
30068349Sobrien>8	belong		x		%d x
30168349Sobrien>12	belong		x		%d
30268349Sobrien#
30368349Sobrien2048	string		PCD_IPI		Kodak Photo CD image pack file
30484685Sobrien>0xe02	byte&0x03	0x00		, landscape mode
30584685Sobrien>0xe02	byte&0x03	0x01		, portrait mode
30684685Sobrien>0xe02	byte&0x03	0x02		, landscape mode
30784685Sobrien>0xe02	byte&0x03	0x03		, portrait mode
30868349Sobrien0	string		PCD_OPA		Kodak Photo CD overview pack file
30968349Sobrien
31068349Sobrien# FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
31168349Sobrien# FITS is the Flexible Image Transport System, the de facto standard for
31268349Sobrien# data and image transfer, storage, etc., for the astronomical community.
31368349Sobrien# (FITS floating point formats are big-endian.)
31468349Sobrien0	string	SIMPLE\ \ =	FITS image data
31568349Sobrien>109	string	8		\b, 8-bit, character or unsigned binary integer
31668349Sobrien>108	string	16		\b, 16-bit, two's complement binary integer
31768349Sobrien>107	string	\ 32		\b, 32-bit, two's complement binary integer
31868349Sobrien>107	string	-32		\b, 32-bit, floating point, single precision
31968349Sobrien>107	string	-64		\b, 64-bit, floating point, double precision
32068349Sobrien
32168349Sobrien# other images
32268349Sobrien0	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file
32368349Sobrien
32468349Sobrien# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
32568349Sobrien# stuff.
32668349Sobrien#
32768349Sobrien0	beshort		0x1010		PEX Binary Archive
32868349Sobrien
32968349Sobrien# DICOM medical imaging data
33068349Sobrien128	string	DICM			DICOM medical imaging data
331186691Sobrien!:mime	application/dicom
33274784Sobrien
333133359Sobrien# XWD - X Window Dump file.
33474784Sobrien#   As described in /usr/X11R6/include/X11/XWDFile.h
33574784Sobrien#   used by the xwd program.
33674784Sobrien#   Bradford Castalia, idaeim, 1/01
337234449Sobrien#   updated by Adam Buchbinder, 2/09
338234449Sobrien# The following assumes version 7 of the format; the first long is the length
339234449Sobrien# of the header, which is at least 25 4-byte longs, and the one at offset 8
340234449Sobrien# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth,
341234449Sobrien# which is a maximum of 32.
342234449Sobrien0	belong	>100
343234449Sobrien>8	belong	<3
344234449Sobrien>>12	belong	<33
345234449Sobrien>>>4	belong	7			XWD X Window Dump image data
346234449Sobrien!:mime	image/x-xwindowdump
347234449Sobrien>>>>100	string	>\0			\b, "%s"
348234449Sobrien>>>>16	belong	x			\b, %dx
349234449Sobrien>>>>20	belong	x			\b%dx
350234449Sobrien>>>>12	belong	x			\b%d
35174784Sobrien
35274784Sobrien# PDS - Planetary Data System
35374784Sobrien#   These files use Parameter Value Language in the header section.
35474784Sobrien#   Unfortunately, there is no certain magic, but the following
35574784Sobrien#   strings have been found to be most likely.
35674784Sobrien0	string	NJPL1I00		PDS (JPL) image data
35774784Sobrien2	string	NJPL1I			PDS (JPL) image data
35874784Sobrien0	string	CCSD3ZF			PDS (CCSD) image data
35974784Sobrien2	string	CCSD3Z			PDS (CCSD) image data
36074784Sobrien0	string	PDS_			PDS image data
36174784Sobrien0	string	LBLSIZE=		PDS (VICAR) image data
36274784Sobrien
36374784Sobrien# pM8x: ATARI STAD compressed bitmap format
36474784Sobrien#
36574784Sobrien# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
36674784Sobrien# p M 8 5/6 xx yy zz data...
36774784Sobrien# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
36874784Sobrien# bytes either run horizontally (pM85) or vertically (pM86). yy is the
36974784Sobrien# most frequent byte, xx and zz are runlength escape codes, where xx is
37074784Sobrien# used for runs of yy.
37174784Sobrien#
37274784Sobrien0	string	pM85		Atari ST STAD bitmap image data (hor)
37374784Sobrien>5	byte	0x00		(white background)
37474784Sobrien>5	byte	0xFF		(black background)
37574784Sobrien0	string	pM86		Atari ST STAD bitmap image data (vert)
37674784Sobrien>5	byte	0x00		(white background)
37774784Sobrien>5	byte	0xFF		(black background)
37880588Sobrien
379169962Sobrien# G��rkan Seng��n <gurkan@linuks.mine.nu>, www.linuks.mine.nu
380169962Sobrien# http://www.atarimax.com/jindroush.atari.org/afmtatr.html
381169962Sobrien0	leshort	0x0296		Atari ATR image
382169962Sobrien
38384685Sobrien# XXX:
38484685Sobrien# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
38584685Sobrien# magic.
38680588Sobrien# SGI RICE image file <mpruett@sgi.com>
38784685Sobrien#0	beshort	0x5249		RICE image
38884685Sobrien#>2	beshort	x		v%d
38984685Sobrien#>4	beshort	x		(%d x
39084685Sobrien#>6	beshort	x		%d)
39184685Sobrien#>8	beshort	0		8 bit
39284685Sobrien#>8	beshort	1		10 bit
39384685Sobrien#>8	beshort	2		12 bit
39484685Sobrien#>8	beshort	3		13 bit
39584685Sobrien#>10	beshort	0		4:2:2
39684685Sobrien#>10	beshort	1		4:2:2:4
39784685Sobrien#>10	beshort	2		4:4:4
39884685Sobrien#>10	beshort	3		4:4:4:4
39984685Sobrien#>12	beshort	1		RGB
40084685Sobrien#>12	beshort	2		CCIR601
40184685Sobrien#>12	beshort	3		RP175
40284685Sobrien#>12	beshort	4		YUV
40384685Sobrien
40484685Sobrien#------------------------------------------------------------------------------
40584685Sobrien#
40684685Sobrien# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
40784685Sobrien# for the EPOC operating system, which is used with PDAs like those from Psion
40884685Sobrien#
40984685Sobrien# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
41084685Sobrien# of various EPOC file formats
41184685Sobrien
41284685Sobrien0	string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
413110949Sobrien
414110949Sobrien# PCX image files
415110949Sobrien# From: Dan Fandrich <dan@coneharvesters.com>
416110949Sobrien0	beshort		0x0a00	PCX ver. 2.5 image data
417110949Sobrien0	beshort		0x0a02	PCX ver. 2.8 image data, with palette
418110949Sobrien0	beshort		0x0a03	PCX ver. 2.8 image data, without palette
419110949Sobrien0	beshort		0x0a04	PCX for Windows image data
420110949Sobrien0	beshort		0x0a05	PCX ver. 3.0 image data
421110949Sobrien>4	leshort		x      bounding box [%hd,
422110949Sobrien>6	leshort		x      %hd] -
423110949Sobrien>8	leshort		x      [%hd,
424110949Sobrien>10	leshort		x      %hd],
425110949Sobrien>65	byte		>1	%d planes each of
426110949Sobrien>3	byte		x	%hhd-bit
427110949Sobrien>68	byte		0	image,
428110949Sobrien>68	byte		1	colour,
429110949Sobrien>68	byte		2	grayscale,
430110949Sobrien>68	byte		>2	image,
431110949Sobrien>68	byte		<0	image,
432110949Sobrien>12	leshort		>0	%hd x
433110949Sobrien>>14	leshort		x      %hd dpi,
434110949Sobrien>2	byte		0	uncompressed
435110949Sobrien>2	byte		1	RLE compressed
436133359Sobrien
437133359Sobrien# Adobe Photoshop
438234449Sobrien# From: Asbjoern Sloth Toennesen <asbjorn@lila.io>
439133359Sobrien0	string		8BPS Adobe Photoshop Image
440186691Sobrien!:mime	image/vnd.adobe.photoshop
441234449Sobrien>4   beshort 2 (PSB)
442234449Sobrien>18  belong  x \b, %d x
443234449Sobrien>14  belong  x %d,
444234449Sobrien>24  beshort 0 bitmap
445234449Sobrien>24  beshort 1 grayscale
446234449Sobrien>>12 beshort 2 with alpha
447234449Sobrien>24  beshort 2 indexed
448234449Sobrien>24  beshort 3 RGB
449234449Sobrien>>12 beshort 4 \bA
450234449Sobrien>24  beshort 4 CMYK
451234449Sobrien>>12 beshort 5 \bA
452234449Sobrien>24  beshort 7 multichannel
453234449Sobrien>24  beshort 8 duotone
454234449Sobrien>24  beshort 9 lab
455234449Sobrien>12  beshort > 1
456234449Sobrien>>12  beshort x \b, %dx
457234449Sobrien>12  beshort 1 \b,
458234449Sobrien>22  beshort x %d-bit channel
459234449Sobrien>12  beshort > 1 \bs
460133359Sobrien
461133359Sobrien# XV thumbnail indicator (ThMO)
462133359Sobrien0	string		P7\ 332		XV thumbnail image data
463133359Sobrien
464133359Sobrien# NITF is defined by United States MIL-STD-2500A
465133359Sobrien0	string	NITF	National Imagery Transmission Format
466133359Sobrien>25	string	>\0	dated %.14s
467133359Sobrien
468133359Sobrien# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
469133359Sobrien0	belong		0x00010008	GEM Image data
470133359Sobrien>12	beshort		x		%d x
471133359Sobrien>14	beshort		x		%d,
472133359Sobrien>4	beshort		x		%d planes,
473133359Sobrien>8	beshort		x		%d x
474133359Sobrien>10	beshort		x		%d pixelsize
475133359Sobrien
476133359Sobrien# GEM Metafile (Wolfram Kleff)
477133359Sobrien0	lelong		0x0018FFFF	GEM Metafile data
478133359Sobrien>4	leshort		x		version %d
479133359Sobrien
480133359Sobrien#
481133359Sobrien# SMJPEG. A custom Motion JPEG format used by Loki Entertainment
482133359Sobrien# Software Torbjorn Andersson <d91tan@Update.UU.SE>.
483133359Sobrien#
484133359Sobrien0	string	\0\nSMJPEG	SMJPEG
485133359Sobrien>8	belong	x		%d.x data
486133359Sobrien# According to the specification you could find any number of _TXT
487133359Sobrien# headers here, but I can't think of any way of handling that. None of
488133359Sobrien# the SMJPEG files I tried it on used this feature. Even if such a
489133359Sobrien# file is encountered the output should still be reasonable.
490133359Sobrien>16	string	_SND		\b,
491133359Sobrien>>24	beshort	>0		%d Hz
492133359Sobrien>>26	byte	8		8-bit
493133359Sobrien>>26	byte	16		16-bit
494133359Sobrien>>28	string	NONE		uncompressed
495133359Sobrien# >>28	string	APCM		ADPCM compressed
496133359Sobrien>>27	byte	1		mono
497133359Sobrien>>28	byte	2		stereo
498133359Sobrien# Help! Isn't there any way to avoid writing this part twice?
499133359Sobrien>>32	string	_VID		\b,
500133359Sobrien# >>>48	string	JFIF		JPEG
501133359Sobrien>>>40	belong	>0		%d frames
502133359Sobrien>>>44	beshort	>0		(%d x
503133359Sobrien>>>46	beshort	>0		%d)
504133359Sobrien>16	string	_VID		\b,
505133359Sobrien# >>32	string	JFIF		JPEG
506133359Sobrien>>24	belong	>0		%d frames
507133359Sobrien>>28	beshort	>0		(%d x
508133359Sobrien>>30	beshort	>0		%d)
509133359Sobrien
510133359Sobrien0	string	Paint\ Shop\ Pro\ Image\ File	Paint Shop Pro Image File
511133359Sobrien
512133359Sobrien# "thumbnail file" (icon)
513133359Sobrien# descended from "xv", but in use by other applications as well (Wolfram Kleff)
514133359Sobrien0       string          P7\ 332         XV "thumbnail file" (icon) data
515133359Sobrien
516133359Sobrien# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
517133359Sobrien0       string          KiSS            KISS/GS
518133359Sobrien>4      byte            16              color
519133359Sobrien>>5     byte            x               %d bit
520133359Sobrien>>8     leshort         x               %d colors
521133359Sobrien>>10    leshort         x               %d groups
522133359Sobrien>4      byte            32              cell
523133359Sobrien>>5     byte            x               %d bit
524133359Sobrien>>8     leshort         x               %d x
525133359Sobrien>>10    leshort         x               %d
526133359Sobrien>>12    leshort         x               +%d
527133359Sobrien>>14    leshort         x               +%d
528133359Sobrien
529133359Sobrien# Webshots (www.webshots.com), by John Harrison
530133359Sobrien0       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
531133359Sobrien
532133359Sobrien# Hercules DASD image files
533133359Sobrien# From Jan Jaeger <jj@septa.nl>
534133359Sobrien0       string  CKD_P370        Hercules 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_C370        Hercules compressed CKD DASD image 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
544133359Sobrien0       string  CKD_S370        Hercules CKD DASD shadow file
545133359Sobrien>8      long    x               \b, %d heads per cylinder
546133359Sobrien>12     long    x               \b, track size %d bytes
547133359Sobrien>16     byte    x               \b, device type 33%2.2X
548133359Sobrien
549186691Sobrien# Squeak images and programs - etoffi@softhome.net
550186691Sobrien0	string		\146\031\0\0	Squeak image data
551186691Sobrien0	search/1	'From\040Squeak	Squeak program text
552133359Sobrien
553133359Sobrien# partimage: file(1) magic for PartImage files (experimental, incomplete)
554133359Sobrien# Author: Hans-Joachim Baader <hjb@pro-linux.de>
555133359Sobrien0		string	PaRtImAgE-VoLuMe	PartImage
556133359Sobrien>0x0020		string	0.6.1		file version %s
557133359Sobrien>>0x0060	lelong	>-1		volume %ld
558133359Sobrien#>>0x0064 8 byte identifier
559133359Sobrien#>>0x007c reserved
560133359Sobrien>>0x0200	string	>\0		type %s
561133359Sobrien>>0x1400	string	>\0		device %s,
562133359Sobrien>>0x1600	string	>\0		original filename %s,
563133359Sobrien# Some fields omitted
564133359Sobrien>>0x2744	lelong	0		not compressed
565133359Sobrien>>0x2744	lelong	1		gzip compressed
566133359Sobrien>>0x2744	lelong	2		bzip2 compressed
567133359Sobrien>>0x2744	lelong	>2		compressed with unknown algorithm
568133359Sobrien>0x0020		string	>0.6.1		file version %s
569133359Sobrien>0x0020		string	<0.6.1		file version %s
570133359Sobrien
571133359Sobrien# DCX is multi-page PCX, using a simple header of up to 1024
572133359Sobrien# offsets for the respective PCX components.
573133359Sobrien# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
574133359Sobrien0	lelong	987654321	DCX multi-page PCX image data
575133359Sobrien
576133359Sobrien# Simon Walton <simonw@matteworld.com>
577133359Sobrien# Kodak Cineon format for scanned negatives
578133359Sobrien# http://www.kodak.com/US/en/motion/support/dlad/
579133359Sobrien0	lelong  0xd75f2a80	Cineon image data
580133359Sobrien>200	belong  >0		\b, %ld x
581133359Sobrien>204	belong  >0		%ld
582133359Sobrien
583133359Sobrien
584133359Sobrien# Bio-Rad .PIC is an image format used by microscope control systems
585133359Sobrien# and related image processing software used by biologists.
586133359Sobrien# From: Vebjorn Ljosa <vebjorn@ljosa.com>
587234449Sobrien# BOOL values are two-byte integers; use them to rule out false positives.
588234449Sobrien# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt
589234449Sobrien# Samples: http://www.loci.wisc.edu/software/sample-data
590234449Sobrien14	leshort <2
591234449Sobrien>62	leshort <2
592234449Sobrien>>54	leshort 12345		Bio-Rad .PIC Image File
593234449Sobrien>>>0	leshort >0		%hd x
594234449Sobrien>>>2	leshort >0		%hd,
595234449Sobrien>>>4	leshort =1		1 image in file
596234449Sobrien>>>4	leshort >1		%hd images in file
597133359Sobrien
598133359Sobrien# From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
599133359Sobrien# The description of *.mrw format can be found at
600133359Sobrien# http://www.dalibor.cz/minolta/raw_file_format.htm
601133359Sobrien0	string	\000MRM			Minolta Dimage camera raw image data
602133359Sobrien
603186691Sobrien# Summary: DjVu image / document
604186691Sobrien# Extension: .djvu
605186691Sobrien# Reference: http://djvu.org/docs/DjVu3Spec.djvu
606186691Sobrien# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
607186691Sobrien# Modified by (1): Abel Cheung <abelcheung@gmail.com>
608186691Sobrien0	string	AT&TFORM
609234449Sobrien>12	string	DJVM		DjVu multiple page document
610186691Sobrien!:mime	image/vnd.djvu
611186691Sobrien>12	string	DJVU		DjVu image or single page document
612234449Sobrien!:mime	image/vnd.djvu
613186691Sobrien>12	string	DJVI		DjVu shared document
614234449Sobrien!:mime	image/vnd.djvu
615186691Sobrien>12	string	THUM		DjVu page thumbnails
616234449Sobrien!:mime	image/vnd.djvu
617133359Sobrien
618133359Sobrien
619159764Sobrien# From Marc Espie
620159764Sobrien0	lelong	20000630		OpenEXR image data
621133359Sobrien
622133359Sobrien# From: Tom Hilinski <tom.hilinski@comcast.net>
623133359Sobrien# http://www.unidata.ucar.edu/packages/netcdf/
624159764Sobrien0	string	CDF\001			NetCDF Data Format data
625159764Sobrien
626159764Sobrien#-----------------------------------------------------------------------
627159764Sobrien# Hierarchical Data Format, used to facilitate scientific data exchange
628159764Sobrien# specifications at http://hdf.ncsa.uiuc.edu/
629159764Sobrien0	belong	0x0e031301	Hierarchical Data Format (version 4) data
630186691Sobrien!:mime	application/x-hdf
631234449Sobrien0	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) data
632186691Sobrien!:mime	application/x-hdf
633169942Sobrien
634169942Sobrien# From: Tobias Burnus <burnus@net-b.de>
635169942Sobrien# Xara (for a while: Corel Xara) is a graphic package, see
636186691Sobrien# http://www.xara.com/ for Windows and as GPL application for Linux
637169942Sobrien0	string	XARA\243\243	Xara graphics file
638186691Sobrien
639186691Sobrien# http://www.cartesianinc.com/Tech/
640186691Sobrien0	string	CPC\262		Cartesian Perceptual Compression image
641186691Sobrien!:mime	image/x-cpi
642186691Sobrien
643186691Sobrien# From Albert Cahalan <acahalan@gmail.com>
644186691Sobrien# puredigital used it for the CVS disposable camcorder
645186691Sobrien#8       lelong  4       ZBM bitmap image data
646186691Sobrien#>4      leshort x       %u x
647186691Sobrien#>6      leshort x       %u
648186691Sobrien
649186691Sobrien# From Albert Cahalan <acahalan@gmail.com>
650186691Sobrien# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons
651186691Sobrien0       string C565     OLPC firmware icon image data
652186691Sobrien>4      leshort x       %u x
653186691Sobrien>6      leshort x       %u
654186691Sobrien
655186691Sobrien# Applied Images - Image files from Cytovision
656186691Sobrien# Gustavo Junior Alves <gjalves@gjalves.com.br>
657186691Sobrien0	string	\xce\xda\xde\xfa	Cytovision Metaphases file
658186691Sobrien0	string	\xed\xad\xef\xac	Cytovision Karyotype file
659186691Sobrien0	string	\x0b\x00\x03\x00	Cytovision FISH Probe file
660186691Sobrien0	string	\xed\xfe\xda\xbe	Cytovision FLEX file
661186691Sobrien0	string	\xed\xab\xed\xfe	Cytovision FLEX file
662186691Sobrien0	string	\xad\xfd\xea\xad	Cytovision RATS file
663186691Sobrien
664186691Sobrien# Wavelet Scalar Quantization format used in gray-scale fingerprint images
665186691Sobrien# From Tano M Fotang <mfotang@quanteq.com>
666186691Sobrien0	string	\xff\xa0\xff\xa8\x00	Wavelet Scalar Quantization image data
667191771Sobrien
668191771Sobrien# JPEG 2000 Code Stream Bitmap
669191771Sobrien# From Petr Splichal <psplicha@redhat.com>
670191771Sobrien0	string	\xFF\x4F\xFF\x51\x00	JPEG-2000 Code Stream Bitmap data
671234449Sobrien
672234449Sobrien# From: Rick Richardson <rick.richardson@comcast.net>
673234449Sobrien0	string	GARMIN\ BITMAP\ 01	Garmin Bitmap file
674234449Sobrien
675234449Sobrien# Type:	Ulead Photo Explorer5 (.pe5)
676234449Sobrien# URL:	http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese)
677234449Sobrien# From:	Simon Horman <horms@debian.org>
678234449Sobrien0	string	IIO2H			Ulead Photo Explorer5
679234449Sobrien
680234449Sobrien# Type:	X11 cursor
681234449Sobrien# URL:	http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup
682234449Sobrien# From:	Mathias Brodala <info@noctus.net>
683234449Sobrien0	string	Xcur			X11 cursor
684234449Sobrien
685234449Sobrien# Type:	Olympus ORF raw images.
686234449Sobrien# URL:	http://libopenraw.freedesktop.org/wiki/Olympus_ORF
687234449Sobrien# From:	Adam Buchbinder <adam.buchbinder@gmail.com>
688234449Sobrien0	string		MMOR		Olympus ORF raw image data, big-endian
689234449Sobrien!:mime	image/x-olympus-orf
690234449Sobrien0	string		IIRO		Olympus ORF raw image data, little-endian
691234449Sobrien!:mime	image/x-olympus-orf
692234449Sobrien0	string		IIRS		Olympus ORF raw image data, little-endian
693234449Sobrien!:mime	image/x-olympus-orf
694234449Sobrien
695234449Sobrien# Type: files used in modern AVCHD camcoders to store clip information
696234449Sobrien# Extension: .cpi
697234449Sobrien# From: Alexander Danilov <alexander.a.danilov@gmail.com>
698234449Sobrien0	string	HDMV0100	AVCHD Clip Information
699234449Sobrien
700234449Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
701234449Sobrien# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/
702234449Sobrien# Radiance HDR; usually has .pic or .hdr extension.
703234449Sobrien0	string	#?RADIANCE\n	Radiance HDR image data
704234449Sobrien#!mime	image/vnd.radiance
705234449Sobrien
706234449Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
707234449Sobrien# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf
708234449Sobrien# Used by the pfstools packages. The regex matches for the image size could
709234449Sobrien# probably use some work. The MIME type is made up; if there's one in
710234449Sobrien# actual common use, it should replace the one below.
711234449Sobrien0	string	PFS1\x0a	PFS HDR image data
712234449Sobrien#!mime	image/x-pfs
713234449Sobrien>1	regex	[0-9]*\ 		\b, %s
714234449Sobrien>>1	regex	\ [0-9]{4}		\bx%s
715234449Sobrien
716234449Sobrien# Type: Foveon X3F
717234449Sobrien# URL:  http://www.photofo.com/downloads/x3f-raw-format.pdf
718234449Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
719234449Sobrien# Note that the MIME type isn't defined anywhere that I can find; if
720234449Sobrien# there's a canonical type for this format, it should replace this one.
721234449Sobrien0	string	FOVb	Foveon X3F raw image data
722234449Sobrien!:mime	image/x-x3f
723234449Sobrien>6	leshort	x	\b, version %d.
724234449Sobrien>4	leshort	x	\b%d
725234449Sobrien>28	lelong	x	\b, %dx
726234449Sobrien>32	lelong	x	\b%d
727234449Sobrien
728234449Sobrien# Paint.NET file
729234449Sobrien# From Adam Buchbinder <adam.buchbinder@gmail.com>
730234449Sobrien0	string	PDN3	Paint.NET image data
731234449Sobrien!:mime	image/x-paintnet
732234449Sobrien
733234449Sobrien# Not really an image.
734234449Sobrien# From: "Tano M. Fotang" <mfotang@quanteq.com>
735234449Sobrien0	string	\x46\x4d\x52\x00	ISO/IEC 19794-2 Format Minutiae Record (FMR)
736