images revision 169962
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
20>12	leshort			>0		%hd x
21>14	leshort			>0		%hd
221	belong&0xfff7ffff	0x00020000	Targa image data - RGB
23>2	byte&8			8		- RLE
24>12	leshort			>0		%hd x
25>14	leshort			>0		%hd
261	belong&0xfff7ffff	0x00030000	Targa image data - Mono
27>2	byte&8			8		- RLE
28>12	leshort			>0		%hd x
29>14	leshort			>0		%hd
30
31# PBMPLUS images
32# The next byte following the magic is always whitespace.
330	string		P1		Netpbm PBM image text
340	string		P2		Netpbm PGM image text
350	string		P3		Netpbm PPM image text
360	string		P4		Netpbm PBM "rawbits" image data
370	string		P5		Netpbm PGM "rawbits" image data
380	string		P6		Netpbm PPM "rawbits" image data
390	string		P7		Netpbm PAM image file
40
41# From: bryanh@giraffe-data.com (Bryan Henderson)
420	string		\117\072	Solitaire Image Recorder format
43>4	string		\013		MGI Type 11
44>4	string		\021		MGI Type 17
450	string		.MDA		MicroDesign data
46>21	byte		48		version 2
47>21	byte		51		version 3
480	string		.MDP		MicroDesign page data
49>21	byte		48		version 2
50>21	byte		51		version 3
51
52# NIFF (Navy Interchange File Format, a modification of TIFF) images
530	string		IIN1		NIFF image data
54
55# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
56# The second word of TIFF files is the TIFF version number, 42, which has
57# never changed.  The TIFF specification recommends testing for it.
580	string		MM\x00\x2a	TIFF image data, big-endian
590	string		II\x2a\x00	TIFF image data, little-endian
60
61# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
62# (Greg Roelofs, newt@uchicago.edu)
63# (Albert Cahalan, acahalan@cs.uml.edu)
64#
65# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
66#
670	string		\x89PNG		PNG image data,
68>4	belong		!0x0d0a1a0a	CORRUPTED,
69>4	belong		0x0d0a1a0a
70>>16	belong		x		%ld x
71>>20	belong		x		%ld,
72>>24	byte		x		%d-bit
73>>25	byte		0		grayscale,
74>>25	byte		2		\b/color RGB,
75>>25	byte		3		colormap,
76>>25	byte		4		gray+alpha,
77>>25	byte		6		\b/color RGBA,
78#>>26	byte		0		deflate/32K,
79>>28	byte		0		non-interlaced
80>>28	byte		1		interlaced
811	string		PNG		PNG image data, CORRUPTED
82
83# GIF
840	string		GIF8		GIF image data
85>4	string		7a		\b, version 8%s,
86>4	string		9a		\b, version 8%s,
87>6	leshort		>0		%hd x
88>8	leshort		>0		%hd
89#>10	byte		&0x80		color mapped,
90#>10	byte&0x07	=0x00		2 colors
91#>10	byte&0x07	=0x01		4 colors
92#>10	byte&0x07	=0x02		8 colors
93#>10	byte&0x07	=0x03		16 colors
94#>10	byte&0x07	=0x04		32 colors
95#>10	byte&0x07	=0x05		64 colors
96#>10	byte&0x07	=0x06		128 colors
97#>10	byte&0x07	=0x07		256 colors
98
99# ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
100# 1 plane, no encoding.
1010	string		\361\0\100\273	CMU window manager raster image data
102>4	lelong		>0		%d x
103>8	lelong		>0		%d,
104>12	lelong		>0		%d-bit
105
106# Magick Image File Format
1070	string		id=ImageMagick	MIFF image data
108
109# Artisan
1100	long		1123028772	Artisan image data
111>4	long		1		\b, rectangular 24-bit
112>4	long		2		\b, rectangular 8-bit with colormap
113>4	long		3		\b, rectangular 32-bit (24-bit with matte)
114
115# FIG (Facility for Interactive Generation of figures), an object-based format
1160	string		#FIG		FIG image text
117>5	string		x		\b, version %.3s
118
119# PHIGS
1200	string		ARF_BEGARF		PHIGS clear text archive
1210	string		@(#)SunPHIGS		SunPHIGS
122# version number follows, in the form m.n
123>40	string		SunBin			binary
124>32	string		archive			archive
125
126# GKS (Graphics Kernel System)
1270	string		GKSM		GKS Metafile
128>24	string		SunGKS		\b, SunGKS
129
130# CGM image files
1310	string		BEGMF		clear text Computer Graphics Metafile
132# XXX - questionable magic
1330	beshort&0xffe0	0x0020		binary Computer Graphics Metafile
1340	beshort		0x3020		character Computer Graphics Metafile
135
136# MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
1370	string	yz	MGR bitmap, modern format, 8-bit aligned
1380	string	zz	MGR bitmap, old format, 1-bit deep, 16-bit aligned
1390	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned
1400	string	yx	MGR bitmap, modern format, squeezed
141
142# Fuzzy Bitmap (FBM) images
1430	string		%bitmap\0	FBM image data
144>30	long		0x31		\b, mono
145>30	long		0x33		\b, color
146
147# facsimile data
1481	string		PC\ Research,\ Inc	group 3 fax data
149>29	byte		0		\b, normal resolution (204x98 DPI)
150>29	byte		1		\b, fine resolution (204x196 DPI)
151# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
1520	string		Sfff		structured fax file
153
154
155# PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)
1560	string		BM		PC bitmap data
157>14	leshort		12		\b, OS/2 1.x format
158>>18	leshort		x		\b, %d x
159>>20	leshort		x		%d
160>14	leshort		64		\b, OS/2 2.x format
161>>18	leshort		x		\b, %d x
162>>20	leshort		x		%d
163>14	leshort		40		\b, Windows 3.x format
164>>18	lelong		x		\b, %d x
165>>22	lelong		x		%d x
166>>28	leshort		x		%d
167# Too simple - MPi
168#0	string		IC		PC icon data
169#0	string		PI		PC pointer image data
170#0	string		CI		PC color icon data
171#0	string		CP		PC color pointer image data
172# Conflicts with other entries [BABYL]
173#0	string		BA		PC bitmap array data
174
175# XPM icons (Greg Roelofs, newt@uchicago.edu)
176# note possible collision with C/REXX entry in c-lang; currently commented out
1770	string		/*\ XPM\ */	X pixmap image text
178
179# Utah Raster Toolkit RLE images (janl@ifi.uio.no)
1800	leshort		0xcc52		RLE image data,
181>6	leshort		x		%d x
182>8	leshort		x		%d
183>2	leshort		>0		\b, lower left corner: %d
184>4	leshort		>0		\b, lower right corner: %d
185>10	byte&0x1	=0x1		\b, clear first
186>10	byte&0x2	=0x2		\b, no background
187>10	byte&0x4	=0x4		\b, alpha channel
188>10	byte&0x8	=0x8		\b, comment
189>11	byte		>0		\b, %d color channels
190>12	byte		>0		\b, %d bits per pixel
191>13	byte		>0		\b, %d color map channels
192
193# image file format (Robert Potter, potter@cs.rochester.edu)
1940	string		Imagefile\ version-	iff image data
195# this adds the whole header (inc. version number), informative but longish
196>10	string		>\0		%s
197
198# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
1990	belong		0x59a66a95	Sun raster image data
200>4	belong		>0		\b, %d x
201>8	belong		>0		%d,
202>12	belong		>0		%d-bit,
203#>16	belong		>0		%d bytes long,
204>20	belong		0		old format,
205#>20	belong		1		standard,
206>20	belong		2		compressed,
207>20	belong		3		RGB,
208>20	belong		4		TIFF,
209>20	belong		5		IFF,
210>20	belong		0xffff		reserved for testing,
211>24	belong		0		no colormap
212>24	belong		1		RGB colormap
213>24	belong		2		raw colormap
214#>28	belong		>0		colormap is %d bytes long
215
216# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
217#
218# See
219#	http://reality.sgi.com/grafica/sgiimage.html
220#
2210	beshort		474		SGI image data
222#>2	byte		0		\b, verbatim
223>2	byte		1		\b, RLE
224#>3	byte		1		\b, normal precision
225>3	byte		2		\b, high precision
226>4	beshort		x		\b, %d-D
227>6	beshort		x		\b, %d x
228>8	beshort		x		%d
229>10	beshort		x		\b, %d channel
230>10	beshort		!1		\bs
231>80	string		>0		\b, "%s"
232
2330	string		IT01		FIT image data
234>4	belong		x		\b, %d x
235>8	belong		x		%d x
236>12	belong		x		%d
237#
2380	string		IT02		FIT image data
239>4	belong		x		\b, %d x
240>8	belong		x		%d x
241>12	belong		x		%d
242#
2432048	string		PCD_IPI		Kodak Photo CD image pack file
244>0xe02	byte&0x03	0x00		, landscape mode
245>0xe02	byte&0x03	0x01		, portrait mode
246>0xe02	byte&0x03	0x02		, landscape mode
247>0xe02	byte&0x03	0x03		, portrait mode
2480	string		PCD_OPA		Kodak Photo CD overview pack file
249
250# FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
251# FITS is the Flexible Image Transport System, the de facto standard for
252# data and image transfer, storage, etc., for the astronomical community.
253# (FITS floating point formats are big-endian.)
2540	string	SIMPLE\ \ =	FITS image data
255>109	string	8		\b, 8-bit, character or unsigned binary integer
256>108	string	16		\b, 16-bit, two's complement binary integer
257>107	string	\ 32		\b, 32-bit, two's complement binary integer
258>107	string	-32		\b, 32-bit, floating point, single precision
259>107	string	-64		\b, 64-bit, floating point, double precision
260
261# other images
2620	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file
2630	string		=!!		Bennet Yee's "face" format
264
265# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
266# stuff.
267#
2680	beshort		0x1010		PEX Binary Archive
269
270# DICOM medical imaging data
271128	string	DICM			DICOM medical imaging data
272
273# XWD - X Window Dump file.
274#   As described in /usr/X11R6/include/X11/XWDFile.h
275#   used by the xwd program.
276#   Bradford Castalia, idaeim, 1/01
2774	belong	7			XWD X Window Dump image data
278>100	string	>\0			\b, "%s"
279>16	belong	x			\b, %dx
280>20	belong	x			\b%dx
281>12	belong	x			\b%d
282
283# PDS - Planetary Data System
284#   These files use Parameter Value Language in the header section.
285#   Unfortunately, there is no certain magic, but the following
286#   strings have been found to be most likely.
2870	string	NJPL1I00		PDS (JPL) image data
2882	string	NJPL1I			PDS (JPL) image data
2890	string	CCSD3ZF			PDS (CCSD) image data
2902	string	CCSD3Z			PDS (CCSD) image data
2910	string	PDS_			PDS image data
2920	string	LBLSIZE=		PDS (VICAR) image data
293
294# pM8x: ATARI STAD compressed bitmap format
295#
296# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
297# p M 8 5/6 xx yy zz data...
298# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
299# bytes either run horizontally (pM85) or vertically (pM86). yy is the
300# most frequent byte, xx and zz are runlength escape codes, where xx is
301# used for runs of yy.
302#
3030	string	pM85		Atari ST STAD bitmap image data (hor)
304>5	byte	0x00		(white background)
305>5	byte	0xFF		(black background)
3060	string	pM86		Atari ST STAD bitmap image data (vert)
307>5	byte	0x00		(white background)
308>5	byte	0xFF		(black background)
309
310# G��rkan Seng��n <gurkan@linuks.mine.nu>, www.linuks.mine.nu
311# http://www.atarimax.com/jindroush.atari.org/afmtatr.html
3120	leshort	0x0296		Atari ATR image
313
314# XXX:
315# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
316# magic.
317# SGI RICE image file <mpruett@sgi.com>
318#0	beshort	0x5249		RICE image
319#>2	beshort	x		v%d
320#>4	beshort	x		(%d x
321#>6	beshort	x		%d)
322#>8	beshort	0		8 bit
323#>8	beshort	1		10 bit
324#>8	beshort	2		12 bit
325#>8	beshort	3		13 bit
326#>10	beshort	0		4:2:2
327#>10	beshort	1		4:2:2:4
328#>10	beshort	2		4:4:4
329#>10	beshort	3		4:4:4:4
330#>12	beshort	1		RGB
331#>12	beshort	2		CCIR601
332#>12	beshort	3		RP175
333#>12	beshort	4		YUV
334
335#------------------------------------------------------------------------------
336#
337# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
338# for the EPOC operating system, which is used with PDAs like those from Psion
339#
340# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
341# of various EPOC file formats
342
3430	string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
344
345# PCX image files
346# From: Dan Fandrich <dan@coneharvesters.com>
3470	beshort		0x0a00	PCX ver. 2.5 image data
3480	beshort		0x0a02	PCX ver. 2.8 image data, with palette
3490	beshort		0x0a03	PCX ver. 2.8 image data, without palette
3500	beshort		0x0a04	PCX for Windows image data
3510	beshort		0x0a05	PCX ver. 3.0 image data
352>4	leshort		x      bounding box [%hd,
353>6	leshort		x      %hd] -
354>8	leshort		x      [%hd,
355>10	leshort		x      %hd],
356>65	byte		>1	%d planes each of
357>3	byte		x	%hhd-bit
358>68	byte		0	image,
359>68	byte		1	colour,
360>68	byte		2	grayscale,
361>68	byte		>2	image,
362>68	byte		<0	image,
363>12	leshort		>0	%hd x
364>>14	leshort		x      %hd dpi,
365>2	byte		0	uncompressed
366>2	byte		1	RLE compressed
367
368# Adobe Photoshop
3690	string		8BPS Adobe Photoshop Image
370
371# XV thumbnail indicator (ThMO)
3720	string		P7\ 332		XV thumbnail image data
373
374# NITF is defined by United States MIL-STD-2500A
3750	string	NITF	National Imagery Transmission Format
376>25	string	>\0	dated %.14s
377
378# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
3790	belong		0x00010008	GEM Image data
380>12	beshort		x		%d x
381>14	beshort		x		%d,
382>4	beshort		x		%d planes,
383>8	beshort		x		%d x
384>10	beshort		x		%d pixelsize
385
386# GEM Metafile (Wolfram Kleff)
3870	lelong		0x0018FFFF	GEM Metafile data
388>4	leshort		x		version %d
389
390#
391# SMJPEG. A custom Motion JPEG format used by Loki Entertainment
392# Software Torbjorn Andersson <d91tan@Update.UU.SE>.
393#
3940	string	\0\nSMJPEG	SMJPEG
395>8	belong	x		%d.x data
396# According to the specification you could find any number of _TXT
397# headers here, but I can't think of any way of handling that. None of
398# the SMJPEG files I tried it on used this feature. Even if such a
399# file is encountered the output should still be reasonable.
400>16	string	_SND		\b,
401>>24	beshort	>0		%d Hz
402>>26	byte	8		8-bit
403>>26	byte	16		16-bit
404>>28	string	NONE		uncompressed
405# >>28	string	APCM		ADPCM compressed
406>>27	byte	1		mono
407>>28	byte	2		stereo
408# Help! Isn't there any way to avoid writing this part twice?
409>>32	string	_VID		\b,
410# >>>48	string	JFIF		JPEG
411>>>40	belong	>0		%d frames
412>>>44	beshort	>0		(%d x
413>>>46	beshort	>0		%d)
414>16	string	_VID		\b,
415# >>32	string	JFIF		JPEG
416>>24	belong	>0		%d frames
417>>28	beshort	>0		(%d x
418>>30	beshort	>0		%d)
419
4200	string	Paint\ Shop\ Pro\ Image\ File	Paint Shop Pro Image File
421
422# "thumbnail file" (icon)
423# descended from "xv", but in use by other applications as well (Wolfram Kleff)
4240       string          P7\ 332         XV "thumbnail file" (icon) data
425
426# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
4270       string          KiSS            KISS/GS
428>4      byte            16              color
429>>5     byte            x               %d bit
430>>8     leshort         x               %d colors
431>>10    leshort         x               %d groups
432>4      byte            32              cell
433>>5     byte            x               %d bit
434>>8     leshort         x               %d x
435>>10    leshort         x               %d
436>>12    leshort         x               +%d
437>>14    leshort         x               +%d
438
439# Webshots (www.webshots.com), by John Harrison
4400       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
441
442# Hercules DASD image files
443# From Jan Jaeger <jj@septa.nl>
4440       string  CKD_P370        Hercules CKD DASD image file
445>8      long    x               \b, %d heads per cylinder
446>12     long    x               \b, track size %d bytes
447>16     byte    x               \b, device type 33%2.2X
448
4490       string  CKD_C370        Hercules compressed CKD DASD image file
450>8      long    x               \b, %d heads per cylinder
451>12     long    x               \b, track size %d bytes
452>16     byte    x               \b, device type 33%2.2X
453
4540       string  CKD_S370        Hercules CKD DASD shadow file
455>8      long    x               \b, %d heads per cylinder
456>12     long    x               \b, track size %d bytes
457>16     byte    x               \b, device type 33%2.2X
458
459# Squeak images and - etoffi@softhome.net
4600 string \146\031\0\0  Squeak image data
4610 string 'From\040Squeak  Squeak program text
462
463# partimage: file(1) magic for PartImage files (experimental, incomplete)
464# Author: Hans-Joachim Baader <hjb@pro-linux.de>
4650		string	PaRtImAgE-VoLuMe	PartImage
466>0x0020		string	0.6.1		file version %s
467>>0x0060	lelong	>-1		volume %ld
468#>>0x0064 8 byte identifier
469#>>0x007c reserved
470>>0x0200	string	>\0		type %s
471>>0x1400	string	>\0		device %s,
472>>0x1600	string	>\0		original filename %s,
473# Some fields omitted
474>>0x2744	lelong	0		not compressed
475>>0x2744	lelong	1		gzip compressed
476>>0x2744	lelong	2		bzip2 compressed
477>>0x2744	lelong	>2		compressed with unknown algorithm
478>0x0020		string	>0.6.1		file version %s
479>0x0020		string	<0.6.1		file version %s
480
481# DCX is multi-page PCX, using a simple header of up to 1024
482# offsets for the respective PCX components.
483# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
4840	lelong	987654321	DCX multi-page PCX image data
485
486# Simon Walton <simonw@matteworld.com>
487# Kodak Cineon format for scanned negatives
488# http://www.kodak.com/US/en/motion/support/dlad/
4890	lelong  0xd75f2a80	Cineon image data
490>200	belong  >0		\b, %ld x
491>204	belong  >0		%ld
492
493
494# Bio-Rad .PIC is an image format used by microscope control systems
495# and related image processing software used by biologists.
496# From: Vebjorn Ljosa <vebjorn@ljosa.com>
49754	leshort 12345		Bio-Rad .PIC Image File
498>0	leshort >0		%hd x
499>2	leshort >0		%hd,
500>4	leshort =1		1 image in file
501>4	leshort >1		%hd images in file
502
503# From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
504# The description of *.mrw format can be found at
505# http://www.dalibor.cz/minolta/raw_file_format.htm
5060	string	\000MRM			Minolta Dimage camera raw image data
507
508# From: stephane.loeuillet@tiscali.f
509# http://www.djvuzone.org/
5100	string	AT&TFORM		DjVu Image file
511
512# From: Jason Bacon <bacon@smithers.neuro.mcw.edu>
5130	beshort	0x3020			character Computer Graphics Metafile
514
515# From Marc Espie
5160	lelong	20000630		OpenEXR image data
517
518# From: Tom Hilinski <tom.hilinski@comcast.net>
519# http://www.unidata.ucar.edu/packages/netcdf/
5200	string	CDF\001			NetCDF Data Format data
521
522#-----------------------------------------------------------------------
523# Hierarchical Data Format, used to facilitate scientific data exchange
524# specifications at http://hdf.ncsa.uiuc.edu/
5250	belong	0x0e031301	Hierarchical Data Format (version 4) data
5260	string	\211HDF\r\n\032	Hierarchical Data Format (version 5) data
527
528# From: Tobias Burnus <burnus@net-b.de>
529# Xara (for a while: Corel Xara) is a graphic package, see
530# http://www.xara.com/ for Windows and as GPL application for
5310	string	XARA\243\243	Xara graphics file
532