1 2#------------------------------------------------------------------------------ 3# $File: images,v 1.107 2015/07/11 14:40:10 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 name netpbm 40>3 regex/s =[0-9]{1,50}\ [0-9]{1,50} Netpbm image data 41>>&0 regex =[0-9]{1,50} \b, size = %s x 42>>>&0 regex =[0-9]{1,50} \b %s 43 440 search/1 P1 45>0 use netpbm 46>>0 string x \b, bitmap 47!:strength + 45 48!:mime image/x-portable-bitmap 49 500 search/1 P2 51>0 use netpbm 52>>0 string x \b, greymap 53!:strength + 45 54!:mime image/x-portable-greymap 55 560 search/1 P3 57>0 use netpbm 58>>0 string x \b, pixmap 59!:strength + 45 60!:mime image/x-portable-pixmap 61 620 string P4 63>0 use netpbm 64>>0 string x \b, rawbits, bitmap 65!:strength + 45 66!:mime image/x-portable-bitmap 67 680 string P5 69>0 use netpbm 70>>0 string x \b, rawbits, greymap 71!:strength + 45 72!:mime image/x-portable-greymap 73 740 string P6 75>0 use netpbm 76>>0 string x \b, rawbits, pixmap 77!:strength + 45 78!:mime image/x-portable-pixmap 79 800 string P7 Netpbm PAM image file 81!:mime image/x-portable-pixmap 82 83# From: bryanh@giraffe-data.com (Bryan Henderson) 840 string \117\072 Solitaire Image Recorder format 85>4 string \013 MGI Type 11 86>4 string \021 MGI Type 17 870 string .MDA MicroDesign data 88>21 byte 48 version 2 89>21 byte 51 version 3 900 string .MDP MicroDesign page data 91>21 byte 48 version 2 92>21 byte 51 version 3 93 94# NIFF (Navy Interchange File Format, a modification of TIFF) images 95# [GRR: this *must* go before TIFF] 960 string IIN1 NIFF image data 97!:mime image/x-niff 98 99# Canon RAW version 1 (CRW) files are a type of Canon Image File Format 100# (CIFF) file. These are apparently all little-endian. 101# From: Adam Buchbinder <adam.buchbinder@gmail.com> 102# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html 1030 string II\x1a\0\0\0HEAPCCDR Canon CIFF raw image data 104!:mime image/x-canon-crw 105>16 leshort x \b, version %d. 106>14 leshort x \b%d 107 108# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic 109# number. Put this above the TIFF test to make sure we detect them. 110# These are apparently all little-endian. 111# From: Adam Buchbinder <adam.buchbinder@gmail.com> 112# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2 1130 string II\x2a\0\x10\0\0\0CR Canon CR2 raw image data 114!:mime image/x-canon-cr2 115>10 byte x \b, version %d. 116>11 byte x \b%d 117 118# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 119# The second word of TIFF files is the TIFF version number, 42, which has 120# never changed. The TIFF specification recommends testing for it. 1210 string MM\x00\x2a TIFF image data, big-endian 122!:mime image/tiff 123>(4.L) use \^tiff_ifd 1240 string II\x2a\x00 TIFF image data, little-endian 125!:mime image/tiff 126>(4.l) use tiff_ifd 127 1280 name tiff_ifd 129>0 leshort x \b, direntries=%d 130>2 use tiff_entry 131 1320 name tiff_entry 133# NewSubFileType 134>0 leshort 0xfe 135>>12 use tiff_entry 136>0 leshort 0x100 137>>4 lelong 1 138>>>12 use tiff_entry 139>>>8 leshort x \b, width=%d 140>0 leshort 0x101 141>>4 lelong 1 142>>>8 leshort x \b, height=%d 143>>>12 use tiff_entry 144>0 leshort 0x102 145>>8 leshort x \b, bps=%d 146>>12 use tiff_entry 147>0 leshort 0x103 148>>4 lelong 1 \b, compression= 149>>>8 leshort 1 \bnone 150>>>8 leshort 2 \bhuffman 151>>>8 leshort 3 \bbi-level group 3 152>>>8 leshort 4 \bbi-level group 4 153>>>8 leshort 5 \bLZW 154>>>8 leshort 6 \bJPEG (old) 155>>>8 leshort 7 \bJPEG 156>>>8 leshort 8 \bdeflate 157>>>8 leshort 9 \bJBIG, ITU-T T.85 158>>>8 leshort 0xa \bJBIG, ITU-T T.43 159>>>8 leshort 0x7ffe \bNeXT RLE 2-bit 160>>>8 leshort 0x8005 \bPackBits (Macintosh RLE) 161>>>8 leshort 0x8029 \bThunderscan RLE 162>>>8 leshort 0x807f \bRasterPadding (CT or MP) 163>>>8 leshort 0x8080 \bRLE (Line Work) 164>>>8 leshort 0x8081 \bRLE (High-Res Cont-Tone) 165>>>8 leshort 0x8082 \bRLE (Binary Line Work) 166>>>8 leshort 0x80b2 \bDeflate (PKZIP) 167>>>8 leshort 0x80b3 \bKodak DCS 168>>>8 leshort 0x8765 \bJBIG 169>>>8 leshort 0x8798 \bJPEG2000 170>>>8 leshort 0x8799 \bNikon NEF Compressed 171>>>8 default x 172>>>>8 leshort x \b(unknown 0x%x) 173>>>12 use tiff_entry 174>0 leshort 0x106 \b, PhotometricIntepretation= 175>>8 clear x 176>>8 leshort 0 \bWhiteIsZero 177>>8 leshort 1 \bBlackIsZero 178>>8 leshort 2 \bRGB 179>>8 leshort 3 \bRGB Palette 180>>8 leshort 4 \bTransparency Mask 181>>8 leshort 5 \bCMYK 182>>8 leshort 6 \bYCbCr 183>>8 leshort 8 \bCIELab 184>>8 default x 185>>>8 leshort x \b(unknown=0x%x) 186>>12 use tiff_entry 187# FillOrder 188>0 leshort 0x10a 189>>4 lelong 1 190>>>12 use tiff_entry 191# DocumentName 192>0 leshort 0x10d 193>>(8.l) string x \b, name=%s 194>>>12 use tiff_entry 195# ImageDescription 196>0 leshort 0x10e 197>>(8.l) string x \b, description=%s 198>>>12 use tiff_entry 199# Make 200>0 leshort 0x10f 201>>(8.l) string x \b, manufacturer=%s 202>>>12 use tiff_entry 203# Model 204>0 leshort 0x110 205>>(8.l) string x \b, model=%s 206>>>12 use tiff_entry 207# StripOffsets 208>0 leshort 0x111 209>>12 use tiff_entry 210# Orientation 211>0 leshort 0x112 \b, orientation= 212>>8 leshort 1 \bupper-left 213>>8 leshort 3 \blower-right 214>>8 leshort 6 \bupper-right 215>>8 leshort 8 \blower-left 216>>8 leshort 9 \bundefined 217>>8 default x 218>>>8 leshort x \b[*%d*] 219>>12 use tiff_entry 220# XResolution 221>0 leshort 0x11a 222>>8 lelong x \b, xresolution=%d 223>>12 use tiff_entry 224# YResolution 225>0 leshort 0x11b 226>>8 lelong x \b, yresolution=%d 227>>12 use tiff_entry 228# ResolutionUnit 229>0 leshort 0x128 230>>8 leshort x \b, resolutionunit=%d 231>>12 use tiff_entry 232# Software 233>0 leshort 0x131 234>>(8.l) string x \b, software=%s 235>>12 use tiff_entry 236# Datetime 237>0 leshort 0x132 238>>(8.l) string x \b, datetime=%s 239>>12 use tiff_entry 240# HostComputer 241>0 leshort 0x13c 242>>(8.l) string x \b, hostcomputer=%s 243>>12 use tiff_entry 244# WhitePoint 245>0 leshort 0x13e 246>>12 use tiff_entry 247# PrimaryChromaticities 248>0 leshort 0x13f 249>>12 use tiff_entry 250# YCbCrCoefficients 251>0 leshort 0x211 252>>12 use tiff_entry 253# YCbCrPositioning 254>0 leshort 0x213 255>>12 use tiff_entry 256# ReferenceBlackWhite 257>0 leshort 0x214 258>>12 use tiff_entry 259# Copyright 260>0 leshort 0x8298 261>>(8.l) string x \b, copyright=%s 262>>12 use tiff_entry 263# ExifOffset 264>0 leshort 0x8769 265>>12 use tiff_entry 266# GPS IFD 267>0 leshort 0x8825 \b, GPS-Data 268>>12 use tiff_entry 269 270#>0 leshort x \b, unknown=0x%x 271#>>12 use tiff_entry 272 2730 string MM\x00\x2b Big TIFF image data, big-endian 274!:mime image/tiff 2750 string II\x2b\x00 Big TIFF image data, little-endian 276!:mime image/tiff 277 278# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 279# (Greg Roelofs, newt@uchicago.edu) 280# (Albert Cahalan, acahalan@cs.uml.edu) 281# 282# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... 283# 2840 string \x89PNG\x0d\x0a\x1a\x0a PNG image data 285!:mime image/png 286>16 belong x \b, %d x 287>20 belong x %d, 288>24 byte x %d-bit 289>25 byte 0 grayscale, 290>25 byte 2 \b/color RGB, 291>25 byte 3 colormap, 292>25 byte 4 gray+alpha, 293>25 byte 6 \b/color RGBA, 294#>26 byte 0 deflate/32K, 295>28 byte 0 non-interlaced 296>28 byte 1 interlaced 297 298# possible GIF replacements; none yet released! 299# (Greg Roelofs, newt@uchicago.edu) 300# 301# GRR 950115: this was mine ("Zip GIF"): 3020 string GIF94z ZIF image (GIF+deflate alpha) 303!:mime image/x-unknown 304# 305# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): 306# 3070 string FGF95a FGF image (GIF+deflate beta) 308!:mime image/x-unknown 309# 310# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal 311# (best; not yet implemented): 312# 3130 string PBF PBF image (deflate compression) 314!:mime image/x-unknown 315 316# GIF 3170 string GIF8 GIF image data 318!:mime image/gif 319!:apple 8BIMGIFf 320>4 string 7a \b, version 8%s, 321>4 string 9a \b, version 8%s, 322>6 leshort >0 %d x 323>8 leshort >0 %d 324#>10 byte &0x80 color mapped, 325#>10 byte&0x07 =0x00 2 colors 326#>10 byte&0x07 =0x01 4 colors 327#>10 byte&0x07 =0x02 8 colors 328#>10 byte&0x07 =0x03 16 colors 329#>10 byte&0x07 =0x04 32 colors 330#>10 byte&0x07 =0x05 64 colors 331#>10 byte&0x07 =0x06 128 colors 332#>10 byte&0x07 =0x07 256 colors 333 334# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 335# 1 plane, no encoding. 3360 string \361\0\100\273 CMU window manager raster image data 337>4 lelong >0 %d x 338>8 lelong >0 %d, 339>12 lelong >0 %d-bit 340 341# Magick Image File Format 3420 string id=ImageMagick MIFF image data 343 344# Artisan 3450 long 1123028772 Artisan image data 346>4 long 1 \b, rectangular 24-bit 347>4 long 2 \b, rectangular 8-bit with colormap 348>4 long 3 \b, rectangular 32-bit (24-bit with matte) 349 350# FIG (Facility for Interactive Generation of figures), an object-based format 3510 search/1 #FIG FIG image text 352>5 string x \b, version %.3s 353 354# PHIGS 3550 string ARF_BEGARF PHIGS clear text archive 3560 string @(#)SunPHIGS SunPHIGS 357# version number follows, in the form m.n 358>40 string SunBin binary 359>32 string archive archive 360 361# GKS (Graphics Kernel System) 3620 string GKSM GKS Metafile 363>24 string SunGKS \b, SunGKS 364 365# CGM image files 3660 string BEGMF clear text Computer Graphics Metafile 367 368# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 3690 string yz MGR bitmap, modern format, 8-bit aligned 3700 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 3710 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 3720 string yx MGR bitmap, modern format, squeezed 373 374# Fuzzy Bitmap (FBM) images 3750 string %bitmap\0 FBM image data 376>30 long 0x31 \b, mono 377>30 long 0x33 \b, color 378 379# facsimile data 3801 string PC\ Research,\ Inc group 3 fax data 381>29 byte 0 \b, normal resolution (204x98 DPI) 382>29 byte 1 \b, fine resolution (204x196 DPI) 383# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> 3840 string Sfff structured fax file 385 386# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> 387# most files with the extension .EPA and some with .BMP 3880 string \x11\x06 Award BIOS Logo, 136 x 84 389!:mime image/x-award-bioslogo 3900 string \x11\x09 Award BIOS Logo, 136 x 126 391!:mime image/x-award-bioslogo 392#0 string \x07\x1f BIOS Logo corrupted? 393# http://www.blackfiveservices.co.uk/awbmtools.shtml 394# http://biosgfx.narod.ru/v3/ 395# http://biosgfx.narod.ru/abr-2/ 3960 string AWBM 397>4 leshort <1981 Award BIOS bitmap 398!:mime image/x-award-bmp 399# image width is a multiple of 4 400>>4 leshort&0x0003 0 401>>>4 leshort x \b, %d 402>>>6 leshort x x %d 403>>4 leshort&0x0003 >0 \b, 404>>>4 leshort&0x0003 =1 405>>>>4 leshort x %d+3 406>>>4 leshort&0x0003 =2 407>>>>4 leshort x %d+2 408>>>4 leshort&0x0003 =3 409>>>>4 leshort x %d+1 410>>>6 leshort x x %d 411# at offset 8 starts imagedata followed by "RGB " marker 412 413# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) 414# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ 415# 28bitmap_information_header.29 4160 string BM 417>14 leshort 12 PC bitmap, OS/2 1.x format 418!:mime image/x-ms-bmp 419>>18 leshort x \b, %d x 420>>20 leshort x %d 421>14 leshort 64 PC bitmap, OS/2 2.x format 422!:mime image/x-ms-bmp 423>>18 leshort x \b, %d x 424>>20 leshort x %d 425>14 leshort 40 PC bitmap, Windows 3.x format 426!:mime image/x-ms-bmp 427>>18 lelong x \b, %d x 428>>22 lelong x %d x 429>>28 leshort x %d 430>14 leshort 124 PC bitmap, Windows 98/2000 and newer format 431!:mime image/x-ms-bmp 432>>18 lelong x \b, %d x 433>>22 lelong x %d x 434>>28 leshort x %d 435>14 leshort 108 PC bitmap, Windows 95/NT4 and newer format 436!:mime image/x-ms-bmp 437>>18 lelong x \b, %d x 438>>22 lelong x %d x 439>>28 leshort x %d 440>14 leshort 128 PC bitmap, Windows NT/2000 format 441!:mime image/x-ms-bmp 442>>18 lelong x \b, %d x 443>>22 lelong x %d x 444>>28 leshort x %d 445# Too simple - MPi 446#0 string IC PC icon data 447#0 string PI PC pointer image data 448#0 string CI PC color icon data 449#0 string CP PC color pointer image data 450# Conflicts with other entries [BABYL] 451#0 string BA PC bitmap array data 452 453# XPM icons (Greg Roelofs, newt@uchicago.edu) 4540 search/1 /*\ XPM\ */ X pixmap image text 455!:mime image/x-xpmi 456 457# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 4580 leshort 0xcc52 RLE image data, 459>6 leshort x %d x 460>8 leshort x %d 461>2 leshort >0 \b, lower left corner: %d 462>4 leshort >0 \b, lower right corner: %d 463>10 byte&0x1 =0x1 \b, clear first 464>10 byte&0x2 =0x2 \b, no background 465>10 byte&0x4 =0x4 \b, alpha channel 466>10 byte&0x8 =0x8 \b, comment 467>11 byte >0 \b, %d color channels 468>12 byte >0 \b, %d bits per pixel 469>13 byte >0 \b, %d color map channels 470 471# image file format (Robert Potter, potter@cs.rochester.edu) 4720 string Imagefile\ version- iff image data 473# this adds the whole header (inc. version number), informative but longish 474>10 string >\0 %s 475 476# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 4770 belong 0x59a66a95 Sun raster image data 478>4 belong >0 \b, %d x 479>8 belong >0 %d, 480>12 belong >0 %d-bit, 481#>16 belong >0 %d bytes long, 482>20 belong 0 old format, 483#>20 belong 1 standard, 484>20 belong 2 compressed, 485>20 belong 3 RGB, 486>20 belong 4 TIFF, 487>20 belong 5 IFF, 488>20 belong 0xffff reserved for testing, 489>24 belong 0 no colormap 490>24 belong 1 RGB colormap 491>24 belong 2 raw colormap 492#>28 belong >0 colormap is %d bytes long 493 494# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 495# 496# See 497# http://reality.sgi.com/grafica/sgiimage.html 498# 4990 beshort 474 SGI image data 500#>2 byte 0 \b, verbatim 501>2 byte 1 \b, RLE 502#>3 byte 1 \b, normal precision 503>3 byte 2 \b, high precision 504>4 beshort x \b, %d-D 505>6 beshort x \b, %d x 506>8 beshort x %d 507>10 beshort x \b, %d channel 508>10 beshort !1 \bs 509>80 string >0 \b, "%s" 510 5110 string IT01 FIT image data 512>4 belong x \b, %d x 513>8 belong x %d x 514>12 belong x %d 515# 5160 string IT02 FIT image data 517>4 belong x \b, %d x 518>8 belong x %d x 519>12 belong x %d 520# 5212048 string PCD_IPI Kodak Photo CD image pack file 522>0xe02 byte&0x03 0x00 , landscape mode 523>0xe02 byte&0x03 0x01 , portrait mode 524>0xe02 byte&0x03 0x02 , landscape mode 525>0xe02 byte&0x03 0x03 , portrait mode 5260 string PCD_OPA Kodak Photo CD overview pack file 527 528# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 529# FITS is the Flexible Image Transport System, the de facto standard for 530# data and image transfer, storage, etc., for the astronomical community. 531# (FITS floating point formats are big-endian.) 5320 string SIMPLE\ \ = FITS image data 533>109 string 8 \b, 8-bit, character or unsigned binary integer 534>108 string 16 \b, 16-bit, two's complement binary integer 535>107 string \ 32 \b, 32-bit, two's complement binary integer 536>107 string -32 \b, 32-bit, floating point, single precision 537>107 string -64 \b, 64-bit, floating point, double precision 538 539# other images 5400 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 541 542# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 543# stuff. 544# 5450 beshort 0x1010 PEX Binary Archive 546 547# DICOM medical imaging data 548128 string DICM DICOM medical imaging data 549!:mime application/dicom 550 551# XWD - X Window Dump file. 552# As described in /usr/X11R6/include/X11/XWDFile.h 553# used by the xwd program. 554# Bradford Castalia, idaeim, 1/01 555# updated by Adam Buchbinder, 2/09 556# The following assumes version 7 of the format; the first long is the length 557# of the header, which is at least 25 4-byte longs, and the one at offset 8 558# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, 559# which is a maximum of 32. 5600 belong >100 561>8 belong <3 562>>12 belong <33 563>>>4 belong 7 XWD X Window Dump image data 564!:mime image/x-xwindowdump 565>>>>100 string >\0 \b, "%s" 566>>>>16 belong x \b, %dx 567>>>>20 belong x \b%dx 568>>>>12 belong x \b%d 569 570# PDS - Planetary Data System 571# These files use Parameter Value Language in the header section. 572# Unfortunately, there is no certain magic, but the following 573# strings have been found to be most likely. 5740 string NJPL1I00 PDS (JPL) image data 5752 string NJPL1I PDS (JPL) image data 5760 string CCSD3ZF PDS (CCSD) image data 5772 string CCSD3Z PDS (CCSD) image data 5780 string PDS_ PDS image data 5790 string LBLSIZE= PDS (VICAR) image data 580 581# pM8x: ATARI STAD compressed bitmap format 582# 583# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 584# p M 8 5/6 xx yy zz data... 585# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 586# bytes either run horizontally (pM85) or vertically (pM86). yy is the 587# most frequent byte, xx and zz are runlength escape codes, where xx is 588# used for runs of yy. 589# 5900 string pM85 Atari ST STAD bitmap image data (hor) 591>5 byte 0x00 (white background) 592>5 byte 0xFF (black background) 5930 string pM86 Atari ST STAD bitmap image data (vert) 594>5 byte 0x00 (white background) 595>5 byte 0xFF (black background) 596 597# Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu 598# http://www.atarimax.com/jindroush.atari.org/afmtatr.html 5990 leshort 0x0296 Atari ATR image 600 601# XXX: 602# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 603# magic. 604# SGI RICE image file <mpruett@sgi.com> 605#0 beshort 0x5249 RICE image 606#>2 beshort x v%d 607#>4 beshort x (%d x 608#>6 beshort x %d) 609#>8 beshort 0 8 bit 610#>8 beshort 1 10 bit 611#>8 beshort 2 12 bit 612#>8 beshort 3 13 bit 613#>10 beshort 0 4:2:2 614#>10 beshort 1 4:2:2:4 615#>10 beshort 2 4:4:4 616#>10 beshort 3 4:4:4:4 617#>12 beshort 1 RGB 618#>12 beshort 2 CCIR601 619#>12 beshort 3 RP175 620#>12 beshort 4 YUV 621 622# PCX image files 623# From: Dan Fandrich <dan@coneharvesters.com> 624# updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX 625# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt 626# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 627# 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 6280 ubelong&0xffF8fe00 0x0a000000 629# for PCX bit depth > 0 630>3 ubyte >0 631# test for valid versions 632>>1 ubyte <6 633>>>1 ubyte !1 PCX 634!:mime image/x-pcx 635#!:mime image/pcx 636>>>>1 ubyte 0 ver. 2.5 image data 637>>>>1 ubyte 2 ver. 2.8 image data, with palette 638>>>>1 ubyte 3 ver. 2.8 image data, without palette 639>>>>1 ubyte 4 for Windows image data 640>>>>1 ubyte 5 ver. 3.0 image data 641>>>>4 uleshort x bounding box [%d, 642>>>>6 uleshort x %d] - 643>>>>8 uleshort x [%d, 644>>>>10 uleshort x %d], 645>>>>65 ubyte >1 %d planes each of 646>>>>3 ubyte x %d-bit 647>>>>68 byte 1 colour, 648>>>>68 byte 2 grayscale, 649# this should not happen 650>>>>68 default x image, 651>>>>12 leshort >0 %d x 652>>>>>14 uleshort x %d dpi, 653>>>>2 byte 0 uncompressed 654>>>>2 byte 1 RLE compressed 655 656# Adobe Photoshop 657# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 6580 string 8BPS Adobe Photoshop Image 659!:mime image/vnd.adobe.photoshop 660>4 beshort 2 (PSB) 661>18 belong x \b, %d x 662>14 belong x %d, 663>24 beshort 0 bitmap 664>24 beshort 1 grayscale 665>>12 beshort 2 with alpha 666>24 beshort 2 indexed 667>24 beshort 3 RGB 668>>12 beshort 4 \bA 669>24 beshort 4 CMYK 670>>12 beshort 5 \bA 671>24 beshort 7 multichannel 672>24 beshort 8 duotone 673>24 beshort 9 lab 674>12 beshort > 1 675>>12 beshort x \b, %dx 676>12 beshort 1 \b, 677>22 beshort x %d-bit channel 678>12 beshort > 1 \bs 679 680# XV thumbnail indicator (ThMO) 6810 string P7\ 332 XV thumbnail image data 682 683# NITF is defined by United States MIL-STD-2500A 6840 string NITF National Imagery Transmission Format 685>25 string >\0 dated %.14s 686 687# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 688# Format variations from: Bernd Nuernberger <bernd.nuernberger@web.de> 689# See http://fileformats.archiveteam.org/wiki/GEM_Raster 690# For variations, also see: 691# http://www.seasip.info/Gem/ff_img.html (Ventura) 692# http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT) 693# http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT) 694# http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG) 6950 beshort 0x0001 696>2 beshort 0x0008 GEM Image data 697>>0 use gem_info 698>2 beshort 0x0009 GEM Image data (Ventura) 699>>0 use gem_info 70016 string XIMG\0 GEM XIMG Image data 701>0 use gem_info 70216 string STTT\0\x10 GEM STTT Image data 703>0 use gem_info 70416 string TIMG\0 GEM TIMG Image data 705>0 use gem_info 706 7070 name gem_info 708>12 beshort x %d x 709>14 beshort x %d, 710>4 beshort x %d planes, 711>8 beshort x %d x 712>10 beshort x %d pixelsize 713 714# GEM Metafile (Wolfram Kleff) 7150 lelong 0x0018FFFF GEM Metafile data 716>4 leshort x version %d 717 718# 719# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 720# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 721# 7220 string \0\nSMJPEG SMJPEG 723>8 belong x %d.x data 724# According to the specification you could find any number of _TXT 725# headers here, but I can't think of any way of handling that. None of 726# the SMJPEG files I tried it on used this feature. Even if such a 727# file is encountered the output should still be reasonable. 728>16 string _SND \b, 729>>24 beshort >0 %d Hz 730>>26 byte 8 8-bit 731>>26 byte 16 16-bit 732>>28 string NONE uncompressed 733# >>28 string APCM ADPCM compressed 734>>27 byte 1 mono 735>>28 byte 2 stereo 736# Help! Isn't there any way to avoid writing this part twice? 737>>32 string _VID \b, 738# >>>48 string JFIF JPEG 739>>>40 belong >0 %d frames 740>>>44 beshort >0 (%d x 741>>>46 beshort >0 %d) 742>16 string _VID \b, 743# >>32 string JFIF JPEG 744>>24 belong >0 %d frames 745>>28 beshort >0 (%d x 746>>30 beshort >0 %d) 747 7480 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 749 750# "thumbnail file" (icon) 751# descended from "xv", but in use by other applications as well (Wolfram Kleff) 7520 string P7\ 332 XV "thumbnail file" (icon) data 753 754# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 7550 string KiSS KISS/GS 756>4 byte 16 color 757>>5 byte x %d bit 758>>8 leshort x %d colors 759>>10 leshort x %d groups 760>4 byte 32 cell 761>>5 byte x %d bit 762>>8 leshort x %d x 763>>10 leshort x %d 764>>12 leshort x +%d 765>>14 leshort x +%d 766 767# Webshots (www.webshots.com), by John Harrison 7680 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 769 770# Hercules DASD image files 771# From Jan Jaeger <jj@septa.nl> 7720 string CKD_P370 Hercules CKD DASD image file 773>8 long x \b, %d heads per cylinder 774>12 long x \b, track size %d bytes 775>16 byte x \b, device type 33%2.2X 776 7770 string CKD_C370 Hercules compressed CKD DASD image file 778>8 long x \b, %d heads per cylinder 779>12 long x \b, track size %d bytes 780>16 byte x \b, device type 33%2.2X 781 7820 string CKD_S370 Hercules CKD DASD shadow file 783>8 long x \b, %d heads per cylinder 784>12 long x \b, track size %d bytes 785>16 byte x \b, device type 33%2.2X 786 787# Squeak images and programs - etoffi@softhome.net 7880 string \146\031\0\0 Squeak image data 7890 search/1 'From\040Squeak Squeak program text 790 791# partimage: file(1) magic for PartImage files (experimental, incomplete) 792# Author: Hans-Joachim Baader <hjb@pro-linux.de> 7930 string PaRtImAgE-VoLuMe PartImage 794>0x0020 string 0.6.1 file version %s 795>>0x0060 lelong >-1 volume %d 796#>>0x0064 8 byte identifier 797#>>0x007c reserved 798>>0x0200 string >\0 type %s 799>>0x1400 string >\0 device %s, 800>>0x1600 string >\0 original filename %s, 801# Some fields omitted 802>>0x2744 lelong 0 not compressed 803>>0x2744 lelong 1 gzip compressed 804>>0x2744 lelong 2 bzip2 compressed 805>>0x2744 lelong >2 compressed with unknown algorithm 806>0x0020 string >0.6.1 file version %s 807>0x0020 string <0.6.1 file version %s 808 809# DCX is multi-page PCX, using a simple header of up to 1024 810# offsets for the respective PCX components. 811# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 8120 lelong 987654321 DCX multi-page PCX image data 813 814# Simon Walton <simonw@matteworld.com> 815# Kodak Cineon format for scanned negatives 816# http://www.kodak.com/US/en/motion/support/dlad/ 8170 lelong 0xd75f2a80 Cineon image data 818>200 belong >0 \b, %d x 819>204 belong >0 %d 820 821 822# Bio-Rad .PIC is an image format used by microscope control systems 823# and related image processing software used by biologists. 824# From: Vebjorn Ljosa <vebjorn@ljosa.com> 825# BOOL values are two-byte integers; use them to rule out false positives. 826# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt 827# Samples: http://www.loci.wisc.edu/software/sample-data 82814 leshort <2 829>62 leshort <2 830>>54 leshort 12345 Bio-Rad .PIC Image File 831>>>0 leshort >0 %d x 832>>>2 leshort >0 %d, 833>>>4 leshort =1 1 image in file 834>>>4 leshort >1 %d images in file 835 836# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 837# The description of *.mrw format can be found at 838# http://www.dalibor.cz/minolta/raw_file_format.htm 8390 string \000MRM Minolta Dimage camera raw image data 840 841# Summary: DjVu image / document 842# Extension: .djvu 843# Reference: http://djvu.org/docs/DjVu3Spec.djvu 844# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> 845# Modified by (1): Abel Cheung <abelcheung@gmail.com> 8460 string AT&TFORM 847>12 string DJVM DjVu multiple page document 848!:mime image/vnd.djvu 849>12 string DJVU DjVu image or single page document 850!:mime image/vnd.djvu 851>12 string DJVI DjVu shared document 852!:mime image/vnd.djvu 853>12 string THUM DjVu page thumbnails 854!:mime image/vnd.djvu 855 856# Originally by Marc Espie 857# Modified by Robert Minsk <robertminsk at yahoo.com> 858# http://www.openexr.com/openexrfilelayout.pdf 8590 lelong 20000630 OpenEXR image data, 860!:mime image/x-exr 861>4 lelong&0x000000ff x version %d, 862>4 lelong ^0x00000200 storage: scanline 863>4 lelong &0x00000200 storage: tiled 864>8 search/0x1000 compression\0 \b, compression: 865>>&16 byte 0 none 866>>&16 byte 1 rle 867>>&16 byte 2 zips 868>>&16 byte 3 zip 869>>&16 byte 4 piz 870>>&16 byte 5 pxr24 871>>&16 byte 6 b44 872>>&16 byte 7 b44a 873>>&16 byte >7 unknown 874>8 search/0x1000 dataWindow\0 \b, dataWindow: 875>>&10 lelong x (%d 876>>&14 lelong x %d)- 877>>&18 lelong x \b(%d 878>>&22 lelong x %d) 879>8 search/0x1000 displayWindow\0 \b, displayWindow: 880>>&10 lelong x (%d 881>>&14 lelong x %d)- 882>>&18 lelong x \b(%d 883>>&22 lelong x %d) 884>8 search/0x1000 lineOrder\0 \b, lineOrder: 885>>&14 byte 0 increasing y 886>>&14 byte 1 decreasing y 887>>&14 byte 2 random y 888>>&14 byte >2 unknown 889 890# SMPTE Digital Picture Exchange Format, SMPTE DPX 891# 892# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital 893# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 894# Robert Minsk <robertminsk at yahoo.com> 8950 string SDPX DPX image data, big-endian, 896!:mime image/x-dpx 897>768 beshort <4 898>>772 belong x %dx 899>>776 belong x \b%d, 900>768 beshort >3 901>>776 belong x %dx 902>>772 belong x \b%d, 903>768 beshort 0 left to right/top to bottom 904>768 beshort 1 right to left/top to bottom 905>768 beshort 2 left to right/bottom to top 906>768 beshort 3 right to left/bottom to top 907>768 beshort 4 top to bottom/left to right 908>768 beshort 5 top to bottom/right to left 909>768 leshort 6 bottom to top/left to right 910>768 leshort 7 bottom to top/right to left 911 912# From: Tom Hilinski <tom.hilinski@comcast.net> 913# http://www.unidata.ucar.edu/packages/netcdf/ 9140 string CDF\001 NetCDF Data Format data 915 916#----------------------------------------------------------------------- 917# Hierarchical Data Format, used to facilitate scientific data exchange 918# specifications at http://hdf.ncsa.uiuc.edu/ 9190 belong 0x0e031301 Hierarchical Data Format (version 4) data 920!:mime application/x-hdf 9210 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data 922!:mime application/x-hdf 923512 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 512 bytes user block 924!:mime application/x-hdf 9251024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block 926!:mime application/x-hdf 9272048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block 928!:mime application/x-hdf 9294096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block 930!:mime application/x-hdf 931 932 933# From: Tobias Burnus <burnus@net-b.de> 934# Xara (for a while: Corel Xara) is a graphic package, see 935# http://www.xara.com/ for Windows and as GPL application for Linux 9360 string XARA\243\243 Xara graphics file 937 938# http://www.cartesianinc.com/Tech/ 9390 string CPC\262 Cartesian Perceptual Compression image 940!:mime image/x-cpi 941 942# From Albert Cahalan <acahalan@gmail.com> 943# puredigital used it for the CVS disposable camcorder 944#8 lelong 4 ZBM bitmap image data 945#>4 leshort x %u x 946#>6 leshort x %u 947 948# From Albert Cahalan <acahalan@gmail.com> 949# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons 9500 string C565 OLPC firmware icon image data 951>4 leshort x %u x 952>6 leshort x %u 953 954# Applied Images - Image files from Cytovision 955# Gustavo Junior Alves <gjalves@gjalves.com.br> 9560 string \xce\xda\xde\xfa Cytovision Metaphases file 9570 string \xed\xad\xef\xac Cytovision Karyotype file 9580 string \x0b\x00\x03\x00 Cytovision FISH Probe file 9590 string \xed\xfe\xda\xbe Cytovision FLEX file 9600 string \xed\xab\xed\xfe Cytovision FLEX file 9610 string \xad\xfd\xea\xad Cytovision RATS file 962 963# Wavelet Scalar Quantization format used in gray-scale fingerprint images 964# From Tano M Fotang <mfotang@quanteq.com> 9650 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data 966 967# Type: PCO B16 image files 968# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf 969# From: Florian Philipp <florian.philipp@binarywings.net> 970# Extension: .b16 971# Description: Pixel image format produced by PCO Camware, typically used 972# together with PCO cameras. 973# Note: Different versions exist for e.g. 8 bit and 16 bit images. 974# Documentation is incomplete. 9750 string/b PCO- PCO B16 image data 976>12 lelong x \b, %dx 977>16 lelong x \b%d 978>20 lelong 0 \b, short header 979>20 lelong -1 \b, extended header 980>>24 lelong 0 \b, grayscale 981>>>36 lelong 0 linear LUT 982>>>36 lelong 1 logarithmic LUT 983>>>28 lelong x [%d 984>>>32 lelong x \b,%d] 985>>24 lelong 1 \b, color 986>>>64 lelong 0 linear LUT 987>>>64 lelong 1 logarithmic LUT 988>>>40 lelong x r[%d 989>>>44 lelong x \b,%d] 990>>>48 lelong x g[%d 991>>>52 lelong x \b,%d] 992>>>56 lelong x b[%d 993>>>60 lelong x \b,%d] 994 995# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches 996# From: Markus Heidelberg <markus.heidelberg at web.de> 9970 string/t [BitmapInfo2] Polar Monitor Bitmap text 998!:mime image/x-polar-monitor-bitmap 999 1000# From: Rick Richardson <rickrich@gmail.com> 10010 string GARMIN\ BITMAP\ 01 Garmin Bitmap file 1002 1003# Type: Ulead Photo Explorer5 (.pe5) 1004# URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese) 1005# From: Simon Horman <horms@debian.org> 10060 string IIO2H Ulead Photo Explorer5 1007 1008# Type: X11 cursor 1009# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup 1010# From: Mathias Brodala <info@noctus.net> 10110 string Xcur X11 cursor 1012 1013# Type: Olympus ORF raw images. 1014# URL: http://libopenraw.freedesktop.org/wiki/Olympus_ORF 1015# From: Adam Buchbinder <adam.buchbinder@gmail.com> 10160 string MMOR Olympus ORF raw image data, big-endian 1017!:mime image/x-olympus-orf 10180 string IIRO Olympus ORF raw image data, little-endian 1019!:mime image/x-olympus-orf 10200 string IIRS Olympus ORF raw image data, little-endian 1021!:mime image/x-olympus-orf 1022 1023# Type: files used in modern AVCHD camcoders to store clip information 1024# Extension: .cpi 1025# From: Alexander Danilov <alexander.a.danilov@gmail.com> 10260 string HDMV0100 AVCHD Clip Information 1027 1028# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1029# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ 1030# Radiance HDR; usually has .pic or .hdr extension. 10310 string #?RADIANCE\n Radiance HDR image data 1032#!mime image/vnd.radiance 1033 1034# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1035# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf 1036# Used by the pfstools packages. The regex matches for the image size could 1037# probably use some work. The MIME type is made up; if there's one in 1038# actual common use, it should replace the one below. 10390 string PFS1\x0a PFS HDR image data 1040#!mime image/x-pfs 1041>1 regex [0-9]*\ \b, %s 1042>>1 regex \ [0-9]{4} \bx%s 1043 1044# Type: Foveon X3F 1045# URL: http://www.photofo.com/downloads/x3f-raw-format.pdf 1046# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1047# Note that the MIME type isn't defined anywhere that I can find; if 1048# there's a canonical type for this format, it should replace this one. 10490 string FOVb Foveon X3F raw image data 1050!:mime image/x-x3f 1051>6 leshort x \b, version %d. 1052>4 leshort x \b%d 1053>28 lelong x \b, %dx 1054>32 lelong x \b%d 1055 1056# Paint.NET file 1057# From Adam Buchbinder <adam.buchbinder@gmail.com> 10580 string PDN3 Paint.NET image data 1059!:mime image/x-paintnet 1060 1061# Not really an image. 1062# From: "Tano M. Fotang" <mfotang@quanteq.com> 10630 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) 1064 1065# doc: http://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip 1066# example: http://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip 106790 bequad 0x574D50484F544F00 JPEG-XR Image 1068>98 byte&0x08 =0x08 \b, hard tiling 1069>99 byte&0x80 =0x80 \b, tiling present 1070>99 byte&0x40 =0x40 \b, codestream present 1071>99 byte&0x38 x \b, spatial xform= 1072>99 byte&0x38 0x00 \bTL 1073>99 byte&0x38 0x08 \bBL 1074>99 byte&0x38 0x10 \bTR 1075>99 byte&0x38 0x18 \bBR 1076>99 byte&0x38 0x20 \bBT 1077>99 byte&0x38 0x28 \bRB 1078>99 byte&0x38 0x30 \bLT 1079>99 byte&0x38 0x38 \bLB 1080>100 byte&0x80 =0x80 \b, short header 1081>>102 beshort+1 x \b, %d 1082>>104 beshort+1 x \bx%d 1083>100 byte&0x80 =0x00 \b, long header 1084>>102 belong+1 x \b, %x 1085>>106 belong+1 x \bx%x 1086>101 beshort&0xf x \b, bitdepth= 1087>>101 beshort&0xf 0x0 \b1-WHITE=1 1088>>101 beshort&0xf 0x1 \b8 1089>>101 beshort&0xf 0x2 \b16 1090>>101 beshort&0xf 0x3 \b16-SIGNED 1091>>101 beshort&0xf 0x4 \b16-FLOAT 1092>>101 beshort&0xf 0x5 \b(reserved 5) 1093>>101 beshort&0xf 0x6 \b32-SIGNED 1094>>101 beshort&0xf 0x7 \b32-FLOAT 1095>>101 beshort&0xf 0x8 \b5 1096>>101 beshort&0xf 0x9 \b10 1097>>101 beshort&0xf 0xa \b5-6-5 1098>>101 beshort&0xf 0xb \b(reserved %d) 1099>>101 beshort&0xf 0xc \b(reserved %d) 1100>>101 beshort&0xf 0xd \b(reserved %d) 1101>>101 beshort&0xf 0xe \b(reserved %d) 1102>>101 beshort&0xf 0xf \b1-BLACK=1 1103>101 beshort&0xf0 x \b, colorfmt= 1104>>101 beshort&0xf0 0x00 \bYONLY 1105>>101 beshort&0xf0 0x10 \bYUV240 1106>>101 beshort&0xf0 0x20 \bYWV422 1107>>101 beshort&0xf0 0x30 \bYWV444 1108>>101 beshort&0xf0 0x40 \bCMYK 1109>>101 beshort&0xf0 0x50 \bCMYKDIRECT 1110>>101 beshort&0xf0 0x60 \bNCOMPONENT 1111>>101 beshort&0xf0 0x70 \bRGB 1112>>101 beshort&0xf0 0x80 \bRGBE 1113>>101 beshort&0xf0 >0x80 \b(reserved 0x%x) 1114 1115# From: Johan van der Knijff <johan.vanderknijff@kb.nl> 1116# 1117# BPG (Better Portable Graphics) format 1118# http://bellard.org/bpg/ 1119# http://fileformats.archiveteam.org/wiki/BPG 1120# 11210 string \x42\x50\x47\xFB BPG (Better Portable Graphics) 1122!:mime image/bpg 1123