images revision 84685
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 234>0xe02 byte&0x03 0x00 , landscape mode 235>0xe02 byte&0x03 0x01 , portrait mode 236>0xe02 byte&0x03 0x02 , landscape mode 237>0xe02 byte&0x03 0x03 , portrait mode 2380 string PCD_OPA Kodak Photo CD overview pack file 239 240# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 241# FITS is the Flexible Image Transport System, the de facto standard for 242# data and image transfer, storage, etc., for the astronomical community. 243# (FITS floating point formats are big-endian.) 2440 string SIMPLE\ \ = FITS image data 245>109 string 8 \b, 8-bit, character or unsigned binary integer 246>108 string 16 \b, 16-bit, two's complement binary integer 247>107 string \ 32 \b, 32-bit, two's complement binary integer 248>107 string -32 \b, 32-bit, floating point, single precision 249>107 string -64 \b, 64-bit, floating point, double precision 250 251# other images 2520 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 2530 string !! Bennet Yee's "face" format 254 255# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 256# stuff. 257# 2580 beshort 0x1010 PEX Binary Archive 259 260# Visio drawings 26103000 string Visio\ (TM)\ Drawing %s 262 263# Tgif files 2640 string \%TGIF\ x Tgif file version %s 265 266# DICOM medical imaging data 267128 string DICM DICOM medical imaging data 268 269# XWD - X-Windows Dump file. 270# As described in /usr/X11R6/include/X11/XWDFile.h 271# used by the xwd program. 272# Bradford Castalia, idaeim, 1/01 2734 belong 7 XWD X-Windows Dump image data 274>100 string >\0 \b, "%s" 275>16 belong x \b, %dx 276>20 belong x \b%dx 277>12 belong x \b%d 278 279# PDS - Planetary Data System 280# These files use Parameter Value Language in the header section. 281# Unfortunately, there is no certain magic, but the following 282# strings have been found to be most likely. 2830 string NJPL1I00 PDS (JPL) image data 2842 string NJPL1I PDS (JPL) image data 2850 string CCSD3ZF PDS (CCSD) image data 2862 string CCSD3Z PDS (CCSD) image data 2870 string PDS_ PDS image data 2880 string LBLSIZE= PDS (VICAR) image data 289 290# pM8x: ATARI STAD compressed bitmap format 291# 292# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 293# p M 8 5/6 xx yy zz data... 294# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 295# bytes either run horizontally (pM85) or vertically (pM86). yy is the 296# most frequent byte, xx and zz are runlength escape codes, where xx is 297# used for runs of yy. 298# 2990 string pM85 Atari ST STAD bitmap image data (hor) 300>5 byte 0x00 (white background) 301>5 byte 0xFF (black background) 3020 string pM86 Atari ST STAD bitmap image data (vert) 303>5 byte 0x00 (white background) 304>5 byte 0xFF (black background) 305 306# XXX: 307# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 308# magic. 309# SGI RICE image file <mpruett@sgi.com> 310#0 beshort 0x5249 RICE image 311#>2 beshort x v%d 312#>4 beshort x (%d x 313#>6 beshort x %d) 314#>8 beshort 0 8 bit 315#>8 beshort 1 10 bit 316#>8 beshort 2 12 bit 317#>8 beshort 3 13 bit 318#>10 beshort 0 4:2:2 319#>10 beshort 1 4:2:2:4 320#>10 beshort 2 4:4:4 321#>10 beshort 3 4:4:4:4 322#>12 beshort 1 RGB 323#>12 beshort 2 CCIR601 324#>12 beshort 3 RP175 325#>12 beshort 4 YUV 326 327#------------------------------------------------------------------------------ 328# 329# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image file format 330# for the EPOC operating system, which is used with PDAs like those from Psion 331# 332# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description 333# of various EPOC file formats 334 3350 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file 336