1 2#------------------------------------------------------------------------------ 3# $File: images,v 1.160 2019/04/19 00:42:27 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# Prevent conflicts with CRI ADX. 31>(2.S-2) belong !0x28632943 32# skip more garbage like *.iso by looking for positive image type 33>>2 ubyte >0 34# skip some compiled terminfo like xterm+tmux by looking for image type less equal 33 35>>>2 ubyte <34 36# skip arches.3200 , Finder.Root , Slp.1 by looking for low pixel depth 1 8 15 16 24 32 37>>>>16 ubyte 1 38>>>>>0 use tga-image 39>>>>16 ubyte 8 40>>>>>0 use tga-image 41>>>>16 ubyte 15 42>>>>>0 use tga-image 43>>>>16 ubyte 16 44>>>>>0 use tga-image 45>>>>16 ubyte 24 46>>>>>0 use tga-image 47>>>>16 ubyte 32 48>>>>>0 use tga-image 49# display tga bitmap image information 500 name tga-image 51>2 ubyte <34 Targa image data 52!:mime image/x-tga 53!:apple ????TPIC 54# normal extension .tga but some Truevision products used others: 55# tpic (Apple),icb (Image Capture Board),vda (Video Display Adapter),vst (NuVista),win (UNSURE about that) 56!:ext tga/tpic/icb/vda/vst 57# image type 1 2 3 9 10 11 32 33 58>2 ubyte&0xF7 1 - Map 59>2 ubyte&0xF7 2 - RGB 60# alpha channel 61>>17 ubyte&0x0F >0 \bA 62>2 ubyte&0xF7 3 - Mono 63# type not found, but by http://www.fileformat.info/format/tga/corion.htm 64# Compressed color-mapped data, using Huffman, Delta, and runlength encoding 65>2 ubyte 32 - Color 66# Compressed color-mapped data, using Huffman, Delta, and RLE. 4-pass quadtree- type process 67>2 ubyte 33 - Color 68# Color Map Type 0~no 1~color map 69>1 ubyte 1 ( 70# first color map entry, 0 normal 71>>3 uleshort >0 \b%d- 72# color map length 0 2 1dh 3bh d9h 100h 73>>5 uleshort x \b%d) 74# 8~run length encoding bit 75>2 ubyte&0x08 8 - RLE 76# gimp can create big pictures! 77>12 uleshort >0 %d x 78>12 uleshort =0 65536 x 79# image height. 0 interpreted as 65536 80>14 uleshort >0 %d 81>14 uleshort =0 65536 82# Image Pixel depth 1 8 15 16 24 32 83>16 ubyte x x %d 84# X origin of image. 0 normal 85>8 uleshort >0 +%d 86# Y origin of image. 0 normal; positive for top 87>10 uleshort >0 +%d 88# Image descriptor: bits 3-0 give the alpha channel depth, bits 5-4 give direction 89>17 ubyte&0x0F >0 - %d-bit alpha 90# bits 5-4 give direction. normal bottom left 91>17 ubyte &0x20 - top 92#>17 ubyte ^0x20 - bottom 93>17 ubyte &0x10 - right 94#>17 ubyte ^0x10 - left 95# some info say other bits 6-7 should be zero 96# but data storage interleave by http://www.fileformat.info/format/tga/corion.htm 97# 00 - no interleave;01 - even/odd interleave; 10 - four way interleave; 11 - reserved 98#>17 ubyte&0xC0 0x00 - no interleave 99>17 ubyte&0xC0 0x40 - interleave 100>17 ubyte&0xC0 0x80 - four way interleave 101>17 ubyte&0xC0 0xC0 - reserved 102# positive length implies identification field 103>0 ubyte >0 104>>18 string x "%s" 105# last 18 bytes of newer tga file footer signature 106>18 search/4261301/s TRUEVISION-XFILE.\0 107# extension area offset if not 0 108>>&-8 ulelong >0 109# length of the extension area. normal 495 for version 2.0 110>>>(&-4.l) uleshort 0x01EF 111# AuthorName[41] 112>>>>&0 string >\0 - author "%-.40s" 113# Comment[324]=4 * 80 null terminated 114>>>>&41 string >\0 - comment "%-.80s" 115# date 116>>>>&365 ubequad&0xffffFFFFffff0000 !0 117# Day 118>>>>>&-6 uleshort x %d 119# Month 120>>>>>&-8 uleshort x \b-%d 121# Year 122>>>>>&-4 uleshort x \b-%d 123# time 124>>>>&371 ubequad&0xffffFFFFffff0000 !0 125# hour 126>>>>>&-8 uleshort x %d 127# minutes 128>>>>>&-6 uleshort x \b:%.2d 129# second 130>>>>>&-4 uleshort x \b:%.2d 131# JobName[41] 132>>>>&377 string >\0 - job "%-.40s" 133# JobHour Jobminute Jobsecond 134>>>>&418 ubequad&0xffffFFFFffff0000 !0 135>>>>>&-8 uleshort x %d 136>>>>>&-6 uleshort x \b:%.2d 137>>>>>&-4 uleshort x \b:%.2d 138# SoftwareId[41] 139>>>>&424 string >\0 - %-.40s 140# SoftwareVersionNumber 141>>>>&424 ubyte >0 142>>>>>&40 uleshort/100 x %d 143>>>>>&40 uleshort%100 x \b.%d 144# VersionLetter 145>>>>>&42 ubyte >0x20 \b%c 146# KeyColor 147>>>>&468 ulelong >0 - keycolor 0x%8.8x 148# Denominator of Pixel ratio. 0~no pixel aspect 149>>>>&474 uleshort >0 150# Numerator 151>>>>>&-4 uleshort >0 - aspect %d 152>>>>>&-2 uleshort x \b/%d 153# Denominator of Gamma ratio. 0~no Gamma value 154>>>>&478 uleshort >0 155# Numerator 156>>>>>&-4 uleshort >0 - gamma %d 157>>>>>&-2 uleshort x \b/%d 158# ColorOffset 159#>>>>&480 ulelong x - col offset 0x%8.8x 160# StampOffset 161#>>>>&484 ulelong x - stamp offset 0x%8.8x 162# ScanOffset 163#>>>>&488 ulelong x - scan offset 0x%8.8x 164# AttributesType 165#>>>>&492 ubyte x - Attributes 0x%x 166## EndOfTGA 167 168# PBMPLUS images 169# The next byte following the magic is always whitespace. 170# strength is changed to try these patterns before "x86 boot sector" 1710 name netpbm 172>3 regex/s =[0-9]{1,50}\ [0-9]{1,50} Netpbm image data 173>>&0 regex =[0-9]{1,50} \b, size = %s x 174>>>&0 regex =[0-9]{1,50} \b %s 175 1760 search/1 P1 177>0 regex/4 P1[\040\t\f\r\n] 178>>0 use netpbm 179>>0 string x \b, bitmap 180!:strength + 65 181!:mime image/x-portable-bitmap 182 1830 search/1 P2 184>0 regex/4 P2[\040\t\f\r\n] 185>>0 use netpbm 186>>0 string x \b, greymap 187!:strength + 65 188!:mime image/x-portable-greymap 189 1900 search/1 P3 191>0 regex/4 P3[\040\t\f\r\n] 192>>0 use netpbm 193>>0 string x \b, pixmap 194!:strength + 65 195!:mime image/x-portable-pixmap 196 1970 string P4 198>0 regex/4 P4[\040\t\f\r\n] 199>>0 use netpbm 200>>0 string x \b, rawbits, bitmap 201!:strength + 65 202!:mime image/x-portable-bitmap 203 2040 string P5 205>0 regex/4 P5[\040\t\f\r\n] 206>>0 use netpbm 207>>0 string x \b, rawbits, greymap 208!:strength + 65 209!:mime image/x-portable-greymap 210 2110 string P6 212>0 regex/4 P6[\040\t\f\r\n] 213>>0 use netpbm 214>>0 string x \b, rawbits, pixmap 215!:strength + 65 216!:mime image/x-portable-pixmap 217 2180 string P7 Netpbm PAM image file 219!:mime image/x-portable-pixmap 220 221# From: bryanh@giraffe-data.com (Bryan Henderson) 2220 string \117\072 Solitaire Image Recorder format 223>4 string \013 MGI Type 11 224>4 string \021 MGI Type 17 2250 string .MDA MicroDesign data 226>21 byte 48 version 2 227>21 byte 51 version 3 2280 string .MDP MicroDesign page data 229>21 byte 48 version 2 230>21 byte 51 version 3 231 232# NIFF (Navy Interchange File Format, a modification of TIFF) images 233# [GRR: this *must* go before TIFF] 2340 string IIN1 NIFF image data 235!:mime image/x-niff 236 237# Canon RAW version 1 (CRW) files are a type of Canon Image File Format 238# (CIFF) file. These are apparently all little-endian. 239# From: Adam Buchbinder <adam.buchbinder@gmail.com> 240# URL: https://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html 2410 string II\x1a\0\0\0HEAPCCDR Canon CIFF raw image data 242!:mime image/x-canon-crw 243>16 leshort x \b, version %d. 244>14 leshort x \b%d 245 246# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic 247# number. Put this above the TIFF test to make sure we detect them. 248# These are apparently all little-endian. 249# From: Adam Buchbinder <adam.buchbinder@gmail.com> 250# URL: https://libopenraw.freedesktop.org/wiki/Canon_CR2 2510 string II\x2a\0\x10\0\0\0CR Canon CR2 raw image data 252!:mime image/x-canon-cr2 253!:strength +80 254>10 byte x \b, version %d. 255>11 byte x \b%d 256 257# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 258# The second word of TIFF files is the TIFF version number, 42, which has 259# never changed. The TIFF specification recommends testing for it. 2600 string MM\x00\x2a TIFF image data, big-endian 261!:strength +70 262!:mime image/tiff 263>(4.L) use \^tiff_ifd 2640 string II\x2a\x00 TIFF image data, little-endian 265!:mime image/tiff 266!:strength +70 267>(4.l) use tiff_ifd 268 2690 name tiff_ifd 270>0 leshort x \b, direntries=%d 271>2 use tiff_entry 272 2730 name tiff_entry 274# NewSubFileType 275>0 leshort 0xfe 276>>12 use tiff_entry 277>0 leshort 0x100 278>>4 lelong 1 279>>>12 use tiff_entry 280>>>8 leshort x \b, width=%d 281>0 leshort 0x101 282>>4 lelong 1 283>>>8 leshort x \b, height=%d 284>>>12 use tiff_entry 285>0 leshort 0x102 286>>8 leshort x \b, bps=%d 287>>12 use tiff_entry 288>0 leshort 0x103 289>>4 lelong 1 \b, compression= 290>>>8 leshort 1 \bnone 291>>>8 leshort 2 \bhuffman 292>>>8 leshort 3 \bbi-level group 3 293>>>8 leshort 4 \bbi-level group 4 294>>>8 leshort 5 \bLZW 295>>>8 leshort 6 \bJPEG (old) 296>>>8 leshort 7 \bJPEG 297>>>8 leshort 8 \bdeflate 298>>>8 leshort 9 \bJBIG, ITU-T T.85 299>>>8 leshort 0xa \bJBIG, ITU-T T.43 300>>>8 leshort 0x7ffe \bNeXT RLE 2-bit 301>>>8 leshort 0x8005 \bPackBits (Macintosh RLE) 302>>>8 leshort 0x8029 \bThunderscan RLE 303>>>8 leshort 0x807f \bRasterPadding (CT or MP) 304>>>8 leshort 0x8080 \bRLE (Line Work) 305>>>8 leshort 0x8081 \bRLE (High-Res Cont-Tone) 306>>>8 leshort 0x8082 \bRLE (Binary Line Work) 307>>>8 leshort 0x80b2 \bDeflate (PKZIP) 308>>>8 leshort 0x80b3 \bKodak DCS 309>>>8 leshort 0x8765 \bJBIG 310>>>8 leshort 0x8798 \bJPEG2000 311>>>8 leshort 0x8799 \bNikon NEF Compressed 312>>>8 default x 313>>>>8 leshort x \b(unknown 0x%x) 314>>>12 use tiff_entry 315>0 leshort 0x106 \b, PhotometricIntepretation= 316>>8 clear x 317>>8 leshort 0 \bWhiteIsZero 318>>8 leshort 1 \bBlackIsZero 319>>8 leshort 2 \bRGB 320>>8 leshort 3 \bRGB Palette 321>>8 leshort 4 \bTransparency Mask 322>>8 leshort 5 \bCMYK 323>>8 leshort 6 \bYCbCr 324>>8 leshort 8 \bCIELab 325>>8 default x 326>>>8 leshort x \b(unknown=0x%x) 327>>12 use tiff_entry 328# FillOrder 329>0 leshort 0x10a 330>>4 lelong 1 331>>>12 use tiff_entry 332# DocumentName 333>0 leshort 0x10d 334>>(8.l) string x \b, name=%s 335>>>12 use tiff_entry 336# ImageDescription 337>0 leshort 0x10e 338>>(8.l) string x \b, description=%s 339>>>12 use tiff_entry 340# Make 341>0 leshort 0x10f 342>>(8.l) string x \b, manufacturer=%s 343>>>12 use tiff_entry 344# Model 345>0 leshort 0x110 346>>(8.l) string x \b, model=%s 347>>>12 use tiff_entry 348# StripOffsets 349>0 leshort 0x111 350>>12 use tiff_entry 351# Orientation 352>0 leshort 0x112 \b, orientation= 353>>8 leshort 1 \bupper-left 354>>8 leshort 3 \blower-right 355>>8 leshort 6 \bupper-right 356>>8 leshort 8 \blower-left 357>>8 leshort 9 \bundefined 358>>8 default x 359>>>8 leshort x \b[*%d*] 360>>12 use tiff_entry 361# XResolution 362>0 leshort 0x11a 363>>8 lelong x \b, xresolution=%d 364>>12 use tiff_entry 365# YResolution 366>0 leshort 0x11b 367>>8 lelong x \b, yresolution=%d 368>>12 use tiff_entry 369# ResolutionUnit 370>0 leshort 0x128 371>>8 leshort x \b, resolutionunit=%d 372>>12 use tiff_entry 373# Software 374>0 leshort 0x131 375>>(8.l) string x \b, software=%s 376>>12 use tiff_entry 377# Datetime 378>0 leshort 0x132 379>>(8.l) string x \b, datetime=%s 380>>12 use tiff_entry 381# HostComputer 382>0 leshort 0x13c 383>>(8.l) string x \b, hostcomputer=%s 384>>12 use tiff_entry 385# WhitePoint 386>0 leshort 0x13e 387>>12 use tiff_entry 388# PrimaryChromaticities 389>0 leshort 0x13f 390>>12 use tiff_entry 391# YCbCrCoefficients 392>0 leshort 0x211 393>>12 use tiff_entry 394# YCbCrPositioning 395>0 leshort 0x213 396>>12 use tiff_entry 397# ReferenceBlackWhite 398>0 leshort 0x214 399>>12 use tiff_entry 400# Copyright 401>0 leshort 0x8298 402>>(8.l) string x \b, copyright=%s 403>>12 use tiff_entry 404# ExifOffset 405>0 leshort 0x8769 406>>12 use tiff_entry 407# GPS IFD 408>0 leshort 0x8825 \b, GPS-Data 409>>12 use tiff_entry 410 411#>0 leshort x \b, unknown=0x%x 412#>>12 use tiff_entry 413 4140 string MM\x00\x2b Big TIFF image data, big-endian 415!:mime image/tiff 4160 string II\x2b\x00 Big TIFF image data, little-endian 417!:mime image/tiff 418 419# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 420# (Greg Roelofs, newt@uchicago.edu) 421# (Albert Cahalan, acahalan@cs.uml.edu) 422# 423# 137 P N G \r \n ^Z \n [4-byte length] I H D R [HEAD data] [HEAD crc] ... 424# 425 426# IHDR parser 4270 name png-ihdr 428>0 belong x \b, %d x 429>4 belong x %d, 430>8 byte x %d-bit 431>9 byte 0 grayscale, 432>9 byte 2 \b/color RGB, 433>9 byte 3 colormap, 434>9 byte 4 gray+alpha, 435>9 byte 6 \b/color RGBA, 436#>10 byte 0 deflate/32K, 437>12 byte 0 non-interlaced 438>12 byte 1 interlaced 439 440# Standard PNG image. 4410 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0DIHDR PNG image data 442!:mime image/png 443!:ext png 444!:strength +10 445>16 use png-ihdr 446 447# Apple CgBI PNG image. 4480 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x04CgBI 449>24 string \x00\x00\x00\x0DIHDR PNG image data (CgBI) 450!:mime image/png 451!:ext png 452!:strength +10 453>>32 use png-ihdr 454 455# possible GIF replacements; none yet released! 456# (Greg Roelofs, newt@uchicago.edu) 457# 458# GRR 950115: this was mine ("Zip GIF"): 4590 string GIF94z ZIF image (GIF+deflate alpha) 460!:mime image/x-unknown 461# 462# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): 463# 4640 string FGF95a FGF image (GIF+deflate beta) 465!:mime image/x-unknown 466# 467# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal 468# (best; not yet implemented): 469# 4700 string PBF PBF image (deflate compression) 471!:mime image/x-unknown 472 473# GIF 474# Strength set up to beat 0x55AA DOS/MBR signature word lookups (+65) 4750 string GIF8 GIF image data 476!:strength +80 477!:mime image/gif 478!:apple 8BIMGIFf 479>4 string 7a \b, version 8%s, 480>4 string 9a \b, version 8%s, 481>6 leshort >0 %d x 482>8 leshort >0 %d 483#>10 byte &0x80 color mapped, 484#>10 byte&0x07 =0x00 2 colors 485#>10 byte&0x07 =0x01 4 colors 486#>10 byte&0x07 =0x02 8 colors 487#>10 byte&0x07 =0x03 16 colors 488#>10 byte&0x07 =0x04 32 colors 489#>10 byte&0x07 =0x05 64 colors 490#>10 byte&0x07 =0x06 128 colors 491#>10 byte&0x07 =0x07 256 colors 492 493# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 494# 1 plane, no encoding. 4950 string \361\0\100\273 CMU window manager raster image data 496>4 lelong >0 %d x 497>8 lelong >0 %d, 498>12 lelong >0 %d-bit 499 500# Magick Image File Format 5010 string id=ImageMagick MIFF image data 502 503# Artisan 5040 long 1123028772 Artisan image data 505>4 long 1 \b, rectangular 24-bit 506>4 long 2 \b, rectangular 8-bit with colormap 507>4 long 3 \b, rectangular 32-bit (24-bit with matte) 508 509# FIG (Facility for Interactive Generation of figures), an object-based format 5100 search/1 #FIG FIG image text 511>5 string x \b, version %.3s 512 513# PHIGS 5140 string ARF_BEGARF PHIGS clear text archive 5150 string @(#)SunPHIGS SunPHIGS 516# version number follows, in the form m.n 517>40 string SunBin binary 518>32 string archive archive 519 520# GKS (Graphics Kernel System) 5210 string GKSM GKS Metafile 522>24 string SunGKS \b, SunGKS 523 524# CGM image files 5250 string BEGMF clear text Computer Graphics Metafile 526 527# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 5280 string yz MGR bitmap, modern format, 8-bit aligned 5290 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 5300 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 5310 string yx MGR bitmap, modern format, squeezed 532 533# Fuzzy Bitmap (FBM) images 5340 string %bitmap\0 FBM image data 535>30 long 0x31 \b, mono 536>30 long 0x33 \b, color 537 538# facsimile data 5391 string PC\ Research,\ Inc group 3 fax data 540>29 byte 0 \b, normal resolution (204x98 DPI) 541>29 byte 1 \b, fine resolution (204x196 DPI) 542# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> 5430 string Sfff structured fax file 544 545# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> 546# most files with the extension .EPA and some with .BMP 5470 string \x11\x06 Award BIOS Logo, 136 x 84 548!:mime image/x-award-bioslogo 5490 string \x11\x09 Award BIOS Logo, 136 x 126 550!:mime image/x-award-bioslogo 551#0 string \x07\x1f BIOS Logo corrupted? 552# http://www.blackfiveservices.co.uk/awbmtools.shtml 553# http://biosgfx.narod.ru/v3/ 554# http://biosgfx.narod.ru/abr-2/ 5550 string AWBM 556>4 leshort <1981 Award BIOS bitmap 557!:mime image/x-award-bmp 558# image width is a multiple of 4 559>>4 leshort&0x0003 0 560>>>4 leshort x \b, %d 561>>>6 leshort x x %d 562>>4 leshort&0x0003 >0 \b, 563>>>4 leshort&0x0003 =1 564>>>>4 leshort x %d+3 565>>>4 leshort&0x0003 =2 566>>>>4 leshort x %d+2 567>>>4 leshort&0x0003 =3 568>>>>4 leshort x %d+1 569>>>6 leshort x x %d 570# at offset 8 starts imagedata followed by "RGB " marker 571 572# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) 573# https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ 574# 28bitmap_information_header.29 5750 string BM 576>14 leshort 12 PC bitmap, OS/2 1.x format 577!:mime image/x-ms-bmp 578>>18 leshort x \b, %d x 579>>20 leshort x %d 580>14 leshort 64 PC bitmap, OS/2 2.x format 581!:mime image/x-ms-bmp 582>>18 leshort x \b, %d x 583>>20 leshort x %d 584>14 leshort 40 PC bitmap, Windows 3.x format 585!:mime image/x-ms-bmp 586>>18 lelong x \b, %d x 587>>22 lelong x %d x 588>>28 leshort x %d 589>14 leshort 124 PC bitmap, Windows 98/2000 and newer format 590!:mime image/x-ms-bmp 591>>18 lelong x \b, %d x 592>>22 lelong x %d x 593>>28 leshort x %d 594>14 leshort 108 PC bitmap, Windows 95/NT4 and newer format 595!:mime image/x-ms-bmp 596>>18 lelong x \b, %d x 597>>22 lelong x %d x 598>>28 leshort x %d 599>14 leshort 128 PC bitmap, Windows NT/2000 format 600!:mime image/x-ms-bmp 601>>18 lelong x \b, %d x 602>>22 lelong x %d x 603>>28 leshort x %d 604# Too simple - MPi 605#0 string IC PC icon data 606#0 string PI PC pointer image data 607#0 string CI PC color icon data 608#0 string CP PC color pointer image data 609# Conflicts with other entries [BABYL] 610#0 string BA PC bitmap array data 611 612# XPM icons (Greg Roelofs, newt@uchicago.edu) 6130 search/1 /*\ XPM\ */ X pixmap image text 614!:mime image/x-xpmi 615 616# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 6170 leshort 0xcc52 RLE image data, 618>6 leshort x %d x 619>8 leshort x %d 620>2 leshort >0 \b, lower left corner: %d 621>4 leshort >0 \b, lower right corner: %d 622>10 byte&0x1 =0x1 \b, clear first 623>10 byte&0x2 =0x2 \b, no background 624>10 byte&0x4 =0x4 \b, alpha channel 625>10 byte&0x8 =0x8 \b, comment 626>11 byte >0 \b, %d color channels 627>12 byte >0 \b, %d bits per pixel 628>13 byte >0 \b, %d color map channels 629 630# image file format (Robert Potter, potter@cs.rochester.edu) 6310 string Imagefile\ version- iff image data 632# this adds the whole header (inc. version number), informative but longish 633>10 string >\0 %s 634 635# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 6360 belong 0x59a66a95 Sun raster image data 637>4 belong >0 \b, %d x 638>8 belong >0 %d, 639>12 belong >0 %d-bit, 640#>16 belong >0 %d bytes long, 641>20 belong 0 old format, 642#>20 belong 1 standard, 643>20 belong 2 compressed, 644>20 belong 3 RGB, 645>20 belong 4 TIFF, 646>20 belong 5 IFF, 647>20 belong 0xffff reserved for testing, 648>24 belong 0 no colormap 649>24 belong 1 RGB colormap 650>24 belong 2 raw colormap 651#>28 belong >0 colormap is %d bytes long 652 653# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 654# 655# See 656# http://reality.sgi.com/grafica/sgiimage.html 657# 6580 beshort 474 SGI image data 659#>2 byte 0 \b, verbatim 660>2 byte 1 \b, RLE 661#>3 byte 1 \b, normal precision 662>3 byte 2 \b, high precision 663>4 beshort x \b, %d-D 664>6 beshort x \b, %d x 665>8 beshort x %d 666>10 beshort x \b, %d channel 667>10 beshort !1 \bs 668>80 string >0 \b, "%s" 669 6700 string IT01 FIT image data 671>4 belong x \b, %d x 672>8 belong x %d x 673>12 belong x %d 674# 6750 string IT02 FIT image data 676>4 belong x \b, %d x 677>8 belong x %d x 678>12 belong x %d 679# 6802048 string PCD_IPI Kodak Photo CD image pack file 681>0xe02 byte&0x03 0x00 , landscape mode 682>0xe02 byte&0x03 0x01 , portrait mode 683>0xe02 byte&0x03 0x02 , landscape mode 684>0xe02 byte&0x03 0x03 , portrait mode 6850 string PCD_OPA Kodak Photo CD overview pack file 686 687# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 688# FITS is the Flexible Image Transport System, the de facto standard for 689# data and image transfer, storage, etc., for the astronomical community. 690# (FITS floating point formats are big-endian.) 6910 string SIMPLE\ \ = FITS image data 692!:mime image/fits 693!:ext fits/fts 694>109 string 8 \b, 8-bit, character or unsigned binary integer 695>108 string 16 \b, 16-bit, two's complement binary integer 696>107 string \ 32 \b, 32-bit, two's complement binary integer 697>107 string -32 \b, 32-bit, floating point, single precision 698>107 string -64 \b, 64-bit, floating point, double precision 699 700# other images 7010 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 702 703# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 704# stuff. 705# 7060 beshort 0x1010 PEX Binary Archive 707 708# DICOM medical imaging data 709# URL: https://en.wikipedia.org/wiki/DICOM#Data_format 710# Note: "dcm" is the official file name extension 711# XnView mention also "dc3" and "acr" as file name extension 712128 string DICM DICOM medical imaging data 713!:mime application/dicom 714!:ext dcm/dicom/dic 715 716# XWD - X Window Dump file. 717# As described in /usr/X11R6/include/X11/XWDFile.h 718# used by the xwd program. 719# Bradford Castalia, idaeim, 1/01 720# updated by Adam Buchbinder, 2/09 721# The following assumes version 7 of the format; the first long is the length 722# of the header, which is at least 25 4-byte longs, and the one at offset 8 723# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, 724# which is a maximum of 32. 7250 belong >100 726>8 belong <3 727>>12 belong <33 728>>>4 belong 7 XWD X Window Dump image data 729!:mime image/x-xwindowdump 730>>>>100 string >\0 \b, "%s" 731>>>>16 belong x \b, %dx 732>>>>20 belong x \b%dx 733>>>>12 belong x \b%d 734 735# PDS - Planetary Data System 736# These files use Parameter Value Language in the header section. 737# Unfortunately, there is no certain magic, but the following 738# strings have been found to be most likely. 7390 string NJPL1I00 PDS (JPL) image data 7402 string NJPL1I PDS (JPL) image data 7410 string CCSD3ZF PDS (CCSD) image data 7422 string CCSD3Z PDS (CCSD) image data 7430 string PDS_ PDS image data 7440 string LBLSIZE= PDS (VICAR) image data 745 746# pM8x: ATARI STAD compressed bitmap format 747# 748# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 749# p M 8 5/6 xx yy zz data... 750# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 751# bytes either run horizontally (pM85) or vertically (pM86). yy is the 752# most frequent byte, xx and zz are runlength escape codes, where xx is 753# used for runs of yy. 754# 7550 string pM85 Atari ST STAD bitmap image data (hor) 756>5 byte 0x00 (white background) 757>5 byte 0xFF (black background) 7580 string pM86 Atari ST STAD bitmap image data (vert) 759>5 byte 0x00 (white background) 760>5 byte 0xFF (black background) 761 762# From: Alex Myczko <alex@aiei.ch> 763# https://www.atarimax.com/jindroush.atari.org/afmtatr.html 7640 leshort 0x0296 Atari ATR image 765 766# XXX: 767# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 768# magic. 769# SGI RICE image file <mpruett@sgi.com> 770#0 beshort 0x5249 RICE image 771#>2 beshort x v%d 772#>4 beshort x (%d x 773#>6 beshort x %d) 774#>8 beshort 0 8 bit 775#>8 beshort 1 10 bit 776#>8 beshort 2 12 bit 777#>8 beshort 3 13 bit 778#>10 beshort 0 4:2:2 779#>10 beshort 1 4:2:2:4 780#>10 beshort 2 4:4:4 781#>10 beshort 3 4:4:4:4 782#>12 beshort 1 RGB 783#>12 beshort 2 CCIR601 784#>12 beshort 3 RP175 785#>12 beshort 4 YUV 786 787# PCX image files 788# From: Dan Fandrich <dan@coneharvesters.com> 789# updated by Joerg Jenderek at Feb 2013 by https://de.wikipedia.org/wiki/PCX 790# https://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt 791# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 792# 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 7930 ubelong&0xffF8fe00 0x0a000000 794# for PCX bit depth > 0 795>3 ubyte >0 796# test for valid versions 797>>1 ubyte <6 798>>>1 ubyte !1 PCX 799!:mime image/x-pcx 800#!:mime image/pcx 801>>>>1 ubyte 0 ver. 2.5 image data 802>>>>1 ubyte 2 ver. 2.8 image data, with palette 803>>>>1 ubyte 3 ver. 2.8 image data, without palette 804>>>>1 ubyte 4 for Windows image data 805>>>>1 ubyte 5 ver. 3.0 image data 806>>>>4 uleshort x bounding box [%d, 807>>>>6 uleshort x %d] - 808>>>>8 uleshort x [%d, 809>>>>10 uleshort x %d], 810>>>>65 ubyte >1 %d planes each of 811>>>>3 ubyte x %d-bit 812>>>>68 byte 1 colour, 813>>>>68 byte 2 grayscale, 814# this should not happen 815>>>>68 default x image, 816>>>>12 leshort >0 %d x 817>>>>>14 uleshort x %d dpi, 818>>>>2 byte 0 uncompressed 819>>>>2 byte 1 RLE compressed 820 821# Adobe Photoshop 822# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 8230 string 8BPS Adobe Photoshop Image 824!:mime image/vnd.adobe.photoshop 825>4 beshort 2 (PSB) 826>18 belong x \b, %d x 827>14 belong x %d, 828>24 beshort 0 bitmap 829>24 beshort 1 grayscale 830>>12 beshort 2 with alpha 831>24 beshort 2 indexed 832>24 beshort 3 RGB 833>>12 beshort 4 \bA 834>24 beshort 4 CMYK 835>>12 beshort 5 \bA 836>24 beshort 7 multichannel 837>24 beshort 8 duotone 838>24 beshort 9 lab 839>12 beshort > 1 840>>12 beshort x \b, %dx 841>12 beshort 1 \b, 842>22 beshort x %d-bit channel 843>12 beshort > 1 \bs 844 845# XV thumbnail indicator (ThMO) 8460 string P7\ 332 XV thumbnail image data 847 848# NITF is defined by United States MIL-STD-2500A 8490 string NITF National Imagery Transmission Format 850>25 string >\0 dated %.14s 851 852# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 853# Format variations from: Bernd Nuernberger <bernd.nuernberger@web.de> 854# Update: Joerg Jenderek 855# See http://fileformats.archiveteam.org/wiki/GEM_Raster 856# For variations, also see: 857# https://www.seasip.info/Gem/ff_img.html (Ventura) 858# http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT) 859# http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT) 860# http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG) 8610 beshort 0x0001 862# header_size 863>2 beshort 0x0008 864>>0 use gem_info 865>2 beshort 0x0009 866>>0 use gem_info 867# no example for NOSIG 868>2 beshort 24 869>>0 use gem_info 870# no example for HYPERPAINT 871>2 beshort 25 872>>0 use gem_info 87316 string XIMG\0 874>0 use gem_info 875# no example 87616 string STTT\0\x10 877>0 use gem_info 878# no example or description 87916 string TIMG\0 880>0 use gem_info 881 8820 name gem_info 883# version is 2 for some XIMG and 1 for all others 884>0 beshort <0x0003 GEM 885# https://www.snowstone.org.uk/riscos/mimeman/mimemap.txt 886!:mime image/x-gem 887# header_size 24 25 27 59 779 words for colored bitmaps 888>>2 beshort >9 889>>>16 string STTT\0\x10 STTT 890>>>16 string TIMG\0 TIMG 891# HYPERPAINT or NOSIG variant 892>>>16 string \0\x80 893>>>>2 beshort =24 NOSIG 894>>>>2 beshort !24 HYPERPAINT 895# NOSIG or XIMG variant 896>>>16 default x 897>>>>16 string !XIMG\0 NOSIG 898>>16 string =XIMG\0 XIMG Image data 899!:ext img/ximg 900# to avoid Warning: Current entry does not yet have a description for adding a EXTENSION type 901>>16 string !XIMG\0 Image data 902!:ext img 903# header_size is 9 for Ventura files and 8 for other GEM Paint files 904>>2 beshort 9 (Ventura) 905#>>2 beshort 8 (Paint) 906>>12 beshort x %d x 907>>14 beshort x %d, 908# 1 4 8 909>>4 beshort x %d planes, 910# in tenths of a millimetre 911>>8 beshort x %d x 912>>10 beshort x %d pixelsize 913# pattern_size 1-8. 2 for GEM Paint 914>>6 beshort !2 \b, pattern size %d 915 916# GEM Metafile (Wolfram Kleff) 9170 lelong 0x0018FFFF GEM Metafile data 918>4 leshort x version %d 919 920# 921# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 922# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 923# 9240 string \0\nSMJPEG SMJPEG 925>8 belong x %d.x data 926# According to the specification you could find any number of _TXT 927# headers here, but I can't think of any way of handling that. None of 928# the SMJPEG files I tried it on used this feature. Even if such a 929# file is encountered the output should still be reasonable. 930>16 string _SND \b, 931>>24 beshort >0 %d Hz 932>>26 byte 8 8-bit 933>>26 byte 16 16-bit 934>>28 string NONE uncompressed 935# >>28 string APCM ADPCM compressed 936>>27 byte 1 mono 937>>28 byte 2 stereo 938# Help! Isn't there any way to avoid writing this part twice? 939>>32 string _VID \b, 940# >>>48 string JFIF JPEG 941>>>40 belong >0 %d frames 942>>>44 beshort >0 (%d x 943>>>46 beshort >0 %d) 944>16 string _VID \b, 945# >>32 string JFIF JPEG 946>>24 belong >0 %d frames 947>>28 beshort >0 (%d x 948>>30 beshort >0 %d) 949 9500 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 951 952# "thumbnail file" (icon) 953# descended from "xv", but in use by other applications as well (Wolfram Kleff) 9540 string P7\ 332 XV "thumbnail file" (icon) data 955 956# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 9570 string KiSS KISS/GS 958>4 byte 16 color 959>>5 byte x %d bit 960>>8 leshort x %d colors 961>>10 leshort x %d groups 962>4 byte 32 cell 963>>5 byte x %d bit 964>>8 leshort x %d x 965>>10 leshort x %d 966>>12 leshort x +%d 967>>14 leshort x +%d 968 969# Webshots (www.webshots.com), by John Harrison 9700 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 971 972# Hercules DASD image files 973# From Jan Jaeger <jj@septa.nl> 9740 string CKD_P370 Hercules CKD DASD image file 975>8 long x \b, %d heads per cylinder 976>12 long x \b, track size %d bytes 977>16 byte x \b, device type 33%2.2X 978 9790 string CKD_C370 Hercules compressed CKD DASD image file 980>8 long x \b, %d heads per cylinder 981>12 long x \b, track size %d bytes 982>16 byte x \b, device type 33%2.2X 983 9840 string CKD_S370 Hercules CKD DASD shadow file 985>8 long x \b, %d heads per cylinder 986>12 long x \b, track size %d bytes 987>16 byte x \b, device type 33%2.2X 988 989# Squeak images and programs - etoffi@softhome.net 9900 string \146\031\0\0 Squeak image data 9910 search/1 'From\040Squeak Squeak program text 992 993# partimage: file(1) magic for PartImage files (experimental, incomplete) 994# Author: Hans-Joachim Baader <hjb@pro-linux.de> 9950 string PaRtImAgE-VoLuMe PartImage 996>0x0020 string 0.6.1 file version %s 997>>0x0060 lelong >-1 volume %d 998#>>0x0064 8 byte identifier 999#>>0x007c reserved 1000>>0x0200 string >\0 type %s 1001>>0x1400 string >\0 device %s, 1002>>0x1600 string >\0 original filename %s, 1003# Some fields omitted 1004>>0x2744 lelong 0 not compressed 1005>>0x2744 lelong 1 gzip compressed 1006>>0x2744 lelong 2 bzip2 compressed 1007>>0x2744 lelong >2 compressed with unknown algorithm 1008>0x0020 string >0.6.1 file version %s 1009>0x0020 string <0.6.1 file version %s 1010 1011# DCX is multi-page PCX, using a simple header of up to 1024 1012# offsets for the respective PCX components. 1013# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 10140 lelong 987654321 DCX multi-page PCX image data 1015 1016# Simon Walton <simonw@matteworld.com> 1017# Kodak Cineon format for scanned negatives 1018# http://www.kodak.com/US/en/motion/support/dlad/ 10190 lelong 0xd75f2a80 Cineon image data 1020>200 belong >0 \b, %d x 1021>204 belong >0 %d 1022 1023 1024# Bio-Rad .PIC is an image format used by microscope control systems 1025# and related image processing software used by biologists. 1026# From: Vebjorn Ljosa <vebjorn@ljosa.com> 1027# BOOL values are two-byte integers; use them to rule out false positives. 1028# https://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt 1029# Samples: https://www.loci.wisc.edu/software/sample-data 103014 leshort <2 1031>62 leshort <2 1032>>54 leshort 12345 Bio-Rad .PIC Image File 1033>>>0 leshort >0 %d x 1034>>>2 leshort >0 %d, 1035>>>4 leshort =1 1 image in file 1036>>>4 leshort >1 %d images in file 1037 1038# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 1039# The description of *.mrw format can be found at 1040# http://www.dalibor.cz/minolta/raw_file_format.htm 10410 string \000MRM Minolta Dimage camera raw image data 1042 1043# Summary: DjVu image / document 1044# Extension: .djvu 1045# Reference: http://djvu.org/docs/DjVu3Spec.djvu 1046# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> 1047# Modified by (1): Abel Cheung <abelcheung@gmail.com> 10480 string AT&TFORM 1049>12 string DJVM DjVu multiple page document 1050!:mime image/vnd.djvu 1051>12 string DJVU DjVu image or single page document 1052!:mime image/vnd.djvu 1053>12 string DJVI DjVu shared document 1054!:mime image/vnd.djvu 1055>12 string THUM DjVu page thumbnails 1056!:mime image/vnd.djvu 1057 1058# Originally by Marc Espie 1059# Modified by Robert Minsk <robertminsk at yahoo.com> 1060# https://www.openexr.com/openexrfilelayout.pdf 10610 lelong 20000630 OpenEXR image data, 1062!:mime image/x-exr 1063>4 lelong&0x000000ff x version %d, 1064>4 lelong ^0x00000200 storage: scanline 1065>4 lelong &0x00000200 storage: tiled 1066>8 search/0x1000 compression\0 \b, compression: 1067>>&16 byte 0 none 1068>>&16 byte 1 rle 1069>>&16 byte 2 zips 1070>>&16 byte 3 zip 1071>>&16 byte 4 piz 1072>>&16 byte 5 pxr24 1073>>&16 byte 6 b44 1074>>&16 byte 7 b44a 1075>>&16 byte 8 dwaa 1076>>&16 byte 9 dwab 1077>>&16 byte >9 unknown 1078>8 search/0x1000 dataWindow\0 \b, dataWindow: 1079>>&10 lelong x (%d 1080>>&14 lelong x %d)- 1081>>&18 lelong x \b(%d 1082>>&22 lelong x %d) 1083>8 search/0x1000 displayWindow\0 \b, displayWindow: 1084>>&10 lelong x (%d 1085>>&14 lelong x %d)- 1086>>&18 lelong x \b(%d 1087>>&22 lelong x %d) 1088>8 search/0x1000 lineOrder\0 \b, lineOrder: 1089>>&14 byte 0 increasing y 1090>>&14 byte 1 decreasing y 1091>>&14 byte 2 random y 1092>>&14 byte >2 unknown 1093 1094# SMPTE Digital Picture Exchange Format, SMPTE DPX 1095# 1096# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital 1097# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 1098# Robert Minsk <robertminsk at yahoo.com> 1099# Modified by Harry Mallon <hjmallon at gmail.com> 11000 string SDPX DPX image data, big-endian, 1101!:mime image/x-dpx 1102>0 use dpx_info 11030 string XPDS DPX image data, little-endian, 1104!:mime image/x-dpx 1105>0 use \^dpx_info 1106 11070 name dpx_info 1108>768 beshort <4 1109>>772 belong x %dx 1110>>776 belong x \b%d, 1111>768 beshort >3 1112>>776 belong x %dx 1113>>772 belong x \b%d, 1114>768 beshort 0 left to right/top to bottom 1115>768 beshort 1 right to left/top to bottom 1116>768 beshort 2 left to right/bottom to top 1117>768 beshort 3 right to left/bottom to top 1118>768 beshort 4 top to bottom/left to right 1119>768 beshort 5 top to bottom/right to left 1120>768 beshort 6 bottom to top/left to right 1121>768 beshort 7 bottom to top/right to left 1122 1123# From: Tom Hilinski <tom.hilinski@comcast.net> 1124# https://www.unidata.ucar.edu/packages/netcdf/ 11250 string CDF\001 NetCDF Data Format data 1126 1127#----------------------------------------------------------------------- 1128# Hierarchical Data Format, used to facilitate scientific data exchange 1129# specifications at http://hdf.ncsa.uiuc.edu/ 11300 belong 0x0e031301 Hierarchical Data Format (version 4) data 1131!:mime application/x-hdf 11320 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data 1133!:mime application/x-hdf 1134512 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 512 bytes user block 1135!:mime application/x-hdf 11361024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block 1137!:mime application/x-hdf 11382048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block 1139!:mime application/x-hdf 11404096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block 1141!:mime application/x-hdf 1142 1143 1144# From: Tobias Burnus <burnus@net-b.de> 1145# Xara (for a while: Corel Xara) is a graphic package, see 1146# http://www.xara.com/ for Windows and as GPL application for Linux 11470 string XARA\243\243 Xara graphics file 1148 1149# https://www.cartesianinc.com/Tech/ 11500 string CPC\262 Cartesian Perceptual Compression image 1151!:mime image/x-cpi 1152 1153# From Albert Cahalan <acahalan@gmail.com> 1154# puredigital used it for the CVS disposable camcorder 1155#8 lelong 4 ZBM bitmap image data 1156#>4 leshort x %u x 1157#>6 leshort x %u 1158 1159# From Albert Cahalan <acahalan@gmail.com> 1160# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons 11610 string C565 OLPC firmware icon image data 1162>4 leshort x %u x 1163>6 leshort x %u 1164 1165# Applied Images - Image files from Cytovision 1166# Gustavo Junior Alves <gjalves@gjalves.com.br> 11670 string \xce\xda\xde\xfa Cytovision Metaphases file 11680 string \xed\xad\xef\xac Cytovision Karyotype file 11690 string \x0b\x00\x03\x00 Cytovision FISH Probe file 11700 string \xed\xfe\xda\xbe Cytovision FLEX file 11710 string \xed\xab\xed\xfe Cytovision FLEX file 11720 string \xad\xfd\xea\xad Cytovision RATS file 1173 1174# Wavelet Scalar Quantization format used in gray-scale fingerprint images 1175# From Tano M Fotang <mfotang@quanteq.com> 11760 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data 1177 1178# Type: PCO B16 image files 1179# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf 1180# From: Florian Philipp <florian.philipp@binarywings.net> 1181# Extension: .b16 1182# Description: Pixel image format produced by PCO Camware, typically used 1183# together with PCO cameras. 1184# Note: Different versions exist for e.g. 8 bit and 16 bit images. 1185# Documentation is incomplete. 11860 string/b PCO- PCO B16 image data 1187>12 lelong x \b, %dx 1188>16 lelong x \b%d 1189>20 lelong 0 \b, short header 1190>20 lelong -1 \b, extended header 1191>>24 lelong 0 \b, grayscale 1192>>>36 lelong 0 linear LUT 1193>>>36 lelong 1 logarithmic LUT 1194>>>28 lelong x [%d 1195>>>32 lelong x \b,%d] 1196>>24 lelong 1 \b, color 1197>>>64 lelong 0 linear LUT 1198>>>64 lelong 1 logarithmic LUT 1199>>>40 lelong x r[%d 1200>>>44 lelong x \b,%d] 1201>>>48 lelong x g[%d 1202>>>52 lelong x \b,%d] 1203>>>56 lelong x b[%d 1204>>>60 lelong x \b,%d] 1205 1206# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches 1207# From: Markus Heidelberg <markus.heidelberg at web.de> 12080 string/t [BitmapInfo2] Polar Monitor Bitmap text 1209!:mime image/x-polar-monitor-bitmap 1210 1211# From: Rick Richardson <rickrich@gmail.com> 1212# updated by: Joerg Jenderek 1213# URL: http://techmods.net/nuvi/ 12140 string GARMIN\ BITMAP\ 01 Garmin Bitmap file 1215# extension is also used for 1216# Sony SRF raw image (image/x-sony-srf) 1217# SRF map 1218# Terragen Surface Map (https://www.planetside.co.uk/terragen) 1219# FileLocator Pro search criteria file (https://www.mythicsoft.com/filelocatorpro) 1220!:ext srf 1221#!:mime image/x-garmin-srf 1222# version 1.00,2.00,2.10,2.40,2.50 1223>0x2f string >0 \b, version %4.4s 1224# width (2880,2881,3240) 1225>0x55 uleshort >0 \b, %dx 1226# height (80,90) 1227>>0x53 uleshort x \b%d 1228 1229# Type: Ulead Photo Explorer5 (.pe5) 1230# URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese) 1231# From: Simon Horman <horms@debian.org> 12320 string IIO2H Ulead Photo Explorer5 1233 1234# Type: X11 cursor 1235# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup 1236# From: Mathias Brodala <info@noctus.net> 12370 string Xcur X11 cursor 1238 1239# Type: Olympus ORF raw images. 1240# URL: https://libopenraw.freedesktop.org/wiki/Olympus_ORF 1241# From: Adam Buchbinder <adam.buchbinder@gmail.com> 12420 string MMOR Olympus ORF raw image data, big-endian 1243!:mime image/x-olympus-orf 12440 string IIRO Olympus ORF raw image data, little-endian 1245!:mime image/x-olympus-orf 12460 string IIRS Olympus ORF raw image data, little-endian 1247!:mime image/x-olympus-orf 1248 1249# Type: files used in modern AVCHD camcoders to store clip information 1250# Extension: .cpi 1251# From: Alexander Danilov <alexander.a.danilov@gmail.com> 12520 string HDMV0100 AVCHD Clip Information 1253 1254# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1255# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ 1256# Radiance HDR; usually has .pic or .hdr extension. 12570 string #?RADIANCE\n Radiance HDR image data 1258#!mime image/vnd.radiance 1259 1260# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1261# URL: https://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf 1262# Used by the pfstools packages. The regex matches for the image size could 1263# probably use some work. The MIME type is made up; if there's one in 1264# actual common use, it should replace the one below. 12650 string PFS1\x0a PFS HDR image data 1266#!mime image/x-pfs 1267>1 regex [0-9]*\ \b, %s 1268>>1 regex \ [0-9]{4} \bx%s 1269 1270# Type: Foveon X3F 1271# URL: https://www.photofo.com/downloads/x3f-raw-format.pdf 1272# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1273# Note that the MIME type isn't defined anywhere that I can find; if 1274# there's a canonical type for this format, it should replace this one. 12750 string FOVb Foveon X3F raw image data 1276!:mime image/x-x3f 1277>6 leshort x \b, version %d. 1278>4 leshort x \b%d 1279>28 lelong x \b, %dx 1280>32 lelong x \b%d 1281 1282# Paint.NET file 1283# From Adam Buchbinder <adam.buchbinder@gmail.com> 12840 string PDN3 Paint.NET image data 1285!:mime image/x-paintnet 1286 1287# Not really an image. 1288# From: "Tano M. Fotang" <mfotang@quanteq.com> 12890 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) 1290 1291# doc: https://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip 1292# example: https://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip 129390 bequad 0x574D50484F544F00 JPEG-XR Image 1294>98 byte&0x08 =0x08 \b, hard tiling 1295>99 byte&0x80 =0x80 \b, tiling present 1296>99 byte&0x40 =0x40 \b, codestream present 1297>99 byte&0x38 x \b, spatial xform= 1298>99 byte&0x38 0x00 \bTL 1299>99 byte&0x38 0x08 \bBL 1300>99 byte&0x38 0x10 \bTR 1301>99 byte&0x38 0x18 \bBR 1302>99 byte&0x38 0x20 \bBT 1303>99 byte&0x38 0x28 \bRB 1304>99 byte&0x38 0x30 \bLT 1305>99 byte&0x38 0x38 \bLB 1306>100 byte&0x80 =0x80 \b, short header 1307>>102 beshort+1 x \b, %d 1308>>104 beshort+1 x \bx%d 1309>100 byte&0x80 =0x00 \b, long header 1310>>102 belong+1 x \b, %x 1311>>106 belong+1 x \bx%x 1312>101 beshort&0xf x \b, bitdepth= 1313>>101 beshort&0xf 0x0 \b1-WHITE=1 1314>>101 beshort&0xf 0x1 \b8 1315>>101 beshort&0xf 0x2 \b16 1316>>101 beshort&0xf 0x3 \b16-SIGNED 1317>>101 beshort&0xf 0x4 \b16-FLOAT 1318>>101 beshort&0xf 0x5 \b(reserved 5) 1319>>101 beshort&0xf 0x6 \b32-SIGNED 1320>>101 beshort&0xf 0x7 \b32-FLOAT 1321>>101 beshort&0xf 0x8 \b5 1322>>101 beshort&0xf 0x9 \b10 1323>>101 beshort&0xf 0xa \b5-6-5 1324>>101 beshort&0xf 0xb \b(reserved %d) 1325>>101 beshort&0xf 0xc \b(reserved %d) 1326>>101 beshort&0xf 0xd \b(reserved %d) 1327>>101 beshort&0xf 0xe \b(reserved %d) 1328>>101 beshort&0xf 0xf \b1-BLACK=1 1329>101 beshort&0xf0 x \b, colorfmt= 1330>>101 beshort&0xf0 0x00 \bYONLY 1331>>101 beshort&0xf0 0x10 \bYUV240 1332>>101 beshort&0xf0 0x20 \bYWV422 1333>>101 beshort&0xf0 0x30 \bYWV444 1334>>101 beshort&0xf0 0x40 \bCMYK 1335>>101 beshort&0xf0 0x50 \bCMYKDIRECT 1336>>101 beshort&0xf0 0x60 \bNCOMPONENT 1337>>101 beshort&0xf0 0x70 \bRGB 1338>>101 beshort&0xf0 0x80 \bRGBE 1339>>101 beshort&0xf0 >0x80 \b(reserved 0x%x) 1340 1341# From: Johan van der Knijff <johan.vanderknijff@kb.nl> 1342# 1343# BPG (Better Portable Graphics) format 1344# https://bellard.org/bpg/ 1345# http://fileformats.archiveteam.org/wiki/BPG 1346# 13470 string \x42\x50\x47\xFB BPG (Better Portable Graphics) 1348!:mime image/bpg 1349 1350# From: Joerg Jenderek 1351# URL: https://en.wikipedia.org/wiki/Apple_Icon_Image_format 13520 string icns Mac OS X icon 1353!:mime image/x-icns 1354!:apple ????icns 1355!:ext icns 1356>4 ubelong >0 1357# file size 1358>>4 ubelong x \b, %d bytes 1359# icon type 1360>>8 string x \b, "%4.4s" type 1361 1362# TIM images 13630 lelong 0x00000010 TIM image, 1364>4 lelong 0x8 4-Bit, 1365>4 lelong 0x9 8-Bit, 1366>4 lelong 0x2 15-Bit, 1367>4 lelong 0x3 24-Bit, 1368>4 lelong &8 1369>>(8.l+12) leshort x Pixel at (%d, 1370>>(8.l+14) leshort x \b%d) 1371>>(8.l+16) leshort x Size=%dx 1372>>(8.l+18) leshort x \b%d, 1373>>4 lelong 0x8 16 CLUT Entries at 1374>>4 lelong 0x9 256 CLUT Entries at 1375>>12 leshort x (%d, 1376>>14 leshort x \b%d) 1377>4 lelong ^8 1378>>12 leshort x Pixel at (%d, 1379>>14 leshort x \b%d) 1380>>16 leshort x Size=%dx 1381>>18 leshort x \b%d 1382 1383# MDEC streams 13840 lelong 0x80010160 MDEC video stream, 1385>16 leshort x %dx 1386>18 leshort x \b%d 1387#>8 lelong x %d frames 1388#>4 leshort x secCount=%d; 1389#>6 leshort x nSectors=%d; 1390#>12 lelong x frameSize=%d; 1391 1392# BS encoded bitstreams 13932 leshort 0x3800 BS image, 1394>6 leshort x Version %d, 1395>4 leshort x Quantization %d, 1396>0 leshort x (Decompresses to %d words) 1397 1398# Type: farbfeld image. 1399# Url: http://tools.suckless.org/farbfeld/ 1400# From: Ian D. Scott <ian@iandouglasscott.com> 1401# 14020 string farbfeld farbfeld image data, 1403>8 ubelong x %dx 1404>12 ubelong x \b%d 1405 1406# Type: Microsoft DirectDraw Surface (common data) 1407# URL: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 1408# From: Morten Hustveit <morten@debian.org> 1409# Updated by: David Korth <gerbilsoft@gerbilsoft.com> 14100 name ms-directdraw-surface 1411>0x10 ulelong x %u x 1412>0x0C ulelong x %u 1413# Color depth. 1414>0x58 ulelong >0 \b, %u-bit color 1415# Determine the pixel format. 1416>0x50 ulelong&0x4 4 1417# FIXME: Handle DX10 and XBOX formats. 1418>>0x54 string x \b, compressed using %.4s 1419>0x50 ulelong&0x2 0x2 \b, alpha only 1420>0x50 ulelong&0x200 0x200 \b, YUV 1421>0x50 ulelong&0x20000 0x20000 \b, luminance 1422# RGB pixel format 1423>0x50 ulelong&0x40 0x40 1424 1425# Determine the RGB format using the color masks. 1426# ulequad order: 0xGGGGGGGGRRRRRRRR, 0xAAAAAAAABBBBBBBB 1427 1428>>0x58 ulelong 16 1429 1430# NOTE: 15-bit color formats usually have 16-bit listed as the color depth. 1431>>>0x5C ulequad 0x000003E000007C00 1432>>>>0x64 ulequad 0x000000000000001F \b, RGB555 1433>>>0x5C ulequad 0x000003E000001F00 1434>>>>0x64 ulequad 0x000000000000007C \b, BGR555 1435 1436>>>0x5C ulequad 0x000007E00000F800 1437>>>>0x64 ulequad 0x000000000000001F \b, RGB565 1438>>>0x5C ulequad 0x000007E000001F00 1439>>>>0x64 ulequad 0x00000000000000F8 \b, BGR565 1440 1441>>>0x5C ulequad 0x000000F000000F00 1442>>>>0x64 ulequad 0x0000F0000000000F \b, ARGB4444 1443>>>0x5C ulequad 0x000000F00000000F 1444>>>>0x64 ulequad 0x0000F00000000F00 \b, ABGR4444 1445 1446>>>0x5C ulequad 0x00000F000000F000 1447>>>>0x64 ulequad 0x0000000F000000F0 \b, RGBA4444 1448>>>0x5C ulequad 0x00000F00000000F0 1449>>>>0x64 ulequad 0x0000000F0000F000 \b, BGRA4444 1450 1451>>>0x5C ulequad 0x000000F000000F00 1452>>>>0x64 ulequad 0x000000000000000F \b, xRGB4444 1453>>>0x5C ulequad 0x000000F00000000F 1454>>>>0x64 ulequad 0x0000000000000F00 \b, xBGR4444 1455 1456>>>0x5C ulequad 0x00000F000000F000 1457>>>>0x64 ulequad 0x00000000000000F0 \b, RGBx4444 1458>>>0x5C ulequad 0x00000F00000000F0 1459>>>>0x64 ulequad 0x000000000000F000 \b, BGRx4444 1460 1461>>>0x5C ulequad 0x000003E000007C00 1462>>>>0x64 ulequad 0x000080000000001F \b, ARGB1555 1463>>>0x5C ulequad 0x000003E000001F00 1464>>>>0x64 ulequad 0x000080000000007C \b, ABGR1555 1465>>>0x5C ulequad 0x000007C00000F800 1466>>>>0x64 ulequad 0x000000010000003E \b, RGBA5551 1467>>>0x5C ulequad 0x000007C00000003E 1468>>>>0x64 ulequad 0x000000010000F800 \b, BGRA5551 1469 1470>>88 ulelong 24 1471>>>0x5C ulequad 0x0000FF0000FF0000 1472>>>>0x64 ulequad 0x00000000000000FF \b, RGB888 1473>>>0x5C ulequad 0x0000FF00000000FF 1474>>>>0x64 ulequad 0x0000000000FF0000 \b, BGR888 1475 1476>>88 ulelong 32 1477>>>0x5C ulequad 0x0000FF0000FF0000 1478>>>>0x64 ulequad 0xFF000000000000FF \b, ARGB8888 1479>>>0x5C ulequad 0x0000FF00000000FF 1480>>>>0x64 ulequad 0xFF00000000FF0000 \b, ABGR8888 1481 1482>>>0x5C ulequad 0x00FF0000FF000000 1483>>>>0x64 ulequad 0x000000FF0000FF00 \b, RGBA8888 1484>>>0x5C ulequad 0x00FF00000000FF00 1485>>>>0x64 ulequad 0x000000FFFF000000 \b, BGBA8888 1486 1487>>>0x5C ulequad 0x0000FF0000FF0000 1488>>>>0x64 ulequad 0x00000000000000FF \b, xRGB8888 1489>>>0x5C ulequad 0x0000FF00000000FF 1490>>>>0x64 ulequad 0x0000000000FF0000 \b, xBGR8888 1491 1492>>>0x5C ulequad 0x00FF0000FF000000 1493>>>>0x64 ulequad 0x000000000000FF00 \b, RGBx8888 1494>>>0x5C ulequad 0x00FF00000000FF00 1495>>>>0x64 ulequad 0x00000000FF000000 \b, BGBx8888 1496 1497# Less common 32-bit color formats. 1498>>>0x5C ulequad 0xFFFF00000000FFFF 1499>>>>0x64 ulequad 0x0000000000000000 \b, G16R16 1500>>>0x5C ulequad 0x0000FFFFFFFF0000 1501>>>>0x64 ulequad 0x0000000000000000 \b, R16G16 1502 1503>>>0x5C ulequad 0x000FFC003FF00000 1504>>>>0x64 ulequad 0xC0000000000003FF \b, A2R10G10B10 1505>>>0x5C ulequad 0x000FFC00000003FF 1506>>>>0x64 ulequad 0xC00000003FF00000 \b, A2B10G10R10 1507 1508# Type: Microsoft DirectDraw Surface 1509# URL: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 1510# From: Morten Hustveit <morten@debian.org> 1511# Updated by: David Korth <gerbilsoft@gerbilsoft.com> 15120 string/b DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS): 1513>0 use ms-directdraw-surface 1514 1515# Type: Sega PVR image. 1516# From: David Korth <gerbilsoft@gerbilsoft.com> 1517# References: 1518# - https://fabiensanglard.net/Mykaruga/tools/segaPVRFormat.txt 1519# - https://github.com/yazgoo/pvrx2png 1520# - https://github.com/nickworonekin/puyotools 1521 1522# Sega PVR header. 15230 name sega-pvr-image-header 1524>0x0C leshort x %u x 1525>0x0E leshort x %u 1526# Image format. 1527>0x08 byte 0 \b, ARGB1555 1528>0x08 byte 1 \b, RGB565 1529>0x08 byte 2 \b, ARGB4444 1530>0x08 byte 3 \b, YUV442 1531>0x08 byte 4 \b, Bump 1532>0x08 byte 5 \b, 4bpp 1533>0x08 byte 6 \b, 8bpp 1534# Image data type. 1535>0x09 byte 0x01 \b, square twiddled 1536>0x09 byte 0x02 \b, square twiddled & mipmap 1537>0x09 byte 0x03 \b, VQ 1538>0x09 byte 0x04 \b, VQ & mipmap 1539>0x09 byte 0x05 \b, 8-bit CLUT twiddled 1540>0x09 byte 0x06 \b, 4-bit CLUT twiddled 1541>0x09 byte 0x07 \b, 8-bit direct twiddled 1542>0x09 byte 0x08 \b, 4-bit direct twiddled 1543>0x09 byte 0x09 \b, rectangle 1544>0x09 byte 0x0B \b, rectangular stride 1545>0x09 byte 0x0D \b, rectangular twiddled 1546>0x09 byte 0x10 \b, small VQ 1547>0x09 byte 0x11 \b, small VQ & mipmap 1548>0x09 byte 0x12 \b, square twiddled & mipmap 1549 1550# Sega PVR image. 15510 string PVRT 1552>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: 1553>>0x20 use ms-directdraw-surface 1554>0x10 belong !0x44445320 Sega PVR image: 1555>>0 use sega-pvr-image-header 1556 1557# Sega PVR image with GBIX. 15580 string GBIX 1559>0x10 string PVRT 1560>>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: 1561>>>0x20 use ms-directdraw-surface 1562>>0x10 belong !0x44445320 Sega PVR image: 1563>>>0x10 use sega-pvr-image-header 1564>>0x08 lelong x \b, global index = %u 1565 1566# Sega GVR header. 15670 name sega-gvr-image-header 1568>0x0C beshort x %u x 1569>0x0E beshort x %u 1570# Image data format. 1571>0x0B byte 0 \b, I4 1572>0x0B byte 1 \b, I8 1573>0x0B byte 2 \b, IA4 1574>0x0B byte 3 \b, IA8 1575>0x0B byte 4 \b, RGB565 1576>0x0B byte 5 \b, RGB5A3 1577>0x0B byte 6 \b, ARGB8888 1578>0x0B byte 8 \b, CI4 1579>0x0B byte 9 \b, CI8 1580>0x0B byte 14 \b, DXT1 1581 1582# Sega GVR image. 15830 string GVRT Sega GVR image: 1584>0x10 use sega-gvr-image-header 1585 1586# Sega GVR image with GBIX. 15870 string GBIX 1588>0x10 string GVRT Sega GVR image: 1589>>0x10 use sega-gvr-image-header 1590>>0x08 belong x \b, global index = %u 1591 1592# Sega GVR image with GCIX. (Wii) 15930 string GCIX 1594>0x10 string GVRT Sega GVR image: 1595>>0x10 use sega-gvr-image-header 1596>>0x08 belong x \b, global index = %u 1597 1598# Light Field Picture 1599# Documentation: http://optics.miloush.net/lytro/TheFileFormat.aspx 1600# Typical file extensions: .lfp .lfr .lfx 1601 16020 belong 0x894C4650 1603>4 belong 0x0D0A1A0A 1604>12 belong 0x00000000 Lytro Light Field Picture 1605>8 belong x \b, version %d 1606 1607# Type: Vision Research Phantom CINE Format 1608# URL: https://www.phantomhighspeed.com/ 1609# URL2: http://phantomhighspeed.force.com/vriknowledge/servlet/fileField?id=0BEU0000000Cfyk 1610# From: Harry Mallon <hjmallon at gmail.com> 1611# 1612# This has a short "CI" code but the 44 is the size of the struct which is 1613# stable 16140 string CI 1615>2 leshort 44 Vision Research CINE Video, 1616>>4 leshort 0 Grayscale, 1617>>4 leshort 1 JPEG Compressed, 1618>>4 leshort 2 RAW, 1619>>6 leshort x version %d, 1620>>20 lelong x %d frames, 1621>>48 lelong x %dx 1622>>52 lelong x \b%d 1623 1624# Type: ARRI Raw Image 1625# Info: SMPTE RDD30:2014 1626# From: Harry Mallon <hjmallon at gmail.com> 16270 string ARRI ARRI ARI image data, 1628>4 lelong 0x78563412 little-endian, 1629>4 lelong 0x12345678 big-endian, 1630>12 lelong x version %d, 1631>20 lelong x %dx 1632>24 lelong x \b%d 1633 1634# Type: Khronos KTX texture. 1635# From: David Korth <gerbilsoft@gerbilsoft.com> 1636# References: 1637# - https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ 1638 1639# glEnum decoding. 1640# NOTE: Only the most common formats are listed here. 16410 name khronos-ktx-glEnum 1642>0 lelong 0x1907 \b, RGB 1643>0 lelong 0x1908 \b, RGBA 1644>0 lelong 0x1909 \b, LUMINANCE 1645>0 lelong 0x190A \b, LUMINANCE_ALPHA 1646>0 lelong 0x80E1 \b, BGR 1647>0 lelong 0x80E2 \b, BGRA 1648>0 lelong 0x83A0 \b, RGB_S3TC 1649>0 lelong 0x83A1 \b, RGB4_S3TC 1650>0 lelong 0x83A2 \b, RGBA_S3TC 1651>0 lelong 0x83A3 \b, RGBA4_S3TC 1652>0 lelong 0x83A4 \b, RGBA_DXT5_S3TC 1653>0 lelong 0x83A5 \b, RGBA4_DXT5_S3TC 1654>0 lelong 0x8D64 \b, ETC1_RGB8_OES 1655>0 lelong 0x9270 \b, COMPRESSED_R11_EAC 1656>0 lelong 0x9271 \b, COMPRESSED_SIGNED_R11_EAC 1657>0 lelong 0x9272 \b, COMPRESSED_RG11_EAC 1658>0 lelong 0x9273 \b, COMPRESSED_SIGNED_RG11_EAC 1659>0 lelong 0x9274 \b, COMPRESSED_RGB8_ETC2 1660>0 lelong 0x9275 \b, COMPRESSED_SRGB8_ETC2 1661>0 lelong 0x9276 \b, COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 1662>0 lelong 0x9277 \b, COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 1663>0 lelong 0x9278 \b, COMPRESSED_RGBA2_ETC2_EAC 1664>0 lelong 0x9279 \b, COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 1665>0 lelong 0x93B0 \b, COMPRESSED_RGBA_ASTC_4x4_KHR 1666>0 lelong 0x93B1 \b, COMPRESSED_RGBA_ASTC_5x4_KHR 1667>0 lelong 0x93B2 \b, COMPRESSED_RGBA_ASTC_5x5_KHR 1668>0 lelong 0x93B3 \b, COMPRESSED_RGBA_ASTC_6x5_KHR 1669>0 lelong 0x93B4 \b, COMPRESSED_RGBA_ASTC_6x6_KHR 1670>0 lelong 0x93B5 \b, COMPRESSED_RGBA_ASTC_8x5_KHR 1671>0 lelong 0x93B6 \b, COMPRESSED_RGBA_ASTC_8x6_KHR 1672>0 lelong 0x93B7 \b, COMPRESSED_RGBA_ASTC_8x8_KHR 1673>0 lelong 0x93B8 \b, COMPRESSED_RGBA_ASTC_10x5_KHR 1674>0 lelong 0x93B9 \b, COMPRESSED_RGBA_ASTC_10x6_KHR 1675>0 lelong 0x93BA \b, COMPRESSED_RGBA_ASTC_10x8_KHR 1676>0 lelong 0x93BB \b, COMPRESSED_RGBA_ASTC_10x10_KHR 1677>0 lelong 0x93BC \b, COMPRESSED_RGBA_ASTC_12x10_KHR 1678>0 lelong 0x93BD \b, COMPRESSED_RGBA_ASTC_12x12_KHR 1679>0 lelong 0x93D0 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 1680>0 lelong 0x93D1 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 1681>0 lelong 0x93D2 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 1682>0 lelong 0x93D3 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 1683>0 lelong 0x93D4 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 1684>0 lelong 0x93D5 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 1685>0 lelong 0x93D6 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 1686>0 lelong 0x93D7 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 1687>0 lelong 0x93D8 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 1688>0 lelong 0x93D9 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 1689>0 lelong 0x93DA \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 1690>0 lelong 0x93DB \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 1691>0 lelong 0x93DC \b, COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 1692>0 lelong 0x93DD \b, COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 1693 1694# Endian-specific KTX header. 1695# TODO: glType (all textures I've seen so far are GL_UNSIGNED_BYTE) 16960 name khronos-ktx-endian-header 1697>20 lelong x \b, %u 1698>24 lelong >1 x %u 1699>28 lelong >1 x %u 1700>8 lelong >0 1701>>8 use khronos-ktx-glEnum 1702>8 lelong 0 1703>>12 use khronos-ktx-glEnum 1704 1705# Main KTX header. 1706# Determine endianness, then check the rest of the header. 17070 string \xABKTX\ 11\xBB\r\n\x1A\n Khronos KTX texture 1708>12 lelong 0x04030201 (little-endian) 1709>>16 use khronos-ktx-endian-header 1710>12 belong 0x04030201 (big-endian) 1711>>16 use \^khronos-ktx-endian-header 1712 1713# Type: Valve VTF texture. 1714# From: David Korth <gerbilsoft@gerbilsoft.com> 1715# References: 1716# - https://developer.valvesoftware.com/wiki/Valve_Texture_Format 1717 1718# VTF image formats. 17190 name vtf-image-format 1720>0 lelong 0 RGBA8888 1721>0 lelong 1 ABGR8888 1722>0 lelong 2 RGB888 1723>0 lelong 3 BGR888 1724>0 lelong 4 RGB565 1725>0 lelong 5 I8 1726>0 lelong 6 IA88 1727>0 lelong 7 P8 1728>0 lelong 8 A8 1729>0 lelong 9 RGB888 (bluescreen) 1730>0 lelong 10 BGR888 (bluescreen) 1731>0 lelong 11 ARGB8888 1732>0 lelong 12 BGRA8888 1733>0 lelong 13 DXT1 1734>0 lelong 14 DXT3 1735>0 lelong 15 DXT5 1736>0 lelong 16 BGRx8888 1737>0 lelong 17 BGR565 1738>0 lelong 18 BGRx5551 1739>0 lelong 19 BGRA4444 1740>0 lelong 20 DXT1+A1 1741>0 lelong 21 BGRA5551 1742>0 lelong 22 UV88 1743>0 lelong 23 UVWQ8888 1744>0 lelong 24 RGBA16161616F 1745>0 lelong 25 RGBA16161616 1746>0 lelong 26 UVLX8888 1747 1748# Main VTF header. 17490 string VTF\0 Valve Texture Format 1750>4 lelong x v%u 1751>8 lelong x \b.%u 1752>0x10 leshort x \b, %u 1753>0x12 leshort >1 x %u 1754>4 lequad 0x0000000700000002 1755>>0x3F leshort >1 x %u 1756>0x18 leshort >1 \b, %u frames 1757>0x38 byte x \b, mipmaps: %u 1758>0x34 lelong >-1 \b, 1759>>0x34 use vtf-image-format 1760 1761# Type: Valve VTF3 (PS3) texture. 1762# From: David Korth <gerbilsoft@gerbilsoft.com> 17630 string VTF3 Valve Texture Format (PS3) 1764>0x14 beshort x \b, %u 1765>0x16 beshort x \b x %u 1766>0x10 belong&0x2000 0 \b, DXT1 1767>0x10 belong&0x2000 0x2000 \b, DXT5 1768 1769# Type: ASTC texture. 1770# From: David Korth <gerbilsoft@gerbilsoft.com> 1771# References: 1772# - https://stackoverflow.com/questions/22600678/determine-internal-format-of-given-astc-compressed-image-through-its-header 1773# - https://stackoverflow.com/a/22682244 17740 lelong 0x5ca1ab13 ASTC 1775>4 byte x %u 1776>5 byte x \bx%u 1777>6 byte >1 \bx%u 1778# X, Y, and Z dimensions are stored as 24-bit LE. 1779# Pretend it's 32-bit and mask off the high byte. 1780>7 lelong&0x00FFFFFF x texture, %u 1781>10 lelong&0x00FFFFFF x x %u 1782>13 lelong&0x00FFFFFF >1 x %u 1783 1784# Zebra Metafile graphic 1785# http://www.fileformat.info/format/zbr/egff.htm 17860 beshort 0x9a02 Zebra Metafile graphic 1787>2 leshort 1 (version 1.x) 1788>2 leshort 2 (version 1.1x or 1.2x) 1789>2 leshort 3 (version 1.49) 1790>2 leshort 4 (version 1.50) 1791>4 string x (comment = %s) 1792 1793# Microsoft Paint graphic 1794# http://www.fileformat.info/format/mspaint/egff.htm 17950 string DanM icrosoft Paint image data (version 1.x) 1796>4 leshort x (%d 1797>>6 leshort x x %d) 17980 string LinS Microsoft Paint image data (version 2.0) 1799>4 leshort x (%d 1800>>6 leshort x x %d) 1801 1802# reMarkable tablet internal file format (https://www.remarkable.com/) 1803# https://github.com/ax3l/lines-are-beautiful 1804# https://plasma.ninja/blog/devices/remarkable/binary/format/2017/12/26/\ 1805# reMarkable-lines-file-format.html#what-to-do-next 1806# from Axel Huebl 18070 string reMarkable 1808>11 string lines 1809>>17 string with 1810>>>22 string selections 1811>>>>33 string and 1812>>>>>37 string layers 1813>>>>>>43 lelong x reMarkable tablet notebook lines, 1404 x 1872, %x page(s) 1814 1815# newer per-page files for the reMarkable 18160 string reMarkable 1817>11 string .lines 1818>>18 string file, 1819>>>24 string version= 1820>>>>32 byte x reMarkable tablet page (v%c), 1404 x 1872, 1821>>>>>43 lelong x %d layer(s) 1822 1823# Type: PVR3 texture. 1824# From: David Korth <gerbilsoft@gerbilsoft.com> 1825# References: 1826# - http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf 1827 1828# PVR3 pixel formats. 18290 name pvr3-pixel-format 1830>4 ulelong 0 1831>>0 ulelong 0 PVRTC 2bpp RGB 1832>>0 ulelong 1 PVRTC 2bpp RGBA 1833>>0 ulelong 2 PVRTC 4bpp RGB 1834>>0 ulelong 3 PVRTC 4bpp RGBA 1835>>0 ulelong 4 PVRTC-II 2bpp 1836>>0 ulelong 5 PVRTC-II 4bpp 1837>>0 ulelong 6 ETC1 1838>>0 ulelong 7 DXT1 1839>>0 ulelong 8 DXT2 1840>>0 ulelong 9 DXT3 1841>>0 ulelong 10 DXT4 1842>>0 ulelong 11 DXT5 1843>>0 ulelong 12 BC4 1844>>0 ulelong 13 BC5 1845>>0 ulelong 14 BC6 1846>>0 ulelong 15 BC7 1847>>0 ulelong 16 UYVY 1848>>0 ulelong 17 YUY2 1849>>0 ulelong 18 BW1bpp 1850>>0 ulelong 19 R9G9B9E5 Shared Exponent 1851>>0 ulelong 20 RGBG8888 1852>>0 ulelong 21 GRGB8888 1853>>0 ulelong 22 ETC2 RGB 1854>>0 ulelong 23 ETC2 RGBA 1855>>0 ulelong 24 ETC2 RGB A1 1856>>0 ulelong 25 EAC R11 1857>>0 ulelong 26 EAC RG11 1858>>0 ulelong 27 ASTC_4x4 1859>>0 ulelong 28 ASTC_5x4 1860>>0 ulelong 29 ASTC_5x5 1861>>0 ulelong 30 ASTC_6x5 1862>>0 ulelong 31 ASTC_6x6 1863>>0 ulelong 32 ASTC_8x5 1864>>0 ulelong 33 ASTC_8x6 1865>>0 ulelong 34 ASTC_8x8 1866>>0 ulelong 35 ASTC_10x5 1867>>0 ulelong 36 ASTC_10x6 1868>>0 ulelong 37 ASTC_10x8 1869>>0 ulelong 38 ASTC_10x10 1870>>0 ulelong 39 ASTC_12x10 1871>>0 ulelong 40 ASTC_12x12 1872>>0 ulelong 41 ASTC_3x3x3 1873>>0 ulelong 42 ASTC_4x3x3 1874>>0 ulelong 43 ASTC_4x4x3 1875>>0 ulelong 44 ASTC_4x4x4 1876>>0 ulelong 45 ASTC_5x4x4 1877>>0 ulelong 46 ASTC_5x5x4 1878>>0 ulelong 47 ASTC_5x5x5 1879>>0 ulelong 48 ASTC_6x5x5 1880>>0 ulelong 49 ASTC_6x6x5 1881>>0 ulelong 50 ASTC_6x6x6 1882>4 ulelong !0 1883>>0 byte !0 %c 1884>>1 byte !0 \b%c 1885>>2 byte !0 \b%c 1886>>3 byte !0 \b%c 1887 18880 string PVR\x03 PVR 3.0 texture: 1889>0x18 ulelong x %u x 1890>0x1C ulelong x %u 1891>0x20 ulelong >1 x %u 1892>0x08 byte x \b, 1893>0x08 use pvr3-pixel-format 1894>0x10 ulelong 1 \b, sRGB 1895>0x04 ulelong&0x02 0x02 \b, premultiplied alpha 1896 1897# Type: Microsoft Xbox XPR0 texture. 1898# From: David Korth <gerbilsoft@gerbilsoft.com> 1899# References: 1900# - https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/blob/develop/src/core/hle/D3D8/XbD3D8Types.h 1901 1902# XPR pixel formats. 19030 name xbox-xpr-pixel-format 1904>0 byte 0x00 L8 1905>0 byte 0x01 AL8 1906>0 byte 0x02 ARGB1555 1907>0 byte 0x03 RGB555 1908>0 byte 0x04 ARGB4444 1909>0 byte 0x05 RGB565 1910>0 byte 0x06 ARGB8888 1911>0 byte 0x07 xRGB8888 1912>0 byte 0x0B P8 1913>0 byte 0x0C DXT1 1914>0 byte 0x0E DXT2 1915>0 byte 0x0F DXT4 1916>0 byte 0x10 Linear ARGB1555 1917>0 byte 0x11 Linear RGB565 1918>0 byte 0x12 Linear ARGB8888 1919>0 byte 0x13 Linear L8 1920>0 byte 0x16 Linear R8B8 1921>0 byte 0x17 Linear G8B8 1922>0 byte 0x19 A8 1923>0 byte 0x1A A8L8 1924>0 byte 0x1B Linear AL8 1925>0 byte 0x1C Linear RGB555 1926>0 byte 0x1D Linear ARGB4444 1927>0 byte 0x1E Linear xRGB8888 1928>0 byte 0x1F Linear A8 1929>0 byte 0x20 Linear A8L8 1930>0 byte 0x24 YUY2 1931>0 byte 0x25 UYVY 1932>0 byte 0x27 L6V5U5 1933>0 byte 0x28 V8U8 1934>0 byte 0x29 R8B8 1935>0 byte 0x2A D24S8 1936>0 byte 0x2B F24S8 1937>0 byte 0x2C D16 1938>0 byte 0x2D F16 1939>0 byte 0x2E Linear D24S8 1940>0 byte 0x2F Linear F24S8 1941>0 byte 0x30 Linear D16 1942>0 byte 0x31 Linear F16 1943>0 byte 0x32 L16 1944>0 byte 0x33 V16U16 1945>0 byte 0x35 Linear L16 1946>0 byte 0x36 Linear V16U16 1947>0 byte 0x37 Linear L6V5U5 1948>0 byte 0x38 RGBA5551 1949>0 byte 0x39 RGBA4444 1950>0 byte 0x3A QWVU8888 1951>0 byte 0x3B BGRA8888 1952>0 byte 0x3C RGBA8888 1953>0 byte 0x3D Linear RGBA5551 1954>0 byte 0x3E Linear RGBA4444 1955>0 byte 0x3F Linear ABGR8888 1956>0 byte 0x40 Linear BGRA8888 1957>0 byte 0x41 Linear RGBA8888 1958>0 byte 0x64 Vertex Data 1959 19600 string XPR0 Microsoft Xbox XPR0 texture 1961>0x19 byte x \b, format: 1962>>0x19 use xbox-xpr-pixel-format 1963