images revision 169962
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 20>12 leshort >0 %hd x 21>14 leshort >0 %hd 221 belong&0xfff7ffff 0x00020000 Targa image data - RGB 23>2 byte&8 8 - RLE 24>12 leshort >0 %hd x 25>14 leshort >0 %hd 261 belong&0xfff7ffff 0x00030000 Targa image data - Mono 27>2 byte&8 8 - RLE 28>12 leshort >0 %hd x 29>14 leshort >0 %hd 30 31# PBMPLUS images 32# The next byte following the magic is always whitespace. 330 string P1 Netpbm PBM image text 340 string P2 Netpbm PGM image text 350 string P3 Netpbm PPM image text 360 string P4 Netpbm PBM "rawbits" image data 370 string P5 Netpbm PGM "rawbits" image data 380 string P6 Netpbm PPM "rawbits" image data 390 string P7 Netpbm PAM image file 40 41# From: bryanh@giraffe-data.com (Bryan Henderson) 420 string \117\072 Solitaire Image Recorder format 43>4 string \013 MGI Type 11 44>4 string \021 MGI Type 17 450 string .MDA MicroDesign data 46>21 byte 48 version 2 47>21 byte 51 version 3 480 string .MDP MicroDesign page data 49>21 byte 48 version 2 50>21 byte 51 version 3 51 52# NIFF (Navy Interchange File Format, a modification of TIFF) images 530 string IIN1 NIFF image data 54 55# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 56# The second word of TIFF files is the TIFF version number, 42, which has 57# never changed. The TIFF specification recommends testing for it. 580 string MM\x00\x2a TIFF image data, big-endian 590 string II\x2a\x00 TIFF image data, little-endian 60 61# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 62# (Greg Roelofs, newt@uchicago.edu) 63# (Albert Cahalan, acahalan@cs.uml.edu) 64# 65# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... 66# 670 string \x89PNG PNG image data, 68>4 belong !0x0d0a1a0a CORRUPTED, 69>4 belong 0x0d0a1a0a 70>>16 belong x %ld x 71>>20 belong x %ld, 72>>24 byte x %d-bit 73>>25 byte 0 grayscale, 74>>25 byte 2 \b/color RGB, 75>>25 byte 3 colormap, 76>>25 byte 4 gray+alpha, 77>>25 byte 6 \b/color RGBA, 78#>>26 byte 0 deflate/32K, 79>>28 byte 0 non-interlaced 80>>28 byte 1 interlaced 811 string PNG PNG image data, CORRUPTED 82 83# GIF 840 string GIF8 GIF image data 85>4 string 7a \b, version 8%s, 86>4 string 9a \b, version 8%s, 87>6 leshort >0 %hd x 88>8 leshort >0 %hd 89#>10 byte &0x80 color mapped, 90#>10 byte&0x07 =0x00 2 colors 91#>10 byte&0x07 =0x01 4 colors 92#>10 byte&0x07 =0x02 8 colors 93#>10 byte&0x07 =0x03 16 colors 94#>10 byte&0x07 =0x04 32 colors 95#>10 byte&0x07 =0x05 64 colors 96#>10 byte&0x07 =0x06 128 colors 97#>10 byte&0x07 =0x07 256 colors 98 99# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 100# 1 plane, no encoding. 1010 string \361\0\100\273 CMU window manager raster image data 102>4 lelong >0 %d x 103>8 lelong >0 %d, 104>12 lelong >0 %d-bit 105 106# Magick Image File Format 1070 string id=ImageMagick MIFF image data 108 109# Artisan 1100 long 1123028772 Artisan image data 111>4 long 1 \b, rectangular 24-bit 112>4 long 2 \b, rectangular 8-bit with colormap 113>4 long 3 \b, rectangular 32-bit (24-bit with matte) 114 115# FIG (Facility for Interactive Generation of figures), an object-based format 1160 string #FIG FIG image text 117>5 string x \b, version %.3s 118 119# PHIGS 1200 string ARF_BEGARF PHIGS clear text archive 1210 string @(#)SunPHIGS SunPHIGS 122# version number follows, in the form m.n 123>40 string SunBin binary 124>32 string archive archive 125 126# GKS (Graphics Kernel System) 1270 string GKSM GKS Metafile 128>24 string SunGKS \b, SunGKS 129 130# CGM image files 1310 string BEGMF clear text Computer Graphics Metafile 132# XXX - questionable magic 1330 beshort&0xffe0 0x0020 binary Computer Graphics Metafile 1340 beshort 0x3020 character Computer Graphics Metafile 135 136# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 1370 string yz MGR bitmap, modern format, 8-bit aligned 1380 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 1390 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 1400 string yx MGR bitmap, modern format, squeezed 141 142# Fuzzy Bitmap (FBM) images 1430 string %bitmap\0 FBM image data 144>30 long 0x31 \b, mono 145>30 long 0x33 \b, color 146 147# facsimile data 1481 string PC\ Research,\ Inc group 3 fax data 149>29 byte 0 \b, normal resolution (204x98 DPI) 150>29 byte 1 \b, fine resolution (204x196 DPI) 151# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> 1520 string Sfff structured fax file 153 154 155# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) 1560 string BM PC bitmap data 157>14 leshort 12 \b, OS/2 1.x format 158>>18 leshort x \b, %d x 159>>20 leshort x %d 160>14 leshort 64 \b, OS/2 2.x format 161>>18 leshort x \b, %d x 162>>20 leshort x %d 163>14 leshort 40 \b, Windows 3.x format 164>>18 lelong x \b, %d x 165>>22 lelong x %d x 166>>28 leshort x %d 167# Too simple - MPi 168#0 string IC PC icon data 169#0 string PI PC pointer image data 170#0 string CI PC color icon data 171#0 string CP PC color pointer image data 172# Conflicts with other entries [BABYL] 173#0 string BA PC bitmap array data 174 175# XPM icons (Greg Roelofs, newt@uchicago.edu) 176# note possible collision with C/REXX entry in c-lang; currently commented out 1770 string /*\ XPM\ */ X pixmap image text 178 179# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 1800 leshort 0xcc52 RLE image data, 181>6 leshort x %d x 182>8 leshort x %d 183>2 leshort >0 \b, lower left corner: %d 184>4 leshort >0 \b, lower right corner: %d 185>10 byte&0x1 =0x1 \b, clear first 186>10 byte&0x2 =0x2 \b, no background 187>10 byte&0x4 =0x4 \b, alpha channel 188>10 byte&0x8 =0x8 \b, comment 189>11 byte >0 \b, %d color channels 190>12 byte >0 \b, %d bits per pixel 191>13 byte >0 \b, %d color map channels 192 193# image file format (Robert Potter, potter@cs.rochester.edu) 1940 string Imagefile\ version- iff image data 195# this adds the whole header (inc. version number), informative but longish 196>10 string >\0 %s 197 198# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 1990 belong 0x59a66a95 Sun raster image data 200>4 belong >0 \b, %d x 201>8 belong >0 %d, 202>12 belong >0 %d-bit, 203#>16 belong >0 %d bytes long, 204>20 belong 0 old format, 205#>20 belong 1 standard, 206>20 belong 2 compressed, 207>20 belong 3 RGB, 208>20 belong 4 TIFF, 209>20 belong 5 IFF, 210>20 belong 0xffff reserved for testing, 211>24 belong 0 no colormap 212>24 belong 1 RGB colormap 213>24 belong 2 raw colormap 214#>28 belong >0 colormap is %d bytes long 215 216# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 217# 218# See 219# http://reality.sgi.com/grafica/sgiimage.html 220# 2210 beshort 474 SGI image data 222#>2 byte 0 \b, verbatim 223>2 byte 1 \b, RLE 224#>3 byte 1 \b, normal precision 225>3 byte 2 \b, high precision 226>4 beshort x \b, %d-D 227>6 beshort x \b, %d x 228>8 beshort x %d 229>10 beshort x \b, %d channel 230>10 beshort !1 \bs 231>80 string >0 \b, "%s" 232 2330 string IT01 FIT image data 234>4 belong x \b, %d x 235>8 belong x %d x 236>12 belong x %d 237# 2380 string IT02 FIT image data 239>4 belong x \b, %d x 240>8 belong x %d x 241>12 belong x %d 242# 2432048 string PCD_IPI Kodak Photo CD image pack file 244>0xe02 byte&0x03 0x00 , landscape mode 245>0xe02 byte&0x03 0x01 , portrait mode 246>0xe02 byte&0x03 0x02 , landscape mode 247>0xe02 byte&0x03 0x03 , portrait mode 2480 string PCD_OPA Kodak Photo CD overview pack file 249 250# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 251# FITS is the Flexible Image Transport System, the de facto standard for 252# data and image transfer, storage, etc., for the astronomical community. 253# (FITS floating point formats are big-endian.) 2540 string SIMPLE\ \ = FITS image data 255>109 string 8 \b, 8-bit, character or unsigned binary integer 256>108 string 16 \b, 16-bit, two's complement binary integer 257>107 string \ 32 \b, 32-bit, two's complement binary integer 258>107 string -32 \b, 32-bit, floating point, single precision 259>107 string -64 \b, 64-bit, floating point, double precision 260 261# other images 2620 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 2630 string =!! Bennet Yee's "face" format 264 265# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 266# stuff. 267# 2680 beshort 0x1010 PEX Binary Archive 269 270# DICOM medical imaging data 271128 string DICM DICOM medical imaging data 272 273# XWD - X Window Dump file. 274# As described in /usr/X11R6/include/X11/XWDFile.h 275# used by the xwd program. 276# Bradford Castalia, idaeim, 1/01 2774 belong 7 XWD X Window Dump image data 278>100 string >\0 \b, "%s" 279>16 belong x \b, %dx 280>20 belong x \b%dx 281>12 belong x \b%d 282 283# PDS - Planetary Data System 284# These files use Parameter Value Language in the header section. 285# Unfortunately, there is no certain magic, but the following 286# strings have been found to be most likely. 2870 string NJPL1I00 PDS (JPL) image data 2882 string NJPL1I PDS (JPL) image data 2890 string CCSD3ZF PDS (CCSD) image data 2902 string CCSD3Z PDS (CCSD) image data 2910 string PDS_ PDS image data 2920 string LBLSIZE= PDS (VICAR) image data 293 294# pM8x: ATARI STAD compressed bitmap format 295# 296# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 297# p M 8 5/6 xx yy zz data... 298# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 299# bytes either run horizontally (pM85) or vertically (pM86). yy is the 300# most frequent byte, xx and zz are runlength escape codes, where xx is 301# used for runs of yy. 302# 3030 string pM85 Atari ST STAD bitmap image data (hor) 304>5 byte 0x00 (white background) 305>5 byte 0xFF (black background) 3060 string pM86 Atari ST STAD bitmap image data (vert) 307>5 byte 0x00 (white background) 308>5 byte 0xFF (black background) 309 310# G��rkan Seng��n <gurkan@linuks.mine.nu>, www.linuks.mine.nu 311# http://www.atarimax.com/jindroush.atari.org/afmtatr.html 3120 leshort 0x0296 Atari ATR image 313 314# XXX: 315# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 316# magic. 317# SGI RICE image file <mpruett@sgi.com> 318#0 beshort 0x5249 RICE image 319#>2 beshort x v%d 320#>4 beshort x (%d x 321#>6 beshort x %d) 322#>8 beshort 0 8 bit 323#>8 beshort 1 10 bit 324#>8 beshort 2 12 bit 325#>8 beshort 3 13 bit 326#>10 beshort 0 4:2:2 327#>10 beshort 1 4:2:2:4 328#>10 beshort 2 4:4:4 329#>10 beshort 3 4:4:4:4 330#>12 beshort 1 RGB 331#>12 beshort 2 CCIR601 332#>12 beshort 3 RP175 333#>12 beshort 4 YUV 334 335#------------------------------------------------------------------------------ 336# 337# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image file format 338# for the EPOC operating system, which is used with PDAs like those from Psion 339# 340# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description 341# of various EPOC file formats 342 3430 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file 344 345# PCX image files 346# From: Dan Fandrich <dan@coneharvesters.com> 3470 beshort 0x0a00 PCX ver. 2.5 image data 3480 beshort 0x0a02 PCX ver. 2.8 image data, with palette 3490 beshort 0x0a03 PCX ver. 2.8 image data, without palette 3500 beshort 0x0a04 PCX for Windows image data 3510 beshort 0x0a05 PCX ver. 3.0 image data 352>4 leshort x bounding box [%hd, 353>6 leshort x %hd] - 354>8 leshort x [%hd, 355>10 leshort x %hd], 356>65 byte >1 %d planes each of 357>3 byte x %hhd-bit 358>68 byte 0 image, 359>68 byte 1 colour, 360>68 byte 2 grayscale, 361>68 byte >2 image, 362>68 byte <0 image, 363>12 leshort >0 %hd x 364>>14 leshort x %hd dpi, 365>2 byte 0 uncompressed 366>2 byte 1 RLE compressed 367 368# Adobe Photoshop 3690 string 8BPS Adobe Photoshop Image 370 371# XV thumbnail indicator (ThMO) 3720 string P7\ 332 XV thumbnail image data 373 374# NITF is defined by United States MIL-STD-2500A 3750 string NITF National Imagery Transmission Format 376>25 string >\0 dated %.14s 377 378# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 3790 belong 0x00010008 GEM Image data 380>12 beshort x %d x 381>14 beshort x %d, 382>4 beshort x %d planes, 383>8 beshort x %d x 384>10 beshort x %d pixelsize 385 386# GEM Metafile (Wolfram Kleff) 3870 lelong 0x0018FFFF GEM Metafile data 388>4 leshort x version %d 389 390# 391# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 392# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 393# 3940 string \0\nSMJPEG SMJPEG 395>8 belong x %d.x data 396# According to the specification you could find any number of _TXT 397# headers here, but I can't think of any way of handling that. None of 398# the SMJPEG files I tried it on used this feature. Even if such a 399# file is encountered the output should still be reasonable. 400>16 string _SND \b, 401>>24 beshort >0 %d Hz 402>>26 byte 8 8-bit 403>>26 byte 16 16-bit 404>>28 string NONE uncompressed 405# >>28 string APCM ADPCM compressed 406>>27 byte 1 mono 407>>28 byte 2 stereo 408# Help! Isn't there any way to avoid writing this part twice? 409>>32 string _VID \b, 410# >>>48 string JFIF JPEG 411>>>40 belong >0 %d frames 412>>>44 beshort >0 (%d x 413>>>46 beshort >0 %d) 414>16 string _VID \b, 415# >>32 string JFIF JPEG 416>>24 belong >0 %d frames 417>>28 beshort >0 (%d x 418>>30 beshort >0 %d) 419 4200 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 421 422# "thumbnail file" (icon) 423# descended from "xv", but in use by other applications as well (Wolfram Kleff) 4240 string P7\ 332 XV "thumbnail file" (icon) data 425 426# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 4270 string KiSS KISS/GS 428>4 byte 16 color 429>>5 byte x %d bit 430>>8 leshort x %d colors 431>>10 leshort x %d groups 432>4 byte 32 cell 433>>5 byte x %d bit 434>>8 leshort x %d x 435>>10 leshort x %d 436>>12 leshort x +%d 437>>14 leshort x +%d 438 439# Webshots (www.webshots.com), by John Harrison 4400 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 441 442# Hercules DASD image files 443# From Jan Jaeger <jj@septa.nl> 4440 string CKD_P370 Hercules CKD DASD image file 445>8 long x \b, %d heads per cylinder 446>12 long x \b, track size %d bytes 447>16 byte x \b, device type 33%2.2X 448 4490 string CKD_C370 Hercules compressed CKD DASD image file 450>8 long x \b, %d heads per cylinder 451>12 long x \b, track size %d bytes 452>16 byte x \b, device type 33%2.2X 453 4540 string CKD_S370 Hercules CKD DASD shadow file 455>8 long x \b, %d heads per cylinder 456>12 long x \b, track size %d bytes 457>16 byte x \b, device type 33%2.2X 458 459# Squeak images and - etoffi@softhome.net 4600 string \146\031\0\0 Squeak image data 4610 string 'From\040Squeak Squeak program text 462 463# partimage: file(1) magic for PartImage files (experimental, incomplete) 464# Author: Hans-Joachim Baader <hjb@pro-linux.de> 4650 string PaRtImAgE-VoLuMe PartImage 466>0x0020 string 0.6.1 file version %s 467>>0x0060 lelong >-1 volume %ld 468#>>0x0064 8 byte identifier 469#>>0x007c reserved 470>>0x0200 string >\0 type %s 471>>0x1400 string >\0 device %s, 472>>0x1600 string >\0 original filename %s, 473# Some fields omitted 474>>0x2744 lelong 0 not compressed 475>>0x2744 lelong 1 gzip compressed 476>>0x2744 lelong 2 bzip2 compressed 477>>0x2744 lelong >2 compressed with unknown algorithm 478>0x0020 string >0.6.1 file version %s 479>0x0020 string <0.6.1 file version %s 480 481# DCX is multi-page PCX, using a simple header of up to 1024 482# offsets for the respective PCX components. 483# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 4840 lelong 987654321 DCX multi-page PCX image data 485 486# Simon Walton <simonw@matteworld.com> 487# Kodak Cineon format for scanned negatives 488# http://www.kodak.com/US/en/motion/support/dlad/ 4890 lelong 0xd75f2a80 Cineon image data 490>200 belong >0 \b, %ld x 491>204 belong >0 %ld 492 493 494# Bio-Rad .PIC is an image format used by microscope control systems 495# and related image processing software used by biologists. 496# From: Vebjorn Ljosa <vebjorn@ljosa.com> 49754 leshort 12345 Bio-Rad .PIC Image File 498>0 leshort >0 %hd x 499>2 leshort >0 %hd, 500>4 leshort =1 1 image in file 501>4 leshort >1 %hd images in file 502 503# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 504# The description of *.mrw format can be found at 505# http://www.dalibor.cz/minolta/raw_file_format.htm 5060 string \000MRM Minolta Dimage camera raw image data 507 508# From: stephane.loeuillet@tiscali.f 509# http://www.djvuzone.org/ 5100 string AT&TFORM DjVu Image file 511 512# From: Jason Bacon <bacon@smithers.neuro.mcw.edu> 5130 beshort 0x3020 character Computer Graphics Metafile 514 515# From Marc Espie 5160 lelong 20000630 OpenEXR image data 517 518# From: Tom Hilinski <tom.hilinski@comcast.net> 519# http://www.unidata.ucar.edu/packages/netcdf/ 5200 string CDF\001 NetCDF Data Format data 521 522#----------------------------------------------------------------------- 523# Hierarchical Data Format, used to facilitate scientific data exchange 524# specifications at http://hdf.ncsa.uiuc.edu/ 5250 belong 0x0e031301 Hierarchical Data Format (version 4) data 5260 string \211HDF\r\n\032 Hierarchical Data Format (version 5) data 527 528# From: Tobias Burnus <burnus@net-b.de> 529# Xara (for a while: Corel Xara) is a graphic package, see 530# http://www.xara.com/ for Windows and as GPL application for 5310 string XARA\243\243 Xara graphics file 532