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