images revision 68349
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 PBM image text 280 string P2 PGM image text 290 string P3 PPM image text 300 string P4 PBM "rawbits" image data 310 string P5 PGM "rawbits" image data 320 string P6 PPM "rawbits" image data 33 34# NIFF (Navy Interchange File Format, a modification of TIFF) images 350 string IIN1 NIFF image data 36 37# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 38# The second word of TIFF files is the TIFF version number, 42, which has 39# never changed. The TIFF specification recommends testing for it. 400 string MM\x00\x2a TIFF image data, big-endian 410 string II\x2a\x00 TIFF image data, little-endian 42 43# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 44# (Greg Roelofs, newt@uchicago.edu) 45# (Albert Cahalan, acahalan@cs.uml.edu) 46# 47# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... 48# 490 string \x89PNG PNG image data, 50>4 belong !0x0d0a1a0a CORRUPTED, 51>4 belong 0x0d0a1a0a 52>>16 belong x %ld x 53>>20 belong x %ld, 54>>24 byte x %d-bit 55>>25 byte 0 grayscale, 56>>25 byte 2 \b/color RGB, 57>>25 byte 3 colormap, 58>>25 byte 4 gray+alpha, 59>>25 byte 6 \b/color RGBA, 60#>>26 byte 0 deflate/32K, 61>>28 byte 0 non-interlaced 62>>28 byte 1 interlaced 631 string PNG PNG image data, CORRUPTED 64 65# GIF 660 string GIF8 GIF image data 67>4 string 7a \b, version 8%s, 68>4 string 9a \b, version 8%s, 69>6 leshort >0 %hd x 70>8 leshort >0 %hd, 71#>10 byte &0x80 color mapped, 72#>10 byte&0x07 =0x00 2 colors 73#>10 byte&0x07 =0x01 4 colors 74#>10 byte&0x07 =0x02 8 colors 75#>10 byte&0x07 =0x03 16 colors 76#>10 byte&0x07 =0x04 32 colors 77#>10 byte&0x07 =0x05 64 colors 78#>10 byte&0x07 =0x06 128 colors 79#>10 byte&0x07 =0x07 256 colors 80 81# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 82# 1 plane, no encoding. 830 string \361\0\100\273 CMU window manager raster image data 84>4 lelong >0 %d x 85>8 lelong >0 %d, 86>12 lelong >0 %d-bit 87 88# Magick Image File Format 890 string id=ImageMagick MIFF image data 90 91# Artisan 920 long 1123028772 Artisan image data 93>4 long 1 \b, rectangular 24-bit 94>4 long 2 \b, rectangular 8-bit with colormap 95>4 long 3 \b, rectangular 32-bit (24-bit with matte) 96 97# FIG (Facility for Interactive Generation of figures), an object-based format 980 string #FIG FIG image text 99>5 string x \b, version %.3s 100 101# PHIGS 1020 string ARF_BEGARF PHIGS clear text archive 1030 string @(#)SunPHIGS SunPHIGS 104# version number follows, in the form m.n 105>40 string SunBin binary 106>32 string archive archive 107 108# GKS (Graphics Kernel System) 1090 string GKSM GKS Metafile 110>24 string SunGKS \b, SunGKS 111 112# CGM image files 1130 string BEGMF clear text Computer Graphics Metafile 114# XXX - questionable magic 1150 beshort&0xffe0 0x0020 binary Computer Graphics Metafile 1160 beshort 0x3020 character Computer Graphics Metafile 117 118# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 1190 string yz MGR bitmap, modern format, 8-bit aligned 1200 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 1210 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 1220 string yx MGR bitmap, modern format, squeezed 123 124# Fuzzy Bitmap (FBM) images 1250 string %bitmap\0 FBM image data 126>30 long 0x31 \b, mono 127>30 long 0x33 \b, color 128 129# facsimile data 1301 string PC\ Research,\ Inc group 3 fax data 131>29 byte 0 \b, normal resolution (204x98 DPI) 132>29 byte 1 \b, fine resolution (204x196 DPI) 133 134# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) 1350 string BM PC bitmap data 136>14 leshort 12 \b, OS/2 1.x format 137>>18 leshort x \b, %d x 138>>20 leshort x %d 139>14 leshort 64 \b, OS/2 2.x format 140>>18 leshort x \b, %d x 141>>20 leshort x %d 142>14 leshort 40 \b, Windows 3.x format 143>>18 lelong x \b, %d x 144>>22 lelong x %d x 145>>28 leshort x %d 1460 string IC PC icon data 1470 string PI PC pointer image data 1480 string CI PC color icon data 1490 string CP PC color pointer image data 150# Conflicts with other entries [BABYL] 151#0 string BA PC bitmap array data 152 153# JPEG images 154# SunOS 5.5.1 had 155# 156# 0 string \377\330\377\340 JPEG file 157# 0 string \377\330\377\356 JPG file 158# 159# both of which turn into "JPEG image data" here. 160# 1610 beshort 0xffd8 JPEG image data 162>6 string JFIF \b, JFIF standard 163# HSI is Handmade Software's proprietary JPEG encoding scheme 1640 string hsi1 JPEG image data, HSI proprietary 165 166# XPM icons (Greg Roelofs, newt@uchicago.edu) 167# note possible collision with C/REXX entry in c-lang; currently commented out 1680 string /*\ XPM\ */ X pixmap image text 169 170# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 1710 leshort 0xcc52 RLE image data, 172>6 leshort x %d x 173>8 leshort x %d 174>2 leshort >0 \b, lower left corner: %d 175>4 leshort >0 \b, lower right corner: %d 176>10 byte&0x1 =0x1 \b, clear first 177>10 byte&0x2 =0x2 \b, no background 178>10 byte&0x4 =0x4 \b, alpha channel 179>10 byte&0x8 =0x8 \b, comment 180>11 byte >0 \b, %d color channels 181>12 byte >0 \b, %d bits per pixel 182>13 byte >0 \b, %d color map channels 183 184# image file format (Robert Potter, potter@cs.rochester.edu) 1850 string Imagefile\ version- iff image data 186# this adds the whole header (inc. version number), informative but longish 187>10 string >\0 %s 188 189# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 1900 belong 0x59a66a95 Sun raster image data 191>4 belong >0 \b, %d x 192>8 belong >0 %d, 193>12 belong >0 %d-bit, 194#>16 belong >0 %d bytes long, 195>20 belong 0 old format, 196#>20 belong 1 standard, 197>20 belong 2 compressed, 198>20 belong 3 RGB, 199>20 belong 4 TIFF, 200>20 belong 5 IFF, 201>20 belong 0xffff reserved for testing, 202>24 belong 0 no colormap 203>24 belong 1 RGB colormap 204>24 belong 2 raw colormap 205#>28 belong >0 colormap is %d bytes long 206 207# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 208# 209# See 210# http://reality.sgi.com/grafica/sgiimage.html 211# 2120 beshort 474 SGI image data 213#>2 byte 0 \b, verbatim 214>2 byte 1 \b, RLE 215#>3 byte 1 \b, normal precision 216>3 byte 2 \b, high precision 217>4 beshort x \b, %d-D 218>6 beshort x \b, %d x 219>8 beshort x %d 220>10 beshort x \b, %d channel 221>10 beshort !1 \bs 222>80 string >0 \b, "%s" 223 2240 string IT01 FIT image data 225>4 belong x \b, %d x 226>8 belong x %d x 227>12 belong x %d 228# 2290 string IT02 FIT image data 230>4 belong x \b, %d x 231>8 belong x %d x 232>12 belong x %d 233# 2342048 string PCD_IPI Kodak Photo CD image pack file 2350 string PCD_OPA Kodak Photo CD overview pack file 236 237# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 238# FITS is the Flexible Image Transport System, the de facto standard for 239# data and image transfer, storage, etc., for the astronomical community. 240# (FITS floating point formats are big-endian.) 2410 string SIMPLE\ \ = FITS image data 242>109 string 8 \b, 8-bit, character or unsigned binary integer 243>108 string 16 \b, 16-bit, two's complement binary integer 244>107 string \ 32 \b, 32-bit, two's complement binary integer 245>107 string -32 \b, 32-bit, floating point, single precision 246>107 string -64 \b, 64-bit, floating point, double precision 247 248# other images 2490 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 2500 string !! Bennet Yee's "face" format 251 252# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 253# stuff. 254# 2550 beshort 0x1010 PEX Binary Archive 256 257# Visio drawings 25803000 string Visio\ (TM)\ Drawing %s 259 260# Tgif files 2610 string \%TGIF\ x Tgif file version %s 262 263# DICOM medical imaging data 264128 string DICM DICOM medical imaging data 265