1 2#------------------------------------------------------------------------------ 3# $File: images,v 1.97 2014/12/08 16:06:19 christos Exp $ 4# images: file(1) magic for image formats (see also "iff", and "c-lang" for 5# XPM bitmaps) 6# 7# originally from jef@helios.ee.lbl.gov (Jef Poskanzer), 8# additions by janl@ifi.uio.no as well as others. Jan also suggested 9# merging several one- and two-line files into here. 10# 11# little magic: PCX (first byte is 0x0a) 12 13# Targa - matches `povray', `ppmtotga' and `xv' outputs 14# by Philippe De Muyter <phdm@macqel.be> 15# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11 16# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise 17# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs 18# `xv' recognizes only a subset of the following (RGB with pixelsize = 24) 19# `tgatoppm' recognizes a superset (Index may be anything) 201 belong&0xfff7ffff 0x01010000 Targa image data - Map 21!:strength + 2 22>2 byte&8 8 - RLE 23>12 leshort >0 %d x 24>14 leshort >0 %d 251 belong&0xfff7ffff 0x00020000 Targa image data - RGB 26!:strength + 2 27>2 byte&8 8 - RLE 28>12 leshort >0 %d x 29>14 leshort >0 %d 301 belong&0xfff7ffff 0x00030000 Targa image data - Mono 31!:strength + 2 32>2 byte&8 8 - RLE 33>12 leshort >0 %d x 34>14 leshort >0 %d 35 36# PBMPLUS images 37# The next byte following the magic is always whitespace. 38# strength is changed to try these patterns before "x86 boot sector" 390 search/1 P1 40>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PBM image text 41>3 regex =[0-9]{1,50}\ \b, size = %sx 42>>3 regex =\ [0-9]{1,50} \b%s 43!:strength + 45 44!:mime image/x-portable-bitmap 450 search/1 P2 46>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PGM image text 47>3 regex =[0-9]{1,50}\ \b, size = %sx 48>>3 regex =\ [0-9]{1,50} \b%s 49!:strength + 45 50!:mime image/x-portable-greymap 510 search/1 P3 52>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PPM image text 53>3 regex =[0-9]{1,50}\ \b, size = %sx 54>>3 regex =\ [0-9]{1,50} \b%s 55!:strength + 45 56!:mime image/x-portable-pixmap 570 string P4 58>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PBM "rawbits" image data 59>3 regex =[0-9]{1,50}\ \b, size = %sx 60>>3 regex =\ [0-9]{1,50} \b%s 61!:strength + 45 62!:mime image/x-portable-bitmap 630 string P5 64>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PGM "rawbits" image data 65>3 regex =[0-9]{1,50}\ \b, size = %sx 66>>3 regex =\ [0-9]{1,50} \b%s 67!:strength + 45 68!:mime image/x-portable-greymap 690 string P6 70>3 regex =[0-9]{0,50}\ [0-9]{0,50} Netpbm PPM "rawbits" image data 71>3 regex =[0-9]{1,50}\ \b, size = %sx 72>>3 regex =\ [0-9]{1,50} \b%s 73!:strength + 45 74!:mime image/x-portable-pixmap 750 string P7 Netpbm PAM image file 76!:mime image/x-portable-pixmap 77 78# From: bryanh@giraffe-data.com (Bryan Henderson) 790 string \117\072 Solitaire Image Recorder format 80>4 string \013 MGI Type 11 81>4 string \021 MGI Type 17 820 string .MDA MicroDesign data 83>21 byte 48 version 2 84>21 byte 51 version 3 850 string .MDP MicroDesign page data 86>21 byte 48 version 2 87>21 byte 51 version 3 88 89# NIFF (Navy Interchange File Format, a modification of TIFF) images 90# [GRR: this *must* go before TIFF] 910 string IIN1 NIFF image data 92!:mime image/x-niff 93 94# Canon RAW version 1 (CRW) files are a type of Canon Image File Format 95# (CIFF) file. These are apparently all little-endian. 96# From: Adam Buchbinder <adam.buchbinder@gmail.com> 97# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html 980 string II\x1a\0\0\0HEAPCCDR Canon CIFF raw image data 99!:mime image/x-canon-crw 100>16 leshort x \b, version %d. 101>14 leshort x \b%d 102 103# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic 104# number. Put this above the TIFF test to make sure we detect them. 105# These are apparently all little-endian. 106# From: Adam Buchbinder <adam.buchbinder@gmail.com> 107# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2 1080 string II\x2a\0\x10\0\0\0CR Canon CR2 raw image data 109!:mime image/x-canon-cr2 110>10 byte x \b, version %d. 111>11 byte x \b%d 112 113# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 114# The second word of TIFF files is the TIFF version number, 42, which has 115# never changed. The TIFF specification recommends testing for it. 1160 string MM\x00\x2a TIFF image data, big-endian 117!:mime image/tiff 118>(4.L) use tiff_ifd 1190 string II\x2a\x00 TIFF image data, little-endian 120!:mime image/tiff 121>(4.l) use tiff_ifd 122 1230 name tiff_ifd 124>0 leshort x \b, direntries=%d 125>2 use tiff_entry 126 1270 name tiff_entry 128>0 leshort 0x100 129>>4 lelong 1 130>>>12 use tiff_entry 131>>>8 lelong x \b, width=%d 132>0 leshort 0x101 133>>4 lelong 1 134>>>8 lelong x \b, height=%d 135>>>12 use tiff_entry 136>0 leshort 0x102 137>>8 lelong x \b, bps=%d 138>>12 use tiff_entry 139>0 leshort 0x103 140>>4 lelong 1 \b, compression= 141>>>8 lelong 1 \bnone 142>>>8 lelong 2 \bhuffman 143>>>8 lelong 3 \bbi-level group 3 144>>>8 lelong 4 \bbi-level group 4 145>>>8 lelong 5 \bLZW 146>>>8 lelong 6 \bJPEG (old) 147>>>8 lelong 7 \bJPEG 148>>>8 lelong 8 \bdeflate 149>>>8 lelong 9 \bJBIG, ITU-T T.85 150>>>8 lelong 0xa \bJBIG, ITU-T T.43 151>>>8 lelong 0x7ffe \bNeXT RLE 2-bit 152>>>8 lelong 0x8005 \bPackBits (Macintosh RLE) 153>>>8 lelong 0x8029 \bThunderscan RLE 154>>>8 lelong 0x807f \bRasterPadding (CT or MP) 155>>>8 lelong 0x8080 \bRLE (Line Work) 156>>>8 lelong 0x8081 \bRLE (High-Res Cont-Tone) 157>>>8 lelong 0x8082 \bRLE (Binary Line Work) 158>>>8 lelong 0x80b2 \bDeflate (PKZIP) 159>>>8 lelong 0x80b3 \bKodak DCS 160>>>8 lelong 0x8765 \bJBIG 161>>>8 lelong 0x8798 \bJPEG2000 162>>>8 lelong 0x8799 \bNikon NEF Compressed 163>>>8 default x 164>>>>8 lelong x \b(unknown 0x%x) 165>>>12 use tiff_entry 166>0 leshort 0x106 \b, PhotometricIntepretation= 167>>8 lelong 0 \bWhiteIsZero 168>>8 lelong 1 \bBlackIsZero 169>>8 lelong 2 \bRGB 170>>8 lelong 3 \bRGB Palette 171>>8 lelong 4 \bTransparency Mask 172>>8 lelong 5 \bCMYK 173>>8 lelong 6 \bYCbCr 174>>8 lelong 8 \bCIELab 175>>>8 lelong x \b(unknown=0x%x) 176>>12 use tiff_entry 177# FillOrder 178>0 leshort 0x10a 179>>4 lelong 1 180>>>12 use tiff_entry 181# DocumentName 182>0 leshort 0x10d 183>>(8.l) string x \b, name=%s 184>>>12 use tiff_entry 185# ImageDescription 186>0 leshort 0x10e 187>>(8.l) string x \b, description=%s 188>>>12 use tiff_entry 189# StripOffsets 190>0 leshort 0x111 191>>12 use tiff_entry 192# NewSubFileType 193>0 leshort 0xfe 194>>12 use tiff_entry 195# Datetime 196>0 leshort 0x132 197>>(8.l) string x \b, datetime=%s 198>>>12 use tiff_entry 199# HostComputer 200>0 leshort 0x13c 201>>(8.l) string x \b, hostcomputer=%s 202>>>12 use tiff_entry 203#>0 leshort x \b, unknown=0x%x 204 2050 string MM\x00\x2b Big TIFF image data, big-endian 206!:mime image/tiff 2070 string II\x2b\x00 Big TIFF image data, little-endian 208!:mime image/tiff 209 210# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 211# (Greg Roelofs, newt@uchicago.edu) 212# (Albert Cahalan, acahalan@cs.uml.edu) 213# 214# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... 215# 2160 string \x89PNG\x0d\x0a\x1a\x0a PNG image data 217!:mime image/png 218>16 belong x \b, %d x 219>20 belong x %d, 220>24 byte x %d-bit 221>25 byte 0 grayscale, 222>25 byte 2 \b/color RGB, 223>25 byte 3 colormap, 224>25 byte 4 gray+alpha, 225>25 byte 6 \b/color RGBA, 226#>26 byte 0 deflate/32K, 227>28 byte 0 non-interlaced 228>28 byte 1 interlaced 229 230# possible GIF replacements; none yet released! 231# (Greg Roelofs, newt@uchicago.edu) 232# 233# GRR 950115: this was mine ("Zip GIF"): 2340 string GIF94z ZIF image (GIF+deflate alpha) 235!:mime image/x-unknown 236# 237# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): 238# 2390 string FGF95a FGF image (GIF+deflate beta) 240!:mime image/x-unknown 241# 242# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal 243# (best; not yet implemented): 244# 2450 string PBF PBF image (deflate compression) 246!:mime image/x-unknown 247 248# GIF 2490 string GIF8 GIF image data 250!:mime image/gif 251!:apple 8BIMGIFf 252>4 string 7a \b, version 8%s, 253>4 string 9a \b, version 8%s, 254>6 leshort >0 %d x 255>8 leshort >0 %d 256#>10 byte &0x80 color mapped, 257#>10 byte&0x07 =0x00 2 colors 258#>10 byte&0x07 =0x01 4 colors 259#>10 byte&0x07 =0x02 8 colors 260#>10 byte&0x07 =0x03 16 colors 261#>10 byte&0x07 =0x04 32 colors 262#>10 byte&0x07 =0x05 64 colors 263#>10 byte&0x07 =0x06 128 colors 264#>10 byte&0x07 =0x07 256 colors 265 266# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 267# 1 plane, no encoding. 2680 string \361\0\100\273 CMU window manager raster image data 269>4 lelong >0 %d x 270>8 lelong >0 %d, 271>12 lelong >0 %d-bit 272 273# Magick Image File Format 2740 string id=ImageMagick MIFF image data 275 276# Artisan 2770 long 1123028772 Artisan image data 278>4 long 1 \b, rectangular 24-bit 279>4 long 2 \b, rectangular 8-bit with colormap 280>4 long 3 \b, rectangular 32-bit (24-bit with matte) 281 282# FIG (Facility for Interactive Generation of figures), an object-based format 2830 search/1 #FIG FIG image text 284>5 string x \b, version %.3s 285 286# PHIGS 2870 string ARF_BEGARF PHIGS clear text archive 2880 string @(#)SunPHIGS SunPHIGS 289# version number follows, in the form m.n 290>40 string SunBin binary 291>32 string archive archive 292 293# GKS (Graphics Kernel System) 2940 string GKSM GKS Metafile 295>24 string SunGKS \b, SunGKS 296 297# CGM image files 2980 string BEGMF clear text Computer Graphics Metafile 299 300# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 3010 string yz MGR bitmap, modern format, 8-bit aligned 3020 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 3030 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 3040 string yx MGR bitmap, modern format, squeezed 305 306# Fuzzy Bitmap (FBM) images 3070 string %bitmap\0 FBM image data 308>30 long 0x31 \b, mono 309>30 long 0x33 \b, color 310 311# facsimile data 3121 string PC\ Research,\ Inc group 3 fax data 313>29 byte 0 \b, normal resolution (204x98 DPI) 314>29 byte 1 \b, fine resolution (204x196 DPI) 315# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> 3160 string Sfff structured fax file 317 318# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> 319# most files with the extension .EPA and some with .BMP 3200 string \x11\x06 Award BIOS Logo, 136 x 84 321!:mime image/x-award-bioslogo 3220 string \x11\x09 Award BIOS Logo, 136 x 126 323!:mime image/x-award-bioslogo 324#0 string \x07\x1f BIOS Logo corrupted? 325# http://www.blackfiveservices.co.uk/awbmtools.shtml 326# http://biosgfx.narod.ru/v3/ 327# http://biosgfx.narod.ru/abr-2/ 3280 string AWBM 329>4 leshort <1981 Award BIOS bitmap 330!:mime image/x-award-bmp 331# image width is a multiple of 4 332>>4 leshort&0x0003 0 333>>>4 leshort x \b, %d 334>>>6 leshort x x %d 335>>4 leshort&0x0003 >0 \b, 336>>>4 leshort&0x0003 =1 337>>>>4 leshort x %d+3 338>>>4 leshort&0x0003 =2 339>>>>4 leshort x %d+2 340>>>4 leshort&0x0003 =3 341>>>>4 leshort x %d+1 342>>>6 leshort x x %d 343# at offset 8 starts imagedata followed by "RGB " marker 344 345# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) 346# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ 347# 28bitmap_information_header.29 3480 string BM 349>14 leshort 12 PC bitmap, OS/2 1.x format 350!:mime image/x-ms-bmp 351>>18 leshort x \b, %d x 352>>20 leshort x %d 353>14 leshort 64 PC bitmap, OS/2 2.x format 354!:mime image/x-ms-bmp 355>>18 leshort x \b, %d x 356>>20 leshort x %d 357>14 leshort 40 PC bitmap, Windows 3.x format 358!:mime image/x-ms-bmp 359>>18 lelong x \b, %d x 360>>22 lelong x %d x 361>>28 leshort x %d 362>14 leshort 124 PC bitmap, Windows 98/2000 and newer format 363!:mime image/x-ms-bmp 364>>18 lelong x \b, %d x 365>>22 lelong x %d x 366>>28 leshort x %d 367>14 leshort 108 PC bitmap, Windows 95/NT4 and newer format 368!:mime image/x-ms-bmp 369>>18 lelong x \b, %d x 370>>22 lelong x %d x 371>>28 leshort x %d 372>14 leshort 128 PC bitmap, Windows NT/2000 format 373!:mime image/x-ms-bmp 374>>18 lelong x \b, %d x 375>>22 lelong x %d x 376>>28 leshort x %d 377# Too simple - MPi 378#0 string IC PC icon data 379#0 string PI PC pointer image data 380#0 string CI PC color icon data 381#0 string CP PC color pointer image data 382# Conflicts with other entries [BABYL] 383#0 string BA PC bitmap array data 384 385# XPM icons (Greg Roelofs, newt@uchicago.edu) 3860 search/1 /*\ XPM\ */ X pixmap image text 387!:mime image/x-xpmi 388 389# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 3900 leshort 0xcc52 RLE image data, 391>6 leshort x %d x 392>8 leshort x %d 393>2 leshort >0 \b, lower left corner: %d 394>4 leshort >0 \b, lower right corner: %d 395>10 byte&0x1 =0x1 \b, clear first 396>10 byte&0x2 =0x2 \b, no background 397>10 byte&0x4 =0x4 \b, alpha channel 398>10 byte&0x8 =0x8 \b, comment 399>11 byte >0 \b, %d color channels 400>12 byte >0 \b, %d bits per pixel 401>13 byte >0 \b, %d color map channels 402 403# image file format (Robert Potter, potter@cs.rochester.edu) 4040 string Imagefile\ version- iff image data 405# this adds the whole header (inc. version number), informative but longish 406>10 string >\0 %s 407 408# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 4090 belong 0x59a66a95 Sun raster image data 410>4 belong >0 \b, %d x 411>8 belong >0 %d, 412>12 belong >0 %d-bit, 413#>16 belong >0 %d bytes long, 414>20 belong 0 old format, 415#>20 belong 1 standard, 416>20 belong 2 compressed, 417>20 belong 3 RGB, 418>20 belong 4 TIFF, 419>20 belong 5 IFF, 420>20 belong 0xffff reserved for testing, 421>24 belong 0 no colormap 422>24 belong 1 RGB colormap 423>24 belong 2 raw colormap 424#>28 belong >0 colormap is %d bytes long 425 426# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 427# 428# See 429# http://reality.sgi.com/grafica/sgiimage.html 430# 4310 beshort 474 SGI image data 432#>2 byte 0 \b, verbatim 433>2 byte 1 \b, RLE 434#>3 byte 1 \b, normal precision 435>3 byte 2 \b, high precision 436>4 beshort x \b, %d-D 437>6 beshort x \b, %d x 438>8 beshort x %d 439>10 beshort x \b, %d channel 440>10 beshort !1 \bs 441>80 string >0 \b, "%s" 442 4430 string IT01 FIT image data 444>4 belong x \b, %d x 445>8 belong x %d x 446>12 belong x %d 447# 4480 string IT02 FIT image data 449>4 belong x \b, %d x 450>8 belong x %d x 451>12 belong x %d 452# 4532048 string PCD_IPI Kodak Photo CD image pack file 454>0xe02 byte&0x03 0x00 , landscape mode 455>0xe02 byte&0x03 0x01 , portrait mode 456>0xe02 byte&0x03 0x02 , landscape mode 457>0xe02 byte&0x03 0x03 , portrait mode 4580 string PCD_OPA Kodak Photo CD overview pack file 459 460# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 461# FITS is the Flexible Image Transport System, the de facto standard for 462# data and image transfer, storage, etc., for the astronomical community. 463# (FITS floating point formats are big-endian.) 4640 string SIMPLE\ \ = FITS image data 465>109 string 8 \b, 8-bit, character or unsigned binary integer 466>108 string 16 \b, 16-bit, two's complement binary integer 467>107 string \ 32 \b, 32-bit, two's complement binary integer 468>107 string -32 \b, 32-bit, floating point, single precision 469>107 string -64 \b, 64-bit, floating point, double precision 470 471# other images 4720 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 473 474# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 475# stuff. 476# 4770 beshort 0x1010 PEX Binary Archive 478 479# DICOM medical imaging data 480128 string DICM DICOM medical imaging data 481!:mime application/dicom 482 483# XWD - X Window Dump file. 484# As described in /usr/X11R6/include/X11/XWDFile.h 485# used by the xwd program. 486# Bradford Castalia, idaeim, 1/01 487# updated by Adam Buchbinder, 2/09 488# The following assumes version 7 of the format; the first long is the length 489# of the header, which is at least 25 4-byte longs, and the one at offset 8 490# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, 491# which is a maximum of 32. 4920 belong >100 493>8 belong <3 494>>12 belong <33 495>>>4 belong 7 XWD X Window Dump image data 496!:mime image/x-xwindowdump 497>>>>100 string >\0 \b, "%s" 498>>>>16 belong x \b, %dx 499>>>>20 belong x \b%dx 500>>>>12 belong x \b%d 501 502# PDS - Planetary Data System 503# These files use Parameter Value Language in the header section. 504# Unfortunately, there is no certain magic, but the following 505# strings have been found to be most likely. 5060 string NJPL1I00 PDS (JPL) image data 5072 string NJPL1I PDS (JPL) image data 5080 string CCSD3ZF PDS (CCSD) image data 5092 string CCSD3Z PDS (CCSD) image data 5100 string PDS_ PDS image data 5110 string LBLSIZE= PDS (VICAR) image data 512 513# pM8x: ATARI STAD compressed bitmap format 514# 515# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 516# p M 8 5/6 xx yy zz data... 517# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 518# bytes either run horizontally (pM85) or vertically (pM86). yy is the 519# most frequent byte, xx and zz are runlength escape codes, where xx is 520# used for runs of yy. 521# 5220 string pM85 Atari ST STAD bitmap image data (hor) 523>5 byte 0x00 (white background) 524>5 byte 0xFF (black background) 5250 string pM86 Atari ST STAD bitmap image data (vert) 526>5 byte 0x00 (white background) 527>5 byte 0xFF (black background) 528 529# Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu 530# http://www.atarimax.com/jindroush.atari.org/afmtatr.html 5310 leshort 0x0296 Atari ATR image 532 533# XXX: 534# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 535# magic. 536# SGI RICE image file <mpruett@sgi.com> 537#0 beshort 0x5249 RICE image 538#>2 beshort x v%d 539#>4 beshort x (%d x 540#>6 beshort x %d) 541#>8 beshort 0 8 bit 542#>8 beshort 1 10 bit 543#>8 beshort 2 12 bit 544#>8 beshort 3 13 bit 545#>10 beshort 0 4:2:2 546#>10 beshort 1 4:2:2:4 547#>10 beshort 2 4:4:4 548#>10 beshort 3 4:4:4:4 549#>12 beshort 1 RGB 550#>12 beshort 2 CCIR601 551#>12 beshort 3 RP175 552#>12 beshort 4 YUV 553 554# PCX image files 555# From: Dan Fandrich <dan@coneharvesters.com> 556# updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX 557# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt 558# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 559# test for bytes 0x0a,version byte (0,2,3,4,5),compression byte flag(0,1), bit depth (>0) of PCX or T5.DBT,T6.DBT 5600 ubelong&0xffF8fe00 0x0a000000 561# for PCX bit depth > 0 562>3 ubyte >0 563# test for valid versions 564>>1 ubyte <6 565>>>1 ubyte !1 PCX 566!:mime image/x-pcx 567#!:mime image/pcx 568>>>>1 ubyte 0 ver. 2.5 image data 569>>>>1 ubyte 2 ver. 2.8 image data, with palette 570>>>>1 ubyte 3 ver. 2.8 image data, without palette 571>>>>1 ubyte 4 for Windows image data 572>>>>1 ubyte 5 ver. 3.0 image data 573>>>>4 uleshort x bounding box [%d, 574>>>>6 uleshort x %d] - 575>>>>8 uleshort x [%d, 576>>>>10 uleshort x %d], 577>>>>65 ubyte >1 %d planes each of 578>>>>3 ubyte x %d-bit 579>>>>68 byte 1 colour, 580>>>>68 byte 2 grayscale, 581# this should not happen 582>>>>68 default x image, 583>>>>12 leshort >0 %d x 584>>>>>14 uleshort x %d dpi, 585>>>>2 byte 0 uncompressed 586>>>>2 byte 1 RLE compressed 587 588# Adobe Photoshop 589# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 5900 string 8BPS Adobe Photoshop Image 591!:mime image/vnd.adobe.photoshop 592>4 beshort 2 (PSB) 593>18 belong x \b, %d x 594>14 belong x %d, 595>24 beshort 0 bitmap 596>24 beshort 1 grayscale 597>>12 beshort 2 with alpha 598>24 beshort 2 indexed 599>24 beshort 3 RGB 600>>12 beshort 4 \bA 601>24 beshort 4 CMYK 602>>12 beshort 5 \bA 603>24 beshort 7 multichannel 604>24 beshort 8 duotone 605>24 beshort 9 lab 606>12 beshort > 1 607>>12 beshort x \b, %dx 608>12 beshort 1 \b, 609>22 beshort x %d-bit channel 610>12 beshort > 1 \bs 611 612# XV thumbnail indicator (ThMO) 6130 string P7\ 332 XV thumbnail image data 614 615# NITF is defined by United States MIL-STD-2500A 6160 string NITF National Imagery Transmission Format 617>25 string >\0 dated %.14s 618 619# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 6200 belong 0x00010008 GEM Image data 621>12 beshort x %d x 622>14 beshort x %d, 623>4 beshort x %d planes, 624>8 beshort x %d x 625>10 beshort x %d pixelsize 626 627# GEM Metafile (Wolfram Kleff) 6280 lelong 0x0018FFFF GEM Metafile data 629>4 leshort x version %d 630 631# 632# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 633# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 634# 6350 string \0\nSMJPEG SMJPEG 636>8 belong x %d.x data 637# According to the specification you could find any number of _TXT 638# headers here, but I can't think of any way of handling that. None of 639# the SMJPEG files I tried it on used this feature. Even if such a 640# file is encountered the output should still be reasonable. 641>16 string _SND \b, 642>>24 beshort >0 %d Hz 643>>26 byte 8 8-bit 644>>26 byte 16 16-bit 645>>28 string NONE uncompressed 646# >>28 string APCM ADPCM compressed 647>>27 byte 1 mono 648>>28 byte 2 stereo 649# Help! Isn't there any way to avoid writing this part twice? 650>>32 string _VID \b, 651# >>>48 string JFIF JPEG 652>>>40 belong >0 %d frames 653>>>44 beshort >0 (%d x 654>>>46 beshort >0 %d) 655>16 string _VID \b, 656# >>32 string JFIF JPEG 657>>24 belong >0 %d frames 658>>28 beshort >0 (%d x 659>>30 beshort >0 %d) 660 6610 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 662 663# "thumbnail file" (icon) 664# descended from "xv", but in use by other applications as well (Wolfram Kleff) 6650 string P7\ 332 XV "thumbnail file" (icon) data 666 667# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 6680 string KiSS KISS/GS 669>4 byte 16 color 670>>5 byte x %d bit 671>>8 leshort x %d colors 672>>10 leshort x %d groups 673>4 byte 32 cell 674>>5 byte x %d bit 675>>8 leshort x %d x 676>>10 leshort x %d 677>>12 leshort x +%d 678>>14 leshort x +%d 679 680# Webshots (www.webshots.com), by John Harrison 6810 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 682 683# Hercules DASD image files 684# From Jan Jaeger <jj@septa.nl> 6850 string CKD_P370 Hercules CKD DASD image file 686>8 long x \b, %d heads per cylinder 687>12 long x \b, track size %d bytes 688>16 byte x \b, device type 33%2.2X 689 6900 string CKD_C370 Hercules compressed CKD DASD image file 691>8 long x \b, %d heads per cylinder 692>12 long x \b, track size %d bytes 693>16 byte x \b, device type 33%2.2X 694 6950 string CKD_S370 Hercules CKD DASD shadow file 696>8 long x \b, %d heads per cylinder 697>12 long x \b, track size %d bytes 698>16 byte x \b, device type 33%2.2X 699 700# Squeak images and programs - etoffi@softhome.net 7010 string \146\031\0\0 Squeak image data 7020 search/1 'From\040Squeak Squeak program text 703 704# partimage: file(1) magic for PartImage files (experimental, incomplete) 705# Author: Hans-Joachim Baader <hjb@pro-linux.de> 7060 string PaRtImAgE-VoLuMe PartImage 707>0x0020 string 0.6.1 file version %s 708>>0x0060 lelong >-1 volume %d 709#>>0x0064 8 byte identifier 710#>>0x007c reserved 711>>0x0200 string >\0 type %s 712>>0x1400 string >\0 device %s, 713>>0x1600 string >\0 original filename %s, 714# Some fields omitted 715>>0x2744 lelong 0 not compressed 716>>0x2744 lelong 1 gzip compressed 717>>0x2744 lelong 2 bzip2 compressed 718>>0x2744 lelong >2 compressed with unknown algorithm 719>0x0020 string >0.6.1 file version %s 720>0x0020 string <0.6.1 file version %s 721 722# DCX is multi-page PCX, using a simple header of up to 1024 723# offsets for the respective PCX components. 724# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 7250 lelong 987654321 DCX multi-page PCX image data 726 727# Simon Walton <simonw@matteworld.com> 728# Kodak Cineon format for scanned negatives 729# http://www.kodak.com/US/en/motion/support/dlad/ 7300 lelong 0xd75f2a80 Cineon image data 731>200 belong >0 \b, %d x 732>204 belong >0 %d 733 734 735# Bio-Rad .PIC is an image format used by microscope control systems 736# and related image processing software used by biologists. 737# From: Vebjorn Ljosa <vebjorn@ljosa.com> 738# BOOL values are two-byte integers; use them to rule out false positives. 739# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt 740# Samples: http://www.loci.wisc.edu/software/sample-data 74114 leshort <2 742>62 leshort <2 743>>54 leshort 12345 Bio-Rad .PIC Image File 744>>>0 leshort >0 %d x 745>>>2 leshort >0 %d, 746>>>4 leshort =1 1 image in file 747>>>4 leshort >1 %d images in file 748 749# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 750# The description of *.mrw format can be found at 751# http://www.dalibor.cz/minolta/raw_file_format.htm 7520 string \000MRM Minolta Dimage camera raw image data 753 754# Summary: DjVu image / document 755# Extension: .djvu 756# Reference: http://djvu.org/docs/DjVu3Spec.djvu 757# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> 758# Modified by (1): Abel Cheung <abelcheung@gmail.com> 7590 string AT&TFORM 760>12 string DJVM DjVu multiple page document 761!:mime image/vnd.djvu 762>12 string DJVU DjVu image or single page document 763!:mime image/vnd.djvu 764>12 string DJVI DjVu shared document 765!:mime image/vnd.djvu 766>12 string THUM DjVu page thumbnails 767!:mime image/vnd.djvu 768 769# Originally by Marc Espie 770# Modified by Robert Minsk <robertminsk at yahoo.com> 771# http://www.openexr.com/openexrfilelayout.pdf 7720 lelong 20000630 OpenEXR image data, 773!:mime image/x-exr 774>4 lelong&0x000000ff x version %d, 775>4 lelong ^0x00000200 storage: scanline 776>4 lelong &0x00000200 storage: tiled 777>8 search/0x1000 compression\0 \b, compression: 778>>&16 byte 0 none 779>>&16 byte 1 rle 780>>&16 byte 2 zips 781>>&16 byte 3 zip 782>>&16 byte 4 piz 783>>&16 byte 5 pxr24 784>>&16 byte 6 b44 785>>&16 byte 7 b44a 786>>&16 byte >7 unknown 787>8 search/0x1000 dataWindow\0 \b, dataWindow: 788>>&10 lelong x (%d 789>>&14 lelong x %d)- 790>>&18 lelong x \b(%d 791>>&22 lelong x %d) 792>8 search/0x1000 displayWindow\0 \b, displayWindow: 793>>&10 lelong x (%d 794>>&14 lelong x %d)- 795>>&18 lelong x \b(%d 796>>&22 lelong x %d) 797>8 search/0x1000 lineOrder\0 \b, lineOrder: 798>>&14 byte 0 increasing y 799>>&14 byte 1 decreasing y 800>>&14 byte 2 random y 801>>&14 byte >2 unknown 802 803# SMPTE Digital Picture Exchange Format, SMPTE DPX 804# 805# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital 806# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 807# Robert Minsk <robertminsk at yahoo.com> 8080 string SDPX DPX image data, big-endian, 809!:mime image/x-dpx 810>768 beshort <4 811>>772 belong x %dx 812>>776 belong x \b%d, 813>768 beshort >3 814>>776 belong x %dx 815>>772 belong x \b%d, 816>768 beshort 0 left to right/top to bottom 817>768 beshort 1 right to left/top to bottom 818>768 beshort 2 left to right/bottom to top 819>768 beshort 3 right to left/bottom to top 820>768 beshort 4 top to bottom/left to right 821>768 beshort 5 top to bottom/right to left 822>768 leshort 6 bottom to top/left to right 823>768 leshort 7 bottom to top/right to left 824 825# From: Tom Hilinski <tom.hilinski@comcast.net> 826# http://www.unidata.ucar.edu/packages/netcdf/ 8270 string CDF\001 NetCDF Data Format data 828 829#----------------------------------------------------------------------- 830# Hierarchical Data Format, used to facilitate scientific data exchange 831# specifications at http://hdf.ncsa.uiuc.edu/ 8320 belong 0x0e031301 Hierarchical Data Format (version 4) data 833!:mime application/x-hdf 8340 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data 835!:mime application/x-hdf 836512 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 512 bytes user block 837!:mime application/x-hdf 8381024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block 839!:mime application/x-hdf 8402048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block 841!:mime application/x-hdf 8424096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block 843!:mime application/x-hdf 844 845 846# From: Tobias Burnus <burnus@net-b.de> 847# Xara (for a while: Corel Xara) is a graphic package, see 848# http://www.xara.com/ for Windows and as GPL application for Linux 8490 string XARA\243\243 Xara graphics file 850 851# http://www.cartesianinc.com/Tech/ 8520 string CPC\262 Cartesian Perceptual Compression image 853!:mime image/x-cpi 854 855# From Albert Cahalan <acahalan@gmail.com> 856# puredigital used it for the CVS disposable camcorder 857#8 lelong 4 ZBM bitmap image data 858#>4 leshort x %u x 859#>6 leshort x %u 860 861# From Albert Cahalan <acahalan@gmail.com> 862# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons 8630 string C565 OLPC firmware icon image data 864>4 leshort x %u x 865>6 leshort x %u 866 867# Applied Images - Image files from Cytovision 868# Gustavo Junior Alves <gjalves@gjalves.com.br> 8690 string \xce\xda\xde\xfa Cytovision Metaphases file 8700 string \xed\xad\xef\xac Cytovision Karyotype file 8710 string \x0b\x00\x03\x00 Cytovision FISH Probe file 8720 string \xed\xfe\xda\xbe Cytovision FLEX file 8730 string \xed\xab\xed\xfe Cytovision FLEX file 8740 string \xad\xfd\xea\xad Cytovision RATS file 875 876# Wavelet Scalar Quantization format used in gray-scale fingerprint images 877# From Tano M Fotang <mfotang@quanteq.com> 8780 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data 879 880# Type: PCO B16 image files 881# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf 882# From: Florian Philipp <florian.philipp@binarywings.net> 883# Extension: .b16 884# Description: Pixel image format produced by PCO Camware, typically used 885# together with PCO cameras. 886# Note: Different versions exist for e.g. 8 bit and 16 bit images. 887# Documentation is incomplete. 8880 string/b PCO- PCO B16 image data 889>12 lelong x \b, %dx 890>16 lelong x \b%d 891>20 lelong 0 \b, short header 892>20 lelong -1 \b, extended header 893>>24 lelong 0 \b, grayscale 894>>>36 lelong 0 linear LUT 895>>>36 lelong 1 logarithmic LUT 896>>>28 lelong x [%d 897>>>32 lelong x \b,%d] 898>>24 lelong 1 \b, color 899>>>64 lelong 0 linear LUT 900>>>64 lelong 1 logarithmic LUT 901>>>40 lelong x r[%d 902>>>44 lelong x \b,%d] 903>>>48 lelong x g[%d 904>>>52 lelong x \b,%d] 905>>>56 lelong x b[%d 906>>>60 lelong x \b,%d] 907 908# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches 909# From: Markus Heidelberg <markus.heidelberg at web.de> 9100 string/t [BitmapInfo2] Polar Monitor Bitmap text 911!:mime image/x-polar-monitor-bitmap 912 913# From: Rick Richardson <rickrich@gmail.com> 9140 string GARMIN\ BITMAP\ 01 Garmin Bitmap file 915 916# Type: Ulead Photo Explorer5 (.pe5) 917# URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese) 918# From: Simon Horman <horms@debian.org> 9190 string IIO2H Ulead Photo Explorer5 920 921# Type: X11 cursor 922# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup 923# From: Mathias Brodala <info@noctus.net> 9240 string Xcur X11 cursor 925 926# Type: Olympus ORF raw images. 927# URL: http://libopenraw.freedesktop.org/wiki/Olympus_ORF 928# From: Adam Buchbinder <adam.buchbinder@gmail.com> 9290 string MMOR Olympus ORF raw image data, big-endian 930!:mime image/x-olympus-orf 9310 string IIRO Olympus ORF raw image data, little-endian 932!:mime image/x-olympus-orf 9330 string IIRS Olympus ORF raw image data, little-endian 934!:mime image/x-olympus-orf 935 936# Type: files used in modern AVCHD camcoders to store clip information 937# Extension: .cpi 938# From: Alexander Danilov <alexander.a.danilov@gmail.com> 9390 string HDMV0100 AVCHD Clip Information 940 941# From: Adam Buchbinder <adam.buchbinder@gmail.com> 942# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ 943# Radiance HDR; usually has .pic or .hdr extension. 9440 string #?RADIANCE\n Radiance HDR image data 945#!mime image/vnd.radiance 946 947# From: Adam Buchbinder <adam.buchbinder@gmail.com> 948# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf 949# Used by the pfstools packages. The regex matches for the image size could 950# probably use some work. The MIME type is made up; if there's one in 951# actual common use, it should replace the one below. 9520 string PFS1\x0a PFS HDR image data 953#!mime image/x-pfs 954>1 regex [0-9]*\ \b, %s 955>>1 regex \ [0-9]{4} \bx%s 956 957# Type: Foveon X3F 958# URL: http://www.photofo.com/downloads/x3f-raw-format.pdf 959# From: Adam Buchbinder <adam.buchbinder@gmail.com> 960# Note that the MIME type isn't defined anywhere that I can find; if 961# there's a canonical type for this format, it should replace this one. 9620 string FOVb Foveon X3F raw image data 963!:mime image/x-x3f 964>6 leshort x \b, version %d. 965>4 leshort x \b%d 966>28 lelong x \b, %dx 967>32 lelong x \b%d 968 969# Paint.NET file 970# From Adam Buchbinder <adam.buchbinder@gmail.com> 9710 string PDN3 Paint.NET image data 972!:mime image/x-paintnet 973 974# Not really an image. 975# From: "Tano M. Fotang" <mfotang@quanteq.com> 9760 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) 977 978# WEBP https://developers.google.com/speed/webp/docs/riff_container 979#0 string RIFF 980#>8 string WEBP Web/P image data 981#>>4 lelong x \b, %d bytes 982 983# doc: http://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip 984# example: http://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip 98590 bequad 0x574D50484F544F00 JPEG-XR Image 986>98 byte&0x08 =0x08 \b, hard tiling 987>99 byte&0x80 =0x80 \b, tiling present 988>99 byte&0x40 =0x40 \b, codestream present 989>99 byte&0x38 x \b, spatial xform= 990>99 byte&0x38 0x00 \bTL 991>99 byte&0x38 0x08 \bBL 992>99 byte&0x38 0x10 \bTR 993>99 byte&0x38 0x18 \bBR 994>99 byte&0x38 0x20 \bBT 995>99 byte&0x38 0x28 \bRB 996>99 byte&0x38 0x30 \bLT 997>99 byte&0x38 0x38 \bLB 998>100 byte&0x80 =0x80 \b, short header 999>>102 beshort+1 x \b, %d 1000>>104 beshort+1 x \bx%d 1001>100 byte&0x80 =0x00 \b, long header 1002>>102 belong+1 x \b, %x 1003>>106 belong+1 x \bx%x 1004>101 beshort&0xf x \b, bitdepth= 1005>>101 beshort&0xf 0x0 \b1-WHITE=1 1006>>101 beshort&0xf 0x1 \b8 1007>>101 beshort&0xf 0x2 \b16 1008>>101 beshort&0xf 0x3 \b16-SIGNED 1009>>101 beshort&0xf 0x4 \b16-FLOAT 1010>>101 beshort&0xf 0x5 \b(reserved 5) 1011>>101 beshort&0xf 0x6 \b32-SIGNED 1012>>101 beshort&0xf 0x7 \b32-FLOAT 1013>>101 beshort&0xf 0x8 \b5 1014>>101 beshort&0xf 0x9 \b10 1015>>101 beshort&0xf 0xa \b5-6-5 1016>>101 beshort&0xf 0xb \b(reserved %d) 1017>>101 beshort&0xf 0xc \b(reserved %d) 1018>>101 beshort&0xf 0xd \b(reserved %d) 1019>>101 beshort&0xf 0xe \b(reserved %d) 1020>>101 beshort&0xf 0xf \b1-BLACK=1 1021>101 beshort&0xf0 x \b, colorfmt= 1022>>101 beshort&0xf0 0x00 \bYONLY 1023>>101 beshort&0xf0 0x10 \bYUV240 1024>>101 beshort&0xf0 0x20 \bYWV422 1025>>101 beshort&0xf0 0x30 \bYWV444 1026>>101 beshort&0xf0 0x40 \bCMYK 1027>>101 beshort&0xf0 0x50 \bCMYKDIRECT 1028>>101 beshort&0xf0 0x60 \bNCOMPONENT 1029>>101 beshort&0xf0 0x70 \bRGB 1030>>101 beshort&0xf0 0x80 \bRGBE 1031>>101 beshort&0xf0 >0x80 \b(reserved 0x%x) 1032 1033# From: Johan van der Knijff <johan.vanderknijff@kb.nl> 1034# 1035# BPG (Better Portable Graphics) format 1036# http://bellard.org/bpg/ 1037# http://fileformats.archiveteam.org/wiki/BPG 1038# 10390 string \x42\x50\x47\xFB BPG (Better Portable Graphics) 1040!:mime image/bpg 1041