images revision 110949
1
2#------------------------------------------------------------------------------
3# images:  file(1) magic for image formats (see also "iff")
4#
5# originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
6# additions by janl@ifi.uio.no as well as others. Jan also suggested
7# merging several one- and two-line files into here.
8#
9# little magic: PCX (first byte is 0x0a)
10
11# Targa - matches `povray', `ppmtotga' and `xv' outputs
12# by Philippe De Muyter <phdm@macqel.be>
13# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
14# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
15# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
16# `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
17# `tgatoppm' recognizes a superset (Index may be anything)
181	belong&0xfff7ffff	0x01010000	Targa image data - Map
19>2	byte&8			8		- RLE
201	belong&0xfff7ffff	0x00020000	Targa image data - RGB
21>2	byte&8			8		- RLE
221	belong&0xfff7ffff	0x00030000	Targa image data - Mono
23>2	byte&8			8		- RLE
24
25# PBMPLUS images
26# The next byte following the magic is always whitespace.
270	string		P1		Netpbm PBM image text
280	string		P2		Netpbm PGM image text
290	string		P3		Netpbm PPM image text
300	string		P4		Netpbm PBM "rawbits" image data
310	string		P5		Netpbm PGM "rawbits" image data
320	string		P6		Netpbm PPM "rawbits" image data
330	string		P7		Netpbm PAM image file
34
35# From: bryanh@giraffe-data.com (Bryan Henderson)
360	string		\117\072	Solitaire Image Recorder format
37>4	string		\013		MGI Type 11
38>4	string		\021		MGI Type 17
390	string		.MDA		MicroDesign data
40>21	byte		48		version 2
41>21	byte		51		version 3
420	string		.MDP		MicroDesign page data
43>21	byte		48		version 2
44>21	byte		51		version 3
45
46# NIFF (Navy Interchange File Format, a modification of TIFF) images
470	string		IIN1		NIFF image data
48
49# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
50# The second word of TIFF files is the TIFF version number, 42, which has
51# never changed.  The TIFF specification recommends testing for it.
520	string		MM\x00\x2a	TIFF image data, big-endian
530	string		II\x2a\x00	TIFF image data, little-endian
54
55# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
56# (Greg Roelofs, newt@uchicago.edu)
57# (Albert Cahalan, acahalan@cs.uml.edu)
58#
59# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
60#
610	string		\x89PNG		PNG image data,
62>4	belong		!0x0d0a1a0a	CORRUPTED,
63>4	belong		0x0d0a1a0a
64>>16	belong		x		%ld x
65>>20	belong		x		%ld,
66>>24	byte		x		%d-bit
67>>25	byte		0		grayscale,
68>>25	byte		2		\b/color RGB,
69>>25	byte		3		colormap,
70>>25	byte		4		gray+alpha,
71>>25	byte		6		\b/color RGBA,
72#>>26	byte		0		deflate/32K,
73>>28	byte		0		non-interlaced
74>>28	byte		1		interlaced
751	string		PNG		PNG image data, CORRUPTED
76
77# GIF
780	string		GIF8		GIF image data
79>4	string		7a		\b, version 8%s,
80>4	string		9a		\b, version 8%s,
81>6	leshort		>0		%hd x
82>8	leshort		>0		%hd
83#>10	byte		&0x80		color mapped,
84#>10	byte&0x07	=0x00		2 colors
85#>10	byte&0x07	=0x01		4 colors
86#>10	byte&0x07	=0x02		8 colors
87#>10	byte&0x07	=0x03		16 colors
88#>10	byte&0x07	=0x04		32 colors
89#>10	byte&0x07	=0x05		64 colors
90#>10	byte&0x07	=0x06		128 colors
91#>10	byte&0x07	=0x07		256 colors
92
93# ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
94# 1 plane, no encoding.
950	string		\361\0\100\273	CMU window manager raster image data
96>4	lelong		>0		%d x
97>8	lelong		>0		%d,
98>12	lelong		>0		%d-bit
99
100# Magick Image File Format
1010	string		id=ImageMagick	MIFF image data
102
103# Artisan
1040	long		1123028772	Artisan image data
105>4	long		1		\b, rectangular 24-bit
106>4	long		2		\b, rectangular 8-bit with colormap
107>4	long		3		\b, rectangular 32-bit (24-bit with matte)
108
109# FIG (Facility for Interactive Generation of figures), an object-based format
1100	string		#FIG		FIG image text
111>5	string		x		\b, version %.3s
112
113# PHIGS
1140	string		ARF_BEGARF		PHIGS clear text archive
1150	string		@(#)SunPHIGS		SunPHIGS
116# version number follows, in the form m.n
117>40	string		SunBin			binary
118>32	string		archive			archive
119
120# GKS (Graphics Kernel System)
1210	string		GKSM		GKS Metafile
122>24	string		SunGKS		\b, SunGKS
123
124# CGM image files
1250	string		BEGMF		clear text Computer Graphics Metafile
126# XXX - questionable magic
1270	beshort&0xffe0	0x0020		binary Computer Graphics Metafile
1280	beshort		0x3020		character Computer Graphics Metafile
129
130# MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
1310	string	yz	MGR bitmap, modern format, 8-bit aligned
1320	string	zz	MGR bitmap, old format, 1-bit deep, 16-bit aligned
1330	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned
1340	string	yx	MGR bitmap, modern format, squeezed
135
136# Fuzzy Bitmap (FBM) images
1370	string		%bitmap\0	FBM image data
138>30	long		0x31		\b, mono
139>30	long		0x33		\b, color
140
141# facsimile data
1421	string		PC\ Research,\ Inc	group 3 fax data
143>29	byte		0		\b, normal resolution (204x98 DPI)
144>29	byte		1		\b, fine resolution (204x196 DPI)
145# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
1460	string		Sfff		structured fax file
147
148
149# PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)
1500	string		BM		PC bitmap data
151>14	leshort		12		\b, OS/2 1.x format
152>>18	leshort		x		\b, %d x
153>>20	leshort		x		%d
154>14	leshort		64		\b, OS/2 2.x format
155>>18	leshort		x		\b, %d x
156>>20	leshort		x		%d
157>14	leshort		40		\b, Windows 3.x format
158>>18	lelong		x		\b, %d x
159>>22	lelong		x		%d x
160>>28	leshort		x		%d
1610	string		IC		PC icon data
1620	string		PI		PC pointer image data
1630	string		CI		PC color icon data
1640	string		CP		PC color pointer image data
165# Conflicts with other entries [BABYL]
166#0	string		BA		PC bitmap array data
167
168# XPM icons (Greg Roelofs, newt@uchicago.edu)
169# note possible collision with C/REXX entry in c-lang; currently commented out
1700	string		/*\ XPM\ */	X pixmap image text
171
172# Utah Raster Toolkit RLE images (janl@ifi.uio.no)
1730	leshort		0xcc52		RLE image data,
174>6	leshort		x		%d x
175>8	leshort		x		%d
176>2	leshort		>0		\b, lower left corner: %d
177>4	leshort		>0		\b, lower right corner: %d
178>10	byte&0x1	=0x1		\b, clear first
179>10	byte&0x2	=0x2		\b, no background
180>10	byte&0x4	=0x4		\b, alpha channel
181>10	byte&0x8	=0x8		\b, comment
182>11	byte		>0		\b, %d color channels
183>12	byte		>0		\b, %d bits per pixel
184>13	byte		>0		\b, %d color map channels
185
186# image file format (Robert Potter, potter@cs.rochester.edu)
1870	string		Imagefile\ version-	iff image data
188# this adds the whole header (inc. version number), informative but longish
189>10	string		>\0		%s
190
191# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
1920	belong		0x59a66a95	Sun raster image data
193>4	belong		>0		\b, %d x
194>8	belong		>0		%d,
195>12	belong		>0		%d-bit,
196#>16	belong		>0		%d bytes long,
197>20	belong		0		old format,
198#>20	belong		1		standard,
199>20	belong		2		compressed,
200>20	belong		3		RGB,
201>20	belong		4		TIFF,
202>20	belong		5		IFF,
203>20	belong		0xffff		reserved for testing,
204>24	belong		0		no colormap
205>24	belong		1		RGB colormap
206>24	belong		2		raw colormap
207#>28	belong		>0		colormap is %d bytes long
208
209# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
210#
211# See
212#	http://reality.sgi.com/grafica/sgiimage.html
213#
2140	beshort		474		SGI image data
215#>2	byte		0		\b, verbatim
216>2	byte		1		\b, RLE
217#>3	byte		1		\b, normal precision
218>3	byte		2		\b, high precision
219>4	beshort		x		\b, %d-D
220>6	beshort		x		\b, %d x
221>8	beshort		x		%d
222>10	beshort		x		\b, %d channel
223>10	beshort		!1		\bs
224>80	string		>0		\b, "%s"
225
2260	string		IT01		FIT image data
227>4	belong		x		\b, %d x
228>8	belong		x		%d x
229>12	belong		x		%d
230#
2310	string		IT02		FIT image data
232>4	belong		x		\b, %d x
233>8	belong		x		%d x
234>12	belong		x		%d
235#
2362048	string		PCD_IPI		Kodak Photo CD image pack file
237>0xe02	byte&0x03	0x00		, landscape mode
238>0xe02	byte&0x03	0x01		, portrait mode
239>0xe02	byte&0x03	0x02		, landscape mode
240>0xe02	byte&0x03	0x03		, portrait mode
2410	string		PCD_OPA		Kodak Photo CD overview pack file
242
243# FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
244# FITS is the Flexible Image Transport System, the de facto standard for
245# data and image transfer, storage, etc., for the astronomical community.
246# (FITS floating point formats are big-endian.)
2470	string	SIMPLE\ \ =	FITS image data
248>109	string	8		\b, 8-bit, character or unsigned binary integer
249>108	string	16		\b, 16-bit, two's complement binary integer
250>107	string	\ 32		\b, 32-bit, two's complement binary integer
251>107	string	-32		\b, 32-bit, floating point, single precision
252>107	string	-64		\b, 64-bit, floating point, double precision
253
254# other images
2550	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file
2560	string		!!		Bennet Yee's "face" format
257
258# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
259# stuff.
260#
2610	beshort		0x1010		PEX Binary Archive
262
263# Visio drawings
26403000	string	Visio\ (TM)\ Drawing	%s
265
266# Tgif files
2670	string	\%TGIF\ x 		Tgif file version %s
268
269# DICOM medical imaging data
270128	string	DICM			DICOM medical imaging data
271
272# XWD - X-Windows Dump file.
273#   As described in /usr/X11R6/include/X11/XWDFile.h
274#   used by the xwd program.
275#   Bradford Castalia, idaeim, 1/01
2764	belong	7			XWD X-Windows Dump image data
277>100	string	>\0			\b, "%s"
278>16	belong	x			\b, %dx
279>20	belong	x			\b%dx
280>12	belong	x			\b%d
281
282# PDS - Planetary Data System
283#   These files use Parameter Value Language in the header section.
284#   Unfortunately, there is no certain magic, but the following
285#   strings have been found to be most likely.
2860	string	NJPL1I00		PDS (JPL) image data
2872	string	NJPL1I			PDS (JPL) image data
2880	string	CCSD3ZF			PDS (CCSD) image data
2892	string	CCSD3Z			PDS (CCSD) image data
2900	string	PDS_			PDS image data
2910	string	LBLSIZE=		PDS (VICAR) image data
292
293# pM8x: ATARI STAD compressed bitmap format
294#
295# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
296# p M 8 5/6 xx yy zz data...
297# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
298# bytes either run horizontally (pM85) or vertically (pM86). yy is the
299# most frequent byte, xx and zz are runlength escape codes, where xx is
300# used for runs of yy.
301#
3020	string	pM85		Atari ST STAD bitmap image data (hor)
303>5	byte	0x00		(white background)
304>5	byte	0xFF		(black background)
3050	string	pM86		Atari ST STAD bitmap image data (vert)
306>5	byte	0x00		(white background)
307>5	byte	0xFF		(black background)
308
309# XXX:
310# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
311# magic.
312# SGI RICE image file <mpruett@sgi.com>
313#0	beshort	0x5249		RICE image
314#>2	beshort	x		v%d
315#>4	beshort	x		(%d x
316#>6	beshort	x		%d)
317#>8	beshort	0		8 bit
318#>8	beshort	1		10 bit
319#>8	beshort	2		12 bit
320#>8	beshort	3		13 bit
321#>10	beshort	0		4:2:2
322#>10	beshort	1		4:2:2:4
323#>10	beshort	2		4:4:4
324#>10	beshort	3		4:4:4:4
325#>12	beshort	1		RGB
326#>12	beshort	2		CCIR601
327#>12	beshort	3		RP175
328#>12	beshort	4		YUV
329
330#------------------------------------------------------------------------------
331#
332# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
333# for the EPOC operating system, which is used with PDAs like those from Psion
334#
335# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
336# of various EPOC file formats
337
3380	string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
339
340# PCX image files
341# From: Dan Fandrich <dan@coneharvesters.com>
3420	beshort		0x0a00	PCX ver. 2.5 image data
3430	beshort		0x0a02	PCX ver. 2.8 image data, with palette
3440	beshort		0x0a03	PCX ver. 2.8 image data, without palette
3450	beshort		0x0a04	PCX for Windows image data
3460	beshort		0x0a05	PCX ver. 3.0 image data
347>4	leshort		x      bounding box [%hd,
348>6	leshort		x      %hd] -
349>8	leshort		x      [%hd,
350>10	leshort		x      %hd],
351>65	byte		>1	%d planes each of
352>3	byte		x	%hhd-bit
353>68	byte		0	image,
354>68	byte		1	colour,
355>68	byte		2	grayscale,
356>68	byte		>2	image,
357>68	byte		<0	image,
358>12	leshort		>0	%hd x
359>>14	leshort		x      %hd dpi,
360>2	byte		0	uncompressed
361>2	byte		1	RLE compressed
362