xref: /dragonfly/contrib/file/magic/Magdir/images (revision a96dd725)
1
2#------------------------------------------------------------------------------
3# $File: images,v 1.87 2013/12/11 14:14:20 christos Exp $
4# images:  file(1) magic for image formats (see also "iff", and "c-lang" for
5# XPM bitmaps)
6#
7# originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
8# additions by janl@ifi.uio.no as well as others. Jan also suggested
9# merging several one- and two-line files into here.
10#
11# little magic: PCX (first byte is 0x0a)
12
13# Targa - matches `povray', `ppmtotga' and `xv' outputs
14# by Philippe De Muyter <phdm@macqel.be>
15# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
16# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
17# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
18# `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
19# `tgatoppm' recognizes a superset (Index may be anything)
201	belong&0xfff7ffff	0x01010000	Targa image data - Map
21>2	byte&8			8		- RLE
22>12	leshort			>0		%hd x
23>14	leshort			>0		%hd
241	belong&0xfff7ffff	0x00020000	Targa image data - RGB
25>2	byte&8			8		- RLE
26>12	leshort			>0		%hd x
27>14	leshort			>0		%hd
281	belong&0xfff7ffff	0x00030000	Targa image data - Mono
29>2	byte&8			8		- RLE
30>12	leshort			>0		%hd x
31>14	leshort			>0		%hd
32
33# PBMPLUS images
34# The next byte following the magic is always whitespace.
35# strength is changed to try these patterns before "x86 boot sector"
360	search/1	P1
37>3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PBM image text
38>3	regex		=[0-9]{1,50}\ 		\b, size = %sx
39>>3	regex		=\ [0-9]{1,50}	\b%s
40!:strength + 45
41!:mime	image/x-portable-bitmap
420	search/1	P2
43>3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PGM image text
44>3	regex		=[0-9]{1,50}\ 		\b, size = %sx
45>>3	regex		=\ [0-9]{1,50}	\b%s
46!:strength + 45
47!:mime	image/x-portable-greymap
480	search/1	P3
49>3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PPM image text
50>3	regex		=[0-9]{1,50}\ 		\b, size = %sx
51>>3	regex		=\ [0-9]{1,50}	\b%s
52!:strength + 45
53!:mime	image/x-portable-pixmap
540	string		P4
55>3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PBM "rawbits" image data
56>3	regex		=[0-9]{1,50}\ 		\b, size = %sx
57>>3	regex		=\ [0-9]{1,50}	\b%s
58!:strength + 45
59!:mime	image/x-portable-bitmap
600	string		P5
61>3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PGM "rawbits" image data
62>3	regex		=[0-9]{1,50}\ 		\b, size = %sx
63>>3	regex		=\ [0-9]{1,50}	\b%s
64!:strength + 45
65!:mime	image/x-portable-greymap
660	string		P6
67>3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PPM "rawbits" image data
68>3	regex		=[0-9]{1,50}\ 		\b, size = %sx
69>>3	regex		=\ [0-9]{1,50}	\b%s
70!:strength + 45
71!:mime	image/x-portable-pixmap
720	string		P7		Netpbm PAM image file
73!:mime	image/x-portable-pixmap
74
75# From: bryanh@giraffe-data.com (Bryan Henderson)
760	string		\117\072	Solitaire Image Recorder format
77>4	string		\013		MGI Type 11
78>4	string		\021		MGI Type 17
790	string		.MDA		MicroDesign data
80>21	byte		48		version 2
81>21	byte		51		version 3
820	string		.MDP		MicroDesign page data
83>21	byte		48		version 2
84>21	byte		51		version 3
85
86# NIFF (Navy Interchange File Format, a modification of TIFF) images
87# [GRR:  this *must* go before TIFF]
880	string		IIN1		NIFF image data
89!:mime	image/x-niff
90
91# Canon RAW version 1 (CRW) files are a type of Canon Image File Format
92# (CIFF) file. These are apparently all little-endian.
93# From: Adam Buchbinder <adam.buchbinder@gmail.com>
94# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html
950	string		II\x1a\0\0\0HEAPCCDR	Canon CIFF raw image data
96!:mime	image/x-canon-crw
97>16	leshort		x	\b, version %d.
98>14	leshort		x	\b%d
99
100# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic
101# number. Put this above the TIFF test to make sure we detect them.
102# These are apparently all little-endian.
103# From: Adam Buchbinder <adam.buchbinder@gmail.com>
104# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2
1050	string		II\x2a\0\x10\0\0\0CR	Canon CR2 raw image data
106!:mime	image/x-canon-cr2
107>10	byte		x	\b, version %d.
108>11	byte		x	\b%d
109
110# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
111# The second word of TIFF files is the TIFF version number, 42, which has
112# never changed.  The TIFF specification recommends testing for it.
1130	string		MM\x00\x2a	TIFF image data, big-endian
114!:mime	image/tiff
1150	string		II\x2a\x00	TIFF image data, little-endian
116!:mime	image/tiff
117
1180	string		MM\x00\x2b	Big TIFF image data, big-endian
119!:mime	image/tiff
1200	string		II\x2b\x00	Big TIFF image data, little-endian
121!:mime	image/tiff
122
123# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
124# (Greg Roelofs, newt@uchicago.edu)
125# (Albert Cahalan, acahalan@cs.uml.edu)
126#
127# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
128#
1290	string		\x89PNG\x0d\x0a\x1a\x0a		PNG image data
130!:mime	image/png
131>16	belong		x		\b, %ld x
132>20	belong		x		%ld,
133>24	byte		x		%d-bit
134>25	byte		0		grayscale,
135>25	byte		2		\b/color RGB,
136>25	byte		3		colormap,
137>25	byte		4		gray+alpha,
138>25	byte		6		\b/color RGBA,
139#>26	byte		0		deflate/32K,
140>28	byte		0		non-interlaced
141>28	byte		1		interlaced
142
143# possible GIF replacements; none yet released!
144# (Greg Roelofs, newt@uchicago.edu)
145#
146# GRR 950115:  this was mine ("Zip GIF"):
1470	string		GIF94z		ZIF image (GIF+deflate alpha)
148!:mime	image/x-unknown
149#
150# GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
151#
1520	string		FGF95a		FGF image (GIF+deflate beta)
153!:mime	image/x-unknown
154#
155# GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
156# (best; not yet implemented):
157#
1580	string		PBF		PBF image (deflate compression)
159!:mime	image/x-unknown
160
161# GIF
1620	string		GIF8		GIF image data
163!:mime	image/gif
164!:apple	8BIMGIFf
165>4	string		7a		\b, version 8%s,
166>4	string		9a		\b, version 8%s,
167>6	leshort		>0		%hd x
168>8	leshort		>0		%hd
169#>10	byte		&0x80		color mapped,
170#>10	byte&0x07	=0x00		2 colors
171#>10	byte&0x07	=0x01		4 colors
172#>10	byte&0x07	=0x02		8 colors
173#>10	byte&0x07	=0x03		16 colors
174#>10	byte&0x07	=0x04		32 colors
175#>10	byte&0x07	=0x05		64 colors
176#>10	byte&0x07	=0x06		128 colors
177#>10	byte&0x07	=0x07		256 colors
178
179# ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
180# 1 plane, no encoding.
1810	string		\361\0\100\273	CMU window manager raster image data
182>4	lelong		>0		%d x
183>8	lelong		>0		%d,
184>12	lelong		>0		%d-bit
185
186# Magick Image File Format
1870	string		id=ImageMagick	MIFF image data
188
189# Artisan
1900	long		1123028772	Artisan image data
191>4	long		1		\b, rectangular 24-bit
192>4	long		2		\b, rectangular 8-bit with colormap
193>4	long		3		\b, rectangular 32-bit (24-bit with matte)
194
195# FIG (Facility for Interactive Generation of figures), an object-based format
1960	search/1	#FIG		FIG image text
197>5	string		x		\b, version %.3s
198
199# PHIGS
2000	string		ARF_BEGARF		PHIGS clear text archive
2010	string		@(#)SunPHIGS		SunPHIGS
202# version number follows, in the form m.n
203>40	string		SunBin			binary
204>32	string		archive			archive
205
206# GKS (Graphics Kernel System)
2070	string		GKSM		GKS Metafile
208>24	string		SunGKS		\b, SunGKS
209
210# CGM image files
2110	string		BEGMF		clear text Computer Graphics Metafile
212
213# MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
2140	string	yz	MGR bitmap, modern format, 8-bit aligned
2150	string	zz	MGR bitmap, old format, 1-bit deep, 16-bit aligned
2160	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned
2170	string	yx	MGR bitmap, modern format, squeezed
218
219# Fuzzy Bitmap (FBM) images
2200	string		%bitmap\0	FBM image data
221>30	long		0x31		\b, mono
222>30	long		0x33		\b, color
223
224# facsimile data
2251	string		PC\ Research,\ Inc	group 3 fax data
226>29	byte		0		\b, normal resolution (204x98 DPI)
227>29	byte		1		\b, fine resolution (204x196 DPI)
228# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
2290	string		Sfff		structured fax file
230
231# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net>
232# most files with the extension .EPA and some with .BMP
2330	string		\x11\x06	Award BIOS Logo, 136 x 84
234!:mime	image/x-award-bioslogo
2350	string		\x11\x09	Award BIOS Logo, 136 x 126
236!:mime	image/x-award-bioslogo
237#0	string		\x07\x1f	BIOS Logo corrupted?
238# http://www.blackfiveservices.co.uk/awbmtools.shtml
239# http://biosgfx.narod.ru/v3/
240# http://biosgfx.narod.ru/abr-2/
2410	string		AWBM
242>4	leshort		<1981		Award BIOS bitmap
243!:mime	image/x-award-bmp
244# image width is a multiple of 4
245>>4	leshort&0x0003	0
246>>>4		leshort	x		\b, %d
247>>>6		leshort	x		x %d
248>>4	leshort&0x0003	>0		\b,
249>>>4	leshort&0x0003	=1
250>>>>4		leshort	x		%d+3
251>>>4	leshort&0x0003	=2
252>>>>4		leshort	x		%d+2
253>>>4	leshort&0x0003	=3
254>>>>4		leshort	x		%d+1
255>>>6		leshort	x		x %d
256# at offset 8 starts imagedata followed by "RGB " marker
257
258# PC bitmaps (OS/2, Windows BMP files)  (Greg Roelofs, newt@uchicago.edu)
259# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\
260# 28bitmap_information_header.29
2610	string		BM
262>14	leshort		12		PC bitmap, OS/2 1.x format
263!:mime	image/x-ms-bmp
264>>18	leshort		x		\b, %d x
265>>20	leshort		x		%d
266>14	leshort		64		PC bitmap, OS/2 2.x format
267!:mime	image/x-ms-bmp
268>>18	leshort		x		\b, %d x
269>>20	leshort		x		%d
270>14	leshort		40		PC bitmap, Windows 3.x format
271!:mime	image/x-ms-bmp
272>>18	lelong		x		\b, %d x
273>>22	lelong		x		%d x
274>>28	leshort		x		%d
275>14	leshort		124		PC bitmap, Windows 98/2000 and newer format
276!:mime	image/x-ms-bmp
277>>18	lelong		x		\b, %d x
278>>22	lelong		x		%d x
279>>28	leshort		x		%d
280>14	leshort		108		PC bitmap, Windows 95/NT4 and newer format
281!:mime	image/x-ms-bmp
282>>18	lelong		x		\b, %d x
283>>22	lelong		x		%d x
284>>28	leshort		x		%d
285>14	leshort		128		PC bitmap, Windows NT/2000 format
286!:mime	image/x-ms-bmp
287>>18	lelong		x		\b, %d x
288>>22	lelong		x		%d x
289>>28	leshort		x		%d
290# Too simple - MPi
291#0	string		IC		PC icon data
292#0	string		PI		PC pointer image data
293#0	string		CI		PC color icon data
294#0	string		CP		PC color pointer image data
295# Conflicts with other entries [BABYL]
296#0	string		BA		PC bitmap array data
297
298# XPM icons (Greg Roelofs, newt@uchicago.edu)
2990	search/1	/*\ XPM\ */	X pixmap image text
300!:mime	image/x-xpmi
301
302# Utah Raster Toolkit RLE images (janl@ifi.uio.no)
3030	leshort		0xcc52		RLE image data,
304>6	leshort		x		%d x
305>8	leshort		x		%d
306>2	leshort		>0		\b, lower left corner: %d
307>4	leshort		>0		\b, lower right corner: %d
308>10	byte&0x1	=0x1		\b, clear first
309>10	byte&0x2	=0x2		\b, no background
310>10	byte&0x4	=0x4		\b, alpha channel
311>10	byte&0x8	=0x8		\b, comment
312>11	byte		>0		\b, %d color channels
313>12	byte		>0		\b, %d bits per pixel
314>13	byte		>0		\b, %d color map channels
315
316# image file format (Robert Potter, potter@cs.rochester.edu)
3170	string		Imagefile\ version-	iff image data
318# this adds the whole header (inc. version number), informative but longish
319>10	string		>\0		%s
320
321# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
3220	belong		0x59a66a95	Sun raster image data
323>4	belong		>0		\b, %d x
324>8	belong		>0		%d,
325>12	belong		>0		%d-bit,
326#>16	belong		>0		%d bytes long,
327>20	belong		0		old format,
328#>20	belong		1		standard,
329>20	belong		2		compressed,
330>20	belong		3		RGB,
331>20	belong		4		TIFF,
332>20	belong		5		IFF,
333>20	belong		0xffff		reserved for testing,
334>24	belong		0		no colormap
335>24	belong		1		RGB colormap
336>24	belong		2		raw colormap
337#>28	belong		>0		colormap is %d bytes long
338
339# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
340#
341# See
342#	http://reality.sgi.com/grafica/sgiimage.html
343#
3440	beshort		474		SGI image data
345#>2	byte		0		\b, verbatim
346>2	byte		1		\b, RLE
347#>3	byte		1		\b, normal precision
348>3	byte		2		\b, high precision
349>4	beshort		x		\b, %d-D
350>6	beshort		x		\b, %d x
351>8	beshort		x		%d
352>10	beshort		x		\b, %d channel
353>10	beshort		!1		\bs
354>80	string		>0		\b, "%s"
355
3560	string		IT01		FIT image data
357>4	belong		x		\b, %d x
358>8	belong		x		%d x
359>12	belong		x		%d
360#
3610	string		IT02		FIT image data
362>4	belong		x		\b, %d x
363>8	belong		x		%d x
364>12	belong		x		%d
365#
3662048	string		PCD_IPI		Kodak Photo CD image pack file
367>0xe02	byte&0x03	0x00		, landscape mode
368>0xe02	byte&0x03	0x01		, portrait mode
369>0xe02	byte&0x03	0x02		, landscape mode
370>0xe02	byte&0x03	0x03		, portrait mode
3710	string		PCD_OPA		Kodak Photo CD overview pack file
372
373# FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
374# FITS is the Flexible Image Transport System, the de facto standard for
375# data and image transfer, storage, etc., for the astronomical community.
376# (FITS floating point formats are big-endian.)
3770	string	SIMPLE\ \ =	FITS image data
378>109	string	8		\b, 8-bit, character or unsigned binary integer
379>108	string	16		\b, 16-bit, two's complement binary integer
380>107	string	\ 32		\b, 32-bit, two's complement binary integer
381>107	string	-32		\b, 32-bit, floating point, single precision
382>107	string	-64		\b, 64-bit, floating point, double precision
383
384# other images
3850	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file
386
387# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
388# stuff.
389#
3900	beshort		0x1010		PEX Binary Archive
391
392# DICOM medical imaging data
393128	string	DICM			DICOM medical imaging data
394!:mime	application/dicom
395
396# XWD - X Window Dump file.
397#   As described in /usr/X11R6/include/X11/XWDFile.h
398#   used by the xwd program.
399#   Bradford Castalia, idaeim, 1/01
400#   updated by Adam Buchbinder, 2/09
401# The following assumes version 7 of the format; the first long is the length
402# of the header, which is at least 25 4-byte longs, and the one at offset 8
403# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth,
404# which is a maximum of 32.
4050	belong	>100
406>8	belong	<3
407>>12	belong	<33
408>>>4	belong	7			XWD X Window Dump image data
409!:mime	image/x-xwindowdump
410>>>>100	string	>\0			\b, "%s"
411>>>>16	belong	x			\b, %dx
412>>>>20	belong	x			\b%dx
413>>>>12	belong	x			\b%d
414
415# PDS - Planetary Data System
416#   These files use Parameter Value Language in the header section.
417#   Unfortunately, there is no certain magic, but the following
418#   strings have been found to be most likely.
4190	string	NJPL1I00		PDS (JPL) image data
4202	string	NJPL1I			PDS (JPL) image data
4210	string	CCSD3ZF			PDS (CCSD) image data
4222	string	CCSD3Z			PDS (CCSD) image data
4230	string	PDS_			PDS image data
4240	string	LBLSIZE=		PDS (VICAR) image data
425
426# pM8x: ATARI STAD compressed bitmap format
427#
428# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
429# p M 8 5/6 xx yy zz data...
430# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
431# bytes either run horizontally (pM85) or vertically (pM86). yy is the
432# most frequent byte, xx and zz are runlength escape codes, where xx is
433# used for runs of yy.
434#
4350	string	pM85		Atari ST STAD bitmap image data (hor)
436>5	byte	0x00		(white background)
437>5	byte	0xFF		(black background)
4380	string	pM86		Atari ST STAD bitmap image data (vert)
439>5	byte	0x00		(white background)
440>5	byte	0xFF		(black background)
441
442# Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu
443# http://www.atarimax.com/jindroush.atari.org/afmtatr.html
4440	leshort	0x0296		Atari ATR image
445
446# XXX:
447# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
448# magic.
449# SGI RICE image file <mpruett@sgi.com>
450#0	beshort	0x5249		RICE image
451#>2	beshort	x		v%d
452#>4	beshort	x		(%d x
453#>6	beshort	x		%d)
454#>8	beshort	0		8 bit
455#>8	beshort	1		10 bit
456#>8	beshort	2		12 bit
457#>8	beshort	3		13 bit
458#>10	beshort	0		4:2:2
459#>10	beshort	1		4:2:2:4
460#>10	beshort	2		4:4:4
461#>10	beshort	3		4:4:4:4
462#>12	beshort	1		RGB
463#>12	beshort	2		CCIR601
464#>12	beshort	3		RP175
465#>12	beshort	4		YUV
466
467# PCX image files
468# From: Dan Fandrich <dan@coneharvesters.com>
469# updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX
470# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt
471# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000
472# test for bytes 0x0a,version byte (0,2,3,4,5),compression byte flag(0,1), bit depth (>0) of PCX or T5.DBT,T6.DBT
4730	ubelong&0xffF8fe00	0x0a000000
474# for PCX bit depth > 0
475>3	ubyte		>0
476# test for valid versions
477>>1	ubyte		<6
478>>>1	ubyte		!1	PCX
479!:mime	image/x-pcx
480#!:mime	image/pcx
481>>>>1	ubyte		0	ver. 2.5 image data
482>>>>1	ubyte		2	ver. 2.8 image data, with palette
483>>>>1	ubyte		3	ver. 2.8 image data, without palette
484>>>>1	ubyte		4	for Windows image data
485>>>>1	ubyte		5	ver. 3.0 image data
486>>>>4	uleshort	x	bounding box [%hd,
487>>>>6	uleshort	x	%d] -
488>>>>8	uleshort	x	[%d,
489>>>>10	uleshort	x	%d],
490>>>>65	ubyte		>1	%d planes each of
491>>>>3	ubyte		x	%d-bit
492>>>>68	byte		1	colour,
493>>>>68	byte		2	grayscale,
494# this should not happen
495>>>>68	default		x	image,
496>>>>12	leshort		>0	%d x
497>>>>>14	uleshort	x	%d dpi,
498>>>>2	byte		0	uncompressed
499>>>>2	byte		1	RLE compressed
500
501# Adobe Photoshop
502# From: Asbjoern Sloth Toennesen <asbjorn@lila.io>
5030	string		8BPS Adobe Photoshop Image
504!:mime	image/vnd.adobe.photoshop
505>4   beshort 2 (PSB)
506>18  belong  x \b, %d x
507>14  belong  x %d,
508>24  beshort 0 bitmap
509>24  beshort 1 grayscale
510>>12 beshort 2 with alpha
511>24  beshort 2 indexed
512>24  beshort 3 RGB
513>>12 beshort 4 \bA
514>24  beshort 4 CMYK
515>>12 beshort 5 \bA
516>24  beshort 7 multichannel
517>24  beshort 8 duotone
518>24  beshort 9 lab
519>12  beshort > 1
520>>12  beshort x \b, %dx
521>12  beshort 1 \b,
522>22  beshort x %d-bit channel
523>12  beshort > 1 \bs
524
525# XV thumbnail indicator (ThMO)
5260	string		P7\ 332		XV thumbnail image data
527
528# NITF is defined by United States MIL-STD-2500A
5290	string	NITF	National Imagery Transmission Format
530>25	string	>\0	dated %.14s
531
532# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
5330	belong		0x00010008	GEM Image data
534>12	beshort		x		%d x
535>14	beshort		x		%d,
536>4	beshort		x		%d planes,
537>8	beshort		x		%d x
538>10	beshort		x		%d pixelsize
539
540# GEM Metafile (Wolfram Kleff)
5410	lelong		0x0018FFFF	GEM Metafile data
542>4	leshort		x		version %d
543
544#
545# SMJPEG. A custom Motion JPEG format used by Loki Entertainment
546# Software Torbjorn Andersson <d91tan@Update.UU.SE>.
547#
5480	string	\0\nSMJPEG	SMJPEG
549>8	belong	x		%d.x data
550# According to the specification you could find any number of _TXT
551# headers here, but I can't think of any way of handling that. None of
552# the SMJPEG files I tried it on used this feature. Even if such a
553# file is encountered the output should still be reasonable.
554>16	string	_SND		\b,
555>>24	beshort	>0		%d Hz
556>>26	byte	8		8-bit
557>>26	byte	16		16-bit
558>>28	string	NONE		uncompressed
559# >>28	string	APCM		ADPCM compressed
560>>27	byte	1		mono
561>>28	byte	2		stereo
562# Help! Isn't there any way to avoid writing this part twice?
563>>32	string	_VID		\b,
564# >>>48	string	JFIF		JPEG
565>>>40	belong	>0		%d frames
566>>>44	beshort	>0		(%d x
567>>>46	beshort	>0		%d)
568>16	string	_VID		\b,
569# >>32	string	JFIF		JPEG
570>>24	belong	>0		%d frames
571>>28	beshort	>0		(%d x
572>>30	beshort	>0		%d)
573
5740	string	Paint\ Shop\ Pro\ Image\ File	Paint Shop Pro Image File
575
576# "thumbnail file" (icon)
577# descended from "xv", but in use by other applications as well (Wolfram Kleff)
5780       string          P7\ 332         XV "thumbnail file" (icon) data
579
580# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
5810       string          KiSS            KISS/GS
582>4      byte            16              color
583>>5     byte            x               %d bit
584>>8     leshort         x               %d colors
585>>10    leshort         x               %d groups
586>4      byte            32              cell
587>>5     byte            x               %d bit
588>>8     leshort         x               %d x
589>>10    leshort         x               %d
590>>12    leshort         x               +%d
591>>14    leshort         x               +%d
592
593# Webshots (www.webshots.com), by John Harrison
5940       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
595
596# Hercules DASD image files
597# From Jan Jaeger <jj@septa.nl>
5980       string  CKD_P370        Hercules CKD DASD image file
599>8      long    x               \b, %d heads per cylinder
600>12     long    x               \b, track size %d bytes
601>16     byte    x               \b, device type 33%2.2X
602
6030       string  CKD_C370        Hercules compressed CKD DASD image file
604>8      long    x               \b, %d heads per cylinder
605>12     long    x               \b, track size %d bytes
606>16     byte    x               \b, device type 33%2.2X
607
6080       string  CKD_S370        Hercules CKD DASD shadow file
609>8      long    x               \b, %d heads per cylinder
610>12     long    x               \b, track size %d bytes
611>16     byte    x               \b, device type 33%2.2X
612
613# Squeak images and programs - etoffi@softhome.net
6140	string		\146\031\0\0	Squeak image data
6150	search/1	'From\040Squeak	Squeak program text
616
617# partimage: file(1) magic for PartImage files (experimental, incomplete)
618# Author: Hans-Joachim Baader <hjb@pro-linux.de>
6190		string	PaRtImAgE-VoLuMe	PartImage
620>0x0020		string	0.6.1		file version %s
621>>0x0060	lelong	>-1		volume %ld
622#>>0x0064 8 byte identifier
623#>>0x007c reserved
624>>0x0200	string	>\0		type %s
625>>0x1400	string	>\0		device %s,
626>>0x1600	string	>\0		original filename %s,
627# Some fields omitted
628>>0x2744	lelong	0		not compressed
629>>0x2744	lelong	1		gzip compressed
630>>0x2744	lelong	2		bzip2 compressed
631>>0x2744	lelong	>2		compressed with unknown algorithm
632>0x0020		string	>0.6.1		file version %s
633>0x0020		string	<0.6.1		file version %s
634
635# DCX is multi-page PCX, using a simple header of up to 1024
636# offsets for the respective PCX components.
637# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
6380	lelong	987654321	DCX multi-page PCX image data
639
640# Simon Walton <simonw@matteworld.com>
641# Kodak Cineon format for scanned negatives
642# http://www.kodak.com/US/en/motion/support/dlad/
6430	lelong  0xd75f2a80	Cineon image data
644>200	belong  >0		\b, %ld x
645>204	belong  >0		%ld
646
647
648# Bio-Rad .PIC is an image format used by microscope control systems
649# and related image processing software used by biologists.
650# From: Vebjorn Ljosa <vebjorn@ljosa.com>
651# BOOL values are two-byte integers; use them to rule out false positives.
652# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt
653# Samples: http://www.loci.wisc.edu/software/sample-data
65414	leshort <2
655>62	leshort <2
656>>54	leshort 12345		Bio-Rad .PIC Image File
657>>>0	leshort >0		%hd x
658>>>2	leshort >0		%hd,
659>>>4	leshort =1		1 image in file
660>>>4	leshort >1		%hd images in file
661
662# From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
663# The description of *.mrw format can be found at
664# http://www.dalibor.cz/minolta/raw_file_format.htm
6650	string	\000MRM			Minolta Dimage camera raw image data
666
667# Summary: DjVu image / document
668# Extension: .djvu
669# Reference: http://djvu.org/docs/DjVu3Spec.djvu
670# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
671# Modified by (1): Abel Cheung <abelcheung@gmail.com>
6720	string	AT&TFORM
673>12	string	DJVM		DjVu multiple page document
674!:mime	image/vnd.djvu
675>12	string	DJVU		DjVu image or single page document
676!:mime	image/vnd.djvu
677>12	string	DJVI		DjVu shared document
678!:mime	image/vnd.djvu
679>12	string	THUM		DjVu page thumbnails
680!:mime	image/vnd.djvu
681
682# Originally by Marc Espie
683# Modified by Robert Minsk <robertminsk at yahoo.com>
684# http://www.openexr.com/openexrfilelayout.pdf
6850	lelong		20000630	OpenEXR image data,
686!:mime image/x-exr
687>4	lelong&0x000000ff x		version %d,
688>4	lelong		^0x00000200	storage: scanline
689>4	lelong		&0x00000200	storage: tiled
690>8	search/0x1000	compression\0	\b, compression:
691>>&16	byte		0		none
692>>&16	byte		1		rle
693>>&16	byte		2		zips
694>>&16	byte		3		zip
695>>&16	byte		4		piz
696>>&16	byte		5		pxr24
697>>&16	byte		6		b44
698>>&16	byte		7		b44a
699>>&16	byte		>7		unknown
700>8	 search/0x1000	dataWindow\0	\b, dataWindow:
701>>&10	lelong		x		(%d
702>>&14	lelong		x		%d)-
703>>&18	lelong		x		\b(%d
704>>&22	lelong		x		%d)
705>8	search/0x1000	displayWindow\0	\b, displayWindow:
706>>&10	lelong		x		(%d
707>>&14	lelong		x		%d)-
708>>&18	lelong		x		\b(%d
709>>&22	lelong		x		%d)
710>8	search/0x1000	lineOrder\0	 \b, lineOrder:
711>>&14	byte		0		increasing y
712>>&14	byte		1		decreasing y
713>>&14	byte		2		random y
714>>&14	byte		>2		unknown
715
716# SMPTE Digital Picture Exchange Format, SMPTE DPX
717#
718# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital
719# Moving-Picture Exchange (DPX), v1.0, 18 February 1994
720# Robert Minsk <robertminsk at yahoo.com>
7210	string		SDPX	DPX image data, big-endian,
722!:mime image/x-dpx
723>768	beshort		<4
724>>772	belong		x	%dx
725>>776	belong		x	\b%d,
726>768	beshort		>3
727>>776	belong		x	%dx
728>>772	belong		x	\b%d,
729>768	beshort		0	left to right/top to bottom
730>768	beshort		1	right to left/top to bottom
731>768	beshort		2	left to right/bottom to top
732>768	beshort		3	right to left/bottom to top
733>768	beshort		4	top to bottom/left to right
734>768	beshort		5	top to bottom/right to left
735>768	leshort		6	bottom to top/left to right
736>768	leshort		7	bottom to top/right to left
737
738# From: Tom Hilinski <tom.hilinski@comcast.net>
739# http://www.unidata.ucar.edu/packages/netcdf/
7400	string	CDF\001			NetCDF Data Format data
741
742#-----------------------------------------------------------------------
743# Hierarchical Data Format, used to facilitate scientific data exchange
744# specifications at http://hdf.ncsa.uiuc.edu/
7450	belong	0x0e031301	Hierarchical Data Format (version 4) data
746!:mime	application/x-hdf
7470	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) data
748!:mime	application/x-hdf
749512	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 512 bytes user block
750!:mime	application/x-hdf
7511024	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 1k user block
752!:mime	application/x-hdf
7532048	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 2k user block
754!:mime	application/x-hdf
7554096	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 4k user block
756!:mime	application/x-hdf
757
758
759# From: Tobias Burnus <burnus@net-b.de>
760# Xara (for a while: Corel Xara) is a graphic package, see
761# http://www.xara.com/ for Windows and as GPL application for Linux
7620	string	XARA\243\243	Xara graphics file
763
764# http://www.cartesianinc.com/Tech/
7650	string	CPC\262		Cartesian Perceptual Compression image
766!:mime	image/x-cpi
767
768# From Albert Cahalan <acahalan@gmail.com>
769# puredigital used it for the CVS disposable camcorder
770#8       lelong  4       ZBM bitmap image data
771#>4      leshort x       %u x
772#>6      leshort x       %u
773
774# From Albert Cahalan <acahalan@gmail.com>
775# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons
7760       string C565     OLPC firmware icon image data
777>4      leshort x       %u x
778>6      leshort x       %u
779
780# Applied Images - Image files from Cytovision
781# Gustavo Junior Alves <gjalves@gjalves.com.br>
7820	string	\xce\xda\xde\xfa	Cytovision Metaphases file
7830	string	\xed\xad\xef\xac	Cytovision Karyotype file
7840	string	\x0b\x00\x03\x00	Cytovision FISH Probe file
7850	string	\xed\xfe\xda\xbe	Cytovision FLEX file
7860	string	\xed\xab\xed\xfe	Cytovision FLEX file
7870	string	\xad\xfd\xea\xad	Cytovision RATS file
788
789# Wavelet Scalar Quantization format used in gray-scale fingerprint images
790# From Tano M Fotang <mfotang@quanteq.com>
7910	string	\xff\xa0\xff\xa8\x00	Wavelet Scalar Quantization image data
792
793# Type:		PCO B16 image files
794# URL:		http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf
795# From:		Florian Philipp <florian.philipp@binarywings.net>
796# Extension:	.b16
797# Description:	Pixel image format produced by PCO Camware, typically used
798#		together with PCO cameras.
799# Note:		Different versions exist for e.g. 8 bit and 16 bit images.
800#		Documentation is incomplete.
8010	string/b	PCO-	PCO B16 image data
802>12	lelong		x	\b, %dx
803>16	lelong		x	\b%d
804>20	lelong		0	\b, short header
805>20	lelong		-1	\b, extended header
806>>24	lelong		0	\b, grayscale
807>>>36	lelong		0	linear LUT
808>>>36	lelong		1	logarithmic LUT
809>>>28	lelong		x	[%d
810>>>32	lelong		x	\b,%d]
811>>24	lelong		1	\b, color
812>>>64	lelong		0	linear LUT
813>>>64	lelong		1	logarithmic LUT
814>>>40	lelong		x	r[%d
815>>>44	lelong		x	\b,%d]
816>>>48	lelong		x	g[%d
817>>>52	lelong		x	\b,%d]
818>>>56	lelong		x	b[%d
819>>>60	lelong		x	\b,%d]
820
821# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches
822# From: Markus Heidelberg <markus.heidelberg at web.de>
8230	string/t	[BitmapInfo2]	Polar Monitor Bitmap text
824!:mime	image/x-polar-monitor-bitmap
825
826# From: Rick Richardson <rick.richardson@comcast.net>
8270	string	GARMIN\ BITMAP\ 01	Garmin Bitmap file
828
829# Type:	Ulead Photo Explorer5 (.pe5)
830# URL:	http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese)
831# From:	Simon Horman <horms@debian.org>
8320	string	IIO2H			Ulead Photo Explorer5
833
834# Type:	X11 cursor
835# URL:	http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup
836# From:	Mathias Brodala <info@noctus.net>
8370	string	Xcur			X11 cursor
838
839# Type:	Olympus ORF raw images.
840# URL:	http://libopenraw.freedesktop.org/wiki/Olympus_ORF
841# From:	Adam Buchbinder <adam.buchbinder@gmail.com>
8420	string		MMOR		Olympus ORF raw image data, big-endian
843!:mime	image/x-olympus-orf
8440	string		IIRO		Olympus ORF raw image data, little-endian
845!:mime	image/x-olympus-orf
8460	string		IIRS		Olympus ORF raw image data, little-endian
847!:mime	image/x-olympus-orf
848
849# Type: files used in modern AVCHD camcoders to store clip information
850# Extension: .cpi
851# From: Alexander Danilov <alexander.a.danilov@gmail.com>
8520	string	HDMV0100	AVCHD Clip Information
853
854# From: Adam Buchbinder <adam.buchbinder@gmail.com>
855# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/
856# Radiance HDR; usually has .pic or .hdr extension.
8570	string	#?RADIANCE\n	Radiance HDR image data
858#!mime	image/vnd.radiance
859
860# From: Adam Buchbinder <adam.buchbinder@gmail.com>
861# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf
862# Used by the pfstools packages. The regex matches for the image size could
863# probably use some work. The MIME type is made up; if there's one in
864# actual common use, it should replace the one below.
8650	string	PFS1\x0a	PFS HDR image data
866#!mime	image/x-pfs
867>1	regex	[0-9]*\ 		\b, %s
868>>1	regex	\ [0-9]{4}		\bx%s
869
870# Type: Foveon X3F
871# URL:  http://www.photofo.com/downloads/x3f-raw-format.pdf
872# From: Adam Buchbinder <adam.buchbinder@gmail.com>
873# Note that the MIME type isn't defined anywhere that I can find; if
874# there's a canonical type for this format, it should replace this one.
8750	string	FOVb	Foveon X3F raw image data
876!:mime	image/x-x3f
877>6	leshort	x	\b, version %d.
878>4	leshort	x	\b%d
879>28	lelong	x	\b, %dx
880>32	lelong	x	\b%d
881
882# Paint.NET file
883# From Adam Buchbinder <adam.buchbinder@gmail.com>
8840	string	PDN3	Paint.NET image data
885!:mime	image/x-paintnet
886
887# Not really an image.
888# From: "Tano M. Fotang" <mfotang@quanteq.com>
8890	string	\x46\x4d\x52\x00	ISO/IEC 19794-2 Format Minutiae Record (FMR)
890
891# WEBP https://developers.google.com/speed/webp/docs/riff_container
8920	string	RIFF
893>8	string	WEBP	Web/P image data
894>>4	lelong	x	\b, %d bytes
895