images revision 74784
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 146# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) 1470 string BM PC bitmap data 148>14 leshort 12 \b, OS/2 1.x format 149>>18 leshort x \b, %d x 150>>20 leshort x %d 151>14 leshort 64 \b, OS/2 2.x format 152>>18 leshort x \b, %d x 153>>20 leshort x %d 154>14 leshort 40 \b, Windows 3.x format 155>>18 lelong x \b, %d x 156>>22 lelong x %d x 157>>28 leshort x %d 1580 string IC PC icon data 1590 string PI PC pointer image data 1600 string CI PC color icon data 1610 string CP PC color pointer image data 162# Conflicts with other entries [BABYL] 163#0 string BA PC bitmap array data 164 165# XPM icons (Greg Roelofs, newt@uchicago.edu) 166# note possible collision with C/REXX entry in c-lang; currently commented out 1670 string /*\ XPM\ */ X pixmap image text 168 169# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 1700 leshort 0xcc52 RLE image data, 171>6 leshort x %d x 172>8 leshort x %d 173>2 leshort >0 \b, lower left corner: %d 174>4 leshort >0 \b, lower right corner: %d 175>10 byte&0x1 =0x1 \b, clear first 176>10 byte&0x2 =0x2 \b, no background 177>10 byte&0x4 =0x4 \b, alpha channel 178>10 byte&0x8 =0x8 \b, comment 179>11 byte >0 \b, %d color channels 180>12 byte >0 \b, %d bits per pixel 181>13 byte >0 \b, %d color map channels 182 183# image file format (Robert Potter, potter@cs.rochester.edu) 1840 string Imagefile\ version- iff image data 185# this adds the whole header (inc. version number), informative but longish 186>10 string >\0 %s 187 188# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 1890 belong 0x59a66a95 Sun raster image data 190>4 belong >0 \b, %d x 191>8 belong >0 %d, 192>12 belong >0 %d-bit, 193#>16 belong >0 %d bytes long, 194>20 belong 0 old format, 195#>20 belong 1 standard, 196>20 belong 2 compressed, 197>20 belong 3 RGB, 198>20 belong 4 TIFF, 199>20 belong 5 IFF, 200>20 belong 0xffff reserved for testing, 201>24 belong 0 no colormap 202>24 belong 1 RGB colormap 203>24 belong 2 raw colormap 204#>28 belong >0 colormap is %d bytes long 205 206# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 207# 208# See 209# http://reality.sgi.com/grafica/sgiimage.html 210# 2110 beshort 474 SGI image data 212#>2 byte 0 \b, verbatim 213>2 byte 1 \b, RLE 214#>3 byte 1 \b, normal precision 215>3 byte 2 \b, high precision 216>4 beshort x \b, %d-D 217>6 beshort x \b, %d x 218>8 beshort x %d 219>10 beshort x \b, %d channel 220>10 beshort !1 \bs 221>80 string >0 \b, "%s" 222 2230 string IT01 FIT image data 224>4 belong x \b, %d x 225>8 belong x %d x 226>12 belong x %d 227# 2280 string IT02 FIT image data 229>4 belong x \b, %d x 230>8 belong x %d x 231>12 belong x %d 232# 2332048 string PCD_IPI Kodak Photo CD image pack file 2340 string PCD_OPA Kodak Photo CD overview pack file 235 236# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 237# FITS is the Flexible Image Transport System, the de facto standard for 238# data and image transfer, storage, etc., for the astronomical community. 239# (FITS floating point formats are big-endian.) 2400 string SIMPLE\ \ = FITS image data 241>109 string 8 \b, 8-bit, character or unsigned binary integer 242>108 string 16 \b, 16-bit, two's complement binary integer 243>107 string \ 32 \b, 32-bit, two's complement binary integer 244>107 string -32 \b, 32-bit, floating point, single precision 245>107 string -64 \b, 64-bit, floating point, double precision 246 247# other images 2480 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 2490 string !! Bennet Yee's "face" format 250 251# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 252# stuff. 253# 2540 beshort 0x1010 PEX Binary Archive 255 256# Visio drawings 25703000 string Visio\ (TM)\ Drawing %s 258 259# Tgif files 2600 string \%TGIF\ x Tgif file version %s 261 262# DICOM medical imaging data 263128 string DICM DICOM medical imaging data 264 265# XWD - X-Windows Dump file. 266# As described in /usr/X11R6/include/X11/XWDFile.h 267# used by the xwd program. 268# Bradford Castalia, idaeim, 1/01 2694 belong 7 XWD X-Widows Dump image data 270>100 string >\0 \b, "%s" 271>16 belong x \b, %dx 272>20 belong x \b%dx 273>12 belong x \b%d 274 275# PDS - Planetary Data System 276# These files use Parameter Value Language in the header section. 277# Unfortunately, there is no certain magic, but the following 278# strings have been found to be most likely. 2790 string NJPL1I00 PDS (JPL) image data 2802 string NJPL1I PDS (JPL) image data 2810 string CCSD3ZF PDS (CCSD) image data 2822 string CCSD3Z PDS (CCSD) image data 2830 string PDS_ PDS image data 2840 string LBLSIZE= PDS (VICAR) image data 285 2860 string GSTIm GNU SmallTalk image file 287 288# pM8x: ATARI STAD compressed bitmap format 289# 290# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 291# p M 8 5/6 xx yy zz data... 292# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 293# bytes either run horizontally (pM85) or vertically (pM86). yy is the 294# most frequent byte, xx and zz are runlength escape codes, where xx is 295# used for runs of yy. 296# 2970 string pM85 Atari ST STAD bitmap image data (hor) 298>5 byte 0x00 (white background) 299>5 byte 0xFF (black background) 3000 string pM86 Atari ST STAD bitmap image data (vert) 301>5 byte 0x00 (white background) 302>5 byte 0xFF (black background) 303