1 2#------------------------------------------------------------------------------ 3# $File: images,v 1.117 2016/07/05 19:12:21 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# URL: http://justsolve.archiveteam.org/wiki/TGA 16# Reference: http://www.dca.fee.unicamp.br/~martino/disciplinas/ea978/tgaffs.pdf 17# Update: Joerg Jenderek 18# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11 19# ,32 or 33 (both not observed) 20# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise 21# or theoretically 2-128 reserved for use by Truevision or 128-255 may be used for developer applications 22# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs 23# `xv' recognizes only a subset of the following (RGB with pixelsize = 24) 24# `tgatoppm' recognizes a superset (Index may be anything) 25# 26# test of Color Map Type 0~no 1~color map 27# and Image Type 1 2 3 9 10 11 32 33 28# and Color Map Entry Size 0 15 16 24 32 290 ubequad&0x00FeC400000000C0 0 30# skip more garbage by looking for positive image type 31>2 ubyte >0 32# skip some compiled terminfo by looking for image type less equal 33 33>>2 ubyte <34 34# skip arches.3200 , Finder.Root , Slp.1 by looking for low pixel sizes 15 16 24 32 35>>>16 ubyte <33 36# skip more by looking for pixel size 0Fh 10h 18h 20h 37>>>>16 ubyte&0xC0 0x00 38# skip 260-16.ico by looking for no color map 39>>>>>1 ubyte 0 40# implies no first map entry 41>>>>>>3 uleshort 0 42>>>>>>>0 use tga-image 43# Color Map 44>>>>>1 ubyte >0 45>>>>>>0 use tga-image 46# display tga bitmap image information 470 name tga-image 48>2 ubyte <34 Targa image data 49!:mime image/x-tga 50!:apple ????TPIC 51# normal extension .tga but some Truevision products used others: 52# tpic (Apple),icb (Image Capture Board),vda (Video Display Adapter),vst (NuVista),win (UNSURE about that) 53!:ext tga/tpic/icb/vda/vst 54# image type 1 2 3 9 10 11 32 33 55>2 ubyte&0xF7 1 - Map 56>2 ubyte&0xF7 2 - RGB 57# alpha channel 58>>17 ubyte&0x0F >0 \bA 59>2 ubyte&0xF7 3 - Mono 60# type not found, but by http://www.fileformat.info/format/tga/corion.htm 61# Compressed color-mapped data, using Huffman, Delta, and runlength encoding 62>2 ubyte 32 - Color 63# Compressed color-mapped data, using Huffman, Delta, and RLE. 4-pass quadtree- type process 64>2 ubyte 33 - Color 65# Color Map Type 0~no 1~color map 66>1 ubyte 1 ( 67# first color map entry, 0 normal 68>>3 uleshort >0 \b%d- 69# color map length 0 2 1dh 3bh d9h 100h 70>>5 uleshort x \b%d) 71# 8~run length encoding bit 72>2 ubyte&0x08 8 - RLE 73# gimp can create big pictures! 74>12 uleshort >0 %d x 75>12 uleshort =0 65536 x 76# image height. 0 interpreted as 65536 77>14 uleshort >0 %d 78>14 uleshort =0 65536 79# Image Pixel Size 15 16 24 32 80>16 ubyte x x %d 81# X origin of image. 0 normal 82>8 uleshort >0 +%d 83# Y origin of image. 0 normal; positive for top 84>10 uleshort >0 +%d 85# Image descriptor: bits 3-0 give the alpha channel depth, bits 5-4 give direction 86>17 ubyte&0x0F >0 - %d-bit alpha 87# bits 5-4 give direction. normal bottom left 88>17 ubyte &0x20 - top 89#>17 ubyte ^0x20 - bottom 90>17 ubyte &0x10 - right 91#>17 ubyte ^0x10 - left 92# some info say other bits 6-7 should be zero 93# but data storage interleave by http://www.fileformat.info/format/tga/corion.htm 94# 00 - no interleave;01 - even/odd interleave; 10 - four way interleave; 11 - reserved 95#>17 ubyte&0xC0 0x00 - no interleave 96>17 ubyte&0xC0 0x40 - interleave 97>17 ubyte&0xC0 0x80 - four way interleave 98>17 ubyte&0xC0 0xC0 - reserved 99# positive length implies identification field 100>0 ubyte >0 101>>18 string x "%s" 102# last 18 bytes of newer tga file footer signature 103>18 search/4261301/s TRUEVISION-XFILE.\0 104# extension area offset if not 0 105>>&-8 ulelong >0 106# length of the extension area. normal 495 for version 2.0 107>>>(&-4.l) uleshort 0x01EF 108# AuthorName[41] 109>>>>&0 string >\0 - author "%-.40s" 110# Comment[324]=4 * 80 null terminated 111>>>>&41 string >\0 - comment "%-.80s" 112# date 113>>>>&365 ubequad&0xffffFFFFffff0000 !0 114# Day 115>>>>>&-6 uleshort x %d 116# Month 117>>>>>&-8 uleshort x \b-%d 118# Year 119>>>>>&-4 uleshort x \b-%d 120# time 121>>>>&371 ubequad&0xffffFFFFffff0000 !0 122# hour 123>>>>>&-8 uleshort x %d 124# minutes 125>>>>>&-6 uleshort x \b:%.2d 126# second 127>>>>>&-4 uleshort x \b:%.2d 128# JobName[41] 129>>>>&377 string >\0 - job "%-.40s" 130# JobHour Jobminute Jobsecond 131>>>>&418 ubequad&0xffffFFFFffff0000 !0 132>>>>>&-8 uleshort x %d 133>>>>>&-6 uleshort x \b:%.2d 134>>>>>&-4 uleshort x \b:%.2d 135# SoftwareId[41] 136>>>>&424 string >\0 - %-.40s 137# SoftwareVersionNumber 138>>>>&424 ubyte >0 139>>>>>&40 uleshort/100 x %d 140>>>>>&40 uleshort%100 x \b.%d 141# VersionLetter 142>>>>>&42 ubyte >0x20 \b%c 143# KeyColor 144>>>>&468 ulelong >0 - keycolor 0x%8.8x 145# Denominator of Pixel ratio. 0~no pixel aspect 146>>>>&474 uleshort >0 147# Numerator 148>>>>>&-4 uleshort >0 - aspect %d 149>>>>>&-2 uleshort x \b/%d 150# Denominator of Gamma ratio. 0~no Gamma value 151>>>>&478 uleshort >0 152# Numerator 153>>>>>&-4 uleshort >0 - gamma %d 154>>>>>&-2 uleshort x \b/%d 155# ColorOffset 156#>>>>&480 ulelong x - col offset 0x%8.8x 157# StampOffset 158#>>>>&484 ulelong x - stamp offset 0x%8.8x 159# ScanOffset 160#>>>>&488 ulelong x - scan offset 0x%8.8x 161# AttributesType 162#>>>>&492 ubyte x - Attributes 0x%x 163## EndOfTGA 164 165# PBMPLUS images 166# The next byte following the magic is always whitespace. 167# strength is changed to try these patterns before "x86 boot sector" 1680 name netpbm 169>3 regex/s =[0-9]{1,50}\ [0-9]{1,50} Netpbm image data 170>>&0 regex =[0-9]{1,50} \b, size = %s x 171>>>&0 regex =[0-9]{1,50} \b %s 172 1730 search/1 P1 174>0 regex/4 P1\\s 175>>0 use netpbm 176>>>0 string x \b, bitmap 177!:strength + 45 178!:mime image/x-portable-bitmap 179 1800 search/1 P2 181>0 regex/4 P2\\s 182>>0 use netpbm 183>>>0 string x \b, greymap 184!:strength + 45 185!:mime image/x-portable-greymap 186 1870 search/1 P3 188>0 regex/4 P3\\s 189>>0 use netpbm 190>>>0 string x \b, pixmap 191!:strength + 45 192!:mime image/x-portable-pixmap 193 1940 string P4 195>0 regex/4 P4\\s 196>>0 use netpbm 197>>>0 string x \b, rawbits, bitmap 198!:strength + 45 199!:mime image/x-portable-bitmap 200 2010 string P5 202>0 regex/4 P5\\s 203>>0 use netpbm 204>>>0 string x \b, rawbits, greymap 205!:strength + 45 206!:mime image/x-portable-greymap 207 2080 string P6 209>0 regex/4 P6\\s 210>>0 use netpbm 211>>>0 string x \b, rawbits, pixmap 212!:strength + 45 213!:mime image/x-portable-pixmap 214 2150 string P7 Netpbm PAM image file 216!:mime image/x-portable-pixmap 217 218# From: bryanh@giraffe-data.com (Bryan Henderson) 2190 string \117\072 Solitaire Image Recorder format 220>4 string \013 MGI Type 11 221>4 string \021 MGI Type 17 2220 string .MDA MicroDesign data 223>21 byte 48 version 2 224>21 byte 51 version 3 2250 string .MDP MicroDesign page data 226>21 byte 48 version 2 227>21 byte 51 version 3 228 229# NIFF (Navy Interchange File Format, a modification of TIFF) images 230# [GRR: this *must* go before TIFF] 2310 string IIN1 NIFF image data 232!:mime image/x-niff 233 234# Canon RAW version 1 (CRW) files are a type of Canon Image File Format 235# (CIFF) file. These are apparently all little-endian. 236# From: Adam Buchbinder <adam.buchbinder@gmail.com> 237# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html 2380 string II\x1a\0\0\0HEAPCCDR Canon CIFF raw image data 239!:mime image/x-canon-crw 240>16 leshort x \b, version %d. 241>14 leshort x \b%d 242 243# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic 244# number. Put this above the TIFF test to make sure we detect them. 245# These are apparently all little-endian. 246# From: Adam Buchbinder <adam.buchbinder@gmail.com> 247# URL: http://libopenraw.freedesktop.org/wiki/Canon_CR2 2480 string II\x2a\0\x10\0\0\0CR Canon CR2 raw image data 249!:mime image/x-canon-cr2 250>10 byte x \b, version %d. 251>11 byte x \b%d 252 253# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 254# The second word of TIFF files is the TIFF version number, 42, which has 255# never changed. The TIFF specification recommends testing for it. 2560 string MM\x00\x2a TIFF image data, big-endian 257!:mime image/tiff 258>(4.L) use \^tiff_ifd 2590 string II\x2a\x00 TIFF image data, little-endian 260!:mime image/tiff 261>(4.l) use tiff_ifd 262 2630 name tiff_ifd 264>0 leshort x \b, direntries=%d 265>2 use tiff_entry 266 2670 name tiff_entry 268# NewSubFileType 269>0 leshort 0xfe 270>>12 use tiff_entry 271>0 leshort 0x100 272>>4 lelong 1 273>>>12 use tiff_entry 274>>>8 leshort x \b, width=%d 275>0 leshort 0x101 276>>4 lelong 1 277>>>8 leshort x \b, height=%d 278>>>12 use tiff_entry 279>0 leshort 0x102 280>>8 leshort x \b, bps=%d 281>>12 use tiff_entry 282>0 leshort 0x103 283>>4 lelong 1 \b, compression= 284>>>8 leshort 1 \bnone 285>>>8 leshort 2 \bhuffman 286>>>8 leshort 3 \bbi-level group 3 287>>>8 leshort 4 \bbi-level group 4 288>>>8 leshort 5 \bLZW 289>>>8 leshort 6 \bJPEG (old) 290>>>8 leshort 7 \bJPEG 291>>>8 leshort 8 \bdeflate 292>>>8 leshort 9 \bJBIG, ITU-T T.85 293>>>8 leshort 0xa \bJBIG, ITU-T T.43 294>>>8 leshort 0x7ffe \bNeXT RLE 2-bit 295>>>8 leshort 0x8005 \bPackBits (Macintosh RLE) 296>>>8 leshort 0x8029 \bThunderscan RLE 297>>>8 leshort 0x807f \bRasterPadding (CT or MP) 298>>>8 leshort 0x8080 \bRLE (Line Work) 299>>>8 leshort 0x8081 \bRLE (High-Res Cont-Tone) 300>>>8 leshort 0x8082 \bRLE (Binary Line Work) 301>>>8 leshort 0x80b2 \bDeflate (PKZIP) 302>>>8 leshort 0x80b3 \bKodak DCS 303>>>8 leshort 0x8765 \bJBIG 304>>>8 leshort 0x8798 \bJPEG2000 305>>>8 leshort 0x8799 \bNikon NEF Compressed 306>>>8 default x 307>>>>8 leshort x \b(unknown 0x%x) 308>>>12 use tiff_entry 309>0 leshort 0x106 \b, PhotometricIntepretation= 310>>8 clear x 311>>8 leshort 0 \bWhiteIsZero 312>>8 leshort 1 \bBlackIsZero 313>>8 leshort 2 \bRGB 314>>8 leshort 3 \bRGB Palette 315>>8 leshort 4 \bTransparency Mask 316>>8 leshort 5 \bCMYK 317>>8 leshort 6 \bYCbCr 318>>8 leshort 8 \bCIELab 319>>8 default x 320>>>8 leshort x \b(unknown=0x%x) 321>>12 use tiff_entry 322# FillOrder 323>0 leshort 0x10a 324>>4 lelong 1 325>>>12 use tiff_entry 326# DocumentName 327>0 leshort 0x10d 328>>(8.l) string x \b, name=%s 329>>>12 use tiff_entry 330# ImageDescription 331>0 leshort 0x10e 332>>(8.l) string x \b, description=%s 333>>>12 use tiff_entry 334# Make 335>0 leshort 0x10f 336>>(8.l) string x \b, manufacturer=%s 337>>>12 use tiff_entry 338# Model 339>0 leshort 0x110 340>>(8.l) string x \b, model=%s 341>>>12 use tiff_entry 342# StripOffsets 343>0 leshort 0x111 344>>12 use tiff_entry 345# Orientation 346>0 leshort 0x112 \b, orientation= 347>>8 leshort 1 \bupper-left 348>>8 leshort 3 \blower-right 349>>8 leshort 6 \bupper-right 350>>8 leshort 8 \blower-left 351>>8 leshort 9 \bundefined 352>>8 default x 353>>>8 leshort x \b[*%d*] 354>>12 use tiff_entry 355# XResolution 356>0 leshort 0x11a 357>>8 lelong x \b, xresolution=%d 358>>12 use tiff_entry 359# YResolution 360>0 leshort 0x11b 361>>8 lelong x \b, yresolution=%d 362>>12 use tiff_entry 363# ResolutionUnit 364>0 leshort 0x128 365>>8 leshort x \b, resolutionunit=%d 366>>12 use tiff_entry 367# Software 368>0 leshort 0x131 369>>(8.l) string x \b, software=%s 370>>12 use tiff_entry 371# Datetime 372>0 leshort 0x132 373>>(8.l) string x \b, datetime=%s 374>>12 use tiff_entry 375# HostComputer 376>0 leshort 0x13c 377>>(8.l) string x \b, hostcomputer=%s 378>>12 use tiff_entry 379# WhitePoint 380>0 leshort 0x13e 381>>12 use tiff_entry 382# PrimaryChromaticities 383>0 leshort 0x13f 384>>12 use tiff_entry 385# YCbCrCoefficients 386>0 leshort 0x211 387>>12 use tiff_entry 388# YCbCrPositioning 389>0 leshort 0x213 390>>12 use tiff_entry 391# ReferenceBlackWhite 392>0 leshort 0x214 393>>12 use tiff_entry 394# Copyright 395>0 leshort 0x8298 396>>(8.l) string x \b, copyright=%s 397>>12 use tiff_entry 398# ExifOffset 399>0 leshort 0x8769 400>>12 use tiff_entry 401# GPS IFD 402>0 leshort 0x8825 \b, GPS-Data 403>>12 use tiff_entry 404 405#>0 leshort x \b, unknown=0x%x 406#>>12 use tiff_entry 407 4080 string MM\x00\x2b Big TIFF image data, big-endian 409!:mime image/tiff 4100 string II\x2b\x00 Big TIFF image data, little-endian 411!:mime image/tiff 412 413# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 414# (Greg Roelofs, newt@uchicago.edu) 415# (Albert Cahalan, acahalan@cs.uml.edu) 416# 417# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ... 418# 4190 string \x89PNG\x0d\x0a\x1a\x0a PNG image data 420!:mime image/png 421>16 belong x \b, %d x 422>20 belong x %d, 423>24 byte x %d-bit 424>25 byte 0 grayscale, 425>25 byte 2 \b/color RGB, 426>25 byte 3 colormap, 427>25 byte 4 gray+alpha, 428>25 byte 6 \b/color RGBA, 429#>26 byte 0 deflate/32K, 430>28 byte 0 non-interlaced 431>28 byte 1 interlaced 432 433# possible GIF replacements; none yet released! 434# (Greg Roelofs, newt@uchicago.edu) 435# 436# GRR 950115: this was mine ("Zip GIF"): 4370 string GIF94z ZIF image (GIF+deflate alpha) 438!:mime image/x-unknown 439# 440# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): 441# 4420 string FGF95a FGF image (GIF+deflate beta) 443!:mime image/x-unknown 444# 445# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal 446# (best; not yet implemented): 447# 4480 string PBF PBF image (deflate compression) 449!:mime image/x-unknown 450 451# GIF 4520 string GIF8 GIF image data 453!:mime image/gif 454!:apple 8BIMGIFf 455>4 string 7a \b, version 8%s, 456>4 string 9a \b, version 8%s, 457>6 leshort >0 %d x 458>8 leshort >0 %d 459#>10 byte &0x80 color mapped, 460#>10 byte&0x07 =0x00 2 colors 461#>10 byte&0x07 =0x01 4 colors 462#>10 byte&0x07 =0x02 8 colors 463#>10 byte&0x07 =0x03 16 colors 464#>10 byte&0x07 =0x04 32 colors 465#>10 byte&0x07 =0x05 64 colors 466#>10 byte&0x07 =0x06 128 colors 467#>10 byte&0x07 =0x07 256 colors 468 469# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 470# 1 plane, no encoding. 4710 string \361\0\100\273 CMU window manager raster image data 472>4 lelong >0 %d x 473>8 lelong >0 %d, 474>12 lelong >0 %d-bit 475 476# Magick Image File Format 4770 string id=ImageMagick MIFF image data 478 479# Artisan 4800 long 1123028772 Artisan image data 481>4 long 1 \b, rectangular 24-bit 482>4 long 2 \b, rectangular 8-bit with colormap 483>4 long 3 \b, rectangular 32-bit (24-bit with matte) 484 485# FIG (Facility for Interactive Generation of figures), an object-based format 4860 search/1 #FIG FIG image text 487>5 string x \b, version %.3s 488 489# PHIGS 4900 string ARF_BEGARF PHIGS clear text archive 4910 string @(#)SunPHIGS SunPHIGS 492# version number follows, in the form m.n 493>40 string SunBin binary 494>32 string archive archive 495 496# GKS (Graphics Kernel System) 4970 string GKSM GKS Metafile 498>24 string SunGKS \b, SunGKS 499 500# CGM image files 5010 string BEGMF clear text Computer Graphics Metafile 502 503# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 5040 string yz MGR bitmap, modern format, 8-bit aligned 5050 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 5060 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 5070 string yx MGR bitmap, modern format, squeezed 508 509# Fuzzy Bitmap (FBM) images 5100 string %bitmap\0 FBM image data 511>30 long 0x31 \b, mono 512>30 long 0x33 \b, color 513 514# facsimile data 5151 string PC\ Research,\ Inc group 3 fax data 516>29 byte 0 \b, normal resolution (204x98 DPI) 517>29 byte 1 \b, fine resolution (204x196 DPI) 518# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> 5190 string Sfff structured fax file 520 521# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> 522# most files with the extension .EPA and some with .BMP 5230 string \x11\x06 Award BIOS Logo, 136 x 84 524!:mime image/x-award-bioslogo 5250 string \x11\x09 Award BIOS Logo, 136 x 126 526!:mime image/x-award-bioslogo 527#0 string \x07\x1f BIOS Logo corrupted? 528# http://www.blackfiveservices.co.uk/awbmtools.shtml 529# http://biosgfx.narod.ru/v3/ 530# http://biosgfx.narod.ru/abr-2/ 5310 string AWBM 532>4 leshort <1981 Award BIOS bitmap 533!:mime image/x-award-bmp 534# image width is a multiple of 4 535>>4 leshort&0x0003 0 536>>>4 leshort x \b, %d 537>>>6 leshort x x %d 538>>4 leshort&0x0003 >0 \b, 539>>>4 leshort&0x0003 =1 540>>>>4 leshort x %d+3 541>>>4 leshort&0x0003 =2 542>>>>4 leshort x %d+2 543>>>4 leshort&0x0003 =3 544>>>>4 leshort x %d+1 545>>>6 leshort x x %d 546# at offset 8 starts imagedata followed by "RGB " marker 547 548# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) 549# http://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ 550# 28bitmap_information_header.29 5510 string BM 552>14 leshort 12 PC bitmap, OS/2 1.x format 553!:mime image/x-ms-bmp 554>>18 leshort x \b, %d x 555>>20 leshort x %d 556>14 leshort 64 PC bitmap, OS/2 2.x format 557!:mime image/x-ms-bmp 558>>18 leshort x \b, %d x 559>>20 leshort x %d 560>14 leshort 40 PC bitmap, Windows 3.x format 561!:mime image/x-ms-bmp 562>>18 lelong x \b, %d x 563>>22 lelong x %d x 564>>28 leshort x %d 565>14 leshort 124 PC bitmap, Windows 98/2000 and newer format 566!:mime image/x-ms-bmp 567>>18 lelong x \b, %d x 568>>22 lelong x %d x 569>>28 leshort x %d 570>14 leshort 108 PC bitmap, Windows 95/NT4 and newer format 571!:mime image/x-ms-bmp 572>>18 lelong x \b, %d x 573>>22 lelong x %d x 574>>28 leshort x %d 575>14 leshort 128 PC bitmap, Windows NT/2000 format 576!:mime image/x-ms-bmp 577>>18 lelong x \b, %d x 578>>22 lelong x %d x 579>>28 leshort x %d 580# Too simple - MPi 581#0 string IC PC icon data 582#0 string PI PC pointer image data 583#0 string CI PC color icon data 584#0 string CP PC color pointer image data 585# Conflicts with other entries [BABYL] 586#0 string BA PC bitmap array data 587 588# XPM icons (Greg Roelofs, newt@uchicago.edu) 5890 search/1 /*\ XPM\ */ X pixmap image text 590!:mime image/x-xpmi 591 592# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 5930 leshort 0xcc52 RLE image data, 594>6 leshort x %d x 595>8 leshort x %d 596>2 leshort >0 \b, lower left corner: %d 597>4 leshort >0 \b, lower right corner: %d 598>10 byte&0x1 =0x1 \b, clear first 599>10 byte&0x2 =0x2 \b, no background 600>10 byte&0x4 =0x4 \b, alpha channel 601>10 byte&0x8 =0x8 \b, comment 602>11 byte >0 \b, %d color channels 603>12 byte >0 \b, %d bits per pixel 604>13 byte >0 \b, %d color map channels 605 606# image file format (Robert Potter, potter@cs.rochester.edu) 6070 string Imagefile\ version- iff image data 608# this adds the whole header (inc. version number), informative but longish 609>10 string >\0 %s 610 611# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 6120 belong 0x59a66a95 Sun raster image data 613>4 belong >0 \b, %d x 614>8 belong >0 %d, 615>12 belong >0 %d-bit, 616#>16 belong >0 %d bytes long, 617>20 belong 0 old format, 618#>20 belong 1 standard, 619>20 belong 2 compressed, 620>20 belong 3 RGB, 621>20 belong 4 TIFF, 622>20 belong 5 IFF, 623>20 belong 0xffff reserved for testing, 624>24 belong 0 no colormap 625>24 belong 1 RGB colormap 626>24 belong 2 raw colormap 627#>28 belong >0 colormap is %d bytes long 628 629# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 630# 631# See 632# http://reality.sgi.com/grafica/sgiimage.html 633# 6340 beshort 474 SGI image data 635#>2 byte 0 \b, verbatim 636>2 byte 1 \b, RLE 637#>3 byte 1 \b, normal precision 638>3 byte 2 \b, high precision 639>4 beshort x \b, %d-D 640>6 beshort x \b, %d x 641>8 beshort x %d 642>10 beshort x \b, %d channel 643>10 beshort !1 \bs 644>80 string >0 \b, "%s" 645 6460 string IT01 FIT image data 647>4 belong x \b, %d x 648>8 belong x %d x 649>12 belong x %d 650# 6510 string IT02 FIT image data 652>4 belong x \b, %d x 653>8 belong x %d x 654>12 belong x %d 655# 6562048 string PCD_IPI Kodak Photo CD image pack file 657>0xe02 byte&0x03 0x00 , landscape mode 658>0xe02 byte&0x03 0x01 , portrait mode 659>0xe02 byte&0x03 0x02 , landscape mode 660>0xe02 byte&0x03 0x03 , portrait mode 6610 string PCD_OPA Kodak Photo CD overview pack file 662 663# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 664# FITS is the Flexible Image Transport System, the de facto standard for 665# data and image transfer, storage, etc., for the astronomical community. 666# (FITS floating point formats are big-endian.) 6670 string SIMPLE\ \ = FITS image data 668>109 string 8 \b, 8-bit, character or unsigned binary integer 669>108 string 16 \b, 16-bit, two's complement binary integer 670>107 string \ 32 \b, 32-bit, two's complement binary integer 671>107 string -32 \b, 32-bit, floating point, single precision 672>107 string -64 \b, 64-bit, floating point, double precision 673 674# other images 6750 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 676 677# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 678# stuff. 679# 6800 beshort 0x1010 PEX Binary Archive 681 682# DICOM medical imaging data 683# URL: https://en.wikipedia.org/wiki/DICOM#Data_format 684# Note: "dcm" is the official file name extension 685# XnView mention also "dc3" and "acr" as file name extension 686128 string DICM DICOM medical imaging data 687!:mime application/dicom 688!:ext dcm/dicom/dic 689 690# XWD - X Window Dump file. 691# As described in /usr/X11R6/include/X11/XWDFile.h 692# used by the xwd program. 693# Bradford Castalia, idaeim, 1/01 694# updated by Adam Buchbinder, 2/09 695# The following assumes version 7 of the format; the first long is the length 696# of the header, which is at least 25 4-byte longs, and the one at offset 8 697# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, 698# which is a maximum of 32. 6990 belong >100 700>8 belong <3 701>>12 belong <33 702>>>4 belong 7 XWD X Window Dump image data 703!:mime image/x-xwindowdump 704>>>>100 string >\0 \b, "%s" 705>>>>16 belong x \b, %dx 706>>>>20 belong x \b%dx 707>>>>12 belong x \b%d 708 709# PDS - Planetary Data System 710# These files use Parameter Value Language in the header section. 711# Unfortunately, there is no certain magic, but the following 712# strings have been found to be most likely. 7130 string NJPL1I00 PDS (JPL) image data 7142 string NJPL1I PDS (JPL) image data 7150 string CCSD3ZF PDS (CCSD) image data 7162 string CCSD3Z PDS (CCSD) image data 7170 string PDS_ PDS image data 7180 string LBLSIZE= PDS (VICAR) image data 719 720# pM8x: ATARI STAD compressed bitmap format 721# 722# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 723# p M 8 5/6 xx yy zz data... 724# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 725# bytes either run horizontally (pM85) or vertically (pM86). yy is the 726# most frequent byte, xx and zz are runlength escape codes, where xx is 727# used for runs of yy. 728# 7290 string pM85 Atari ST STAD bitmap image data (hor) 730>5 byte 0x00 (white background) 731>5 byte 0xFF (black background) 7320 string pM86 Atari ST STAD bitmap image data (vert) 733>5 byte 0x00 (white background) 734>5 byte 0xFF (black background) 735 736# Gurkan Sengun <gurkan@linuks.mine.nu>, www.linuks.mine.nu 737# http://www.atarimax.com/jindroush.atari.org/afmtatr.html 7380 leshort 0x0296 Atari ATR image 739 740# XXX: 741# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 742# magic. 743# SGI RICE image file <mpruett@sgi.com> 744#0 beshort 0x5249 RICE image 745#>2 beshort x v%d 746#>4 beshort x (%d x 747#>6 beshort x %d) 748#>8 beshort 0 8 bit 749#>8 beshort 1 10 bit 750#>8 beshort 2 12 bit 751#>8 beshort 3 13 bit 752#>10 beshort 0 4:2:2 753#>10 beshort 1 4:2:2:4 754#>10 beshort 2 4:4:4 755#>10 beshort 3 4:4:4:4 756#>12 beshort 1 RGB 757#>12 beshort 2 CCIR601 758#>12 beshort 3 RP175 759#>12 beshort 4 YUV 760 761# PCX image files 762# From: Dan Fandrich <dan@coneharvesters.com> 763# updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX 764# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt 765# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 766# 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 7670 ubelong&0xffF8fe00 0x0a000000 768# for PCX bit depth > 0 769>3 ubyte >0 770# test for valid versions 771>>1 ubyte <6 772>>>1 ubyte !1 PCX 773!:mime image/x-pcx 774#!:mime image/pcx 775>>>>1 ubyte 0 ver. 2.5 image data 776>>>>1 ubyte 2 ver. 2.8 image data, with palette 777>>>>1 ubyte 3 ver. 2.8 image data, without palette 778>>>>1 ubyte 4 for Windows image data 779>>>>1 ubyte 5 ver. 3.0 image data 780>>>>4 uleshort x bounding box [%d, 781>>>>6 uleshort x %d] - 782>>>>8 uleshort x [%d, 783>>>>10 uleshort x %d], 784>>>>65 ubyte >1 %d planes each of 785>>>>3 ubyte x %d-bit 786>>>>68 byte 1 colour, 787>>>>68 byte 2 grayscale, 788# this should not happen 789>>>>68 default x image, 790>>>>12 leshort >0 %d x 791>>>>>14 uleshort x %d dpi, 792>>>>2 byte 0 uncompressed 793>>>>2 byte 1 RLE compressed 794 795# Adobe Photoshop 796# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 7970 string 8BPS Adobe Photoshop Image 798!:mime image/vnd.adobe.photoshop 799>4 beshort 2 (PSB) 800>18 belong x \b, %d x 801>14 belong x %d, 802>24 beshort 0 bitmap 803>24 beshort 1 grayscale 804>>12 beshort 2 with alpha 805>24 beshort 2 indexed 806>24 beshort 3 RGB 807>>12 beshort 4 \bA 808>24 beshort 4 CMYK 809>>12 beshort 5 \bA 810>24 beshort 7 multichannel 811>24 beshort 8 duotone 812>24 beshort 9 lab 813>12 beshort > 1 814>>12 beshort x \b, %dx 815>12 beshort 1 \b, 816>22 beshort x %d-bit channel 817>12 beshort > 1 \bs 818 819# XV thumbnail indicator (ThMO) 8200 string P7\ 332 XV thumbnail image data 821 822# NITF is defined by United States MIL-STD-2500A 8230 string NITF National Imagery Transmission Format 824>25 string >\0 dated %.14s 825 826# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 827# Format variations from: Bernd Nuernberger <bernd.nuernberger@web.de> 828# Update: Joerg Jenderek 829# See http://fileformats.archiveteam.org/wiki/GEM_Raster 830# For variations, also see: 831# http://www.seasip.info/Gem/ff_img.html (Ventura) 832# http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT) 833# http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT) 834# http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG) 8350 beshort 0x0001 836# header_size 837>2 beshort 0x0008 838>>0 use gem_info 839>2 beshort 0x0009 840>>0 use gem_info 841# no example for NOSIG 842>2 beshort 24 843>>0 use gem_info 844# no example for HYPERPAINT 845>2 beshort 25 846>>0 use gem_info 84716 string XIMG\0 848>0 use gem_info 849# no example 85016 string STTT\0\x10 851>0 use gem_info 852# no example or description 85316 string TIMG\0 854>0 use gem_info 855 8560 name gem_info 857# version is 2 for some XIMG and 1 for all others 858>0 beshort <0x0003 GEM 859# http://www.snowstone.org.uk/riscos/mimeman/mimemap.txt 860!:mime image/x-gem 861# header_size 24 25 27 59 779 words for colored bitmaps 862>>2 beshort >9 863>>>16 string STTT\0\x10 STTT 864>>>16 string TIMG\0 TIMG 865# HYPERPAINT or NOSIG variant 866>>>16 string \0\x80 867>>>>2 beshort =24 NOSIG 868>>>>2 beshort !24 HYPERPAINT 869# NOSIG or XIMG variant 870>>>16 default x 871>>>>16 string !XIMG\0 NOSIG 872>>16 string =XIMG\0 XIMG Image data 873!:ext img/ximg 874# to avoid Warning: Current entry does not yet have a description for adding a EXTENSION type 875>>16 string !XIMG\0 Image data 876!:ext img 877# header_size is 9 for Ventura files and 8 for other GEM Paint files 878>>2 beshort 9 (Ventura) 879#>>2 beshort 8 (Paint) 880>>12 beshort x %d x 881>>14 beshort x %d, 882# 1 4 8 883>>4 beshort x %d planes, 884# in tenths of a millimetre 885>>8 beshort x %d x 886>>10 beshort x %d pixelsize 887# pattern_size 1-8. 2 for GEM Paint 888>>6 beshort !2 \b, pattern size %d 889 890# GEM Metafile (Wolfram Kleff) 8910 lelong 0x0018FFFF GEM Metafile data 892>4 leshort x version %d 893 894# 895# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 896# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 897# 8980 string \0\nSMJPEG SMJPEG 899>8 belong x %d.x data 900# According to the specification you could find any number of _TXT 901# headers here, but I can't think of any way of handling that. None of 902# the SMJPEG files I tried it on used this feature. Even if such a 903# file is encountered the output should still be reasonable. 904>16 string _SND \b, 905>>24 beshort >0 %d Hz 906>>26 byte 8 8-bit 907>>26 byte 16 16-bit 908>>28 string NONE uncompressed 909# >>28 string APCM ADPCM compressed 910>>27 byte 1 mono 911>>28 byte 2 stereo 912# Help! Isn't there any way to avoid writing this part twice? 913>>32 string _VID \b, 914# >>>48 string JFIF JPEG 915>>>40 belong >0 %d frames 916>>>44 beshort >0 (%d x 917>>>46 beshort >0 %d) 918>16 string _VID \b, 919# >>32 string JFIF JPEG 920>>24 belong >0 %d frames 921>>28 beshort >0 (%d x 922>>30 beshort >0 %d) 923 9240 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 925 926# "thumbnail file" (icon) 927# descended from "xv", but in use by other applications as well (Wolfram Kleff) 9280 string P7\ 332 XV "thumbnail file" (icon) data 929 930# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 9310 string KiSS KISS/GS 932>4 byte 16 color 933>>5 byte x %d bit 934>>8 leshort x %d colors 935>>10 leshort x %d groups 936>4 byte 32 cell 937>>5 byte x %d bit 938>>8 leshort x %d x 939>>10 leshort x %d 940>>12 leshort x +%d 941>>14 leshort x +%d 942 943# Webshots (www.webshots.com), by John Harrison 9440 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 945 946# Hercules DASD image files 947# From Jan Jaeger <jj@septa.nl> 9480 string CKD_P370 Hercules CKD DASD image file 949>8 long x \b, %d heads per cylinder 950>12 long x \b, track size %d bytes 951>16 byte x \b, device type 33%2.2X 952 9530 string CKD_C370 Hercules compressed CKD DASD image file 954>8 long x \b, %d heads per cylinder 955>12 long x \b, track size %d bytes 956>16 byte x \b, device type 33%2.2X 957 9580 string CKD_S370 Hercules CKD DASD shadow file 959>8 long x \b, %d heads per cylinder 960>12 long x \b, track size %d bytes 961>16 byte x \b, device type 33%2.2X 962 963# Squeak images and programs - etoffi@softhome.net 9640 string \146\031\0\0 Squeak image data 9650 search/1 'From\040Squeak Squeak program text 966 967# partimage: file(1) magic for PartImage files (experimental, incomplete) 968# Author: Hans-Joachim Baader <hjb@pro-linux.de> 9690 string PaRtImAgE-VoLuMe PartImage 970>0x0020 string 0.6.1 file version %s 971>>0x0060 lelong >-1 volume %d 972#>>0x0064 8 byte identifier 973#>>0x007c reserved 974>>0x0200 string >\0 type %s 975>>0x1400 string >\0 device %s, 976>>0x1600 string >\0 original filename %s, 977# Some fields omitted 978>>0x2744 lelong 0 not compressed 979>>0x2744 lelong 1 gzip compressed 980>>0x2744 lelong 2 bzip2 compressed 981>>0x2744 lelong >2 compressed with unknown algorithm 982>0x0020 string >0.6.1 file version %s 983>0x0020 string <0.6.1 file version %s 984 985# DCX is multi-page PCX, using a simple header of up to 1024 986# offsets for the respective PCX components. 987# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 9880 lelong 987654321 DCX multi-page PCX image data 989 990# Simon Walton <simonw@matteworld.com> 991# Kodak Cineon format for scanned negatives 992# http://www.kodak.com/US/en/motion/support/dlad/ 9930 lelong 0xd75f2a80 Cineon image data 994>200 belong >0 \b, %d x 995>204 belong >0 %d 996 997 998# Bio-Rad .PIC is an image format used by microscope control systems 999# and related image processing software used by biologists. 1000# From: Vebjorn Ljosa <vebjorn@ljosa.com> 1001# BOOL values are two-byte integers; use them to rule out false positives. 1002# http://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt 1003# Samples: http://www.loci.wisc.edu/software/sample-data 100414 leshort <2 1005>62 leshort <2 1006>>54 leshort 12345 Bio-Rad .PIC Image File 1007>>>0 leshort >0 %d x 1008>>>2 leshort >0 %d, 1009>>>4 leshort =1 1 image in file 1010>>>4 leshort >1 %d images in file 1011 1012# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 1013# The description of *.mrw format can be found at 1014# http://www.dalibor.cz/minolta/raw_file_format.htm 10150 string \000MRM Minolta Dimage camera raw image data 1016 1017# Summary: DjVu image / document 1018# Extension: .djvu 1019# Reference: http://djvu.org/docs/DjVu3Spec.djvu 1020# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> 1021# Modified by (1): Abel Cheung <abelcheung@gmail.com> 10220 string AT&TFORM 1023>12 string DJVM DjVu multiple page document 1024!:mime image/vnd.djvu 1025>12 string DJVU DjVu image or single page document 1026!:mime image/vnd.djvu 1027>12 string DJVI DjVu shared document 1028!:mime image/vnd.djvu 1029>12 string THUM DjVu page thumbnails 1030!:mime image/vnd.djvu 1031 1032# Originally by Marc Espie 1033# Modified by Robert Minsk <robertminsk at yahoo.com> 1034# http://www.openexr.com/openexrfilelayout.pdf 10350 lelong 20000630 OpenEXR image data, 1036!:mime image/x-exr 1037>4 lelong&0x000000ff x version %d, 1038>4 lelong ^0x00000200 storage: scanline 1039>4 lelong &0x00000200 storage: tiled 1040>8 search/0x1000 compression\0 \b, compression: 1041>>&16 byte 0 none 1042>>&16 byte 1 rle 1043>>&16 byte 2 zips 1044>>&16 byte 3 zip 1045>>&16 byte 4 piz 1046>>&16 byte 5 pxr24 1047>>&16 byte 6 b44 1048>>&16 byte 7 b44a 1049>>&16 byte >7 unknown 1050>8 search/0x1000 dataWindow\0 \b, dataWindow: 1051>>&10 lelong x (%d 1052>>&14 lelong x %d)- 1053>>&18 lelong x \b(%d 1054>>&22 lelong x %d) 1055>8 search/0x1000 displayWindow\0 \b, displayWindow: 1056>>&10 lelong x (%d 1057>>&14 lelong x %d)- 1058>>&18 lelong x \b(%d 1059>>&22 lelong x %d) 1060>8 search/0x1000 lineOrder\0 \b, lineOrder: 1061>>&14 byte 0 increasing y 1062>>&14 byte 1 decreasing y 1063>>&14 byte 2 random y 1064>>&14 byte >2 unknown 1065 1066# SMPTE Digital Picture Exchange Format, SMPTE DPX 1067# 1068# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital 1069# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 1070# Robert Minsk <robertminsk at yahoo.com> 10710 string SDPX DPX image data, big-endian, 1072!:mime image/x-dpx 1073>768 beshort <4 1074>>772 belong x %dx 1075>>776 belong x \b%d, 1076>768 beshort >3 1077>>776 belong x %dx 1078>>772 belong x \b%d, 1079>768 beshort 0 left to right/top to bottom 1080>768 beshort 1 right to left/top to bottom 1081>768 beshort 2 left to right/bottom to top 1082>768 beshort 3 right to left/bottom to top 1083>768 beshort 4 top to bottom/left to right 1084>768 beshort 5 top to bottom/right to left 1085>768 leshort 6 bottom to top/left to right 1086>768 leshort 7 bottom to top/right to left 1087 1088# From: Tom Hilinski <tom.hilinski@comcast.net> 1089# http://www.unidata.ucar.edu/packages/netcdf/ 10900 string CDF\001 NetCDF Data Format data 1091 1092#----------------------------------------------------------------------- 1093# Hierarchical Data Format, used to facilitate scientific data exchange 1094# specifications at http://hdf.ncsa.uiuc.edu/ 10950 belong 0x0e031301 Hierarchical Data Format (version 4) data 1096!:mime application/x-hdf 10970 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data 1098!:mime application/x-hdf 1099512 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 512 bytes user block 1100!:mime application/x-hdf 11011024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block 1102!:mime application/x-hdf 11032048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block 1104!:mime application/x-hdf 11054096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block 1106!:mime application/x-hdf 1107 1108 1109# From: Tobias Burnus <burnus@net-b.de> 1110# Xara (for a while: Corel Xara) is a graphic package, see 1111# http://www.xara.com/ for Windows and as GPL application for Linux 11120 string XARA\243\243 Xara graphics file 1113 1114# http://www.cartesianinc.com/Tech/ 11150 string CPC\262 Cartesian Perceptual Compression image 1116!:mime image/x-cpi 1117 1118# From Albert Cahalan <acahalan@gmail.com> 1119# puredigital used it for the CVS disposable camcorder 1120#8 lelong 4 ZBM bitmap image data 1121#>4 leshort x %u x 1122#>6 leshort x %u 1123 1124# From Albert Cahalan <acahalan@gmail.com> 1125# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons 11260 string C565 OLPC firmware icon image data 1127>4 leshort x %u x 1128>6 leshort x %u 1129 1130# Applied Images - Image files from Cytovision 1131# Gustavo Junior Alves <gjalves@gjalves.com.br> 11320 string \xce\xda\xde\xfa Cytovision Metaphases file 11330 string \xed\xad\xef\xac Cytovision Karyotype file 11340 string \x0b\x00\x03\x00 Cytovision FISH Probe file 11350 string \xed\xfe\xda\xbe Cytovision FLEX file 11360 string \xed\xab\xed\xfe Cytovision FLEX file 11370 string \xad\xfd\xea\xad Cytovision RATS file 1138 1139# Wavelet Scalar Quantization format used in gray-scale fingerprint images 1140# From Tano M Fotang <mfotang@quanteq.com> 11410 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data 1142 1143# Type: PCO B16 image files 1144# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf 1145# From: Florian Philipp <florian.philipp@binarywings.net> 1146# Extension: .b16 1147# Description: Pixel image format produced by PCO Camware, typically used 1148# together with PCO cameras. 1149# Note: Different versions exist for e.g. 8 bit and 16 bit images. 1150# Documentation is incomplete. 11510 string/b PCO- PCO B16 image data 1152>12 lelong x \b, %dx 1153>16 lelong x \b%d 1154>20 lelong 0 \b, short header 1155>20 lelong -1 \b, extended header 1156>>24 lelong 0 \b, grayscale 1157>>>36 lelong 0 linear LUT 1158>>>36 lelong 1 logarithmic LUT 1159>>>28 lelong x [%d 1160>>>32 lelong x \b,%d] 1161>>24 lelong 1 \b, color 1162>>>64 lelong 0 linear LUT 1163>>>64 lelong 1 logarithmic LUT 1164>>>40 lelong x r[%d 1165>>>44 lelong x \b,%d] 1166>>>48 lelong x g[%d 1167>>>52 lelong x \b,%d] 1168>>>56 lelong x b[%d 1169>>>60 lelong x \b,%d] 1170 1171# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches 1172# From: Markus Heidelberg <markus.heidelberg at web.de> 11730 string/t [BitmapInfo2] Polar Monitor Bitmap text 1174!:mime image/x-polar-monitor-bitmap 1175 1176# From: Rick Richardson <rickrich@gmail.com> 1177# updated by: Joerg Jenderek 1178# URL: http://techmods.net/nuvi/ 11790 string GARMIN\ BITMAP\ 01 Garmin Bitmap file 1180# extension is also used for 1181# Sony SRF raw image (image/x-sony-srf) 1182# SRF map 1183# Terragen Surface Map (http://www.planetside.co.uk/terragen) 1184# FileLocator Pro search criteria file (http://www.mythicsoft.com/filelocatorpro) 1185!:ext srf 1186#!:mime image/x-garmin-srf 1187# version 1.00,2.00,2.10,2.40,2.50 1188>0x2f string >0 \b, version %4.4s 1189# width (2880,2881,3240) 1190>0x55 uleshort >0 \b, %dx 1191# height (80,90) 1192>>0x53 uleshort x \b%d 1193 1194# Type: Ulead Photo Explorer5 (.pe5) 1195# URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese) 1196# From: Simon Horman <horms@debian.org> 11970 string IIO2H Ulead Photo Explorer5 1198 1199# Type: X11 cursor 1200# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup 1201# From: Mathias Brodala <info@noctus.net> 12020 string Xcur X11 cursor 1203 1204# Type: Olympus ORF raw images. 1205# URL: http://libopenraw.freedesktop.org/wiki/Olympus_ORF 1206# From: Adam Buchbinder <adam.buchbinder@gmail.com> 12070 string MMOR Olympus ORF raw image data, big-endian 1208!:mime image/x-olympus-orf 12090 string IIRO Olympus ORF raw image data, little-endian 1210!:mime image/x-olympus-orf 12110 string IIRS Olympus ORF raw image data, little-endian 1212!:mime image/x-olympus-orf 1213 1214# Type: files used in modern AVCHD camcoders to store clip information 1215# Extension: .cpi 1216# From: Alexander Danilov <alexander.a.danilov@gmail.com> 12170 string HDMV0100 AVCHD Clip Information 1218 1219# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1220# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ 1221# Radiance HDR; usually has .pic or .hdr extension. 12220 string #?RADIANCE\n Radiance HDR image data 1223#!mime image/vnd.radiance 1224 1225# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1226# URL: http://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf 1227# Used by the pfstools packages. The regex matches for the image size could 1228# probably use some work. The MIME type is made up; if there's one in 1229# actual common use, it should replace the one below. 12300 string PFS1\x0a PFS HDR image data 1231#!mime image/x-pfs 1232>1 regex [0-9]*\ \b, %s 1233>>1 regex \ [0-9]{4} \bx%s 1234 1235# Type: Foveon X3F 1236# URL: http://www.photofo.com/downloads/x3f-raw-format.pdf 1237# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1238# Note that the MIME type isn't defined anywhere that I can find; if 1239# there's a canonical type for this format, it should replace this one. 12400 string FOVb Foveon X3F raw image data 1241!:mime image/x-x3f 1242>6 leshort x \b, version %d. 1243>4 leshort x \b%d 1244>28 lelong x \b, %dx 1245>32 lelong x \b%d 1246 1247# Paint.NET file 1248# From Adam Buchbinder <adam.buchbinder@gmail.com> 12490 string PDN3 Paint.NET image data 1250!:mime image/x-paintnet 1251 1252# Not really an image. 1253# From: "Tano M. Fotang" <mfotang@quanteq.com> 12540 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) 1255 1256# doc: http://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip 1257# example: http://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip 125890 bequad 0x574D50484F544F00 JPEG-XR Image 1259>98 byte&0x08 =0x08 \b, hard tiling 1260>99 byte&0x80 =0x80 \b, tiling present 1261>99 byte&0x40 =0x40 \b, codestream present 1262>99 byte&0x38 x \b, spatial xform= 1263>99 byte&0x38 0x00 \bTL 1264>99 byte&0x38 0x08 \bBL 1265>99 byte&0x38 0x10 \bTR 1266>99 byte&0x38 0x18 \bBR 1267>99 byte&0x38 0x20 \bBT 1268>99 byte&0x38 0x28 \bRB 1269>99 byte&0x38 0x30 \bLT 1270>99 byte&0x38 0x38 \bLB 1271>100 byte&0x80 =0x80 \b, short header 1272>>102 beshort+1 x \b, %d 1273>>104 beshort+1 x \bx%d 1274>100 byte&0x80 =0x00 \b, long header 1275>>102 belong+1 x \b, %x 1276>>106 belong+1 x \bx%x 1277>101 beshort&0xf x \b, bitdepth= 1278>>101 beshort&0xf 0x0 \b1-WHITE=1 1279>>101 beshort&0xf 0x1 \b8 1280>>101 beshort&0xf 0x2 \b16 1281>>101 beshort&0xf 0x3 \b16-SIGNED 1282>>101 beshort&0xf 0x4 \b16-FLOAT 1283>>101 beshort&0xf 0x5 \b(reserved 5) 1284>>101 beshort&0xf 0x6 \b32-SIGNED 1285>>101 beshort&0xf 0x7 \b32-FLOAT 1286>>101 beshort&0xf 0x8 \b5 1287>>101 beshort&0xf 0x9 \b10 1288>>101 beshort&0xf 0xa \b5-6-5 1289>>101 beshort&0xf 0xb \b(reserved %d) 1290>>101 beshort&0xf 0xc \b(reserved %d) 1291>>101 beshort&0xf 0xd \b(reserved %d) 1292>>101 beshort&0xf 0xe \b(reserved %d) 1293>>101 beshort&0xf 0xf \b1-BLACK=1 1294>101 beshort&0xf0 x \b, colorfmt= 1295>>101 beshort&0xf0 0x00 \bYONLY 1296>>101 beshort&0xf0 0x10 \bYUV240 1297>>101 beshort&0xf0 0x20 \bYWV422 1298>>101 beshort&0xf0 0x30 \bYWV444 1299>>101 beshort&0xf0 0x40 \bCMYK 1300>>101 beshort&0xf0 0x50 \bCMYKDIRECT 1301>>101 beshort&0xf0 0x60 \bNCOMPONENT 1302>>101 beshort&0xf0 0x70 \bRGB 1303>>101 beshort&0xf0 0x80 \bRGBE 1304>>101 beshort&0xf0 >0x80 \b(reserved 0x%x) 1305 1306# From: Johan van der Knijff <johan.vanderknijff@kb.nl> 1307# 1308# BPG (Better Portable Graphics) format 1309# http://bellard.org/bpg/ 1310# http://fileformats.archiveteam.org/wiki/BPG 1311# 13120 string \x42\x50\x47\xFB BPG (Better Portable Graphics) 1313!:mime image/bpg 1314 1315# From: Joerg Jenderek 1316# URL: https://en.wikipedia.org/wiki/Apple_Icon_Image_format 13170 string icns Mac OS X icon 1318!:mime image/x-icns 1319!:apple ????icns 1320!:ext icns 1321>4 ubelong >0 1322# file size 1323>>4 ubelong x \b, %d bytes 1324# icon type 1325>>8 string x \b, "%4.4s" type 1326 1327# TIM images 13280 lelong 0x00000010 TIM image, 1329>4 lelong 0x8 4-Bit, 1330>4 lelong 0x9 8-Bit, 1331>4 lelong 0x2 15-Bit, 1332>4 lelong 0x3 24-Bit, 1333>4 lelong &8 1334>>(8.l+12) leshort x Pixel at (%d, 1335>>(8.l+14) leshort x \b%d) 1336>>(8.l+16) leshort x Size=%dx 1337>>(8.l+18) leshort x \b%d, 1338>>4 lelong 0x8 16 CLUT Entries at 1339>>4 lelong 0x9 256 CLUT Entries at 1340>>12 leshort x (%d, 1341>>14 leshort x \b%d) 1342>4 lelong ^8 1343>>12 leshort x Pixel at (%d, 1344>>14 leshort x \b%d) 1345>>16 leshort x Size=%dx 1346>>18 leshort x \b%d 1347 1348# MDEC streams 13490 lelong 0x80010160 MDEC video stream, 1350>16 leshort x %dx 1351>18 leshort x \b%d 1352#>8 lelong x %d frames 1353#>4 leshort x secCount=%d; 1354#>6 leshort x nSectors=%d; 1355#>12 lelong x frameSize=%d; 1356 1357# BS encoded bitstreams 13582 leshort 0x3800 BS image, 1359>6 leshort x Version %d, 1360>4 leshort x Quantization %d, 1361>0 leshort x (Decompresses to %d words) 1362 1363# Type: farbfeld image. 1364# Url: http://tools.suckless.org/farbfeld/ 1365# From: Ian D. Scott <ian@iandouglasscott.com> 1366# 13670 string farbfeld farbfeld image data, 1368>8 ubelong x %dx 1369>12 ubelong x \b%d 1370 1371# Type: Sega PVR image. 1372# From: David Korth <gerbilsoft@gerbilsoft.com> 1373# References: 1374# - http://fabiensanglard.net/Mykaruga/tools/segaPVRFormat.txt 1375# - https://github.com/yazgoo/pvrx2png 1376# - https://github.com/nickworonekin/puyotools 1377 1378# Sega PVR header. 13790 name sega-pvr-image-header 1380>0x0C leshort x %d x 1381>0x0E leshort x %d 1382# Image format. 1383>0x08 byte 0 \b, ARGB1555 1384>0x08 byte 1 \b, RGB565 1385>0x08 byte 2 \b, ARGB4444 1386>0x08 byte 3 \b, YUV442 1387>0x08 byte 4 \b, Bump 1388>0x08 byte 5 \b, 4bpp 1389>0x08 byte 6 \b, 8bpp 1390# Image data type. 1391>0x09 byte 0x01 \b, square twiddled 1392>0x09 byte 0x02 \b, square twiddled & mipmap 1393>0x09 byte 0x03 \b, VQ 1394>0x09 byte 0x04 \b, VQ & mipmap 1395>0x09 byte 0x05 \b, 8-bit CLUT twiddled 1396>0x09 byte 0x06 \b, 4-bit CLUT twiddled 1397>0x09 byte 0x07 \b, 8-bit direct twiddled 1398>0x09 byte 0x08 \b, 4-bit direct twiddled 1399>0x09 byte 0x09 \b, rectangle 1400>0x09 byte 0x0B \b, rectangular stride 1401>0x09 byte 0x0D \b, rectangular twiddled 1402>0x09 byte 0x10 \b, small VQ 1403>0x09 byte 0x11 \b, small VQ & mipmap 1404>0x09 byte 0x12 \b, square twiddled & mipmap 1405 1406# Sega PVR (Xbox) image header. 1407# Contains an embedded DirectDraw surface instead of PVR data. 14080 name sega-pvr-xbox-dds-header 1409>16 lelong x %d x 1410>12 lelong x %d, 1411>84 string x %.4s 1412 1413# Sega PVR image. 14140 string PVRT 1415>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: 1416>>0x20 use sega-pvr-xbox-dds-header 1417>0x10 belong !0x44445320 Sega PVR image: 1418>>0 use sega-pvr-image-header 1419 1420# Sega PVR image with GBIX. 14210 string GBIX 1422>0x10 string PVRT 1423>>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: 1424>>>0x20 use sega-pvr-xbox-dds-header 1425>>0x10 belong !0x44445320 Sega PVR image: 1426>>>0x10 use sega-pvr-image-header 1427>>0x08 lelong x \b, global index = %u 1428 1429# Sega GVR header. 14300 name sega-gvr-image-header 1431>0x0C beshort x %d x 1432>0x0E beshort x %d 1433# Image data format. 1434>0x0B byte 0 \b, I4 1435>0x0B byte 1 \b, I8 1436>0x0B byte 2 \b, IA4 1437>0x0B byte 3 \b, IA8 1438>0x0B byte 4 \b, RGB565 1439>0x0B byte 5 \b, RGB5A3 1440>0x0B byte 6 \b, ARGB8888 1441>0x0B byte 8 \b, CI4 1442>0x0B byte 9 \b, CI8 1443>0x0B byte 14 \b, DXT1 1444 1445# Sega GVR image. 14460 string GVRT Sega GVR image: 1447>0x10 use sega-gvr-image-header 1448 1449# Sega GVR image with GBIX. 14500 string GBIX 1451>0x10 string GVRT Sega GVR image: 1452>>0x10 use sega-gvr-image-header 1453>>0x08 belong x \b, global index = %u 1454