images revision 234250
168349Sobrien
2186690Sobrien#------------------------------------------------------------------------------
3186690Sobrien# $File: images,v 1.72 2011/12/08 12:12:46 rrt Exp $
468349Sobrien# images:  file(1) magic for image formats (see also "iff", and "c-lang" for
568349Sobrien# 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)
20133359Sobrien1	belong&0xfff7ffff	0x01010000	Targa image data - Map
21133359Sobrien>2	byte&8			8		- RLE
2268349Sobrien>12	leshort			>0		%hd x
2368349Sobrien>14	leshort			>0		%hd
24133359Sobrien1	belong&0xfff7ffff	0x00020000	Targa image data - RGB
25133359Sobrien>2	byte&8			8		- RLE
2668349Sobrien>12	leshort			>0		%hd x
2768349Sobrien>14	leshort			>0		%hd
28133359Sobrien1	belong&0xfff7ffff	0x00030000	Targa image data - Mono
29133359Sobrien>2	byte&8			8		- RLE
3068349Sobrien>12	leshort			>0		%hd x
3168349Sobrien>14	leshort			>0		%hd
3268349Sobrien
33186690Sobrien# PBMPLUS images
34186690Sobrien# The next byte following the magic is always whitespace.
35186690Sobrien0	search/1	P1		Netpbm PBM image text
36186690Sobrien!:mime	image/x-portable-bitmap
37186690Sobrien0	search/1b	P2		Netpbm PGM image text
38186690Sobrien!:mime	image/x-portable-greymap
3969216Sobrien0	search/1	P3		Netpbm PPM image text
40186690Sobrien!:mime	image/x-portable-pixmap
4169216Sobrien0	string		P4		Netpbm PBM "rawbits" image data
42186690Sobrien!:mime	image/x-portable-bitmap
4369216Sobrien0	string		P5		Netpbm PGM "rawbits" image data
44186690Sobrien!:mime	image/x-portable-greymap
4569216Sobrien0	string		P6		Netpbm PPM "rawbits" image data
46186690Sobrien!:mime	image/x-portable-pixmap
4768349Sobrien0	string		P7		Netpbm PAM image file
4869216Sobrien!:mime	image/x-portable-pixmap
4969216Sobrien
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
5968349Sobrien>21	byte		51		version 3
60186690Sobrien
6168349Sobrien# NIFF (Navy Interchange File Format, a modification of TIFF) images
62186690Sobrien# [GRR:  this *must* go before TIFF]
6368349Sobrien0	string		IIN1		NIFF image data
6468349Sobrien!:mime	image/x-niff
6568349Sobrien
6668349Sobrien# Canon RAW version 1 (CRW) files are a type of Canon Image File Format
6768349Sobrien# (CIFF) file. These are apparently all little-endian.
68186690Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
6968349Sobrien# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html
70186690Sobrien0	string		II\x1a\0\0\0HEAPCCDR	Canon CIFF raw image data
7168349Sobrien!:mime	image/x-canon-crw
7268349Sobrien>16	leshort		x	\b, version %d.
7368349Sobrien>14	leshort		x	\b%d
7468349Sobrien
7568349Sobrien# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic
7668349Sobrien# number. Put this above the TIFF test to make sure we detect them.
7768349Sobrien# These are apparently all little-endian.
78186690Sobrien# From: Adam Buchbinder <adam.buchbinder@gmail.com>
79186690Sobrien# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2
80186690Sobrien0	string		II\x2a\0\x10\0\0\0CR	Canon CR2 raw image data
81186690Sobrien!:mime	image/x-canon-cr2
82186690Sobrien>10	byte		x	\b, version %d.
83186690Sobrien>11	byte		x	\b%d
84186690Sobrien
85186690Sobrien# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
86186690Sobrien# The second word of TIFF files is the TIFF version number, 42, which has
87186690Sobrien# never changed.  The TIFF specification recommends testing for it.
88186690Sobrien0	string		MM\x00\x2a	TIFF image data, big-endian
89186690Sobrien!:mime	image/tiff
90186690Sobrien0	string		II\x2a\x00	TIFF image data, little-endian
9168349Sobrien!:mime	image/tiff
92186690Sobrien
93186690Sobrien0	string		MM\x00\x2b	Big TIFF image data, big-endian
94186690Sobrien!:mime	image/tiff
95186690Sobrien0	string		II\x2b\x00	Big TIFF image data, little-endian
96186690Sobrien!:mime	image/tiff
97186690Sobrien
98186690Sobrien# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
99186690Sobrien# (Greg Roelofs, newt@uchicago.edu)
100186690Sobrien# (Albert Cahalan, acahalan@cs.uml.edu)
101186690Sobrien#
102186690Sobrien# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
103186690Sobrien#
104186690Sobrien0	string		\x89PNG\x0d\x0a\x1a\x0a		PNG image data
105186690Sobrien!:mime	image/png
106186690Sobrien>16	belong		x		\b, %ld x
107186690Sobrien>20	belong		x		%ld,
108186690Sobrien>24	byte		x		%d-bit
109186690Sobrien>25	byte		0		grayscale,
11068349Sobrien>25	byte		2		\b/color RGB,
11168349Sobrien>25	byte		3		colormap,
112186690Sobrien>25	byte		4		gray+alpha,
113191736Sobrien>25	byte		6		\b/color RGBA,
11468349Sobrien#>26	byte		0		deflate/32K,
11568349Sobrien>28	byte		0		non-interlaced
11668349Sobrien>28	byte		1		interlaced
117103373Sobrien
11868349Sobrien# possible GIF replacements; none yet released!
11968349Sobrien# (Greg Roelofs, newt@uchicago.edu)
12068349Sobrien#
12168349Sobrien# GRR 950115:  this was mine ("Zip GIF"):
12268349Sobrien0	string		GIF94z		ZIF image (GIF+deflate alpha)
12368349Sobrien!:mime	image/x-unknown
12468349Sobrien#
12568349Sobrien# GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
12668349Sobrien#					
12768349Sobrien0	string		FGF95a		FGF image (GIF+deflate beta)
12868349Sobrien!:mime	image/x-unknown
12968349Sobrien#
13068349Sobrien# GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
13168349Sobrien# (best; not yet implemented):
13268349Sobrien#					
13368349Sobrien0	string		PBF		PBF image (deflate compression)
13468349Sobrien!:mime	image/x-unknown
13568349Sobrien
13668349Sobrien# GIF
13768349Sobrien0	string		GIF8		GIF image data
13868349Sobrien!:mime	image/gif
13968349Sobrien!:apple	8BIMGIFf
14068349Sobrien>4	string		7a		\b, version 8%s,
14168349Sobrien>4	string		9a		\b, version 8%s,
14268349Sobrien>6	leshort		>0		%hd x
14368349Sobrien>8	leshort		>0		%hd
14468349Sobrien#>10	byte		&0x80		color mapped,
145186690Sobrien#>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
17168349Sobrien0	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
177110949Sobrien# version number follows, in the form m.n
178110949Sobrien>40	string		SunBin			binary
17968349Sobrien>32	string		archive			archive
180110949Sobrien
181186690Sobrien# GKS (Graphics Kernel System)
182186690Sobrien0	string		GKSM		GKS Metafile
183186690Sobrien>24	string		SunGKS		\b, SunGKS
184186690Sobrien
18568349Sobrien# CGM image files
18668349Sobrien0	string		BEGMF		clear text Computer Graphics Metafile
187186690Sobrien
188186690Sobrien# 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
191186690Sobrien0	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned
192186690Sobrien0	string	yx	MGR bitmap, modern format, squeezed
19368349Sobrien
19468349Sobrien# Fuzzy Bitmap (FBM) images
19568349Sobrien0	string		%bitmap\0	FBM image data
196186690Sobrien>30	long		0x31		\b, mono
197186690Sobrien>30	long		0x33		\b, color
198186690Sobrien
199186690Sobrien# facsimile data
200186690Sobrien1	string		PC\ Research,\ Inc	group 3 fax data
201133359Sobrien>29	byte		0		\b, normal resolution (204x98 DPI)
202133359Sobrien>29	byte		1		\b, fine resolution (204x196 DPI)
203133359Sobrien# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
204133359Sobrien0	string		Sfff		structured fax file
205133359Sobrien
20668349Sobrien
20768349Sobrien# PC bitmaps (OS/2, Windows BMP files)  (Greg Roelofs, newt@uchicago.edu)
20868349Sobrien0	string		BM
20968349Sobrien>14	leshort		12		PC bitmap, OS/2 1.x format
21068349Sobrien!:mime	image/x-ms-bmp
211186690Sobrien>>18	leshort		x		\b, %d x
21268349Sobrien>>20	leshort		x		%d
21368349Sobrien>14	leshort		64		PC bitmap, OS/2 2.x format
21468349Sobrien!:mime	image/x-ms-bmp
21568349Sobrien>>18	leshort		x		\b, %d x
21668349Sobrien>>20	leshort		x		%d
21768349Sobrien>14	leshort		40		PC bitmap, Windows 3.x format
21868349Sobrien!:mime	image/x-ms-bmp
21968349Sobrien>>18	lelong		x		\b, %d x
22068349Sobrien>>22	lelong		x		%d x
22168349Sobrien>>28	leshort		x		%d
22268349Sobrien>14	leshort		128		PC bitmap, Windows NT/2000 format
22368349Sobrien!:mime	image/x-ms-bmp
22468349Sobrien>>18	lelong		x		\b, %d x
22568349Sobrien>>22	lelong		x		%d x
22668349Sobrien>>28	leshort		x		%d
22768349Sobrien# Too simple - MPi
22868349Sobrien#0	string		IC		PC icon data
22968349Sobrien#0	string		PI		PC pointer image data
23068349Sobrien#0	string		CI		PC color icon data
23168349Sobrien#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)
23668349Sobrien0	search/1	/*\ XPM\ */	X pixmap image text
23768349Sobrien!: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#
27884685Sobrien# See
27984685Sobrien#	http://reality.sgi.com/grafica/sgiimage.html
28084685Sobrien#
28184685Sobrien0	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
30468349Sobrien>0xe02	byte&0x03	0x00		, landscape mode
305186690Sobrien>0xe02	byte&0x03	0x01		, portrait mode
30674784Sobrien>0xe02	byte&0x03	0x02		, landscape mode
307133359Sobrien>0xe02	byte&0x03	0x03		, portrait mode
30874784Sobrien0	string		PCD_OPA		Kodak Photo CD overview pack file
30974784Sobrien
31074784Sobrien# FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
311133359Sobrien# FITS is the Flexible Image Transport System, the de facto standard for
31274784Sobrien# data and image transfer, storage, etc., for the astronomical community.
31374784Sobrien# (FITS floating point formats are big-endian.)
31474784Sobrien0	string	SIMPLE\ \ =	FITS image data
31574784Sobrien>109	string	8		\b, 8-bit, character or unsigned binary integer
31674784Sobrien>108	string	16		\b, 16-bit, two's complement binary integer
31774784Sobrien>107	string	\ 32		\b, 32-bit, two's complement binary integer
31874784Sobrien>107	string	-32		\b, 32-bit, floating point, single precision
31974784Sobrien>107	string	-64		\b, 64-bit, floating point, double precision
32074784Sobrien
32174784Sobrien# other images
32274784Sobrien0	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file
32374784Sobrien
32474784Sobrien# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
32574784Sobrien# stuff.
32674784Sobrien#
32774784Sobrien0	beshort		0x1010		PEX Binary Archive
32874784Sobrien
32974784Sobrien# DICOM medical imaging data
33074784Sobrien128	string	DICM			DICOM medical imaging data
33174784Sobrien!:mime	application/dicom
33274784Sobrien
33374784Sobrien# 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
33774784Sobrien#   updated by Adam Buchbinder, 2/09
33874784Sobrien# The following assumes version 7 of the format; the first long is the length
33974784Sobrien# of the header, which is at least 25 4-byte longs, and the one at offset 8
34074784Sobrien# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth,
34174784Sobrien# which is a maximum of 32.
34274784Sobrien0	belong	>100
34380588Sobrien>8	belong	<3
344169962Sobrien>>12	belong	<33
345169962Sobrien>>>4	belong	7			XWD X Window Dump image data
346169962Sobrien!:mime	image/x-xwindowdump
347169962Sobrien>>>>100	string	>\0			\b, "%s"
34884685Sobrien>>>>16	belong	x			\b, %dx
34984685Sobrien>>>>20	belong	x			\b%dx
35084685Sobrien>>>>12	belong	x			\b%d
35180588Sobrien
35284685Sobrien# PDS - Planetary Data System
35384685Sobrien#   These files use Parameter Value Language in the header section.
35484685Sobrien#   Unfortunately, there is no certain magic, but the following
35584685Sobrien#   strings have been found to be most likely.
35684685Sobrien0	string	NJPL1I00		PDS (JPL) image data
35784685Sobrien2	string	NJPL1I			PDS (JPL) image data
35884685Sobrien0	string	CCSD3ZF			PDS (CCSD) image data
35984685Sobrien2	string	CCSD3Z			PDS (CCSD) image data
36084685Sobrien0	string	PDS_			PDS image data
36184685Sobrien0	string	LBLSIZE=		PDS (VICAR) image data
36284685Sobrien
36384685Sobrien# pM8x: ATARI STAD compressed bitmap format
36484685Sobrien#
36584685Sobrien# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
36684685Sobrien# p M 8 5/6 xx yy zz data...
36784685Sobrien# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
36884685Sobrien# bytes either run horizontally (pM85) or vertically (pM86). yy is the
36984685Sobrien# most frequent byte, xx and zz are runlength escape codes, where xx is
37084685Sobrien# used for runs of yy.
37184685Sobrien#
37284685Sobrien0	string	pM85		Atari ST STAD bitmap image data (hor)
37384685Sobrien>5	byte	0x00		(white background)
37484685Sobrien>5	byte	0xFF		(black background)
37584685Sobrien0	string	pM86		Atari ST STAD bitmap image data (vert)
37684685Sobrien>5	byte	0x00		(white background)
37784685Sobrien>5	byte	0xFF		(black background)
378110949Sobrien
379110949Sobrien# G��rkan Seng��n <gurkan@linuks.mine.nu>, www.linuks.mine.nu
380110949Sobrien# http://www.atarimax.com/jindroush.atari.org/afmtatr.html
381110949Sobrien0	leshort	0x0296		Atari ATR image
382110949Sobrien
383110949Sobrien# XXX:
384110949Sobrien# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
385110949Sobrien# magic.
386110949Sobrien# SGI RICE image file <mpruett@sgi.com>
387110949Sobrien#0	beshort	0x5249		RICE image
388110949Sobrien#>2	beshort	x		v%d
389110949Sobrien#>4	beshort	x		(%d x
390110949Sobrien#>6	beshort	x		%d)
391110949Sobrien#>8	beshort	0		8 bit
392110949Sobrien#>8	beshort	1		10 bit
393110949Sobrien#>8	beshort	2		12 bit
394110949Sobrien#>8	beshort	3		13 bit
395110949Sobrien#>10	beshort	0		4:2:2
396110949Sobrien#>10	beshort	1		4:2:2:4
397110949Sobrien#>10	beshort	2		4:4:4
398110949Sobrien#>10	beshort	3		4:4:4:4
399110949Sobrien#>12	beshort	1		RGB
400110949Sobrien#>12	beshort	2		CCIR601
401133359Sobrien#>12	beshort	3		RP175
402133359Sobrien#>12	beshort	4		YUV
403133359Sobrien
404186690Sobrien#------------------------------------------------------------------------------
405133359Sobrien#
406133359Sobrien# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
407133359Sobrien# for the EPOC operating system, which is used with PDAs like those from Psion
408133359Sobrien#
409133359Sobrien# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
410133359Sobrien# of various EPOC file formats
411133359Sobrien
412133359Sobrien0	string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
413133359Sobrien
414133359Sobrien# PCX image files
415133359Sobrien# From: Dan Fandrich <dan@coneharvesters.com>
416133359Sobrien0	beshort		0x0a00	PCX ver. 2.5 image data
417133359Sobrien0	beshort		0x0a02	PCX ver. 2.8 image data, with palette
418133359Sobrien0	beshort		0x0a03	PCX ver. 2.8 image data, without palette
419133359Sobrien0	beshort		0x0a04	PCX for Windows image data
420133359Sobrien0	beshort		0x0a05	PCX ver. 3.0 image data
421133359Sobrien>4	leshort		x      bounding box [%hd,
422133359Sobrien>6	leshort		x      %hd] -
423133359Sobrien>8	leshort		x      [%hd,
424133359Sobrien>10	leshort		x      %hd],
425133359Sobrien>65	byte		>1	%d planes each of
426133359Sobrien>3	byte		x	%hhd-bit
427133359Sobrien>68	byte		0	image,
428133359Sobrien>68	byte		1	colour,
429133359Sobrien>68	byte		2	grayscale,
430133359Sobrien>68	byte		>2	image,
431133359Sobrien>68	byte		<0	image,
432133359Sobrien>12	leshort		>0	%hd x
433133359Sobrien>>14	leshort		x      %hd dpi,
434133359Sobrien>2	byte		0	uncompressed
435133359Sobrien>2	byte		1	RLE compressed
436133359Sobrien
437133359Sobrien# Adobe Photoshop
438133359Sobrien# From: Asbjoern Sloth Toennesen <asbjorn@lila.io>
439133359Sobrien0	string		8BPS Adobe Photoshop Image
440133359Sobrien!:mime	image/vnd.adobe.photoshop
441133359Sobrien>4   beshort 2 (PSB)
442133359Sobrien>18  belong  x \b, %d x
443133359Sobrien>14  belong  x %d,
444133359Sobrien>24  beshort 0 bitmap
445133359Sobrien>24  beshort 1 grayscale
446133359Sobrien>>12 beshort 2 with alpha
447133359Sobrien>24  beshort 2 indexed
448133359Sobrien>24  beshort 3 RGB
449133359Sobrien>>12 beshort 4 \bA
450133359Sobrien>24  beshort 4 CMYK
451133359Sobrien>>12 beshort 5 \bA
452133359Sobrien>24  beshort 7 multichannel
453133359Sobrien>24  beshort 8 duotone
454133359Sobrien>24  beshort 9 lab
455133359Sobrien>12  beshort > 1
456133359Sobrien>>12  beshort x \b, %dx
457133359Sobrien>12  beshort 1 \b,
458133359Sobrien>22  beshort x %d-bit channel
459133359Sobrien>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
494186690Sobrien>>28	string	NONE		uncompressed
495186690Sobrien# >>28	string	APCM		ADPCM compressed
496186690Sobrien>>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
543186690Sobrien
544186690Sobrien0       string  CKD_S370        Hercules CKD DASD shadow file
545186690Sobrien>8      long    x               \b, %d heads per cylinder
546186690Sobrien>12     long    x               \b, track size %d bytes
547186690Sobrien>16     byte    x               \b, device type 33%2.2X
548186690Sobrien
549186690Sobrien# Squeak images and programs - etoffi@softhome.net
550186690Sobrien0	string		\146\031\0\0	Squeak image data
551186690Sobrien0	search/1	'From\040Squeak	Squeak program text
552186690Sobrien
553186690Sobrien# partimage: file(1) magic for PartImage files (experimental, incomplete)
554133359Sobrien# Author: Hans-Joachim Baader <hjb@pro-linux.de>
555133359Sobrien0		string	PaRtImAgE-VoLuMe	PartImage
556159764Sobrien>0x0020		string	0.6.1		file version %s
557159764Sobrien>>0x0060	lelong	>-1		volume %ld
558133359Sobrien#>>0x0064 8 byte identifier
559133359Sobrien#>>0x007c reserved
560133359Sobrien>>0x0200	string	>\0		type %s
561159764Sobrien>>0x1400	string	>\0		device %s,
562159764Sobrien>>0x1600	string	>\0		original filename %s,
563159764Sobrien# Some fields omitted
564159764Sobrien>>0x2744	lelong	0		not compressed
565159764Sobrien>>0x2744	lelong	1		gzip compressed
566159764Sobrien>>0x2744	lelong	2		bzip2 compressed
567186690Sobrien>>0x2744	lelong	>2		compressed with unknown algorithm
568159764Sobrien>0x0020		string	>0.6.1		file version %s
569186690Sobrien>0x0020		string	<0.6.1		file version %s
570169942Sobrien
571169942Sobrien# DCX is multi-page PCX, using a simple header of up to 1024
572169942Sobrien# offsets for the respective PCX components.
573186690Sobrien# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
574169942Sobrien0	lelong	987654321	DCX multi-page PCX image data
575186690Sobrien
576186690Sobrien# Simon Walton <simonw@matteworld.com>
577186690Sobrien# Kodak Cineon format for scanned negatives
578186690Sobrien# http://www.kodak.com/US/en/motion/support/dlad/
579186690Sobrien0	lelong  0xd75f2a80	Cineon image data
580186690Sobrien>200	belong  >0		\b, %ld x
581186690Sobrien>204	belong  >0		%ld
582186690Sobrien
583186690Sobrien
584186690Sobrien# Bio-Rad .PIC is an image format used by microscope control systems
585186690Sobrien# and related image processing software used by biologists.
586186690Sobrien# From: Vebjorn Ljosa <vebjorn@ljosa.com>
587186690Sobrien# BOOL values are two-byte integers; use them to rule out false positives.
588186690Sobrien# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt
589186690Sobrien# Samples: http://www.loci.wisc.edu/software/sample-data
590186690Sobrien14	leshort <2
591186690Sobrien>62	leshort <2
592186690Sobrien>>54	leshort 12345		Bio-Rad .PIC Image File
593186690Sobrien>>>0	leshort >0		%hd x
594186690Sobrien>>>2	leshort >0		%hd,
595186690Sobrien>>>4	leshort =1		1 image in file
596186690Sobrien>>>4	leshort >1		%hd images in file
597186690Sobrien
598186690Sobrien# From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
599186690Sobrien# The description of *.mrw format can be found at
600186690Sobrien# http://www.dalibor.cz/minolta/raw_file_format.htm
601186690Sobrien0	string	\000MRM			Minolta Dimage camera raw image data
602186690Sobrien
603186690Sobrien# Summary: DjVu image / document
604191736Sobrien# Extension: .djvu
605191736Sobrien# Reference: http://djvu.org/docs/DjVu3Spec.djvu
606191736Sobrien# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
607191736Sobrien# Modified by (1): Abel Cheung <abelcheung@gmail.com>
6080	string	AT&TFORM
609>12	string	DJVM		DjVu multiple page document
610!:mime	image/vnd.djvu
611>12	string	DJVU		DjVu image or single page document
612!:mime	image/vnd.djvu
613>12	string	DJVI		DjVu shared document
614!:mime	image/vnd.djvu
615>12	string	THUM		DjVu page thumbnails
616!:mime	image/vnd.djvu
617
618
619# From Marc Espie
6200	lelong	20000630		OpenEXR image data
621
622# From: Tom Hilinski <tom.hilinski@comcast.net>
623# http://www.unidata.ucar.edu/packages/netcdf/
6240	string	CDF\001			NetCDF Data Format data
625
626#-----------------------------------------------------------------------
627# Hierarchical Data Format, used to facilitate scientific data exchange
628# specifications at http://hdf.ncsa.uiuc.edu/
6290	belong	0x0e031301	Hierarchical Data Format (version 4) data
630!:mime	application/x-hdf
6310	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) data
632!:mime	application/x-hdf
633
634# From: Tobias Burnus <burnus@net-b.de>
635# Xara (for a while: Corel Xara) is a graphic package, see
636# http://www.xara.com/ for Windows and as GPL application for Linux
6370	string	XARA\243\243	Xara graphics file
638
639# http://www.cartesianinc.com/Tech/
6400	string	CPC\262		Cartesian Perceptual Compression image
641!:mime	image/x-cpi
642
643# From Albert Cahalan <acahalan@gmail.com>
644# puredigital used it for the CVS disposable camcorder
645#8       lelong  4       ZBM bitmap image data
646#>4      leshort x       %u x
647#>6      leshort x       %u
648
649# From Albert Cahalan <acahalan@gmail.com>
650# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons
6510       string C565     OLPC firmware icon image data
652>4      leshort x       %u x
653>6      leshort x       %u
654
655# Applied Images - Image files from Cytovision
656# Gustavo Junior Alves <gjalves@gjalves.com.br>
6570	string	\xce\xda\xde\xfa	Cytovision Metaphases file
6580	string	\xed\xad\xef\xac	Cytovision Karyotype file
6590	string	\x0b\x00\x03\x00	Cytovision FISH Probe file
6600	string	\xed\xfe\xda\xbe	Cytovision FLEX file
6610	string	\xed\xab\xed\xfe	Cytovision FLEX file
6620	string	\xad\xfd\xea\xad	Cytovision RATS file
663
664# Wavelet Scalar Quantization format used in gray-scale fingerprint images
665# From Tano M Fotang <mfotang@quanteq.com>
6660	string	\xff\xa0\xff\xa8\x00	Wavelet Scalar Quantization image data
667
668# JPEG 2000 Code Stream Bitmap
669# From Petr Splichal <psplicha@redhat.com>
6700	string	\xFF\x4F\xFF\x51\x00	JPEG-2000 Code Stream Bitmap data
671
672# From: Rick Richardson <rick.richardson@comcast.net>
6730	string	GARMIN\ BITMAP\ 01	Garmin Bitmap file
674
675# Type:	Ulead Photo Explorer5 (.pe5)
676# URL:	http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese)
677# From:	Simon Horman <horms@debian.org>
6780	string	IIO2H			Ulead Photo Explorer5
679
680# Type:	X11 cursor
681# URL:	http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup
682# From:	Mathias Brodala <info@noctus.net>
6830	string	Xcur			X11 cursor
684
685# Type:	Olympus ORF raw images.
686# URL:	http://libopenraw.freedesktop.org/wiki/Olympus_ORF
687# From:	Adam Buchbinder <adam.buchbinder@gmail.com>
6880	string		MMOR		Olympus ORF raw image data, big-endian
689!:mime	image/x-olympus-orf
6900	string		IIRO		Olympus ORF raw image data, little-endian
691!:mime	image/x-olympus-orf
6920	string		IIRS		Olympus ORF raw image data, little-endian
693!:mime	image/x-olympus-orf
694
695# Type: files used in modern AVCHD camcoders to store clip information
696# Extension: .cpi
697# From: Alexander Danilov <alexander.a.danilov@gmail.com>
6980	string	HDMV0100	AVCHD Clip Information
699
700# From: Adam Buchbinder <adam.buchbinder@gmail.com>
701# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/
702# Radiance HDR; usually has .pic or .hdr extension.
7030	string	#?RADIANCE\n	Radiance HDR image data
704#!mime	image/vnd.radiance
705
706# From: Adam Buchbinder <adam.buchbinder@gmail.com>
707# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf
708# Used by the pfstools packages. The regex matches for the image size could
709# probably use some work. The MIME type is made up; if there's one in
710# actual common use, it should replace the one below.
7110	string	PFS1\x0a	PFS HDR image data
712#!mime	image/x-pfs
713>1	regex	[0-9]*\ 		\b, %s
714>>1	regex	\ [0-9]{4}		\bx%s
715
716# Type: Foveon X3F
717# URL:  http://www.photofo.com/downloads/x3f-raw-format.pdf
718# From: Adam Buchbinder <adam.buchbinder@gmail.com>
719# Note that the MIME type isn't defined anywhere that I can find; if
720# there's a canonical type for this format, it should replace this one.
7210	string	FOVb	Foveon X3F raw image data
722!:mime	image/x-x3f
723>6	leshort	x	\b, version %d.
724>4	leshort	x	\b%d
725>28	lelong	x	\b, %dx
726>32	lelong	x	\b%d
727
728# Paint.NET file
729# From Adam Buchbinder <adam.buchbinder@gmail.com>
7300	string	PDN3	Paint.NET image data
731!:mime	image/x-paintnet
732
733# Not really an image.
734# From: "Tano M. Fotang" <mfotang@quanteq.com>
7350	string	\x46\x4d\x52\x00	ISO/IEC 19794-2 Format Minutiae Record (FMR)
736