images revision 169942
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# Tgif files 2710 string \%TGIF\ x Tgif file version %s 272 273# DICOM medical imaging data 274128 string DICM DICOM medical imaging data 275 276# XWD - X Window Dump file. 277# As described in /usr/X11R6/include/X11/XWDFile.h 278# used by the xwd program. 279# Bradford Castalia, idaeim, 1/01 2804 belong 7 XWD X Window Dump image data 281>100 string >\0 \b, "%s" 282>16 belong x \b, %dx 283>20 belong x \b%dx 284>12 belong x \b%d 285 286# PDS - Planetary Data System 287# These files use Parameter Value Language in the header section. 288# Unfortunately, there is no certain magic, but the following 289# strings have been found to be most likely. 2900 string NJPL1I00 PDS (JPL) image data 2912 string NJPL1I PDS (JPL) image data 2920 string CCSD3ZF PDS (CCSD) image data 2932 string CCSD3Z PDS (CCSD) image data 2940 string PDS_ PDS image data 2950 string LBLSIZE= PDS (VICAR) image data 296 297# pM8x: ATARI STAD compressed bitmap format 298# 299# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 300# p M 8 5/6 xx yy zz data... 301# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 302# bytes either run horizontally (pM85) or vertically (pM86). yy is the 303# most frequent byte, xx and zz are runlength escape codes, where xx is 304# used for runs of yy. 305# 3060 string pM85 Atari ST STAD bitmap image data (hor) 307>5 byte 0x00 (white background) 308>5 byte 0xFF (black background) 3090 string pM86 Atari ST STAD bitmap image data (vert) 310>5 byte 0x00 (white background) 311>5 byte 0xFF (black background) 312 313# XXX: 314# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 315# magic. 316# SGI RICE image file <mpruett@sgi.com> 317#0 beshort 0x5249 RICE image 318#>2 beshort x v%d 319#>4 beshort x (%d x 320#>6 beshort x %d) 321#>8 beshort 0 8 bit 322#>8 beshort 1 10 bit 323#>8 beshort 2 12 bit 324#>8 beshort 3 13 bit 325#>10 beshort 0 4:2:2 326#>10 beshort 1 4:2:2:4 327#>10 beshort 2 4:4:4 328#>10 beshort 3 4:4:4:4 329#>12 beshort 1 RGB 330#>12 beshort 2 CCIR601 331#>12 beshort 3 RP175 332#>12 beshort 4 YUV 333 334#------------------------------------------------------------------------------ 335# 336# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image file format 337# for the EPOC operating system, which is used with PDAs like those from Psion 338# 339# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description 340# of various EPOC file formats 341 3420 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file 343 344# PCX image files 345# From: Dan Fandrich <dan@coneharvesters.com> 3460 beshort 0x0a00 PCX ver. 2.5 image data 3470 beshort 0x0a02 PCX ver. 2.8 image data, with palette 3480 beshort 0x0a03 PCX ver. 2.8 image data, without palette 3490 beshort 0x0a04 PCX for Windows image data 3500 beshort 0x0a05 PCX ver. 3.0 image data 351>4 leshort x bounding box [%hd, 352>6 leshort x %hd] - 353>8 leshort x [%hd, 354>10 leshort x %hd], 355>65 byte >1 %d planes each of 356>3 byte x %hhd-bit 357>68 byte 0 image, 358>68 byte 1 colour, 359>68 byte 2 grayscale, 360>68 byte >2 image, 361>68 byte <0 image, 362>12 leshort >0 %hd x 363>>14 leshort x %hd dpi, 364>2 byte 0 uncompressed 365>2 byte 1 RLE compressed 366 367# Adobe Photoshop 3680 string 8BPS Adobe Photoshop Image 369 370# XV thumbnail indicator (ThMO) 3710 string P7\ 332 XV thumbnail image data 372 373# NITF is defined by United States MIL-STD-2500A 3740 string NITF National Imagery Transmission Format 375>25 string >\0 dated %.14s 376 377# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 3780 belong 0x00010008 GEM Image data 379>12 beshort x %d x 380>14 beshort x %d, 381>4 beshort x %d planes, 382>8 beshort x %d x 383>10 beshort x %d pixelsize 384 385# GEM Metafile (Wolfram Kleff) 3860 lelong 0x0018FFFF GEM Metafile data 387>4 leshort x version %d 388 389# 390# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 391# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 392# 3930 string \0\nSMJPEG SMJPEG 394>8 belong x %d.x data 395# According to the specification you could find any number of _TXT 396# headers here, but I can't think of any way of handling that. None of 397# the SMJPEG files I tried it on used this feature. Even if such a 398# file is encountered the output should still be reasonable. 399>16 string _SND \b, 400>>24 beshort >0 %d Hz 401>>26 byte 8 8-bit 402>>26 byte 16 16-bit 403>>28 string NONE uncompressed 404# >>28 string APCM ADPCM compressed 405>>27 byte 1 mono 406>>28 byte 2 stereo 407# Help! Isn't there any way to avoid writing this part twice? 408>>32 string _VID \b, 409# >>>48 string JFIF JPEG 410>>>40 belong >0 %d frames 411>>>44 beshort >0 (%d x 412>>>46 beshort >0 %d) 413>16 string _VID \b, 414# >>32 string JFIF JPEG 415>>24 belong >0 %d frames 416>>28 beshort >0 (%d x 417>>30 beshort >0 %d) 418 4190 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 420 421# "thumbnail file" (icon) 422# descended from "xv", but in use by other applications as well (Wolfram Kleff) 4230 string P7\ 332 XV "thumbnail file" (icon) data 424 425# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 4260 string KiSS KISS/GS 427>4 byte 16 color 428>>5 byte x %d bit 429>>8 leshort x %d colors 430>>10 leshort x %d groups 431>4 byte 32 cell 432>>5 byte x %d bit 433>>8 leshort x %d x 434>>10 leshort x %d 435>>12 leshort x +%d 436>>14 leshort x +%d 437 438# Webshots (www.webshots.com), by John Harrison 4390 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 440 441# Hercules DASD image files 442# From Jan Jaeger <jj@septa.nl> 4430 string CKD_P370 Hercules CKD DASD image file 444>8 long x \b, %d heads per cylinder 445>12 long x \b, track size %d bytes 446>16 byte x \b, device type 33%2.2X 447 4480 string CKD_C370 Hercules compressed CKD DASD image file 449>8 long x \b, %d heads per cylinder 450>12 long x \b, track size %d bytes 451>16 byte x \b, device type 33%2.2X 452 4530 string CKD_S370 Hercules CKD DASD shadow file 454>8 long x \b, %d heads per cylinder 455>12 long x \b, track size %d bytes 456>16 byte x \b, device type 33%2.2X 457 458# Squeak images and - etoffi@softhome.net 4590 string \146\031\0\0 Squeak image data 4600 string 'From\040Squeak Squeak program text 461 462# partimage: file(1) magic for PartImage files (experimental, incomplete) 463# Author: Hans-Joachim Baader <hjb@pro-linux.de> 4640 string PaRtImAgE-VoLuMe PartImage 465>0x0020 string 0.6.1 file version %s 466>>0x0060 lelong >-1 volume %ld 467#>>0x0064 8 byte identifier 468#>>0x007c reserved 469>>0x0200 string >\0 type %s 470>>0x1400 string >\0 device %s, 471>>0x1600 string >\0 original filename %s, 472# Some fields omitted 473>>0x2744 lelong 0 not compressed 474>>0x2744 lelong 1 gzip compressed 475>>0x2744 lelong 2 bzip2 compressed 476>>0x2744 lelong >2 compressed with unknown algorithm 477>0x0020 string >0.6.1 file version %s 478>0x0020 string <0.6.1 file version %s 479 480# DCX is multi-page PCX, using a simple header of up to 1024 481# offsets for the respective PCX components. 482# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 4830 lelong 987654321 DCX multi-page PCX image data 484 485# Simon Walton <simonw@matteworld.com> 486# Kodak Cineon format for scanned negatives 487# http://www.kodak.com/US/en/motion/support/dlad/ 4880 lelong 0xd75f2a80 Cineon image data 489>200 belong >0 \b, %ld x 490>204 belong >0 %ld 491 492 493# Bio-Rad .PIC is an image format used by microscope control systems 494# and related image processing software used by biologists. 495# From: Vebjorn Ljosa <vebjorn@ljosa.com> 49654 leshort 12345 Bio-Rad .PIC Image File 497>0 leshort >0 %hd x 498>2 leshort >0 %hd, 499>4 leshort =1 1 image in file 500>4 leshort >1 %hd images in file 501 502# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 503# The description of *.mrw format can be found at 504# http://www.dalibor.cz/minolta/raw_file_format.htm 5050 string \000MRM Minolta Dimage camera raw image data 506 507# From: stephane.loeuillet@tiscali.f 508# http://www.djvuzone.org/ 5090 string AT&TFORM DjVu Image file 510 511# From: Jason Bacon <bacon@smithers.neuro.mcw.edu> 5120 beshort 0x3020 character Computer Graphics Metafile 513 514# From Marc Espie 5150 lelong 20000630 OpenEXR image data 516 517# From: Tom Hilinski <tom.hilinski@comcast.net> 518# http://www.unidata.ucar.edu/packages/netcdf/ 5190 string CDF\001 NetCDF Data Format data 520 521#----------------------------------------------------------------------- 522# Hierarchical Data Format, used to facilitate scientific data exchange 523# specifications at http://hdf.ncsa.uiuc.edu/ 5240 belong 0x0e031301 Hierarchical Data Format (version 4) data 5250 string \211HDF\r\n\032 Hierarchical Data Format (version 5) data 526 527# From: Tobias Burnus <burnus@net-b.de> 528# Xara (for a while: Corel Xara) is a graphic package, see 529# http://www.xara.com/ for Windows and as GPL application for 5300 string XARA\243\243 Xara graphics file 531