| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894 | 
							
- #------------------------------------------------------------------------------
 
- # $File: images,v 1.87 2013/12/11 14:14:20 christos Exp $
 
- # images:  file(1) magic for image formats (see also "iff", and "c-lang" for
 
- # XPM bitmaps)
 
- #
 
- # originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
 
- # additions by janl@ifi.uio.no as well as others. Jan also suggested
 
- # merging several one- and two-line files into here.
 
- #
 
- # little magic: PCX (first byte is 0x0a)
 
- # Targa - matches `povray', `ppmtotga' and `xv' outputs
 
- # by Philippe De Muyter <phdm@macqel.be>
 
- # at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
 
- # at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
 
- # at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
 
- # `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
 
- # `tgatoppm' recognizes a superset (Index may be anything)
 
- 1	belong&0xfff7ffff	0x01010000	Targa image data - Map
 
- >2	byte&8			8		- RLE
 
- >12	leshort			>0		%hd x
 
- >14	leshort			>0		%hd
 
- 1	belong&0xfff7ffff	0x00020000	Targa image data - RGB
 
- >2	byte&8			8		- RLE
 
- >12	leshort			>0		%hd x
 
- >14	leshort			>0		%hd
 
- 1	belong&0xfff7ffff	0x00030000	Targa image data - Mono
 
- >2	byte&8			8		- RLE
 
- >12	leshort			>0		%hd x
 
- >14	leshort			>0		%hd
 
- # PBMPLUS images
 
- # The next byte following the magic is always whitespace.
 
- # strength is changed to try these patterns before "x86 boot sector"
 
- 0	search/1	P1		
 
- >3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PBM image text
 
- >3	regex		=[0-9]{1,50}\ 		\b, size = %sx
 
- >>3	regex		=\ [0-9]{1,50}	\b%s
 
- !:strength + 45
 
- !:mime	image/x-portable-bitmap
 
- 0	search/1	P2		
 
- >3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PGM image text
 
- >3	regex		=[0-9]{1,50}\ 		\b, size = %sx
 
- >>3	regex		=\ [0-9]{1,50}	\b%s
 
- !:strength + 45
 
- !:mime	image/x-portable-greymap
 
- 0	search/1	P3
 
- >3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PPM image text
 
- >3	regex		=[0-9]{1,50}\ 		\b, size = %sx
 
- >>3	regex		=\ [0-9]{1,50}	\b%s
 
- !:strength + 45
 
- !:mime	image/x-portable-pixmap
 
- 0	string		P4		
 
- >3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PBM "rawbits" image data
 
- >3	regex		=[0-9]{1,50}\ 		\b, size = %sx
 
- >>3	regex		=\ [0-9]{1,50}	\b%s
 
- !:strength + 45
 
- !:mime	image/x-portable-bitmap
 
- 0	string		P5		
 
- >3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PGM "rawbits" image data
 
- >3	regex		=[0-9]{1,50}\ 		\b, size = %sx
 
- >>3	regex		=\ [0-9]{1,50}	\b%s
 
- !:strength + 45
 
- !:mime	image/x-portable-greymap
 
- 0	string		P6		
 
- >3	regex		=[0-9]{0,50}\ [0-9]{0,50}		Netpbm PPM "rawbits" image data
 
- >3	regex		=[0-9]{1,50}\ 		\b, size = %sx
 
- >>3	regex		=\ [0-9]{1,50}	\b%s
 
- !:strength + 45
 
- !:mime	image/x-portable-pixmap
 
- 0	string		P7		Netpbm PAM image file
 
- !:mime	image/x-portable-pixmap
 
- # From: bryanh@giraffe-data.com (Bryan Henderson)
 
- 0	string		\117\072	Solitaire Image Recorder format
 
- >4	string		\013		MGI Type 11
 
- >4	string		\021		MGI Type 17
 
- 0	string		.MDA		MicroDesign data
 
- >21	byte		48		version 2
 
- >21	byte		51		version 3
 
- 0	string		.MDP		MicroDesign page data
 
- >21	byte		48		version 2
 
- >21	byte		51		version 3
 
- # NIFF (Navy Interchange File Format, a modification of TIFF) images
 
- # [GRR:  this *must* go before TIFF]
 
- 0	string		IIN1		NIFF image data
 
- !:mime	image/x-niff
 
- # Canon RAW version 1 (CRW) files are a type of Canon Image File Format
 
- # (CIFF) file. These are apparently all little-endian.
 
- # From: Adam Buchbinder <adam.buchbinder@gmail.com>
 
- # URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html
 
- 0	string		II\x1a\0\0\0HEAPCCDR	Canon CIFF raw image data
 
- !:mime	image/x-canon-crw
 
- >16	leshort		x	\b, version %d.
 
- >14	leshort		x	\b%d
 
- # Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic
 
- # number. Put this above the TIFF test to make sure we detect them.
 
- # These are apparently all little-endian.
 
- # From: Adam Buchbinder <adam.buchbinder@gmail.com>
 
- # URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2
 
- 0	string		II\x2a\0\x10\0\0\0CR	Canon CR2 raw image data
 
- !:mime	image/x-canon-cr2
 
- >10	byte		x	\b, version %d.
 
- >11	byte		x	\b%d
 
- # Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
 
- # The second word of TIFF files is the TIFF version number, 42, which has
 
- # never changed.  The TIFF specification recommends testing for it.
 
- 0	string		MM\x00\x2a	TIFF image data, big-endian
 
- !:mime	image/tiff
 
- 0	string		II\x2a\x00	TIFF image data, little-endian
 
- !:mime	image/tiff
 
- 0	string		MM\x00\x2b	Big TIFF image data, big-endian
 
- !:mime	image/tiff
 
- 0	string		II\x2b\x00	Big TIFF image data, little-endian
 
- !:mime	image/tiff
 
- # PNG [Portable Network Graphics, or "PNG's Not GIF"] images
 
- # (Greg Roelofs, newt@uchicago.edu)
 
- # (Albert Cahalan, acahalan@cs.uml.edu)
 
- #
 
- # 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
 
- #
 
- 0	string		\x89PNG\x0d\x0a\x1a\x0a		PNG image data
 
- !:mime	image/png
 
- >16	belong		x		\b, %ld x
 
- >20	belong		x		%ld,
 
- >24	byte		x		%d-bit
 
- >25	byte		0		grayscale,
 
- >25	byte		2		\b/color RGB,
 
- >25	byte		3		colormap,
 
- >25	byte		4		gray+alpha,
 
- >25	byte		6		\b/color RGBA,
 
- #>26	byte		0		deflate/32K,
 
- >28	byte		0		non-interlaced
 
- >28	byte		1		interlaced
 
- # possible GIF replacements; none yet released!
 
- # (Greg Roelofs, newt@uchicago.edu)
 
- #
 
- # GRR 950115:  this was mine ("Zip GIF"):
 
- 0	string		GIF94z		ZIF image (GIF+deflate alpha)
 
- !:mime	image/x-unknown
 
- #
 
- # GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
 
- #					
 
- 0	string		FGF95a		FGF image (GIF+deflate beta)
 
- !:mime	image/x-unknown
 
- #
 
- # GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
 
- # (best; not yet implemented):
 
- #					
 
- 0	string		PBF		PBF image (deflate compression)
 
- !:mime	image/x-unknown
 
- # GIF
 
- 0	string		GIF8		GIF image data
 
- !:mime	image/gif
 
- !:apple	8BIMGIFf
 
- >4	string		7a		\b, version 8%s,
 
- >4	string		9a		\b, version 8%s,
 
- >6	leshort		>0		%hd x
 
- >8	leshort		>0		%hd
 
- #>10	byte		&0x80		color mapped,
 
- #>10	byte&0x07	=0x00		2 colors
 
- #>10	byte&0x07	=0x01		4 colors
 
- #>10	byte&0x07	=0x02		8 colors
 
- #>10	byte&0x07	=0x03		16 colors
 
- #>10	byte&0x07	=0x04		32 colors
 
- #>10	byte&0x07	=0x05		64 colors
 
- #>10	byte&0x07	=0x06		128 colors
 
- #>10	byte&0x07	=0x07		256 colors
 
- # ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
 
- # 1 plane, no encoding.
 
- 0	string		\361\0\100\273	CMU window manager raster image data
 
- >4	lelong		>0		%d x
 
- >8	lelong		>0		%d,
 
- >12	lelong		>0		%d-bit
 
- # Magick Image File Format
 
- 0	string		id=ImageMagick	MIFF image data
 
- # Artisan
 
- 0	long		1123028772	Artisan image data
 
- >4	long		1		\b, rectangular 24-bit
 
- >4	long		2		\b, rectangular 8-bit with colormap
 
- >4	long		3		\b, rectangular 32-bit (24-bit with matte)
 
- # FIG (Facility for Interactive Generation of figures), an object-based format
 
- 0	search/1	#FIG		FIG image text
 
- >5	string		x		\b, version %.3s
 
- # PHIGS
 
- 0	string		ARF_BEGARF		PHIGS clear text archive
 
- 0	string		@(#)SunPHIGS		SunPHIGS
 
- # version number follows, in the form m.n
 
- >40	string		SunBin			binary
 
- >32	string		archive			archive
 
- # GKS (Graphics Kernel System)
 
- 0	string		GKSM		GKS Metafile
 
- >24	string		SunGKS		\b, SunGKS
 
- # CGM image files
 
- 0	string		BEGMF		clear text Computer Graphics Metafile
 
- # MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
 
- 0	string	yz	MGR bitmap, modern format, 8-bit aligned
 
- 0	string	zz	MGR bitmap, old format, 1-bit deep, 16-bit aligned
 
- 0	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned
 
- 0	string	yx	MGR bitmap, modern format, squeezed
 
- # Fuzzy Bitmap (FBM) images
 
- 0	string		%bitmap\0	FBM image data
 
- >30	long		0x31		\b, mono
 
- >30	long		0x33		\b, color
 
- # facsimile data
 
- 1	string		PC\ Research,\ Inc	group 3 fax data
 
- >29	byte		0		\b, normal resolution (204x98 DPI)
 
- >29	byte		1		\b, fine resolution (204x196 DPI)
 
- # From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
 
- 0	string		Sfff		structured fax file
 
- # From: Joerg Jenderek <joerg.jen.der.ek@gmx.net>
 
- # most files with the extension .EPA and some with .BMP
 
- 0	string		\x11\x06	Award BIOS Logo, 136 x 84
 
- !:mime	image/x-award-bioslogo
 
- 0	string		\x11\x09	Award BIOS Logo, 136 x 126
 
- !:mime	image/x-award-bioslogo
 
- #0	string		\x07\x1f	BIOS Logo corrupted?
 
- # http://www.blackfiveservices.co.uk/awbmtools.shtml
 
- # http://biosgfx.narod.ru/v3/
 
- # http://biosgfx.narod.ru/abr-2/
 
- 0	string		AWBM		
 
- >4	leshort		<1981		Award BIOS bitmap
 
- !:mime	image/x-award-bmp
 
- # image width is a multiple of 4
 
- >>4	leshort&0x0003	0		
 
- >>>4		leshort	x		\b, %d
 
- >>>6		leshort	x		x %d
 
- >>4	leshort&0x0003	>0		\b,
 
- >>>4	leshort&0x0003	=1		
 
- >>>>4		leshort	x		%d+3
 
- >>>4	leshort&0x0003	=2		
 
- >>>>4		leshort	x		%d+2
 
- >>>4	leshort&0x0003	=3		
 
- >>>>4		leshort	x		%d+1
 
- >>>6		leshort	x		x %d
 
- # at offset 8 starts imagedata followed by "RGB " marker
 
- # PC bitmaps (OS/2, Windows BMP files)  (Greg Roelofs, newt@uchicago.edu)
 
- # http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\
 
- # 28bitmap_information_header.29
 
- 0	string		BM
 
- >14	leshort		12		PC bitmap, OS/2 1.x format
 
- !:mime	image/x-ms-bmp
 
- >>18	leshort		x		\b, %d x
 
- >>20	leshort		x		%d
 
- >14	leshort		64		PC bitmap, OS/2 2.x format
 
- !:mime	image/x-ms-bmp
 
- >>18	leshort		x		\b, %d x
 
- >>20	leshort		x		%d
 
- >14	leshort		40		PC bitmap, Windows 3.x format
 
- !:mime	image/x-ms-bmp
 
- >>18	lelong		x		\b, %d x
 
- >>22	lelong		x		%d x
 
- >>28	leshort		x		%d
 
- >14	leshort		124		PC bitmap, Windows 98/2000 and newer format
 
- !:mime	image/x-ms-bmp
 
- >>18	lelong		x		\b, %d x
 
- >>22	lelong		x		%d x
 
- >>28	leshort		x		%d
 
- >14	leshort		108		PC bitmap, Windows 95/NT4 and newer format
 
- !:mime	image/x-ms-bmp
 
- >>18	lelong		x		\b, %d x
 
- >>22	lelong		x		%d x
 
- >>28	leshort		x		%d
 
- >14	leshort		128		PC bitmap, Windows NT/2000 format
 
- !:mime	image/x-ms-bmp
 
- >>18	lelong		x		\b, %d x
 
- >>22	lelong		x		%d x
 
- >>28	leshort		x		%d
 
- # Too simple - MPi
 
- #0	string		IC		PC icon data
 
- #0	string		PI		PC pointer image data
 
- #0	string		CI		PC color icon data
 
- #0	string		CP		PC color pointer image data
 
- # Conflicts with other entries [BABYL]
 
- #0	string		BA		PC bitmap array data
 
- # XPM icons (Greg Roelofs, newt@uchicago.edu)
 
- 0	search/1	/*\ XPM\ */	X pixmap image text
 
- !:mime	image/x-xpmi
 
- # Utah Raster Toolkit RLE images (janl@ifi.uio.no)
 
- 0	leshort		0xcc52		RLE image data,
 
- >6	leshort		x		%d x
 
- >8	leshort		x		%d
 
- >2	leshort		>0		\b, lower left corner: %d
 
- >4	leshort		>0		\b, lower right corner: %d
 
- >10	byte&0x1	=0x1		\b, clear first
 
- >10	byte&0x2	=0x2		\b, no background
 
- >10	byte&0x4	=0x4		\b, alpha channel
 
- >10	byte&0x8	=0x8		\b, comment
 
- >11	byte		>0		\b, %d color channels
 
- >12	byte		>0		\b, %d bits per pixel
 
- >13	byte		>0		\b, %d color map channels
 
- # image file format (Robert Potter, potter@cs.rochester.edu)
 
- 0	string		Imagefile\ version-	iff image data
 
- # this adds the whole header (inc. version number), informative but longish
 
- >10	string		>\0		%s
 
- # Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
 
- 0	belong		0x59a66a95	Sun raster image data
 
- >4	belong		>0		\b, %d x
 
- >8	belong		>0		%d,
 
- >12	belong		>0		%d-bit,
 
- #>16	belong		>0		%d bytes long,
 
- >20	belong		0		old format,
 
- #>20	belong		1		standard,
 
- >20	belong		2		compressed,
 
- >20	belong		3		RGB,
 
- >20	belong		4		TIFF,
 
- >20	belong		5		IFF,
 
- >20	belong		0xffff		reserved for testing,
 
- >24	belong		0		no colormap
 
- >24	belong		1		RGB colormap
 
- >24	belong		2		raw colormap
 
- #>28	belong		>0		colormap is %d bytes long
 
- # SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
 
- #
 
- # See
 
- #	http://reality.sgi.com/grafica/sgiimage.html
 
- #
 
- 0	beshort		474		SGI image data
 
- #>2	byte		0		\b, verbatim
 
- >2	byte		1		\b, RLE
 
- #>3	byte		1		\b, normal precision
 
- >3	byte		2		\b, high precision
 
- >4	beshort		x		\b, %d-D
 
- >6	beshort		x		\b, %d x
 
- >8	beshort		x		%d
 
- >10	beshort		x		\b, %d channel
 
- >10	beshort		!1		\bs
 
- >80	string		>0		\b, "%s"
 
- 0	string		IT01		FIT image data
 
- >4	belong		x		\b, %d x
 
- >8	belong		x		%d x
 
- >12	belong		x		%d
 
- #
 
- 0	string		IT02		FIT image data
 
- >4	belong		x		\b, %d x
 
- >8	belong		x		%d x
 
- >12	belong		x		%d
 
- #
 
- 2048	string		PCD_IPI		Kodak Photo CD image pack file
 
- >0xe02	byte&0x03	0x00		, landscape mode
 
- >0xe02	byte&0x03	0x01		, portrait mode
 
- >0xe02	byte&0x03	0x02		, landscape mode
 
- >0xe02	byte&0x03	0x03		, portrait mode
 
- 0	string		PCD_OPA		Kodak Photo CD overview pack file
 
- # FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
 
- # FITS is the Flexible Image Transport System, the de facto standard for
 
- # data and image transfer, storage, etc., for the astronomical community.
 
- # (FITS floating point formats are big-endian.)
 
- 0	string	SIMPLE\ \ =	FITS image data
 
- >109	string	8		\b, 8-bit, character or unsigned binary integer
 
- >108	string	16		\b, 16-bit, two's complement binary integer
 
- >107	string	\ 32		\b, 32-bit, two's complement binary integer
 
- >107	string	-32		\b, 32-bit, floating point, single precision
 
- >107	string	-64		\b, 64-bit, floating point, double precision
 
- # other images
 
- 0	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file
 
- # From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
 
- # stuff.
 
- #
 
- 0	beshort		0x1010		PEX Binary Archive
 
- # DICOM medical imaging data
 
- 128	string	DICM			DICOM medical imaging data
 
- !:mime	application/dicom
 
- # XWD - X Window Dump file.
 
- #   As described in /usr/X11R6/include/X11/XWDFile.h
 
- #   used by the xwd program.
 
- #   Bradford Castalia, idaeim, 1/01
 
- #   updated by Adam Buchbinder, 2/09
 
- # The following assumes version 7 of the format; the first long is the length
 
- # of the header, which is at least 25 4-byte longs, and the one at offset 8
 
- # is a constant which is always either 1 or 2. Offset 12 is the pixmap depth,
 
- # which is a maximum of 32.
 
- 0	belong	>100
 
- >8	belong	<3
 
- >>12	belong	<33
 
- >>>4	belong	7			XWD X Window Dump image data
 
- !:mime	image/x-xwindowdump
 
- >>>>100	string	>\0			\b, "%s"
 
- >>>>16	belong	x			\b, %dx
 
- >>>>20	belong	x			\b%dx
 
- >>>>12	belong	x			\b%d
 
- # PDS - Planetary Data System
 
- #   These files use Parameter Value Language in the header section.
 
- #   Unfortunately, there is no certain magic, but the following
 
- #   strings have been found to be most likely.
 
- 0	string	NJPL1I00		PDS (JPL) image data
 
- 2	string	NJPL1I			PDS (JPL) image data
 
- 0	string	CCSD3ZF			PDS (CCSD) image data
 
- 2	string	CCSD3Z			PDS (CCSD) image data
 
- 0	string	PDS_			PDS image data
 
- 0	string	LBLSIZE=		PDS (VICAR) image data
 
- # pM8x: ATARI STAD compressed bitmap format
 
- #
 
- # from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
 
- # p M 8 5/6 xx yy zz data...
 
- # Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
 
- # bytes either run horizontally (pM85) or vertically (pM86). yy is the
 
- # most frequent byte, xx and zz are runlength escape codes, where xx is
 
- # used for runs of yy.
 
- #
 
- 0	string	pM85		Atari ST STAD bitmap image data (hor)
 
- >5	byte	0x00		(white background)
 
- >5	byte	0xFF		(black background)
 
- 0	string	pM86		Atari ST STAD bitmap image data (vert)
 
- >5	byte	0x00		(white background)
 
- >5	byte	0xFF		(black background)
 
- # Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu
 
- # http://www.atarimax.com/jindroush.atari.org/afmtatr.html
 
- 0	leshort	0x0296		Atari ATR image
 
- # XXX:
 
- # This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
 
- # magic.
 
- # SGI RICE image file <mpruett@sgi.com>
 
- #0	beshort	0x5249		RICE image
 
- #>2	beshort	x		v%d
 
- #>4	beshort	x		(%d x
 
- #>6	beshort	x		%d)
 
- #>8	beshort	0		8 bit
 
- #>8	beshort	1		10 bit
 
- #>8	beshort	2		12 bit
 
- #>8	beshort	3		13 bit
 
- #>10	beshort	0		4:2:2
 
- #>10	beshort	1		4:2:2:4
 
- #>10	beshort	2		4:4:4
 
- #>10	beshort	3		4:4:4:4
 
- #>12	beshort	1		RGB
 
- #>12	beshort	2		CCIR601
 
- #>12	beshort	3		RP175
 
- #>12	beshort	4		YUV
 
- # PCX image files
 
- # From: Dan Fandrich <dan@coneharvesters.com>
 
- # updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX
 
- # http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt
 
- # GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000
 
- # 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
 
- 0	ubelong&0xffF8fe00	0x0a000000	
 
- # for PCX bit depth > 0 
 
- >3	ubyte		>0	
 
- # test for valid versions
 
- >>1	ubyte		<6	
 
- >>>1	ubyte		!1	PCX
 
- !:mime	image/x-pcx
 
- #!:mime	image/pcx
 
- >>>>1	ubyte		0	ver. 2.5 image data
 
- >>>>1	ubyte		2	ver. 2.8 image data, with palette
 
- >>>>1	ubyte		3	ver. 2.8 image data, without palette
 
- >>>>1	ubyte		4	for Windows image data
 
- >>>>1	ubyte		5	ver. 3.0 image data
 
- >>>>4	uleshort	x	bounding box [%hd,
 
- >>>>6	uleshort	x	%d] -
 
- >>>>8	uleshort	x	[%d,
 
- >>>>10	uleshort	x	%d],
 
- >>>>65	ubyte		>1	%d planes each of
 
- >>>>3	ubyte		x	%d-bit
 
- >>>>68	byte		1	colour,
 
- >>>>68	byte		2	grayscale,
 
- # this should not happen
 
- >>>>68	default		x	image,
 
- >>>>12	leshort		>0	%d x
 
- >>>>>14	uleshort	x	%d dpi,
 
- >>>>2	byte		0	uncompressed
 
- >>>>2	byte		1	RLE compressed
 
- # Adobe Photoshop
 
- # From: Asbjoern Sloth Toennesen <asbjorn@lila.io>
 
- 0	string		8BPS Adobe Photoshop Image
 
- !:mime	image/vnd.adobe.photoshop
 
- >4   beshort 2 (PSB)
 
- >18  belong  x \b, %d x
 
- >14  belong  x %d,
 
- >24  beshort 0 bitmap
 
- >24  beshort 1 grayscale
 
- >>12 beshort 2 with alpha
 
- >24  beshort 2 indexed
 
- >24  beshort 3 RGB
 
- >>12 beshort 4 \bA
 
- >24  beshort 4 CMYK
 
- >>12 beshort 5 \bA
 
- >24  beshort 7 multichannel
 
- >24  beshort 8 duotone
 
- >24  beshort 9 lab
 
- >12  beshort > 1
 
- >>12  beshort x \b, %dx
 
- >12  beshort 1 \b,
 
- >22  beshort x %d-bit channel
 
- >12  beshort > 1 \bs
 
- # XV thumbnail indicator (ThMO)
 
- 0	string		P7\ 332		XV thumbnail image data
 
- # NITF is defined by United States MIL-STD-2500A
 
- 0	string	NITF	National Imagery Transmission Format
 
- >25	string	>\0	dated %.14s
 
- # GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
 
- 0	belong		0x00010008	GEM Image data
 
- >12	beshort		x		%d x
 
- >14	beshort		x		%d,
 
- >4	beshort		x		%d planes,
 
- >8	beshort		x		%d x
 
- >10	beshort		x		%d pixelsize
 
- # GEM Metafile (Wolfram Kleff)
 
- 0	lelong		0x0018FFFF	GEM Metafile data
 
- >4	leshort		x		version %d
 
- #
 
- # SMJPEG. A custom Motion JPEG format used by Loki Entertainment
 
- # Software Torbjorn Andersson <d91tan@Update.UU.SE>.
 
- #
 
- 0	string	\0\nSMJPEG	SMJPEG
 
- >8	belong	x		%d.x data
 
- # According to the specification you could find any number of _TXT
 
- # headers here, but I can't think of any way of handling that. None of
 
- # the SMJPEG files I tried it on used this feature. Even if such a
 
- # file is encountered the output should still be reasonable.
 
- >16	string	_SND		\b,
 
- >>24	beshort	>0		%d Hz
 
- >>26	byte	8		8-bit
 
- >>26	byte	16		16-bit
 
- >>28	string	NONE		uncompressed
 
- # >>28	string	APCM		ADPCM compressed
 
- >>27	byte	1		mono
 
- >>28	byte	2		stereo
 
- # Help! Isn't there any way to avoid writing this part twice?
 
- >>32	string	_VID		\b,
 
- # >>>48	string	JFIF		JPEG
 
- >>>40	belong	>0		%d frames
 
- >>>44	beshort	>0		(%d x
 
- >>>46	beshort	>0		%d)
 
- >16	string	_VID		\b,
 
- # >>32	string	JFIF		JPEG
 
- >>24	belong	>0		%d frames
 
- >>28	beshort	>0		(%d x
 
- >>30	beshort	>0		%d)
 
- 0	string	Paint\ Shop\ Pro\ Image\ File	Paint Shop Pro Image File
 
- # "thumbnail file" (icon)
 
- # descended from "xv", but in use by other applications as well (Wolfram Kleff)
 
- 0       string          P7\ 332         XV "thumbnail file" (icon) data
 
- # taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
 
- 0       string          KiSS            KISS/GS
 
- >4      byte            16              color
 
- >>5     byte            x               %d bit
 
- >>8     leshort         x               %d colors
 
- >>10    leshort         x               %d groups
 
- >4      byte            32              cell
 
- >>5     byte            x               %d bit
 
- >>8     leshort         x               %d x
 
- >>10    leshort         x               %d
 
- >>12    leshort         x               +%d
 
- >>14    leshort         x               +%d
 
- # Webshots (www.webshots.com), by John Harrison
 
- 0       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
 
- # Hercules DASD image files
 
- # From Jan Jaeger <jj@septa.nl>
 
- 0       string  CKD_P370        Hercules CKD DASD image file
 
- >8      long    x               \b, %d heads per cylinder
 
- >12     long    x               \b, track size %d bytes
 
- >16     byte    x               \b, device type 33%2.2X
 
- 0       string  CKD_C370        Hercules compressed CKD DASD image file
 
- >8      long    x               \b, %d heads per cylinder
 
- >12     long    x               \b, track size %d bytes
 
- >16     byte    x               \b, device type 33%2.2X
 
- 0       string  CKD_S370        Hercules CKD DASD shadow file
 
- >8      long    x               \b, %d heads per cylinder
 
- >12     long    x               \b, track size %d bytes
 
- >16     byte    x               \b, device type 33%2.2X
 
- # Squeak images and programs - etoffi@softhome.net
 
- 0	string		\146\031\0\0	Squeak image data
 
- 0	search/1	'From\040Squeak	Squeak program text
 
- # partimage: file(1) magic for PartImage files (experimental, incomplete)
 
- # Author: Hans-Joachim Baader <hjb@pro-linux.de>
 
- 0		string	PaRtImAgE-VoLuMe	PartImage
 
- >0x0020		string	0.6.1		file version %s
 
- >>0x0060	lelong	>-1		volume %ld
 
- #>>0x0064 8 byte identifier
 
- #>>0x007c reserved
 
- >>0x0200	string	>\0		type %s
 
- >>0x1400	string	>\0		device %s,
 
- >>0x1600	string	>\0		original filename %s,
 
- # Some fields omitted
 
- >>0x2744	lelong	0		not compressed
 
- >>0x2744	lelong	1		gzip compressed
 
- >>0x2744	lelong	2		bzip2 compressed
 
- >>0x2744	lelong	>2		compressed with unknown algorithm
 
- >0x0020		string	>0.6.1		file version %s
 
- >0x0020		string	<0.6.1		file version %s
 
- # DCX is multi-page PCX, using a simple header of up to 1024
 
- # offsets for the respective PCX components.
 
- # From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
 
- 0	lelong	987654321	DCX multi-page PCX image data
 
- # Simon Walton <simonw@matteworld.com>
 
- # Kodak Cineon format for scanned negatives
 
- # http://www.kodak.com/US/en/motion/support/dlad/
 
- 0	lelong  0xd75f2a80	Cineon image data
 
- >200	belong  >0		\b, %ld x
 
- >204	belong  >0		%ld
 
- # Bio-Rad .PIC is an image format used by microscope control systems
 
- # and related image processing software used by biologists.
 
- # From: Vebjorn Ljosa <vebjorn@ljosa.com>
 
- # BOOL values are two-byte integers; use them to rule out false positives.
 
- # http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt
 
- # Samples: http://www.loci.wisc.edu/software/sample-data
 
- 14	leshort <2
 
- >62	leshort <2
 
- >>54	leshort 12345		Bio-Rad .PIC Image File
 
- >>>0	leshort >0		%hd x
 
- >>>2	leshort >0		%hd,
 
- >>>4	leshort =1		1 image in file
 
- >>>4	leshort >1		%hd images in file
 
- # From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
 
- # The description of *.mrw format can be found at
 
- # http://www.dalibor.cz/minolta/raw_file_format.htm
 
- 0	string	\000MRM			Minolta Dimage camera raw image data
 
- # Summary: DjVu image / document
 
- # Extension: .djvu
 
- # Reference: http://djvu.org/docs/DjVu3Spec.djvu
 
- # Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
 
- # Modified by (1): Abel Cheung <abelcheung@gmail.com>
 
- 0	string	AT&TFORM
 
- >12	string	DJVM		DjVu multiple page document
 
- !:mime	image/vnd.djvu
 
- >12	string	DJVU		DjVu image or single page document
 
- !:mime	image/vnd.djvu
 
- >12	string	DJVI		DjVu shared document
 
- !:mime	image/vnd.djvu
 
- >12	string	THUM		DjVu page thumbnails
 
- !:mime	image/vnd.djvu
 
- # Originally by Marc Espie
 
- # Modified by Robert Minsk <robertminsk at yahoo.com>
 
- # http://www.openexr.com/openexrfilelayout.pdf
 
- 0	lelong		20000630	OpenEXR image data,
 
- !:mime image/x-exr
 
- >4	lelong&0x000000ff x		version %d,
 
- >4	lelong		^0x00000200	storage: scanline
 
- >4	lelong		&0x00000200	storage: tiled
 
- >8	search/0x1000	compression\0	\b, compression:
 
- >>&16	byte		0		none
 
- >>&16	byte		1		rle
 
- >>&16	byte		2		zips
 
- >>&16	byte		3		zip
 
- >>&16	byte		4		piz
 
- >>&16	byte		5		pxr24
 
- >>&16	byte		6		b44
 
- >>&16	byte		7		b44a
 
- >>&16	byte		>7		unknown
 
- >8	 search/0x1000	dataWindow\0	\b, dataWindow:
 
- >>&10	lelong		x		(%d
 
- >>&14	lelong		x		%d)-
 
- >>&18	lelong		x		\b(%d
 
- >>&22	lelong		x		%d)
 
- >8	search/0x1000	displayWindow\0	\b, displayWindow:
 
- >>&10	lelong		x		(%d
 
- >>&14	lelong		x		%d)-
 
- >>&18	lelong		x		\b(%d
 
- >>&22	lelong		x		%d)
 
- >8	search/0x1000	lineOrder\0	 \b, lineOrder:
 
- >>&14	byte		0		increasing y
 
- >>&14	byte		1		decreasing y
 
- >>&14	byte		2		random y
 
- >>&14	byte		>2		unknown
 
- # SMPTE Digital Picture Exchange Format, SMPTE DPX
 
- #
 
- # ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital
 
- # Moving-Picture Exchange (DPX), v1.0, 18 February 1994
 
- # Robert Minsk <robertminsk at yahoo.com>
 
- 0	string		SDPX	DPX image data, big-endian,
 
- !:mime image/x-dpx
 
- >768	beshort		<4
 
- >>772	belong		x	%dx
 
- >>776	belong		x	\b%d,
 
- >768	beshort		>3
 
- >>776	belong		x	%dx
 
- >>772	belong		x	\b%d,
 
- >768	beshort		0	left to right/top to bottom
 
- >768	beshort		1	right to left/top to bottom
 
- >768	beshort		2	left to right/bottom to top
 
- >768	beshort		3	right to left/bottom to top
 
- >768	beshort		4	top to bottom/left to right
 
- >768	beshort		5	top to bottom/right to left
 
- >768	leshort		6	bottom to top/left to right
 
- >768	leshort		7	bottom to top/right to left
 
- # From: Tom Hilinski <tom.hilinski@comcast.net>
 
- # http://www.unidata.ucar.edu/packages/netcdf/
 
- 0	string	CDF\001			NetCDF Data Format data
 
- #-----------------------------------------------------------------------
 
- # Hierarchical Data Format, used to facilitate scientific data exchange
 
- # specifications at http://hdf.ncsa.uiuc.edu/
 
- 0	belong	0x0e031301	Hierarchical Data Format (version 4) data
 
- !:mime	application/x-hdf
 
- 0	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) data
 
- !:mime	application/x-hdf
 
- 512	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 512 bytes user block
 
- !:mime	application/x-hdf
 
- 1024	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 1k user block
 
- !:mime	application/x-hdf
 
- 2048	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 2k user block
 
- !:mime	application/x-hdf
 
- 4096	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 4k user block
 
- !:mime	application/x-hdf
 
- # From: Tobias Burnus <burnus@net-b.de>
 
- # Xara (for a while: Corel Xara) is a graphic package, see
 
- # http://www.xara.com/ for Windows and as GPL application for Linux
 
- 0	string	XARA\243\243	Xara graphics file
 
- # http://www.cartesianinc.com/Tech/
 
- 0	string	CPC\262		Cartesian Perceptual Compression image
 
- !:mime	image/x-cpi
 
- # From Albert Cahalan <acahalan@gmail.com>
 
- # puredigital used it for the CVS disposable camcorder
 
- #8       lelong  4       ZBM bitmap image data
 
- #>4      leshort x       %u x
 
- #>6      leshort x       %u
 
- # From Albert Cahalan <acahalan@gmail.com>
 
- # uncompressed 5:6:5 HighColor image for OLPC XO firmware icons
 
- 0       string C565     OLPC firmware icon image data
 
- >4      leshort x       %u x
 
- >6      leshort x       %u
 
- # Applied Images - Image files from Cytovision
 
- # Gustavo Junior Alves <gjalves@gjalves.com.br>
 
- 0	string	\xce\xda\xde\xfa	Cytovision Metaphases file
 
- 0	string	\xed\xad\xef\xac	Cytovision Karyotype file
 
- 0	string	\x0b\x00\x03\x00	Cytovision FISH Probe file
 
- 0	string	\xed\xfe\xda\xbe	Cytovision FLEX file
 
- 0	string	\xed\xab\xed\xfe	Cytovision FLEX file
 
- 0	string	\xad\xfd\xea\xad	Cytovision RATS file
 
- # Wavelet Scalar Quantization format used in gray-scale fingerprint images
 
- # From Tano M Fotang <mfotang@quanteq.com>
 
- 0	string	\xff\xa0\xff\xa8\x00	Wavelet Scalar Quantization image data
 
- # Type:		PCO B16 image files
 
- # URL:		http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf
 
- # From:		Florian Philipp <florian.philipp@binarywings.net>
 
- # Extension:	.b16
 
- # Description:	Pixel image format produced by PCO Camware, typically used
 
- #		together with PCO cameras.
 
- # Note:		Different versions exist for e.g. 8 bit and 16 bit images.
 
- #		Documentation is incomplete.
 
- 0	string/b	PCO-	PCO B16 image data
 
- >12	lelong		x	\b, %dx
 
- >16	lelong		x	\b%d
 
- >20	lelong		0	\b, short header
 
- >20	lelong		-1	\b, extended header
 
- >>24	lelong		0	\b, grayscale
 
- >>>36	lelong		0	linear LUT
 
- >>>36	lelong		1	logarithmic LUT
 
- >>>28	lelong		x	[%d
 
- >>>32	lelong		x	\b,%d]
 
- >>24	lelong		1	\b, color
 
- >>>64	lelong		0	linear LUT
 
- >>>64	lelong		1	logarithmic LUT
 
- >>>40	lelong		x	r[%d
 
- >>>44	lelong		x	\b,%d]
 
- >>>48	lelong		x	g[%d
 
- >>>52	lelong		x	\b,%d]
 
- >>>56	lelong		x	b[%d
 
- >>>60	lelong		x	\b,%d]
 
- # Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches
 
- # From: Markus Heidelberg <markus.heidelberg at web.de>
 
- 0	string/t	[BitmapInfo2]	Polar Monitor Bitmap text
 
- !:mime	image/x-polar-monitor-bitmap
 
- # From: Rick Richardson <rick.richardson@comcast.net>
 
- 0	string	GARMIN\ BITMAP\ 01	Garmin Bitmap file
 
- # Type:	Ulead Photo Explorer5 (.pe5)
 
- # URL:	http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese)
 
- # From:	Simon Horman <horms@debian.org>
 
- 0	string	IIO2H			Ulead Photo Explorer5
 
- # Type:	X11 cursor
 
- # URL:	http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup
 
- # From:	Mathias Brodala <info@noctus.net>
 
- 0	string	Xcur			X11 cursor
 
- # Type:	Olympus ORF raw images.
 
- # URL:	http://libopenraw.freedesktop.org/wiki/Olympus_ORF
 
- # From:	Adam Buchbinder <adam.buchbinder@gmail.com>
 
- 0	string		MMOR		Olympus ORF raw image data, big-endian
 
- !:mime	image/x-olympus-orf
 
- 0	string		IIRO		Olympus ORF raw image data, little-endian
 
- !:mime	image/x-olympus-orf
 
- 0	string		IIRS		Olympus ORF raw image data, little-endian
 
- !:mime	image/x-olympus-orf
 
- # Type: files used in modern AVCHD camcoders to store clip information
 
- # Extension: .cpi
 
- # From: Alexander Danilov <alexander.a.danilov@gmail.com>
 
- 0	string	HDMV0100	AVCHD Clip Information
 
- # From: Adam Buchbinder <adam.buchbinder@gmail.com>
 
- # URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/
 
- # Radiance HDR; usually has .pic or .hdr extension.
 
- 0	string	#?RADIANCE\n	Radiance HDR image data
 
- #!mime	image/vnd.radiance
 
- # From: Adam Buchbinder <adam.buchbinder@gmail.com>
 
- # URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf
 
- # Used by the pfstools packages. The regex matches for the image size could
 
- # probably use some work. The MIME type is made up; if there's one in
 
- # actual common use, it should replace the one below.
 
- 0	string	PFS1\x0a	PFS HDR image data
 
- #!mime	image/x-pfs
 
- >1	regex	[0-9]*\ 		\b, %s
 
- >>1	regex	\ [0-9]{4}		\bx%s
 
- # Type: Foveon X3F
 
- # URL:  http://www.photofo.com/downloads/x3f-raw-format.pdf
 
- # From: Adam Buchbinder <adam.buchbinder@gmail.com>
 
- # Note that the MIME type isn't defined anywhere that I can find; if
 
- # there's a canonical type for this format, it should replace this one.
 
- 0	string	FOVb	Foveon X3F raw image data
 
- !:mime	image/x-x3f
 
- >6	leshort	x	\b, version %d.
 
- >4	leshort	x	\b%d
 
- >28	lelong	x	\b, %dx
 
- >32	lelong	x	\b%d
 
- # Paint.NET file
 
- # From Adam Buchbinder <adam.buchbinder@gmail.com>
 
- 0	string	PDN3	Paint.NET image data
 
- !:mime	image/x-paintnet
 
- # Not really an image.
 
- # From: "Tano M. Fotang" <mfotang@quanteq.com>
 
- 0	string	\x46\x4d\x52\x00	ISO/IEC 19794-2 Format Minutiae Record (FMR)
 
- # WEBP https://developers.google.com/speed/webp/docs/riff_container
 
- 0	string	RIFF
 
- >8	string	WEBP	Web/P image data
 
- >>4	lelong	x	\b, %d bytes
 
 
  |