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