1 2#------------------------------------------------------------------------------ 3# $File: images,v 1.243 2023/07/17 16:49:09 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# Conflict with MPEG sequences. 31!:strength -40 32# Prevent conflicts with CRI ADX. 33#>(2.S-2) belong !0x28632943 34# above line does not work for rgb32_top_left_rle.tga 35# skip some MPEG sequence *.vob and some CRI ADX audio with improbable interleave bits 36>17 ubyte&0xC0 !0xC0 37# skip more garbage like *.iso by looking for positive image type 38>>2 ubyte >0 39# skip some compiled terminfo like xterm+tmux by looking for image type less equal 33 40>>>2 ubyte <34 41# skip some MPEG sequence *.vob HV001T01.EVO winnicki.mpg with unacceptable alpha channel depth 11 42>>>>17 ubyte&0x0F !11 43# skip arches.3200 , Finder.Root , Slp.1 by looking for low pixel depth 1 8 15 16 24 32 44>>>>>16 ubyte 1 45>>>>>>0 use tga-image 46>>>>>16 ubyte 8 47>>>>>>0 use tga-image 48>>>>>16 ubyte 15 49>>>>>>0 use tga-image 50>>>>>16 ubyte 16 51>>>>>>0 use tga-image 52>>>>>16 ubyte 24 53>>>>>>0 use tga-image 54>>>>>16 ubyte 32 55>>>>>>0 use tga-image 56# display tga bitmap image information 570 name tga-image 58>2 ubyte <34 Targa image data 59!:mime image/x-tga 60!:apple ????TPIC 61# normal extension .tga but some Truevision products used others: 62# tpic (Apple),icb (Image Capture Board),vda (Video Display Adapter),vst (NuVista),win (UNSURE about that) 63!:ext tga/tpic/icb/vda/vst 64# image type 1 2 3 9 10 11 32 33 65>2 ubyte&0xF7 1 - Map 66>2 ubyte&0xF7 2 - RGB 67# alpha channel 68>>17 ubyte&0x0F >0 \bA 69>2 ubyte&0xF7 3 - Mono 70# type not found, but by http://www.fileformat.info/format/tga/corion.htm 71# Compressed color-mapped data, using Huffman, Delta, and runlength encoding 72>2 ubyte 32 - Color 73# Compressed color-mapped data, using Huffman, Delta, and RLE. 4-pass quadtree- type process 74>2 ubyte 33 - Color 75# Color Map Type 0~no 1~color map 76>1 ubyte 1 ( 77# first color map entry, 0 normal 78>>3 uleshort >0 \b%d- 79# color map length 0 2 1dh 3bh d9h 100h 80>>5 uleshort x \b%d) 81# 8~run length encoding bit 82>2 ubyte&0x08 8 - RLE 83# gimp can create big pictures! 84>12 uleshort >0 %d x 85>12 uleshort =0 65536 x 86# image height. 0 interpreted as 65536 87>14 uleshort >0 %d 88>14 uleshort =0 65536 89# Image Pixel depth 1 8 15 16 24 32 90>16 ubyte x x %d 91# X origin of image. 0 normal 92>8 uleshort >0 +%d 93# Y origin of image. 0 normal; positive for top 94>10 uleshort >0 +%d 95# Image descriptor: bits 3-0 give the alpha channel depth, bits 5-4 give direction 96# alpha depth like: 1 8 97>17 ubyte&0x0F >0 - %d-bit alpha 98# bits 5-4 give direction. normal bottom left 99>17 ubyte &0x20 - top 100#>17 ubyte ^0x20 - bottom 101>17 ubyte &0x10 - right 102#>17 ubyte ^0x10 - left 103# some info say other bits 6-7 should be zero 104# but data storage interleave by http://www.fileformat.info/format/tga/corion.htm 105# 00 - no interleave;01 - even/odd interleave; 10 - four way interleave; 11 - reserved 106#>17 ubyte&0xC0 0x00 - no interleave 107>17 ubyte&0xC0 0x40 - interleave 108>17 ubyte&0xC0 0x80 - four way interleave 109>17 ubyte&0xC0 0xC0 - reserved 110# positive length implies identification field 111>0 ubyte >0 112>>18 string x "%s" 113# last 18 bytes of newer tga file footer signature 114>18 search/4261301/s TRUEVISION-XFILE.\0 115# extension area offset if not 0 116>>&-8 ulelong >0 117# length of the extension area. normal 495 for version 2.0 118>>>(&-4.l) uleshort 0x01EF 119# AuthorName[41] 120>>>>&0 string >\0 - author "%-.40s" 121# Comment[324]=4 * 80 null terminated 122>>>>&41 string >\0 - comment "%-.80s" 123# date 124>>>>&365 ubequad&0xffffFFFFffff0000 !0 125# Day 126>>>>>&-6 uleshort x %d 127# Month 128>>>>>&-8 uleshort x \b-%d 129# Year 130>>>>>&-4 uleshort x \b-%d 131# time 132>>>>&371 ubequad&0xffffFFFFffff0000 !0 133# hour 134>>>>>&-8 uleshort x %d 135# minutes 136>>>>>&-6 uleshort x \b:%.2d 137# second 138>>>>>&-4 uleshort x \b:%.2d 139# JobName[41] 140>>>>&377 string >\0 - job "%-.40s" 141# JobHour Jobminute Jobsecond 142>>>>&418 ubequad&0xffffFFFFffff0000 !0 143>>>>>&-8 uleshort x %d 144>>>>>&-6 uleshort x \b:%.2d 145>>>>>&-4 uleshort x \b:%.2d 146# SoftwareId[41] 147>>>>&424 string >\0 - %-.40s 148# SoftwareVersionNumber 149>>>>&424 ubyte >0 150>>>>>&40 uleshort/100 x %d 151>>>>>&40 uleshort%100 x \b.%d 152# VersionLetter 153>>>>>&42 ubyte >0x20 \b%c 154# KeyColor 155>>>>&468 ulelong >0 - keycolor %#8.8x 156# Denominator of Pixel ratio. 0~no pixel aspect 157>>>>&474 uleshort >0 158# Numerator 159>>>>>&-4 uleshort >0 - aspect %d 160>>>>>&-2 uleshort x \b/%d 161# Denominator of Gamma ratio. 0~no Gamma value 162>>>>&478 uleshort >0 163# Numerator 164>>>>>&-4 uleshort >0 - gamma %d 165>>>>>&-2 uleshort x \b/%d 166# ColorOffset 167#>>>>&480 ulelong x - col offset %#8.8x 168# StampOffset 169#>>>>&484 ulelong x - stamp offset %#8.8x 170# ScanOffset 171#>>>>&488 ulelong x - scan offset %#8.8x 172# AttributesType 173#>>>>&492 ubyte x - Attributes %#x 174## EndOfTGA 175 176# PBMPLUS images 177# URL: https://en.wikipedia.org/wiki/Netpbm 178# The next byte following the magic is always whitespace. 179# adding 65 to strength so that Netpbm images comes before "x86 boot sector" or 180# "DOS/MBR boot sector" identified by ./filesystems 1810 name netpbm 182>3 regex/s =\^[0-9]{1,50}[\040\t\f\r\n]+[0-9]{1,50} Netpbm image data 183>>&0 regex =[0-9]{1,50} \b, size = %s x 184>>>&0 regex =[0-9]{1,50} \b %s 185 1860 search/1 P1 187# test for whitespace after 2 byte magic 188>2 regex/2 [\040\t\f\r\n] 189# skip DROID x-fmt-164-signature-id-583.pbm with ten 0 digits 190>>3 string !000000000 191>>>0 use netpbm 192>>>0 string x \b, bitmap 193!:strength + 65 194!:mime image/x-portable-bitmap 195!:ext pbm 196# check for character # starting a comment line 197>>>3 ubyte =0x23 198>>>>4 string x %s 199 2000 search/1 P2 201>0 regex/4 P2[\040\t\f\r\n] 202>>0 use netpbm 203>>0 string x \b, greymap 204!:strength + 65 205# american spelling gray 206!:mime image/x-portable-graymap 207!:ext pgm 208 2090 search/1 P3 210>0 regex/4 P3[\040\t\f\r\n] 211>>0 use netpbm 212>>0 string x \b, pixmap 213!:strength + 65 214!:mime image/x-portable-pixmap 215!:ext ppm 216 2170 string P4 218>0 regex/4 P4[\040\t\f\r\n] 219>>0 use netpbm 220>>0 string x \b, rawbits, bitmap 221!:strength + 65 222!:mime image/x-portable-bitmap 223!:ext pbm 224 2250 string P5 226>0 regex/4 P5[\040\t\f\r\n] 227>>0 use netpbm 228>>0 string x \b, rawbits, greymap 229!:strength + 65 230!:mime image/x-portable-greymap 231!:ext pgm 232 2330 string P6 234>0 regex/4 P6[\040\t\f\r\n] 235>>0 use netpbm 236>>0 string x \b, rawbits, pixmap 237!:strength + 65 238!:mime image/x-portable-pixmap 239!:ext ppm/pnm 240 241# URL: https://en.wikipedia.org/wiki/Netpbm#PAM_graphics_format 242# Reference: http://fileformats.archiveteam.org/wiki/Portable_Arbitrary_Map 243# Update: Joerg Jenderek 2440 string P7 245# skip DROID fmt-405-signature-id-589.pam by looking for character like New Line 246>2 ubyte !0xAB 247#>2 ubyte =0x0A 248>>3 search/256/b WIDTH Netpbm PAM image file, size = 249!:mime image/x-portable-arbitrarymap 250!:ext pam 251!:strength + 65 252>>>&1 string x %s 253>>>3 search/256/b HEIGHT x 254>>>>&1 string x %s 255# at offset 2 a New Line character (0xA) should appear 256>>>2 ubyte !0x0A \b, %#x at offset 2 instead new line 257 258# From: bryanh@giraffe-data.com (Bryan Henderson) 2590 string \117\072 Solitaire Image Recorder format 260>4 string \013 MGI Type 11 261>4 string \021 MGI Type 17 2620 string .MDA MicroDesign data 263>21 ubyte 48 version 2 264>21 ubyte 51 version 3 2650 string .MDP MicroDesign page data 266>21 ubyte 48 version 2 267>21 ubyte 51 version 3 268 269# NIFF (Navy Interchange File Format, a modification of TIFF) images 270# [GRR: this *must* go before TIFF] 2710 string IIN1 NIFF image data 272!:mime image/x-niff 273 274# Canon RAW version 1 (CRW) files are a type of Canon Image File Format 275# (CIFF) file. These are apparently all little-endian. 276# From: Adam Buchbinder <adam.buchbinder@gmail.com> 277# URL: https://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html 2780 string II\x1a\0\0\0HEAPCCDR Canon CIFF raw image data 279!:mime image/x-canon-crw 280>16 uleshort x \b, version %d. 281>14 uleshort x \b%d 282 283# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic 284# number. Put this above the TIFF test to make sure we detect them. 285# These are apparently all little-endian. 286# From: Adam Buchbinder <adam.buchbinder@gmail.com> 287# URL: https://libopenraw.freedesktop.org/wiki/Canon_CR2 2880 string II\x2a\0\x10\0\0\0CR Canon CR2 raw image data 289!:mime image/x-canon-cr2 290!:strength +80 291>10 ubyte x \b, version %d. 292>11 ubyte x \b%d 293 294# Fujifilm RAF RAW image files with embedded JPEG data and compressed 295# or uncompressed CFA RAW data. Byte order: Big Endian. 296# URL: https://libopenraw.freedesktop.org/formats/raf/ 297# Useful info from http://fileformats.archiveteam.org/wiki/Fujifilm_RAF. 298# File extension: RAF 299# Works for both the FinePix S2 Pro and the X-T3. Anybody have some more Fuji 300# raw samples available? 301# -- David Dyer-Bennet <dd-b@dd-b.net> 9-Sep-2021 3020 string FUJIFILMCCD-RAW Fujifilm RAF raw image data 303!:mime image/x-fuji-raf 304!:ext raf 305>0x10 string x \b, format version %4.4s 306>0x1C string x \b, camera %s 307 308# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com) 309# The second word of TIFF files is the TIFF version number, 42, which has 310# never changed. The TIFF specification recommends testing for it. 3110 string MM\x00\x2a TIFF image data, big-endian 312!:strength +70 313!:mime image/tiff 314!:ext tif/tiff 315>(4.L) use \^tiff_ifd 3160 string II\x2a\x00 TIFF image data, little-endian 317!:mime image/tiff 318!:strength +70 319!:ext tif/tiff 320>(4.l) use tiff_ifd 321 3220 name tiff_ifd 323>0 uleshort x \b, direntries=%d 324>2 use tiff_entry 325 3260 name tiff_entry 327# NewSubFileType 328>0 uleshort 0xfe 329>>12 use tiff_entry 330>0 uleshort 0x100 331>>4 ulelong 1 332>>>12 use tiff_entry 333>>>8 uleshort x \b, width=%d 334>0 uleshort 0x101 335>>4 ulelong 1 336>>>8 uleshort x \b, height=%d 337>>>12 use tiff_entry 338>0 uleshort 0x102 339>>8 uleshort x \b, bps=%d 340>>12 use tiff_entry 341>0 uleshort 0x103 342>>4 ulelong 1 \b, compression= 343>>>8 uleshort 1 \bnone 344>>>8 uleshort 2 \bhuffman 345>>>8 uleshort 3 \bbi-level group 3 346>>>8 uleshort 4 \bbi-level group 4 347>>>8 uleshort 5 \bLZW 348>>>8 uleshort 6 \bJPEG (old) 349>>>8 uleshort 7 \bJPEG 350>>>8 uleshort 8 \bdeflate 351>>>8 uleshort 9 \bJBIG, ITU-T T.85 352>>>8 uleshort 0xa \bJBIG, ITU-T T.43 353>>>8 uleshort 0x7ffe \bNeXT RLE 2-bit 354>>>8 uleshort 0x8005 \bPackBits (Macintosh RLE) 355>>>8 uleshort 0x8029 \bThunderscan RLE 356>>>8 uleshort 0x807f \bRasterPadding (CT or MP) 357>>>8 uleshort 0x8080 \bRLE (Line Work) 358>>>8 uleshort 0x8081 \bRLE (High-Res Cont-Tone) 359>>>8 uleshort 0x8082 \bRLE (Binary Line Work) 360>>>8 uleshort 0x80b2 \bDeflate (PKZIP) 361>>>8 uleshort 0x80b3 \bKodak DCS 362>>>8 uleshort 0x8765 \bJBIG 363>>>8 uleshort 0x8798 \bJPEG2000 364>>>8 uleshort 0x8799 \bNikon NEF Compressed 365>>>8 default x 366>>>>8 uleshort x \b(unknown %#x) 367>>>12 use tiff_entry 368>0 uleshort 0x106 \b, PhotometricInterpretation= 369>>8 clear x 370>>8 uleshort 0 \bWhiteIsZero 371>>8 uleshort 1 \bBlackIsZero 372>>8 uleshort 2 \bRGB 373>>8 uleshort 3 \bRGB Palette 374>>8 uleshort 4 \bTransparency Mask 375>>8 uleshort 5 \bCMYK 376>>8 uleshort 6 \bYCbCr 377>>8 uleshort 8 \bCIELab 378>>8 default x 379>>>8 uleshort x \b(unknown=%#x) 380>>12 use tiff_entry 381# FillOrder 382>0 uleshort 0x10a 383>>4 ulelong 1 384>>>12 use tiff_entry 385# DocumentName 386>0 uleshort 0x10d 387>>(8.l) string x \b, name=%s 388>>>12 use tiff_entry 389# ImageDescription 390>0 uleshort 0x10e 391>>(8.l) string x \b, description=%s 392>>>12 use tiff_entry 393# Make 394>0 uleshort 0x10f 395>>(8.l) string x \b, manufacturer=%s 396>>>12 use tiff_entry 397# Model 398>0 uleshort 0x110 399>>(8.l) string x \b, model=%s 400>>>12 use tiff_entry 401# StripOffsets 402>0 uleshort 0x111 403>>12 use tiff_entry 404# Orientation 405>0 uleshort 0x112 \b, orientation= 406>>8 uleshort 1 \bupper-left 407>>8 uleshort 3 \blower-right 408>>8 uleshort 6 \bupper-right 409>>8 uleshort 8 \blower-left 410>>8 uleshort 9 \bundefined 411>>8 default x 412>>>8 uleshort x \b[*%d*] 413>>12 use tiff_entry 414# XResolution 415>0 uleshort 0x11a 416>>8 ulelong x \b, xresolution=%d 417>>12 use tiff_entry 418# YResolution 419>0 uleshort 0x11b 420>>8 ulelong x \b, yresolution=%d 421>>12 use tiff_entry 422# ResolutionUnit 423>0 uleshort 0x128 424>>8 uleshort x \b, resolutionunit=%d 425>>12 use tiff_entry 426# Software 427>0 uleshort 0x131 428>>(8.l) string x \b, software=%s 429>>12 use tiff_entry 430# Datetime 431>0 uleshort 0x132 432>>(8.l) string x \b, datetime=%s 433>>12 use tiff_entry 434# HostComputer 435>0 uleshort 0x13c 436>>(8.l) string x \b, hostcomputer=%s 437>>12 use tiff_entry 438# WhitePoint 439>0 uleshort 0x13e 440>>12 use tiff_entry 441# PrimaryChromaticities 442>0 uleshort 0x13f 443>>12 use tiff_entry 444# YCbCrCoefficients 445>0 uleshort 0x211 446>>12 use tiff_entry 447# YCbCrPositioning 448>0 uleshort 0x213 449>>12 use tiff_entry 450# ReferenceBlackWhite 451>0 uleshort 0x214 452>>12 use tiff_entry 453# Copyright 454>0 uleshort 0x8298 455>>(8.l) string x \b, copyright=%s 456>>12 use tiff_entry 457# ExifOffset 458>0 uleshort 0x8769 459>>12 use tiff_entry 460# GPS IFD 461>0 uleshort 0x8825 \b, GPS-Data 462>>12 use tiff_entry 463 464#>0 uleshort x \b, unknown=%#x 465#>>12 use tiff_entry 466 4670 string MM\x00\x2b Big TIFF image data, big-endian 468!:mime image/tiff 4690 string II\x2b\x00 Big TIFF image data, little-endian 470!:mime image/tiff 471 472# PNG [Portable Network Graphics, or "PNG's Not GIF"] images 473# (Greg Roelofs, newt@uchicago.edu) 474# (Albert Cahalan, acahalan@cs.uml.edu) 475# 476# 137 P N G \r \n ^Z \n [4-byte length] I H D R [HEAD data] [HEAD crc] ... 477# 478 479# IHDR parser 4800 name png-ihdr 481>0 ubelong x \b, %d x 482>4 ubelong x %d, 483>8 ubyte x %d-bit 484>9 ubyte 0 grayscale, 485>9 ubyte 2 \b/color RGB, 486>9 ubyte 3 colormap, 487>9 ubyte 4 gray+alpha, 488>9 ubyte 6 \b/color RGBA, 489#>10 ubyte 0 deflate/32K, 490>12 ubyte 0 non-interlaced 491>12 ubyte 1 interlaced 492 493# Standard PNG image. 4940 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0DIHDR PNG image data 495!:mime image/png 496!:ext png 497!:strength +10 498>16 use png-ihdr 499 500# Apple CgBI PNG image. 5010 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x04CgBI 502>24 string \x00\x00\x00\x0DIHDR PNG image data (CgBI) 503!:mime image/png 504!:ext png 505!:strength +10 506>>32 use png-ihdr 507 508# possible GIF replacements; none yet released! 509# (Greg Roelofs, newt@uchicago.edu) 510# 511# GRR 950115: this was mine ("Zip GIF"): 5120 string GIF94z ZIF image (GIF+deflate alpha) 513!:mime image/x-unknown 514# 515# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): 516# 5170 string FGF95a FGF image (GIF+deflate beta) 518!:mime image/x-unknown 519# 520# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal 521# (best; not yet implemented): 522# 5230 string PBF PBF image (deflate compression) 524!:mime image/x-unknown 525 526# GIF 527# Strength set up to beat 0x55AA DOS/MBR signature word lookups (+65) 5280 string GIF8 GIF image data 529!:strength +80 530!:mime image/gif 531!:apple 8BIMGIFf 532!:ext gif 533>4 string 7a \b, version 8%s, 534>4 string 9a \b, version 8%s, 535>6 uleshort >0 %d x 536>8 uleshort >0 %d 537#>10 ubyte &0x80 color mapped, 538#>10 ubyte&0x07 =0x00 2 colors 539#>10 ubyte&0x07 =0x01 4 colors 540#>10 ubyte&0x07 =0x02 8 colors 541#>10 ubyte&0x07 =0x03 16 colors 542#>10 ubyte&0x07 =0x04 32 colors 543#>10 ubyte&0x07 =0x05 64 colors 544#>10 ubyte&0x07 =0x06 128 colors 545#>10 ubyte&0x07 =0x07 256 colors 546 547# ITC (CMU WM) raster files. It is essentially a byte-reversed Sun raster, 548# 1 plane, no encoding. 5490 string \361\0\100\273 CMU window manager raster image data 550>4 ulelong >0 %d x 551>8 ulelong >0 %d, 552>12 ulelong >0 %d-bit 553 554# Magick Image File Format 555# URL: https://imagemagick.org/script/miff.php 556# Reference: http://fileformats.archiveteam.org/wiki/MIFF 557# Update: Joerg Jenderek 558# http://www.nationalarchives.gov.uk/pronom/fmt/930 5590 search/256/bc id=imagemagick 560# skip bad ASCII text by following new line~0x0A or space~0x20 character 561#>&0 ubyte x \b, next character %#x 562# called by TriD ImageMagick Machine independent File Format bitmap 563>&0 ubyte&0xD5 0 MIFF image data 564# https://reposcope.com/mimetype/image/miff 565#!:mime image/miff 566!:mime image/x-miff 567!:ext miff/mif 568# examples with standard file(1) magic 569#>>0 string =id=ImageMagick with standard magic 570# examples with unusual file(1) magic like 571>>0 string !id=ImageMagick starting with 572# start with comment (brace) like http://samples.fileformat.info/.../AQUARIUM.MIF 573>>>0 ubyte =0x7b comment 574# skip second character which is often a newline and show comment 575>>>>2 string x "%s" 576# does not start with comment, probably letters with other case like Id=ImageMagick 577# ImageMagick-7.0.9-2/Magick++/demo/smile_anim.miff 578>>>0 ubyte !0x7b 579>>>>0 string >\0 '%-.14s' 580# URL: https://imagemagick.org/ 581# Reference: https://imagemagick.org/script/magick-vector-graphics.php 582# From: Joerg Jenderek 583# Note: all white-spaces between commands are ignored 5840 string push 585# skip some white spaces 586>5 search/3 graphic-context ImageMagick Vector Graphic 587# TODO: look for dangerous commands like CVE-2016-3715 588#!:mime text/plain 589!:mime image/x-mvg 590!:ext mvg 591 592# Artisan 5930 long 1123028772 Artisan image data 594>4 long 1 \b, rectangular 24-bit 595>4 long 2 \b, rectangular 8-bit with colormap 596>4 long 3 \b, rectangular 32-bit (24-bit with matte) 597 598# FIG (Facility for Interactive Generation of figures), an object-based format 599# URL: http://fileformats.archiveteam.org/wiki/Fig 600# https://en.wikipedia.org/wiki/Xfig 601# Reference: http://mark0.net/download/triddefs_xml.7z/defs/f/fig.trid.xml 602# https://web.archive.org/web/20070920204655/http://epb.lbl.gov/xfig/fig-format.html 603# Update: Joerg Jenderek 604# Note: called "FIG vector drawing" by TrID, 605# 4 byte magic is assumed to be always at offset 0 and 606# verified by `fig2mpdf -v bootloader.fig && file bootloader.pdf` 607#0 search/1/tb #FIG FIG image text 608# GRR: with --keep-going option the line above gives duplicate messages 6090 search/1/ts #FIG 610>&0 use image-xfig 611# binary data variant with non ASCII text characters like Control-A or �C in thermostat.fig 6120 search/1/bs #FIG 613>&0 use image-xfig 614# display XFIG image describing text, mime type, file name extension and version 6150 name image-xfig 616>8 ubyte x FIG image text 617#!:mime text/plain 618# https://reposcope.com/mimetype/image/x-xfig 619!:mime image/x-xfig 620!:ext fig 621# version string like: 1.4 2.1 3.1 3.2 622>5 string x \b, version %.3s 623# some times after version text like: "Produced by xfig version 3.2.5-alpha5" 624>8 ubyte >0x0D 625>>8 string x "%s" 626# should be point character (2Eh) of version string according to TrID 627#>6 ubyte !0x2E \b, at 6 %#x 628# caret character (23h) at the beginning in most or probably all examples 629#>0 ubyte !0x23 \b, starting with character %#x 630# URL: http://fileformats.archiveteam.org/wiki/DeskMate_Draw 631# http://en.wikipedia.org/wiki/Deskmate 632# Reference: http://mark0.net/download/triddefs_xml.7z/defs/d/dm-fig.trid.xml 633# From: Joerg Jenderek 634# Note: called "DeskMate Draw drawing" by TrID 6350 string \x14FIG DeskMate Drawing 636#!:mime application/octet-stream 637!:mime image/x-deskmate-fig 638!:ext fig 639# TODO: 640# "Cabri 3D Figure" by TrID fig-cabri.trid.xml 641# "Playmation Figure" by TrID fig-playmation.trid.xml 642 643# PHIGS 6440 string ARF_BEGARF PHIGS clear text archive 6450 string @(#)SunPHIGS SunPHIGS 646# version number follows, in the form m.n 647>40 string SunBin binary 648>32 string archive archive 649 650# GKS (Graphics Kernel System) 6510 string GKSM GKS Metafile 652>24 string SunGKS \b, SunGKS 653 654# CGM image files 655# Update: Joerg Jenderek 656# URL: http://fileformats.archiveteam.org/wiki/CGM 657# https://en.wikipedia.org/wiki/Computer_Graphics_Metafile 658# Reference: http://mark0.net/download/triddefs_xml.7z/defs/c/cgm-ct.trid.xml 659# http://standards.iso.org/ittf/PubliclyAvailableStandards/c032381_ISO_IEC_8632-4_1999(E).zip 660# Note: called "Computer Graphics Metafile (Clear Text)" by TrID and 661# "Computer Graphics Metafile ASCII" by DROID or CGM by XnView 662# verified by LibreOffice and partly by XnView `nconvert -info *.CGM` 663# According to TrID only letter B and M are always upcased and by DROID often only B is upcased for command BEGIN METAFILE 6640 string/c begmf 665# skip SOME DROID fmt-301-signature-id-359.cgm fmt-301-signature-id-361.cgm fmt-302-signature-id-364.cgm 666# fmt-302-signature-id-365.cgm x-fmt-142-signature-id-350.cgm x-fmt-142-signature-id-351.cgm 667>5 short !0 668# skip other versions of DROID fmt-301-signature-id-359.cgm fmt-301-signature-id-361.cgm fmt-302-signature-id-364.cgm 669# fmt-302-signature-id-365.cgm x-fmt-142-signature-id-350.cgm x-fmt-142-signature-id-351.cgm 670>>5 short !0xABab clear text Computer Graphics Metafile 671# https://reposcope.com/mimetype/image/cgm 672!:mime image/cgm 673!:ext cgm 674# SF:NAME like: 'metafile example'; 675>>>5 string x %s 676# look for command METAFILE VERSION (MFVERSION <SOFTSEP> <I:VERSION>) 677>>>2 search/128/c mfversion 678#>>>>&0 ubyte x SOFTSEP=%#x 679# version like: 1 3 4 680>>>>&1 ubyte >0x31 \b, version %c 681# Summary: Computer Graphics Metafile (binary) 682# Reference: http://mark0.net/download/triddefs_xml.7z/defs/c/cgm-bin.trid.xml 683# https://standards.iso.org/ittf/PubliclyAvailableStandards/c032380_ISO_IEC_8632-3_1999(E).zip 684# Note: called "Computer Graphics Metafile (binary)" by TrID and DROID or CGM by XnView 685# verified by LibreOffice and partly by XnView `nconvert -info *.CGM` 686# look for BEGIN METAFILE (element Class 0 and ID 1 and "random" Parameter) that is binary C C C C 0 0 0 0 0 0 1 P P P P P 6870 ubeshort&0xFFe0 0x0020 688# skip SOME DROID fmt-303-signature-id-368.cgm fmt-304-signature-id-369.cgm fmt-305-signature-id-370.cgm fmt-306-signature-id-371.cgm 689# with containing only 28 bytes 690>28 ubyte x 691# look for METAFILE VERSION (element class 1 and id 1 and parameter P1 with length 2) that is binary 0 0 0 1 i i i i i i 1 P P P 1 P 692# with "low" version; 2nd worst case argentin.cgm with parameter length 56 693# worst MS.CGM 694#>>2 search/73/b \x10\x22\0 binary Computer Graphics Metafile 695>>2 search/128/b \x10\x22\0 binary Computer Graphics Metafile 696!:mime image/cgm 697!:ext cgm 698# metafile 2 byte version number like: 1 (most) 2 3 4 699>>>&-1 ubeshort >1 \b, version %u 700# length number of 1st parameter octets in range 0 to 30 implies short command 701>>>0 ubeshort&0x001F <31 \b, parameter length %u 702# length of string like: 8 9 10 11 12 29 703#>>>>2 ubyte x \b, %u BYTES (SHORT) 704# string like: 'HiJaak 2' 'Example 1' 'sahara.cgm' 'MASTERCLIPS--Art Of Business ' 705>>>>2 pstring >\0 '%s' 706# after 1st short command with even parameter length comes 2nd command like: 1022h 0010h (EAF00010.CGM 'HiJaak 2' FLOPPY2.CGM TIGER.CGM 'B:\TIGER.CGM') 707>>>>0 ubeshort&0x0001 =0 708>>>>>(2.b+3) ubeshort !0x1022 \b, 2nd command %#4.4x (short even) 709# after 1st short command with odd parameter length comes nil padding byte followed 2nd command like: 1022h 710>>>>0 ubeshort&0x0001 =1 711#>>>>>(2.b+3) ubyte !0 \b, PADDING %#x 712>>>>>(2.b+4) ubeshort !0x1022 \b, 2nd command %#4.4x (short odd) 713# 11111 binary (decimal 31) in the parameter field indicates that the command is in long-form 714>>>0 ubeshort&0x001F =0x1F 715# bit 15 is partition flag with 1 for 'not-last' partition and 0 for 'last' partition 716>>>>2 ubeshort&0x8000 !0 \b, partition flag %#4.4x 717# bits 0 to 14 is parameter list length; the number of following parameter octets; range 0 to 32767 718# length of 1st long command parameter like: 53 719>>>>2 ubeshort&0x7Fff x \b, parameter length %u (long) 720# The two header words are then followed by lenghth of 1st string like: 52 721#>>>>4 ubyte x \b, %u BYTES 722# string like: 'K:\PROJECTS\GRAPHICS\DWKS3.5\CLIPART\FLAGS\Italy.cgm' 723>>>>4 pstring/B x '%s' 724# odd long parameter length implies single null padding octet to start command on word boundary 725>>>>2 ubeshort&0x0001 =1 726# after 1st long command with odd parameter length comes nil padding byte followed by 2nd command like: 1022h 727#>>>>>(4.b+5) ubyte !0 \b, PADDING %#x 728>>>>>(4.b+6) ubeshort !0x1022 \b, 2nd command %#4.4x (long odd) 729# even long parameter length implies next command directly is following 730>>>>2 ubeshort&0x0001 =0 731# after 1st long command with even parameter length comes 2nd command like: 1022h 0x1054 (MS.CGM) 732>>>>>(4.b+5) ubeshort !0x1022 \b, 2nd command %#4.4x (long even) 733# look for END METAFILE (element class 0 and id 2 and 0 parameter) that is binary 0 0 0 0 i i i i i 1 i P P P P P 734>>>-2 ubeshort !0x0040 \b, NOT_FOUND_END_METAFILE 735 736# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 7370 string yz MGR bitmap, modern format, 8-bit aligned 7380 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 7390 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 7400 string yx MGR bitmap, modern format, squeezed 741 742# Fuzzy Bitmap (FBM) images 7430 string %bitmap\0 FBM image data 744>30 long 0x31 \b, mono 745>30 long 0x33 \b, color 746 747# facsimile data 7481 string PC\ Research,\ Inc group 3 fax data 749>29 ubyte 0 \b, normal resolution (204x98 DPI) 750>29 ubyte 1 \b, fine resolution (204x196 DPI) 751# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> 7520 string Sfff structured fax file 753 754# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> 755# URL: http://fileformats.archiveteam.org/wiki/Award_BIOS_logo 756# Note: verified by XnView command `nconvert -fullinfo *.EPA` 7570 string \x11\x06 Award BIOS Logo, 136 x 84 758!:mime image/x-award-bioslogo 759!:ext epa 7600 string \x11\x09 Award BIOS Logo, 136 x 126 761!:mime image/x-award-bioslogo 762!:ext epa 763# https://telparia.com/fileFormatSamples/image/epa/IO.EPA 764# Note: by bitmap-awbm-v1x1009.trid.xml called "Award BIOS logo bitmap (128x126) (v1)" 765# verified by RECOIL `recoil2png -o tmp.png IO.EPA; file tmp.png` 7660 string \x10\x09 Award BIOS Logo, 128 x 126 767!:mime image/x-award-bioslogo 768!:ext epa 769#0 string \x07\x1f BIOS Logo corrupted? 770# http://www.blackfiveservices.co.uk/awbmtools.shtml 771# http://biosgfx.narod.ru/v3/ 772# http://biosgfx.narod.ru/abr-2/ 7730 string AWBM 774# Note: by bitmap-awbm.trid.xml called "Award BIOS logo bitmap (v2)" 775>4 uleshort <1981 Award BIOS Logo, version 2 776#>4 uleshort <1981 Award BIOS bitmap 777!:mime image/x-award-bioslogo2 778#!:mime image/x-award-bmp 779!:ext epa/bmp 780# image width is a multiple of 4 781>>4 uleshort&0x0003 0 782>>>4 uleshort x \b, %d 783>>>6 uleshort x x %d 784>>4 uleshort&0x0003 >0 \b, 785>>>4 uleshort&0x0003 =1 786>>>>4 uleshort x %d+3 787>>>4 uleshort&0x0003 =2 788>>>>4 uleshort x %d+2 789>>>4 uleshort&0x0003 =3 790>>>>4 uleshort x %d+1 791>>>6 uleshort x x %d 792# at offset 8 starts imagedata followed by "RGB " marker 793 794# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) 795# https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ 796# 28bitmap_information_header.29 797# Note: variant starting direct with DIB header see 798# http://fileformats.archiveteam.org/wiki/BMP 799# verified by ImageMagick version 6.8.9-8 command `identify *.dib` 8000 uleshort 40 801# skip bad samples like GAME by looking for valid number of color planes 802>12 uleshort 1 Device independent bitmap graphic 803!:mime image/x-ms-bmp 804!:apple ????BMPp 805!:ext dib 806>>4 ulelong x \b, %d x 807>>8 ulelong x %d x 808>>14 uleshort x %d 809# number of color planes (must be 1) 810#>>12 uleshort >1 \b, %u color planes 811# compression method: 0~no 1~RLE 8-bit/pixel 3~Huffman 1D 812#>>16 ulelong 3 \b, Huffman 1D compression 813>>16 ulelong >0 \b, %u compression 814# image size is the size of raw bitmap; a dummy 0 can be given for BI_RGB bitmaps 815>>20 ulelong x \b, image size %u 816# horizontal and vertical resolution of the image (pixel per metre, signed integer) 817>>24 ulelong >0 \b, resolution %d x 818>>>28 ulelong x %d px/m 819# number of colors in palette, or 0 to default to 2**n 820#>>32 ulelong >0 \b, %u colors 821# number of important colors used, or 0 when every color is important 822>>36 ulelong >0 \b, %u important colors 823# From: Joerg Jenderek 824# URL: http://fileformats.archiveteam.org/wiki/VBM_(VDC_BitMap) 825# Reference: http://csbruce.com/cbm/postings/csc19950906-1.txt 826# http://mark0.net/download/triddefs_xml.7z 827# defs/b/bitmap-vbm.trid.xml 828# defs/b/bitmap-vbm-v3.trid.xml 829# Note: called "VDC BitMap" by TrID 830# verified by RECOIL `recoil2png -o tmp.png coke_can.vbm; file tmp.png` 831# begin with a signature of 'B' 'M' 0xCB, followed by a version byte 2 or 3 832# Similar to the unrelated Windows BMP format 833# check for VDC bitmap and then display image dimension and version 8340 name bitmap-vbm 835>2 ubyte 0xCB VDC bitmap 836!:mime image/x-commodore-vbm 837# http://recoil.sourceforge.net/formats.html 838!:ext bm/vbm 839# the VBM format version number: 2 or 3 840>>3 ubyte x \b, version %u 841# width of the image in Hi/Lo format 842>>4 ubeshort x \b, %u 843# height of the image 844>>6 ubeshort x x %u 845# version 3 images have the following additional header information 846>>3 ubyte =3 847# data-encoding type: 0~uncompressed 1~RLE-compressed 848>>>8 ubyte 0 \b, uncompressed 849>>>8 ubyte 1 \b, RLE-compressed 850# byte code for general RLE repetitions 851#>>>9 ubyte x \b, RLE repetition code 0x%x 852# reserved := 0 853#>>>14 short >0 \b, reserved 0x%x 854# length of comment text; 0~no comment text 855#>>>16 ubeshort >0 \b, comment length %u 856>>>16 pstring/H >0 \b, comment "%s" 857# 8580 string BM 859# check for magic and version 2 of VDC bitmap or BMP with cbSize=715=CB02 860>2 ubeshort 0xCB02 861>>6 short =0 862>>>0 use bitmap-bmp 863# VDC bitmap height or maybe a few OS/2 BMP with nonzero "hotspot coordinates" 864>>6 short !0 865>>>0 use bitmap-vbm 866# check for magic and version 3 of VDC bitmap or BMP with cbSize=971=CB03 867>2 ubeshort 0xCB03 868# check for reserved value (=0) of VDC bitmap 869>>14 short =0 870>>>0 use bitmap-vbm 871# BMP with cbSize=????03CBh and dib header size != 0 872>>14 short !0 873>>>0 use bitmap-bmp 874# cbSize is size of header or file size of Windows BMP bitmap 875>2 default x 876>>0 use bitmap-bmp 8770 name bitmap-bmp 878>14 ulelong 12 PC bitmap, OS/2 1.x format 879!:mime image/bmp 880!:ext bmp 881>>18 uleshort x \b, %d x 882>>20 uleshort x %d 883# number of color planes (must be 1) 884#>>22 uleshort !1 \b, %u color planes 885# number of bits per pixel (color depth); found 4 8 886>>24 uleshort x x %d 887# x, y coordinates of the hotspot 888>>6 uleshort >0 \b, hotspot %ux 889>>>8 uleshort x \b%u 890# cbSize; size of file or header like 1Ah 228C8h 891>>2 ulelong x \b, cbSize %u 892#>>2 ulelong x \b, cbSize 0x%8.8x 893# offBits; offset to bitmap data like: 894>>10 ulelong x \b, bits offset %u 895# http://fileformats.archiveteam.org/wiki/BMP#OS.2F2_BMP_2.0 no examples found 896>14 ulelong 48 PC bitmap, OS/2 2.x format (DIB header size=48) 897>14 ulelong 24 PC bitmap, OS/2 2.x format (DIB header size=24) 898# http://entropymine.com/jason/bmpsuite/bmpsuite/q/pal8os2v2-16.bmp 899# Note: by bitmap-bmp-v2o.trid.xml called "Windows Bitmap (v2o)" 900>14 ulelong 16 PC bitmap, OS/2 2.x format (DIB header size=16) 901!:mime image/bmp 902!:apple ????BMPp 903!:ext bmp 904# image width and height fields are unsigned integers for OS/2 905>>18 ulelong x \b, %u x 906>>22 ulelong x %u 907# number of bits per pixel (color depth); found 8 908>>28 uleshort >1 x %u 909# x, y coordinates of the hotspot 910>>6 uleshort >0 \b, hotspot %ux 911>>>8 uleshort x \b%u 912# number of color planes (must be 1) 913#>>26 uleshort >1 \b, %u color planes 914# cbSize; size of file like: 241E 915>>2 ulelong x \b, cbSize %u 916#>>2 ulelong x \b, cbSize 0x%x 917# offBits; offset to bitmap data like: 41E 918>>10 ulelong x \b, bits offset %u 919#>>10 ulelong x \b, bits offset 0x%x 920>14 ulelong 64 PC bitmap, OS/2 2.x format 921!:mime image/bmp 922!:apple ????BMPp 923!:ext bmp 924# image width and height fields are unsigned integers for OS/2 925>>18 ulelong x \b, %u x 926>>22 ulelong x %u 927# number of bits per pixel (color depth); found 1 4 8 928>>28 uleshort >1 x %u 929# x, y coordinates of the hotspot 930>>6 uleshort >0 \b, hotspot %ux 931>>>8 uleshort x \b%u 932>>26 uleshort >1 \b, %u color planes 933# cbSize; size of file or headers 934>>2 ulelong x \b, cbSize %u 935# BMP with cbSize 000002CBh=715 or 000003CBh=971 maybe misinterpreted as VDC bitmap 936#>>2 ulelong x \b, cbSize %#x 937# offBits; offset to bitmap data like 56h 5Eh 8Eh 43Eh 938>>10 ulelong x \b, bits offset %u 939#>>10 ulelong x \b, bits offset %#x 940#>>(10.l) ubequad !0 \b, bits %#16.16llx 941# BITMAPV2INFOHEADER adds RGB bit masks 942>14 ulelong 52 PC bitmap, Adobe Photoshop 943!:mime image/bmp 944!:apple ????BMPp 945!:ext bmp 946>>18 ulelong x \b, %d x 947>>22 ulelong x %d x 948# number of bits per pixel (color depth); found 16 32 949>>28 uleshort x %d 950# x, y coordinates of the hotspot; should be zero for Windows variant 951>>6 uleshort >0 \b, hotspot %ux 952>>>8 uleshort x \b%u 953# cbSize; size of file like: 14A 7F42 954>>2 ulelong x \b, cbSize %u 955#>>2 ulelong x \b, cbSize 0x%x 956# offBits; offset to bitmap data like: 42h 957>>10 ulelong x \b, bits offset %u 958#>>10 ulelong x \b, bits offset 0x%x 959# BITMAPV3INFOHEADER adds alpha channel bit mask 960>14 ulelong 56 PC bitmap, Adobe Photoshop with alpha channel mask 961!:mime image/bmp 962!:apple ????BMPp 963!:ext bmp 964>>18 ulelong x \b, %d x 965>>22 ulelong x %d x 966# number of bits per pixel (color depth); found 16 32 967>>28 uleshort x %d 968# x, y coordinates of the hotspot; should be zero for Windows variant 969>>6 uleshort >0 \b, hotspot %ux 970>>>8 uleshort x \b%u 971# cbSize; size of file like: 4E 7F46 131DE 14046h 972>>2 ulelong x \b, cbSize %u 973#>>2 ulelong x \b, cbSize 0x%x 974# offBits; offset to bitmap data like: 46h 975>>10 ulelong x \b, bits offset %u 976#>>10 ulelong x \b, bits offset 0x%x 977>14 ulelong 40 978# jump 4 bytes before end of file/header to skip fmt-116-signature-id-118.dib 979# broken for large bitmaps 980#>>(2.l-4) ulong x PC bitmap, Windows 3.x format 981>>14 ulelong 40 PC bitmap, Windows 3.x format 982!:mime image/bmp 983!:apple ????BMPp 984>>>18 ulelong x \b, %d x 985>>>22 ulelong x %d 986# 320 x 400 https://en.wikipedia.org/wiki/LOGO.SYS 987>>>18 ulequad =0x0000019000000140 x 988!:ext bmp/sys 989>>>18 ulequad !0x0000019000000140 990# compression method 2~RLE 4-bit/pixel implies also extension rle 991>>>>30 ulelong 2 x 992!:ext bmp/rle 993# not RLE compressed and not 320x400 dimension 994>>>>30 default x 995# "small" dimensions like: 14x15 15x16 16x14 16x16 32x32 996# https://en.wikipedia.org/wiki/Favicon 997>>>>>18 ulequad&0xffFFffC0ffFFffC0 =0 x 998# https://www.politi-kdigital.de/favicon.ico 999# http://forum.rpc1.org/favicon.ico 1000!:ext bmp/ico 1001# "big" dimensions > 63 1002>>>>>18 default x x 1003!:ext bmp 1004# number of bits per pixel (color depth); found 1 2 4 8 16 24 32 1005>>>28 uleshort x %d 1006# x, y coordinates of the hotspot; there is no hotspot in bitmaps, so values 0 1007#>>>6 uleshort >0 \b, hotspot %ux 1008#>>>>8 uleshort x \b%u 1009# number of color planes (must be 1), except badplanes.bmp for testing 1010#>>>26 uleshort >1 \b, %u color planes 1011# compression method: 0~no 1~RLE 8-bit/pixel 2~RLE 4-bit/pixel 3~Huffman 1D 6~RGBA bit field masks 1012#>>>30 ulelong 3 \b, Huffman 1D compression 1013>>>30 ulelong >0 \b, %u compression 1014# image size is the size of raw bitmap; a dummy 0 can be given for BI_RGB bitmaps 1015>>>34 ulelong >0 \b, image size %u 1016# horizontal and vertical resolution of the image (pixel per metre, signed integer) 1017>>>38 ulelong >0 \b, resolution %d x 1018>>>>42 ulelong x %d px/m 1019# number of colors in palette 16 256, or 0 to default to 2**n 1020#>>>46 ulelong >0 \b, %u colors 1021# number of important colors used, or 0 when every color is important 1022>>>50 ulelong >0 \b, %u important colors 1023# cbSize; often size of file 1024>>>2 ulelong x \b, cbSize %u 1025#>>>2 ulelong x \b, cbSize %#x 1026# offBits; offset to bitmap data like 36h 76h BEh 236h 406h 436h 4E6h 1027>>>10 ulelong x \b, bits offset %u 1028#>>>10 ulelong x \b, bits offset %#x 1029#>>>(10.l) ubequad !0 \b, bits %#16.16llxd 1030>14 ulelong 124 PC bitmap, Windows 98/2000 and newer format 1031!:mime image/bmp 1032!:ext bmp 1033>>18 ulelong x \b, %d x 1034>>22 ulelong x %d x 1035# color planes; must be 1 1036#>>>26 uleshort >1 \b, %u color planes 1037# number of bits per pixel (color depth); found 4 8 16 24 32 1 (fmt-119-signature-id-121.bmp) 0 (rgb24jpeg.bmp rgb24png.bmp) 1038>>28 uleshort x %d 1039# x, y coordinates of the hotspot; should be zero for Windows variant 1040>>6 uleshort >0 \b, hotspot %ux 1041>>>8 uleshort x \b%u 1042# cbSize; size of file like: 8E AA 48A 999 247A 4F02 7F8A 3F88E B216E 1D4C8A 100008A 1043>>2 ulelong x \b, cbSize %u 1044#>>2 ulelong x \b, cbSize 0x%x 1045# offBits; offset to bitmap data like: 8A 47A ABABABAB (fmt-119-signature-id-121.bmp) 1046>>10 ulelong x \b, bits offset %u 1047#>>10 ulelong x \b, bits offset 0x%x 1048>14 ulelong 108 PC bitmap, Windows 95/NT4 and newer format 1049!:mime image/bmp 1050!:ext bmp 1051>>18 ulelong x \b, %d x 1052>>22 ulelong x %d x 1053# number of bits per pixel (color depth); found 8 24 32 1054>>28 uleshort x %d 1055# x, y coordinates of the hotspot; should be zero for Windows variant 1056>>6 uleshort >0 \b, hotspot %ux 1057>>>8 uleshort x \b%u 1058# cbSize; size of file like: 82 8A 9A 9F86 1E07A 3007A 88B7A C007A 1059>>2 ulelong x \b, cbSize %u 1060#>>2 ulelong x \b, cbSize 0x%x 1061# offBits; offset to bitmap data like: 7A 7E 46A 1062>>10 ulelong x \b, bits offset %u 1063#>>10 ulelong x \b, bits offset 0x%x 1064# Update: Joerg Jenderek 1065# URL: http://fileformats.archiveteam.org/wiki/OS/2_Icon 1066# Reference: http://www.fileformat.info 1067# /format/os2bmp/spec/902d5c253f2a43ada39c2b81034f27fd/view.htm 1068# Note: verified by command like `deark -l -d3 OS2MEMU.ICO` 10690 string IC 1070# skip Lotus smart icon *.smi by looking for valid hotspot coordinates 1071>6 ulelong&0xFF00FF00 =0 OS/2 icon 1072# jump 4 bytes before end of header/file and test for accessibility 1073#>>(2.l-4) ubelong x End of header is OK! 1074!:mime image/x-os2-ico 1075!:ext ico 1076# cbSize; size of header or file in bytes like 1ah 120h 420h 1077>>2 ulelong x \b, cbSize %u 1078# xHotspot, yHotspot; coordinates of the hotspot for icons like 16 32 1079>>6 uleshort x \b, hotspot %ux 1080>>8 uleshort x \b%u 1081# offBits; offset in bytes to the beginning of the bit-map pel data like 20h 1082>>10 ulelong x \b, bits offset %u 1083#>>(10.l) ubequad x \b, bits %#16.16llx 1084#0 string PI PC pointer image data 1085#0 string CI PC color icon data 10860 string CI 1087# test also for valid dib header sizes 12 or 64 1088>14 ulelong <65 OS/2 1089# test also for valid hotspot coordinates 1090#>>6 ulelong&0xFE00FE00 =0 OS/2 1091!:mime image/x-os2-ico 1092!:ext ico 1093>>14 ulelong 12 1.x color icon 1094# image width and height fields are unsigned integers for OS/2 1095>>>18 uleshort x %u x 1096# stored height = 2 * real height 1097>>>20 uleshort/2 x %u 1098# number of bits per pixel (color depth). Typical 32 24 16 8 4 but only 1 found 1099>>>24 uleshort >1 x %u 1100# color planes; must be 1 1101#>>>22 uleshort >1 \b, %u color planes 1102>>14 ulelong 64 2.x color icon 1103# image width and height 1104>>>18 ulelong x %u x 1105# stored height = 2 * real height 1106>>>22 ulelong/2 x %u 1107# number of bits per pixel (color depth). only 1 found 1108>>>28 uleshort >1 x %u 1109#>>>26 uleshort >1 \b, %u color planes 1110# compression method: 0~no 3~Huffman 1D 1111>>>30 ulelong 3 \b, Huffman 1D compression 1112#>>>30 ulelong >0 \b, %u compression 1113# xHotspot, yHotspot; coordinates of the hotspot like 0 1 16 20 32 33 63 64 1114>>6 uleshort x \b, hotspot %ux 1115>>8 uleshort x \b%u 1116# cbSize; size of header or maybe file in bytes like 1Ah 4Eh 84Eh 1117>>2 ulelong x \b, cbSize %u 1118#>>2 ulelong x \b, cbSize %x 1119# offBits; offset to bitmap data (pixel array) like E4h 3Ah 66h 6Ah 33Ah 4A4h 1120>>10 ulelong x \b, bits offset %u 1121#>>10 ulelong x \b, bits offset %#x 1122#>>(10.l) ubequad !0 \b, bits %#16.16llx 1123# dib header size: 12~Ch~OS/2 1.x 64~40h~OS/2 2.x 1124#>>14 ulelong x \b, dib header size %u 1125#0 string CP PC color pointer image data 1126# URL: http://fileformats.archiveteam.org/wiki/OS/2_Pointer 1127# Reference: http://www.fileformat.info/format/os2bmp/egff.htm 11280 string CP 1129# skip many Corel Photo-Paint image "CPT9FILE" by checking for positive bits offset 1130>10 ulelong >0 1131# skip CPU-Z Report by checking for valid dib header sizes 12 or 64 1132>>14 ulelong =12 1133>>>0 use os2-ptr 1134>>14 ulelong =64 1135>>>0 use os2-ptr 1136# display information of OS/2 pointer bitmaps 11370 name os2-ptr 1138>14 ulelong x OS/2 1139# http://extension.nirsoft.net/PTR 1140!:mime image/x-ibm-pointer 1141!:ext ptr 1142>>14 ulelong 12 1.x color pointer 1143# image width and height fields are unsigned integers for OS/2 1144>>>18 uleshort x %u x 1145# stored height = 2 * real height 1146>>>20 uleshort/2 x %u 1147# number of bits per pixel (color depth). Typical 32 24 16 8 4 but only 1 found 1148>>>24 uleshort >1 x %u 1149# color planes; must be 1 1150#>>>22 uleshort >1 \b, %u color planes 1151>>14 ulelong 64 2.x color pointer 1152# image width and height 1153>>>18 ulelong x %u x 1154# stored height = 2 * real height 1155>>>22 ulelong/2 x %u 1156# number of bits per pixel (color depth). only 1 found 1157>>>28 uleshort >1 x %u 1158#>>>26 uleshort >1 \b, %u color planes 1159# compression method: 0~no 3~Huffman 1D 1160>>>30 ulelong 3 \b, Huffman 1D compression 1161#>>>30 ulelong >0 \b, %u compression 1162# xHotspot, yHotspot; coordinates of the hotspot like 0 3 4 8 15 16 23 27 31 1163>>6 uleshort x \b, hotspot %ux 1164>>8 uleshort x \b%u 1165# cbSize; size of header or maybe file in bytes like 1Ah 4Eh 1166>>2 ulelong x \b, cbSize %u 1167#>>2 ulelong x \b, cbSize %x 1168# offBits; offset to bitmap data (pixel array) like 6Ah A4h E4h 4A4h 1169>>10 ulelong x \b, bits offset %u 1170#>>10 ulelong x \b, bits offset %#x 1171#>>(10.l) ubequad !0 \b, bits %#16.16llx 1172# dib header size: 12~Ch~OS/2 1.x 64~40h~OS/2 2.x 1173#>>14 ulelong x \b, dib header size %u 1174# Conflicts with other entries [BABYL] 1175# URL: http://fileformats.archiveteam.org/wiki/BMP#OS.2F2_Bitmap_Array 1176# Note: container for OS/2 icon "IC", color icon "CI", color pointer "CP" or bitmap "BM" 1177#0 string BA PC bitmap array data 11780 string BA 1179# skip old Emacs RMAIL BABYL ./mail.news by checking for low header size 1180>2 ulelong <0x004c5942 OS/2 graphic array 1181!:mime image/x-os2-graphics 1182#!:apple ????BMPf 1183# cbSize; size of header like 28h 5Ch 1184>>2 ulelong x \b, cbSize %u 1185#>>2 ulelong x \b, cbSize %#x 1186# offNext; offset to data like 0 48h F2h 4Eh 64h C6h D2h D6h DAh E6h EAh 348h 1187>>6 ulelong >0 \b, data offset %u 1188#>>6 ulelong >0 \b, data offset %#x 1189#>>(6.l) ubequad !0 \b, data %#16.16llx 1190# dimensions of the intended device like 640 x 480 for VGA or 1024 x 768 1191>>10 uleshort >0 \b, display %u 1192>>>12 uleshort >0 x %u 1193# usType of first array element 1194#>>14 string x \b, usType %2.2s 1195# 1 space char after "1st" 1196# no *.bga examples found https://www.openwith.org/file-extensions/bga/1342 1197>>14 string BM \b; 1st 1198!:ext bmp/bga 1199>>14 string CI \b; 1st 1200!:ext ico 1201>>14 string CP \b; 1st 1202!:ext ico 1203>>14 string IC \b; 1st 1204!:ext ico 1205# no white-black pointer found 1206#>>14 string PT \b; 1st 1207#!:ext 1208>>14 indirect x 1209 1210# XPM icons (Greg Roelofs, newt@uchicago.edu) 1211# Update: Joerg Jenderek 1212# URL: http://fileformats.archiveteam.org/wiki/XPM 1213# Reference: http://www.x.org/docs/XPM/xpm.pdf 1214# http://mark0.net/download/triddefs_xml.7z/defs/b/bitmap-xpm.trid.xml 1215# Note: called "X PixMap bitmap" by TrID and "X-Windows Pixmap Image" by DROID via PUID x-fmt/208 1216# starting with c comment like: logo.xpm 12170 string /*\040 1218# 9 byte c-comment "/* XPM */" not at the beginning like: mozicon16.xpm mozicon50.xpm (thunderbird) 1219>0 search/0xCE /*\ XPM\ */ 1220# skip DROID x-fmt-208-signature-id-620.xpm by looking for char array without explict length 1221# and match mh-logo.xpm (emacs) 1222>>&0 search/1249 [] 1223>>>0 use xpm-image 1224# non standard because no 9 byte c-comment "/* XPM */" like: logo.xpm in qemu package 1225>0 default x 1226# words are separated by a white space which can be composed of space and tabulation characters 1227>>0 search/0x52 static\040char\040 1228# skip debug.c testmlc.c by looking for char array without explict length 1229# https://www.clamav.net/downloads/production/clamav-0.104.2.tar.gz 1230# clamav-0.104.2\libclammspack\mspack\debug.c 1231>>>&0 search/64 [] 1232>>>>0 use xpm-image 1233# display X pixmap image information 12340 name xpm-image 1235>0 string x X pixmap image text 1236#!:mime text/plain 1237# https://reposcope.com/mimetype/image/x-xpixmap 1238# alias 1239#!:mime image/x-xpm 1240!:mime image/x-xpixmap 1241!:ext xpm 1242# NO pm example found! 1243#!:ext xpm/pm 1244# look for start of character array at beginning of a line like: psetupl.xpm (OpenOffice 4.1.7) 1245>0 search/0x406 \n" 1246# DEBUG VALUES string 1247#>>&0 string x '%s' 1248# width with optional white space before like: 16 24 32 48 1280 1249>>&0 regex/8 [0-9]{1,5} \b, %s 1250# height with white space like: 15 16 17 24 32 48 1024 1251>>>&0 regex/8 [0-9]{1,5} x %s 1252# number of colors with white space like: 1 2 3 4 5 8 11 14 162 255 but unrelistic 4294967295 by hardcopy tool 1253>>>>&0 regex/12 [0-9]{1,9} x %s 1254# chars_per_pixel with white space like: 1 2 1255>>>>>&0 regex/14 [0-9]{1,2} \b, %s chars/pixel 1256# non standard because not starting with 9 byte c-comment "/* XPM */" 1257>0 string !/*\ XPM\ */ 1258>>0 string x \b, 1st line "%s" 1259 1260# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 12610 uleshort 0xcc52 RLE image data, 1262>6 uleshort x %d x 1263>8 uleshort x %d 1264>2 uleshort >0 \b, lower left corner: %d 1265>4 uleshort >0 \b, lower right corner: %d 1266>10 ubyte&0x1 =0x1 \b, clear first 1267>10 ubyte&0x2 =0x2 \b, no background 1268>10 ubyte&0x4 =0x4 \b, alpha channel 1269>10 ubyte&0x8 =0x8 \b, comment 1270>11 ubyte >0 \b, %d color channels 1271>12 ubyte >0 \b, %d bits per pixel 1272>13 ubyte >0 \b, %d color map channels 1273 1274# image file format (Robert Potter, potter@cs.rochester.edu) 12750 string Imagefile\ version- iff image data 1276# this adds the whole header (inc. version number), informative but longish 1277>10 string >\0 %s 1278 1279# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 12800 ubelong 0x59a66a95 Sun raster image data 1281>4 ubelong >0 \b, %d x 1282>8 ubelong >0 %d, 1283>12 ubelong >0 %d-bit, 1284#>16 ubelong >0 %d bytes long, 1285>20 ubelong 0 old format, 1286#>20 ubelong 1 standard, 1287>20 ubelong 2 compressed, 1288>20 ubelong 3 RGB, 1289>20 ubelong 4 TIFF, 1290>20 ubelong 5 IFF, 1291>20 ubelong 0xffff reserved for testing, 1292>24 ubelong 0 no colormap 1293>24 ubelong 1 RGB colormap 1294>24 ubelong 2 raw colormap 1295#>28 ubelong >0 colormap is %d bytes long 1296 1297# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 1298# 1299# See 1300# http://reality.sgi.com/grafica/sgiimage.html 1301# 13020 ubeshort 474 SGI image data 1303#>2 ubyte 0 \b, verbatim 1304>2 ubyte 1 \b, RLE 1305#>3 ubyte 1 \b, normal precision 1306>3 ubyte 2 \b, high precision 1307>4 ubeshort x \b, %d-D 1308>6 ubeshort x \b, %d x 1309>8 ubeshort x %d 1310>10 ubeshort x \b, %d channel 1311>10 ubeshort !1 \bs 1312>80 string >0 \b, "%s" 1313 13140 string IT01 FIT image data 1315>4 ubelong x \b, %d x 1316>8 ubelong x %d x 1317>12 ubelong x %d 1318# 13190 string IT02 FIT image data 1320>4 ubelong x \b, %d x 1321>8 ubelong x %d x 1322>12 ubelong x %d 1323# 13242048 string PCD_IPI Kodak Photo CD image pack file 1325>0xe02 ubyte&0x03 0x00 , landscape mode 1326>0xe02 ubyte&0x03 0x01 , portrait mode 1327>0xe02 ubyte&0x03 0x02 , landscape mode 1328>0xe02 ubyte&0x03 0x03 , portrait mode 13290 string PCD_OPA Kodak Photo CD overview pack file 1330 1331# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 1332# FITS is the Flexible Image Transport System, the de facto standard for 1333# data and image transfer, storage, etc., for the astronomical community. 1334# (FITS floating point formats are big-endian.) 13350 string SIMPLE\ \ = FITS image data 1336!:mime image/fits 1337!:ext fits/fts 1338>109 string 8 \b, 8-bit, character or unsigned binary integer 1339>108 string 16 \b, 16-bit, two's complement binary integer 1340>107 string \ 32 \b, 32-bit, two's complement binary integer 1341>107 string -32 \b, 32-bit, floating point, single precision 1342>107 string -64 \b, 64-bit, floating point, double precision 1343 1344# other images 13450 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 1346 1347# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 1348# stuff. 1349# 13500 ubeshort 0x1010 PEX Binary Archive 1351 1352# DICOM medical imaging data 1353# URL: https://en.wikipedia.org/wiki/DICOM#Data_format 1354# Note: "dcm" is the official file name extension 1355# XnView mention also "dc3" and "acr" as file name extension 1356128 string DICM DICOM medical imaging data 1357!:mime application/dicom 1358!:ext dcm/dicom/dic 1359 1360# XWD - X Window Dump file. 1361# URL: http://fileformats.archiveteam.org/wiki/XWD 1362# Reference: https://wiki.multimedia.cx/index.php?title=XWD 1363# http://mark0.net/download/triddefs_xml.7z/defs/x/xdm-x11.trid.xml 1364# Note: called "X-Windows Screen Dump (X11)" by TrID and 1365# "X-Windows Screen Dump" version X11 by DROID via PUID fmt/483 1366# verfied by XnView `nconvert -in xwd -info *` 1367# and ImageMagick 6.9.11 `identify -verbose *` as XWD X Windows system window dump 1368# and `xwud -in fig41.wxd -dumpheader` 1369# As described in /usr/X11R6/include/X11/XWDFile.h 1370# used by the xwd program. 1371# Bradford Castalia, idaeim, 1/01 1372# updated by Adam Buchbinder, 2/09 and Joerg Jenderek, May 2022 1373# The following assumes version 7 of the format; the first long is the length 1374# of the header, which is at least 25 4-byte longs, and the one at offset 8 1375# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, 1376# which is a maximum of 32. 1377# Size of the entire file header (bytes) like: 100 104 105 106 107 109 110 113 114 115 118 172 13780 ubelong >99 1379# pixmap_format; Pixmap format; 0~1-bit (XYBitmap) format 1~single-plane (XYPixmap) 2~bitmap with two or more planes (ZPixmap) 1380>8 ubelong <3 1381# pixmap_depth; Pixmap depth; value 1 - 32 1382>>12 ubelong <33 1383# file_version; XWD_FILE_VERSION=7 1384>>>4 ubelong 7 1385# skip DROID fmt-401-signature-id-618.xwd by test for existing border field 1386>>>>96 ubelong x X-Window screen dump image data, version X11 1387# ./images (version 1.205) labeled the above entry as "XWD X Window Dump image data" 1388# https://reposcope.com/mimetype/image/x-xwindowdump 1389!:mime image/x-xwindowdump 1390#!:ext xwd 1391!:ext xwd/dmp 1392# https://www.xnview.com/en/image_formats/ NO example with x11 suffix FOUND! 1393#!:ext xwd/dmp/x11 1394# https://www.nationalarchives.gov.uk/PRONOM/fmt/401 NO example with xdm suffix FOUND! 1395#!:ext xwd/dmp/x11/xmd 1396# file comment if header > 100; so not in MARBLES.XWD and hardcopy-x-window-v11.xwd 1397>>>>>0 ubelong >100 1398# comment or windows name 1399>>>>>>100 string >\0 \b, "%s" 1400# pixmap_width; pixmap width like: 576 800 1014 1280 1419 NOT -1414812757=abABabABh 1401>>>>>16 ubelong x \b, %dx 1402# pixmap_height; pixmap height like: 449 454 600 704 720 1001 1024 NOT -1414812757=abABabABh 1403>>>>>20 ubelong x \b%dx 1404# pixmap_depth; pixmap depth 1405>>>>>12 ubelong x \b%d 1406# XOffset; Bitmap X offset; pixel numbers to ignore at the beginning of each scan-line 1407#>>>>>24 ubelong x \b, %u ignore 1408# ByteOrder; byte order of image data: 0~least significant byte first 1~most significant byte first 1409>>>>>28 ubelong >0 \b, order %u 1410# BitmapUnit; bitmap base data size unit in each scan line like: 8 16 32 1411#>>>>>32 ubelong x \b, unit %u 1412# BitmapBitOrder; bit-order of image data; apparently same as ByteOrder 1413#>>>>>36 ubelong x \b, bit order %u 1414# BitmapPad; number of padding bits added to each scan line like: 8 16 32 1415#>>>>>40 ubelong x \b, pad %u 1416# BitsPerPixel; Bits per pixel: 1~StaticGray and GrayScale 2-15~StaticColor and PseudoColor 16,24,32~TrueColor and DirectColor 1417#>>>>>44 ubelong x \b, %u bits/pixel 1418# BytesPerLine; size of each scan line in bytes 1419#>>>>>48 ubelong x \b, %u bytes/line 1420# VisualClass; class of the image: 0~StaticGray 1~GrayScale 2~StaticColor 3~PseudoColor 4~TrueColor 5~DirectColor 1421#>>>>>52 ubelong x \b, %u Class 1422# RedMask; red RGB mask values used by ZPixmaps like: 0 0xff0000 1423#>>>>>56 ubelong !0 \b, %#x red 1424# GreenMask; green mask like: 0 1425#>>>>>60 ubelong !0 \b, %#x green 1426# BlueMask; blue mask like: 0 0xff 1427#>>>>>64 ubelong !0 \b, %#x blue 1428# BitsPerRgb; Size of each color mask in bits like: 0 1 8 24 1429#>>>>>68 ubelong x \b, %u bits/RGB 1430# NumberOfColors; number of colors in image like: 256 4 2 0 (WHAT DOES THIS MEAN?) 1431>>>>>72 ubelong x \b, %u colors 1432# ColorMapEntries; number of entries in color map like: 256 16 2 0~no color map 1433>>>>>76 ubelong x %u entries 1434# WindowWidth; window width 1435#>>>>>80 ubelong x \b, %u width 1436# WindowHeight; window height 1437#>>>>>84 ubelong x \b, %u height 1438# WindowX; Window upper left X coordinate like: 0 24 32 80 237 290 422 466 568 (lenna.dmp) 1439>>>>>88 ubelong !0 \b, x=%d 1440# WindowY; Window upper left Y coordinate like: 0 8 18 26 60 73 107 (fig41.xwd) 128 1441>>>>>92 ubelong !0 \b, y=%d 1442# WindowBorderWidth; Window border width; apparently pixmap_width=WindowWidth+2*WindowBorderWidth 1443# like: 1 (fig41.xwd) 2 (maze.dmp) 3 (lenna.dmp mandrill.dmp) 1444>>>>>96 ubelong >0 \b, %u border 1445# From: Joerg Jenderek 1446# Reference: http://mark0.net/download/triddefs_xml.7z/defs/x/xdm-x10.trid.xml 1447# Note: called "X-Windows Screen Dump (X10)" by TrID and 1448# "X-Windows Screen Dump" version X10 by DROID via PUID x-fmt/300 1449# verfied by XnView `nconvert -in xwd -info *` 1450# HeaderSize is the size of the header in bytes; always 40 for X10 variant 14510 ubelong =0x000000028 1452# FileVersion; always 6 for X10 variant 1453>4 ubelong =6 1454# skip DROID x-fmt-300-signature-id-619.xdm by test existing border field 1455>>36 ubeshort x X-Window screen dump image data, version X10 1456!:mime image/x-xwindowdump 1457!:ext xwd 1458# http://www.nationalarchives.gov.uk/pronom/fmt/401 NO example with xdm suffix FOUND! 1459#!:ext xwd/xdm 1460# PixmapWidth; pixmap width like: 127 1280 1461>>>20 ubelong x \b, %d 1462# PixmapHeight; pixmap height like: 64 1024 1463>>>24 ubelong x \bx%d 1464# DisplayPlanes; number of display planes like: 1 4 8 1465>>>12 ubelong x \bx%u 1466# DisplayType; display type like: 1 3 1467#>>>8 ubelong x \b, type %u 1468# PixmapFormat; pixmap format like: 1~bitmap with two or more planes (ZPixmap) 0~single-plane bitmap (XYBitmap) 1469#>>>16 ubelong x \b, %u format 1470# WindowWidth; window width; probably PixmapWidth=WindowWidth+2*WindowBorderWidth 1471#>>>28 ubeshort x \b, width %u 1472# WindowHeight; window height; probably PixmapWidth=PixmapHeight+2*WindowBorderWidth 1473#>>>30 ubeshort x \b, height %u 1474# WindowX; window upper left X coordinate like: 0 1475>>>32 ubeshort !0 \b, x=%d 1476# WindowY; window upper left Y coordinate like: 0 1477>>>34 ubeshort !0 \b, y=%d 1478# WindowBorderWidth; window border width like: 0 1479>>>36 ubeshort !0 \b, %u border 1480# WindowNumColors; Number of color entries in window like: 2 16 256 1481#>>>38 ubeshort x \b, %u colors 1482# if the image is a PseudoColor image, a color map immediately follows the header. X10COLORMAP[WindowNumColors]; 1483# EntryNumber; number of the color-map entry like: 0 1484#>>>40 ubeshort x \b, colors #%u 1485# Red; red-channel value 1486#>>>42 ubeshort !0 \b, red %#x 1487# Green; green-channel value 1488#>>>44 ubeshort !0 \b, green %#x 1489# Blue; blue-channel value 1490#>>>46 ubeshort !0 \b, blue %#x 1491# 2ND Entry like: 2 1492#>>>48 ubeshort x \b, colors #%u 1493 1494# PDS - Planetary Data System 1495# These files use Parameter Value Language in the header section. 1496# Unfortunately, there is no certain magic, but the following 1497# strings have been found to be most likely. 14980 string NJPL1I00 PDS (JPL) image data 14992 string NJPL1I PDS (JPL) image data 15000 string CCSD3ZF PDS (CCSD) image data 15012 string CCSD3Z PDS (CCSD) image data 15020 string PDS_ PDS image data 15030 string LBLSIZE= PDS (VICAR) image data 1504 1505# pM8x: ATARI STAD compressed bitmap format 1506# 1507# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 1508# p M 8 5/6 xx yy zz data... 1509# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 1510# bytes either run horizontally (pM85) or vertically (pM86). yy is the 1511# most frequent byte, xx and zz are runlength escape codes, where xx is 1512# used for runs of yy. 1513# 15140 string pM85 Atari ST STAD bitmap image data (hor) 1515>5 ubyte 0x00 (white background) 1516>5 ubyte 0xFF (black background) 15170 string pM86 Atari ST STAD bitmap image data (vert) 1518>5 ubyte 0x00 (white background) 1519>5 ubyte 0xFF (black background) 1520 1521# From: Alex Myczko <alex@aiei.ch> 1522# https://www.atarimax.com/jindroush.atari.org/afmtatr.html 15230 uleshort 0x0296 Atari ATR image 1524 1525# URL: http://fileformats.archiveteam.org/wiki/DEGAS_image 1526# Reference: https://wiki.multimedia.cx/index.php?title=Degas 1527# From: Joerg Jenderek 1528# http://mark0.net/download/triddefs_xml.7z/defs/b 1529# bitmap-pi2-degas.trid.xml bitmap-pi3-degas.trid.xml 1530# bitmap-pc1-degas.trid.xml bitmap-pc2-degas.trid.xml bitmap-pc3-degas.trid.xml 1531# Note: verified by NetPBM `pi3topbm sigirl1.pi3 | file` 1532# `deark -m degas -l -d2 ataribak.pi1` 1533# XnView `nconvert -fullinfo *.p??` 1534# DEGAS low-res uncompressed bitmap *.pi1 15350 beshort 0x0000 1536# skip some ISO 9660 CD-ROM filesystems like plpbt.iso by test for 4 non black colors in palette entries 1537>2 quad !0 1538# skip g3test.g3 by test for unused bits of 2nd color entry 1539>>4 ubeshort&0xF000 0 1540#>>>0 beshort x 1ST_VALUE=%x 1541#>>>-0 offset x FILE_SIZE=%lld 1542# standard DEGAS low-res uncompressed bitmap *.pi1 with file size 32034 1543>>>-0 offset =32034 1544#>>>>0 beshort x 1st_VALUE=%x 1545# like: 8ball.pi1 teddy.pi1 sonic01.pi1 1546>>>>0 use degas-bitmap 1547# about 61 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 32066 1548>>>-0 offset =32066 1549# like: spider.pi1 pinkgirl.pi1 frog3.pi1 1550>>>>0 use degas-bitmap 1551# about 55 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 32128 1552>>>-0 offset =32128 1553# like: mountain.pi1 bigspid.pi1 alf33.pi1 1554>>>>0 use degas-bitmap 1555# 1 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 44834 1556>>>-0 offset =44834 1557# like: kenshin.pi1 1558>>>>0 use degas-bitmap 1559# DEGAS mid-res uncompressed bitmap *.pi2 (strength=50) after GEM Images like: 1560# BEETHVEN.IMG CHURCH.IMG GAMEOVR4.IMG TURKEY.IMG clinton.img 15610 beshort 0x0001 1562#!:strength +0 1563# skip many control files like gnucash-4.8.setup.exe.aria2 by test for non black in 4 palette entries 1564>2 quad !0 1565# skip control file load-v0001.aria2 and many GEM Image data like 1566# GAMEOVR4.IMG BEETHVEN.IMG CHURCH.IMG TURKEY.IMG clinton.img 1567# by test for valid file sizes 1568# standard DEGAS mid-res uncompressed bitmap *.pi2 with file size 32034 1569>>-0 offset =32034 1570# (39/41) like: GEMINI03.PI2 ST_TOOLS.PI2 TBX_DEMO.PI2 1571>>>0 use degas-bitmap 1572# few DEGAS Elite mid-res uncompressed bitmap *.pi2 with file size 32066 1573>>-0 offset =32066 1574# (2/41) like: medres.pi2 1575>>>0 use degas-bitmap 1576# DEGAS high-res uncompressed bitmap *.pi3 15770 beshort 0x0002 1578# skip Intel ia64 COFF msvcrt.lib by test for unused bits of 1st atari color palette entry 1579>2 ubeshort&0xF000 0 1580# skip few Adobe PhotoShop Brushes like Faux-Spitzen.abr by check 1581# for invalid Adobe PhotoShop Brush UTF16-LE string length 1582>>19 ubyte =0 1583# many like: 4th_ofj2.pi3 GEMINI03.PI3 PEOPLE18.PI3 POWERFIX.PI3 abydos.pi3 highres.pi3 sigirl1.pi3 vanna5.pi3 1584>>>0 use degas-bitmap 1585# Adobe PhotoShop Brush UTF16-LE string length 15 "Gitter - klein " 8 "Kreis 1 " 1586>>19 ubyte !0 1587#>>19 ubyte !0 \b, NOTE LENGTH %u 1588#>>>21 lestring16 x \b, BRUSH NOTE "%s" 1589>>>(19.b*2) ubequad x 1590# maybe last character of Adobe PhotoShop Brush UTF16-LE string and terminating nul char like 1591# 006e0000 for n in "Faux-Spitzen.abr" 00310000 for 1 in "Verschiedene Spitzen.abr" 1592# 00000000 "LEREDACT.PI3" 03730773 "TBX_DEMO.PI3" 1593#>>>>&8 ubelong x \b, LAST CHAR+NIL %8.8x 1594>>>>&8 ubelong&0xff00ffFF !0 1595# skip many Adobe Photoshop Color swatch (ANPA-Farben.aco TOYO-Farbsystem.aco) with invalid 3rd color entry (1319 2201 2206 21f5 2480 24db 25fd) 1596>>>>>6 ubeshort&0xF000 0 1597# skip few Adobe Photoshop Color swatch (FOCOLTONE-Farben.aco "PANTONE process coated.aco") with invalid 4th color entry (ffff) 1598>>>>>>8 ubeshort&0xF000 0 1599# many DEGAS bitmap like: ARABDEMO.PI3 ELMRSESN.PI3 GEMVIEW.PI3 LEREDACT.PI3 PICCOLO.PI3 REPRO_JR.PI3 ST_TOOLS.PI3 TBX_DEMO.PI3 evgem7.pi3 1600>>>>>>>0 use degas-bitmap 1601# test for last character of Adobe PhotoShop Brush UTF16-LE string and terminating nul char 1602>>>>&8 ubelong&0xff00ffFF =0 1603# select last DEGAS bitmaps by invalid last char of brush note like BASICNES.PI3 DB_HELP.PI3 DB_WRITR.PI3 LEREDACT.PI3 1604>>>>>&-4 ubelong&0x00FF0000 <0x00200000 1605>>>>>>0 use degas-bitmap 1606# last character of Adobe PhotoShop Brush UTF16-LE note 1607#>>>>>&-4 ubelong&0x00FF0000 >0x001F0000 \b, THAT IS ABR 1608# DEGAS low-res compressed bitmap *.pc1 like: BATTLSHP.PC1 GNUCHESS.PC1 MEDUSABL.PC1 MOONLORD.PC1 WILDROSE.PC1 16090 beshort 0x8000 1610# skip lif files handled via ./lif by test for unused bits of 1st palette entry 1611>2 ubeshort&0xF000 0 1612# skip CRI ADX ADPCM audio (R04HT.adx R03T-15552.adx) with 44100 Hz misinterpreted as 5th color entry value AC44h 1613>>10 ubeshort&0xF000 0 1614# skip few (fmt-840-signature-id-1195.adx fmt-840-signature-id-1199.adx) by test for 4 first non black colors in palette entries 1615>>>2 quad !0 1616>>>>0 use degas-bitmap 1617# DEGAS mid-res compressed bitmap *.pc2 like: abydos.pc2 ARTIS3.PC2 SMTHDRAW.PC2 STAR_2K.PC2 TX2_DEMO.PC2 16180 beshort 0x8001 1619# skip many (1274/1369) PostScript Type 1 font (DarkGardenMK.pfb coupbi.pfb MONOBOLD.PFB) with invalid 1st atari color palette entry 5506 5b06 6906 7906 7e06 fb15 1620>2 ubeshort&0xF000 0 1621# skip some (95/1369) PostScript Type 1 font (fmt-525-signature-id-816.pfb LUXEMBRG.PFB) with invalid 3rd atari color palette entry 2521 1622>>6 ubeshort&0xF000 0 1623>>>0 use degas-bitmap 1624# DEGAS high-res compressed bitmap *.pc3 like: abydos.pc3 COYOTE.PC3 ELEPHANT.PC3 TX2_DEMO.PC3 SMTHDRAW.PC3 16250 beshort 0x8002 1626# skip some (36/212) Python Pickle (factor_cache.pickle environment.pickle) with invalid 1st atari color entry (2863 6363 7d71) 1627>2 ubeshort&0xF000 0 1628>>0 use degas-bitmap 1629# display information of Atari DEGAS and DEGAS Elite bitmap images 16300 name degas-bitmap 1631>0 ubyte x Atari DEGAS 1632#!:mime application/octet-stream 1633!:mime image/x-atari-degas 1634# compressed 1635>0 ubyte =0x80 Elite compressed 1636# uncompressed 1637#>0 ubyte =0x00 uncompressed 1638#>0 ubyte =0x00 un. 1639>0 ubyte =0x00 1640# check for existence of footer for DEGAS Elite images 1641>>32042 ubequad x Elite 1642>0 beshort 0x0000 bitmap 1643!:ext pi1 1644>0 beshort 0x0001 bitmap 1645!:ext pi2 1646>0 beshort 0x0002 bitmap 1647# no example with SUH extension found 1648#!:ext pi3/suh 1649!:ext pi3 1650>0 beshort 0x8000 bitmap 1651!:ext pc1 1652>0 beshort 0x8001 bitmap 1653!:ext pc2 1654>0 beshort 0x8002 bitmap 1655!:ext pc3 1656# low resolution; 320x200, 16 colors 1657>1 ubyte =0 320 x 200 x 16 1658# medium resolution; 640x200, 4 colors 1659>1 ubyte =1 640 x 200 x 4 1660# high resolution; 640x400, 2 colors 1661>1 ubyte =2 640 x 400 x 2 1662# http://fileformats.archiveteam.org/wiki/Atari_ST_color_palette 1663# hardware_palette[16]; 9 bit ?????RRR?GGG?BBB; 12 bit ????RRRRGGGGBBBB for Atari STE 1664# for Atari DEGAS apparently no Spectrum 512 Enhanced 15 bit palette RGB?RRRRGGGGBBBB 1665# Red Green Blue unused bit ? often 0 but not bilboule.pi1; color_value (examples or numbers) 1666# 1st color palette entry like: 0777 (61) 0fff (LEREDACT.PI3) 0fcf (devgem7.pi3) 0001 (9) 1667>2 ubeshort x \b, color palette %4.4x 1668# 2nd palette entry like: 0000 (32) 0700 (38) 0f00 (LEREDACT.PI3 devgem7.pi3) 1669>4 ubeshort x %4.4x 1670# 3rd palette entry 1671>6 ubeshort x %4.4x 1672# 4th palette entry like: 0000 (72) 1673>8 ubeshort x %4.4x 1674# 5th palette entry 1675>10 ubeshort x %4.4x 1676>2 ubeshort x ... 1677# 6th palette entry 1678#>12 ubeshort x %4.4x 1679# 7th palette entry like: 0000 (16) 0001 (ELMRSESN.PI3 elmrsesn.pi3) 0070 (51) 00f0 (BASICNES.PI3 LEREDACT.PI3) 00f8 (devgem7.pi3) 1680#>14 ubeshort x %4.4x 1681# 8th palette entry 1682#>16 ubeshort x %4.4x 1683# 9 palette entry 1684#>18 ubeshort x %4.4x 1685# 10 palette entry 1686#>20 ubeshort x %4.4x 1687# 11 palette entry 1688#>22 ubeshort x %4.4x 1689# 12 palette entry 1690#>24 ubeshort x %4.4x 1691# 13 palette entry 1692#>26 ubeshort x %4.4x 1693# 14th palette entry 1694#>28 ubeshort x %4.4x 1695# 15th palette entry 1696#>30 ubeshort x %4.4x 1697# 16th palette entry 1698#>32 ubeshort x %4.4x 1699# data[16000] for uncompressed images; pixel data 1700#>34 ubequad x \b, DATA %#16.16llx... 1701# footer for Elite variant images 1702# https://www.fileformat.info/format/atari/egff.htm 1703# https://pulkomandy.tk/projects/GrafX2/wiki/Develop/FileFormats/Atari 1704# left_color_animation[4]; like: 0000000000000000 0000000100020003 fffafff000000030 (bigspid.pi1) 1705#>32034 ubequad !0 \b, color animations %16.16llx (left) 1706# right_color_animation[4]; like: 0000000000000000 0000000100020003 1707#>>32042 ubequad !0 %16.16llx (right) 1708# channel_direction[4]; 0~left 1~none 2~right like: 0001000100010001 0002000000010001 (cycle2.pi1) 1709# sometimes unexpected like: feaafc0000000000 (bigspid.pi1) 1710#>32050 ubequad !0 \b, channel directions %16.16llx 1711# channel_delay[4]; 128 - channel delay, timebase 1/60 s 1712#>32058 ubequad !0 \b, channel delays %16.16llx 1713 1714# From: Joerg Jenderek 1715# URL: http://fileformats.archiveteam.org/wiki/GED 1716# https://recoil.sourceforge.net/formats.html#Atari-8-bit 1717# Reference: https://sourceforge.net/projects/recoil/files/recoil/6.3.4/recoil-6.3.4.tar.gz 1718# recoil-6.3.4/recoil.c 1719# http://mark0.net/download/triddefs_xml.7z/defs/b/bitmap-ged.trid.xml 1720# Note: called "Atari GED bitmap" by TrID; file size 11302 1721# and verified by RECOIL graphic tool 17220 string \xFF\xFF0SO\x7F Atari GED bitmap, 160x200 1723#!:mime application/octet-stream 1724!:mime image/x-atari-ged 1725!:ext ged 1726 1727# From: Joerg Jenderek 1728# URL: http://fileformats.archiveteam.org/wiki/ImageLab/PrintTechnic 1729# Reference: http://mark0.net/download/triddefs_xml.7z/defs/b/bitmap-b_w.trid.xml 1730# Note: called "ImageLab bitmap" by TrID 1731# verfied by XnView `nconvert -fullinfo "MAEDCHEN.B&W"` 17320 string B&W256 ImageLab bitmap 1733!:mime image/x-ilab 1734# https://www.xnview.com/de/image_formats/ 1735# GRR: add char & inside parse_ext in ../../src/apprentice.c to avoid in file version 5.40 error like: 1736# Magdir\images, 1090: Warning: EXTENSION type ` b_w/b&w' has bad char '&' 1737!:ext b_w/b&w 1738# Width 1739>6 ubeshort x \b, %u 1740# Height 1741>8 ubeshort x x %u 1742 1743# XXX: 1744# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 1745# magic. 1746# SGI RICE image file <mpruett@sgi.com> 1747#0 ubeshort 0x5249 RICE image 1748#>2 ubeshort x v%d 1749#>4 ubeshort x (%d x 1750#>6 ubeshort x %d) 1751#>8 ubeshort 0 8 bit 1752#>8 ubeshort 1 10 bit 1753#>8 ubeshort 2 12 bit 1754#>8 ubeshort 3 13 bit 1755#>10 ubeshort 0 4:2:2 1756#>10 ubeshort 1 4:2:2:4 1757#>10 ubeshort 2 4:4:4 1758#>10 ubeshort 3 4:4:4:4 1759#>12 ubeshort 1 RGB 1760#>12 ubeshort 2 CCIR601 1761#>12 ubeshort 3 RP175 1762#>12 ubeshort 4 YUV 1763 1764# PCX image files 1765# From: Dan Fandrich <dan@coneharvesters.com> 1766# updated by Joerg Jenderek at Feb 2013 by https://de.wikipedia.org/wiki/PCX 1767# https://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt 1768# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 1769# 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 17700 ubelong&0xffF8fe00 0x0a000000 1771# for PCX bit depth > 0 1772>3 ubyte >0 1773# test for valid versions 1774>>1 ubyte <6 1775>>>1 ubyte !1 PCX 1776!:mime image/x-pcx 1777#!:mime image/pcx 1778>>>>1 ubyte 0 ver. 2.5 image data 1779>>>>1 ubyte 2 ver. 2.8 image data, with palette 1780>>>>1 ubyte 3 ver. 2.8 image data, without palette 1781>>>>1 ubyte 4 for Windows image data 1782>>>>1 ubyte 5 ver. 3.0 image data 1783>>>>4 uleshort x bounding box [%d, 1784>>>>6 uleshort x %d] - 1785>>>>8 uleshort x [%d, 1786>>>>10 uleshort x %d], 1787>>>>65 ubyte >1 %d planes each of 1788>>>>3 ubyte x %d-bit 1789>>>>68 ubyte 1 colour, 1790>>>>68 ubyte 2 grayscale, 1791# this should not happen 1792>>>>68 default x image, 1793>>>>12 uleshort >0 %d x 1794>>>>>14 uleshort x %d dpi, 1795>>>>2 ubyte 0 uncompressed 1796>>>>2 ubyte 1 RLE compressed 1797 1798# Adobe Photoshop 1799# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 1800# URL: http://fileformats.archiveteam.org/wiki/PSD 1801# Reference: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/ 1802# Note: verfied by XnView `nconvert -fullinfo *.psd *.psb *.pdd` 1803# and ImageMagick `identify -verbose *.pdd` 18040 string 8BPS 1805# skip DROID x-fmt-92-signature-id-277.psd by checking valid width 1806>18 ubelong >0 Adobe Photoshop 1807!:mime image/vnd.adobe.photoshop 1808!:apple ????8BPS 1809# version: always equal to 1, but 2 for PSB 1810>>4 beshort 1 1811# URL: http://fileformats.archiveteam.org/wiki/PhotoDeluxe 1812# EXTRAS/PHOTOS/DEMOPIX/ORIGINAL.PDD 1813>>>34 search/0xC0d7 PHUT Image (PhotoDeluxe) 1814!:ext pdd 1815>>>34 default x Image 1816!:ext psd 1817# URL: http://fileformats.archiveteam.org/wiki/PSB 1818>>4 beshort 2 Image (PSB) 1819!:ext psb 1820# width in pixels: 1-30000 1-300000 for PSB 1821>>18 belong x \b, %d x 1822>>14 belong x %d, 1823# The color mode; 0~Bitmap 1~Grayscale 2~Indexed 3~RGB 4~CMYK 7~Multichannel 9~Duotone 9~Lab 1824>>24 beshort 0 bitmap 1825>>24 beshort 1 grayscale 1826# the number of channels; range is 1 to 56 1827>>>12 beshort 2 with alpha 1828>>24 beshort 2 indexed 1829>>24 beshort 3 RGB 1830>>>12 beshort 4 \bA 1831>>24 beshort 4 CMYK 1832>>>12 beshort 5 \bA 1833>>24 beshort 7 multichannel 1834>>24 beshort 8 duotone 1835>>24 beshort 9 lab 1836>>12 beshort > 1 1837>>>12 beshort x \b, %dx 1838>>12 beshort 1 \b, 1839>>22 beshort x %d-bit channel 1840>>12 beshort > 1 \bs 1841# 6 reserved bytes; must be zero, but spaces inside ImageMagick input.psd 1842# https://download.imagemagick.org/ImageMagick/download/ImageMagick-7.0.11-11.zip 1843# ImageMagick-7.0.11-11\PerlMagick\t\input.psd 1844>>6 bequad&0xFFffFFffFFff0000 !0 \b, at offset 6 1845>>>6 belong x 0x%8.8x 1846>>>6 beshort x \b%4.4x 1847 1848# From: Joerg Jenderek 1849# URL: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/ 1850# http://fileformats.archiveteam.org/wiki/Photoshop 1851# Reference: http://www.nomodes.com/aco.html 1852# Note: registers as Photoshop.SwatchesFile for Photoshop.exe on Windows 1853# check for valid versions like: 2 (newest) 1 (old) 0 (oldest no examples) 18540 ubeshort <3 1855# skip few Atari DEGAS med-res bitmap (DIAGRAM1.PI2) and many ISO 9660 CD-ROM by check for invalid low color numbers (0) 1856>2 ubeshort >0 1857# skip few Targa (bmpsuite-15col.tga rgb24_top_left_colormap.tga) by check for invalid high color space ID (F0 1D) 1858>>4 ubeshort <16 1859# skip many (69/327) Targa image *.TGA by check of accessing near the ending of first color space section (size=nc*5*2) 1860>>>(2.S*10) ubelong x 1861# RGB branch for Adobe Photoshop Color swatch 1862>>>>4 ubeshort =0 1863# skip many (220/327) Targa by check of for invalid high RGB color z value (hexadecimal 2 3 2e03 4600 5e04 7502 8002 8b05 c700) 1864>>>>>12 ubeshort =0 1865# RGB branch for Adobe Photoshop Color swatch for older versions 1866>>>>>>0 ubeshort <2 1867>>>>>>>0 use adobe-aco 1868# RGB branch for Adobe Photoshop Color swatch for newer version 2 1869>>>>>>0 ubeshort =2 1870# skip many (74/176) Atari DEGAS hi-res bitmap (*.PI3) by check for invalid low color name length (0) 1871>>>>>>>16 ubeshort >0 1872>>>>>>>>0 use adobe-aco 1873# non RGB branch for Adobe Photoshop Color swatch 1874>>>>4 ubeshort !0 1875# non RGB branch for Adobe Photoshop Color swatch for older versions 1876>>>>>0 ubeshort <2 1877# skip many GEM Image (CHURCH.IMG TIGER.IMG) by check for invalid second high color space ID (55 114 143 157 256 288 450) 1878>>>>>>14 ubeshort <16 1879>>>>>>>0 use adobe-aco 1880# non RGB branch for Adobe Photoshop Color swatch for newer version 2 1881>>>>>0 ubeshort =2 1882# skip few Atari DEGAS hi-res bitmap (pal1wb-blue.pi3) and few ABR by check for invalid "high" nil bytes (7) before color name length 1883>>>>>>14 ubeshort =0 1884>>>>>>>0 use adobe-aco 1885# display Adobe Photoshop Color swatch file information (version, number of colors, color spaces, coordinates, names) 18860 name adobe-aco 1887>0 ubeshort x Adobe Photoshop Color swatch, version %u 1888#!:mime application/octet-stream 1889!:mime application/x-adobe-aco 1890!:apple ????8BCO 1891!:ext aco 1892>0 ubeshort <2 1893>>(2.S*10) ubelong x 1894# version 2 section after version 1 section 1895>>>&0 ubeshort 2 and 2 1896# nc; number of colors like: 20 50 86 88 126 204 300 1050 1137 1280 2092 3010 4096 1897>2 ubeshort x \b, %u colors 1898# maybe last 4 bytes of first section (probably y z color value) like: 0 0x66660000 0xfe700000 0xffff0000 1899#>(2.S*10) ubelong x 1ST_SECTION_END=%#8.8x 1900>0 ubeshort <2 \b; 1st 1901# first older Adobe Photoshop Color entry 1902>>4 use aco-color 1903>>>2 ubeshort >1 \b; 2nd 1904# second older Adobe Photoshop Color entry 1905>>>>14 use aco-color 1906>0 ubeshort =2 \b; 1st 1907# first new Adobe Photoshop Color entry 1908>>4 use aco-color-v2 1909>>>2 ubeshort >1 \b; 2nd 1910# jump first color name length words 1911>>>>(16.S*2) ubequad x 1912# second new Adobe Photoshop Color entry 1913>>>>>&10 use aco-color-v2 1914# display Adobe Photoshop Color entry (color space, color coordinates) 19150 name aco-color 1916# each color spec entry occupies five words 1917# color space: 0~RGB 1~HSB 2~CMYK 3~Pantone 4~Focoltone 5~Trumatch 6~Toyo 7~Lab 8~Grayscale 9?~wideCMYK 10~HKS ... 1918#>0 ubeshort x COLOR_ENTRY 1919>0 ubeshort 0 RGB 1920>0 ubeshort 1 HSB 1921>0 ubeshort 2 CMYK 1922>0 ubeshort 3 Pantone 1923>0 ubeshort 4 Focoltone 1924>0 ubeshort 5 Trumatch 1925>0 ubeshort 6 Toyo 1926>0 ubeshort 7 Lab 1927>0 ubeshort 8 Grayscale 1928>0 ubeshort 9 wide CMYK 1929>0 ubeshort 10 HKS 1930# unofficial 1931# >0 ubeshort 12 foo 1932# >0 ubeshort 13 bar 1933# >0 ubeshort 14 FOO 1934# >0 ubeshort 15 BAR 1935>0 ubeshort x space (%u) 1936# color coordinate w 1937>2 ubeshort x \b, w %#x 1938# color coordinate x 1939>4 ubeshort x \b, x %#x 1940# color coordinate y 1941>6 ubeshort x \b, y %#x 1942# color coordinate z; zero for RGB space 1943>8 ubeshort x \b, z %#x 1944# display Adobe Photoshop Color entry version 2 (color space, color coordinates names) 19450 name aco-color-v2 1946>0 use aco-color 1947#>10 ubeshort x \b, NUL_BYTES %#x 1948# color name length plus one (len+1) like: 7 8 9 13 14 15 16 17 22 26 1949#>>12 ubeshort x \b, LENGTH %u 1950>>12 ubeshort-1 x \b, %u chars 1951# len words; UTF-16 representation of the color name like: "DIC 1s" "PANTONE Process Yellow PC" 1952>>14 bestring16 x "%s" 1953# followed by nil word 1954 1955# XV thumbnail indicator (ThMO) 1956# URL: https://en.wikipedia.org/wiki/Xv_(software) 1957# Reference: http://fileformats.archiveteam.org/wiki/XV_thumbnail 1958# Update: Joerg Jenderek 19590 string P7\ 332 XV thumbnail image data 1960#0 string P7\ 332 XV "thumbnail file" (icon) data 1961!:mime image/x-xv-thumbnail 1962# thumbnail .xvpic/foo.bar for graphic foo.bar 1963!:ext p7/gif/tif/xpm/jpg 1964 1965# NITF is defined by United States MIL-STD-2500A 19660 string NITF National Imagery Transmission Format 1967>25 string >\0 dated %.14s 1968 1969# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 1970# Format variations from: Bernd Nuernberger <bernd.nuernberger@web.de> 1971# Update: Joerg Jenderek 1972# See http://fileformats.archiveteam.org/wiki/GEM_Raster 1973# For variations, also see: 1974# https://www.seasip.info/Gem/ff_img.html (Ventura) 1975# http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT) 1976# http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT) 1977# http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG) 19780 beshort 0x0001 1979# header_size 1980>2 beshort 0x0008 1981>>0 use gem_info 1982>2 beshort 0x0009 1983>>0 use gem_info 1984# no example for NOSIG 1985>2 beshort 24 1986>>0 use gem_info 1987# no example for HYPERPAINT 1988>2 beshort 25 1989>>0 use gem_info 199016 string XIMG\0 1991>0 use gem_info 1992# no example 199316 string STTT\0\x10 1994>0 use gem_info 1995# no example or description 199616 string TIMG\0 1997>0 use gem_info 1998 19990 name gem_info 2000# version is 2 for some XIMG and 1 for all others 2001>0 ubeshort <0x0003 GEM 2002# https://www.snowstone.org.uk/riscos/mimeman/mimemap.txt 2003!:mime image/x-gem 2004# header_size 24 25 27 59 779 words for colored bitmaps 2005>>2 ubeshort >9 2006>>>16 string STTT\0\x10 STTT 2007>>>16 string TIMG\0 TIMG 2008# HYPERPAINT or NOSIG variant 2009>>>16 string \0\x80 2010>>>>2 ubeshort =24 NOSIG 2011>>>>2 ubeshort !24 HYPERPAINT 2012# NOSIG or XIMG variant 2013>>>16 default x 2014>>>>16 string !XIMG\0 NOSIG 2015>>16 string =XIMG\0 XIMG Image data 2016!:ext img/ximg 2017# to avoid Warning: Current entry does not yet have a description for adding a EXTENSION type 2018>>16 string !XIMG\0 Image data 2019!:ext img 2020# header_size is 9 for Ventura files and 8 for other GEM Paint files 2021>>2 ubeshort 9 (Ventura) 2022#>>2 ubeshort 8 (Paint) 2023>>12 ubeshort x %d x 2024>>14 ubeshort x %d, 2025# 1 4 8 2026>>4 ubeshort x %d planes, 2027# in tenths of a millimetre 2028>>8 ubeshort x %d x 2029>>10 ubeshort x %d pixelsize 2030# pattern_size 1-8. 2 for GEM Paint 2031>>6 ubeshort !2 \b, pattern size %d 2032 2033# GEM Metafile (Wolfram Kleff) 20340 ulelong 0x0018FFFF GEM Metafile data 2035>4 uleshort x version %d 2036 2037# 2038# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 2039# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 2040# 20410 string \0\nSMJPEG SMJPEG 2042>8 ubelong x %d.x data 2043# According to the specification you could find any number of _TXT 2044# headers here, but I can't think of any way of handling that. None of 2045# the SMJPEG files I tried it on used this feature. Even if such a 2046# file is encountered the output should still be reasonable. 2047>16 string _SND \b, 2048>>24 ubeshort >0 %d Hz 2049>>26 ubyte 8 8-bit 2050>>26 ubyte 16 16-bit 2051>>28 string NONE uncompressed 2052# >>28 string APCM ADPCM compressed 2053>>27 ubyte 1 mono 2054>>28 ubyte 2 stereo 2055# Help! Isn't there any way to avoid writing this part twice? 2056# Yes, use a name/use 2057>>32 string _VID \b, 2058# >>>48 string JFIF JPEG 2059>>>40 ubelong >0 %d frames 2060>>>44 ubeshort >0 (%d x 2061>>>46 ubeshort >0 %d) 2062>16 string _VID \b, 2063# >>32 string JFIF JPEG 2064>>24 ubelong >0 %d frames 2065>>28 ubeshort >0 (%d x 2066>>30 ubeshort >0 %d) 2067 20680 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 2069 2070# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 20710 string KiSS KISS/GS 2072>4 ubyte 16 color 2073>>5 ubyte x %d bit 2074>>8 uleshort x %d colors 2075>>10 uleshort x %d groups 2076>4 ubyte 32 cell 2077>>5 ubyte x %d bit 2078>>8 uleshort x %d x 2079>>10 uleshort x %d 2080>>12 uleshort x +%d 2081>>14 uleshort x +%d 2082 2083# Webshots (www.webshots.com), by John Harrison 20840 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 2085 2086# Hercules DASD image files 2087# From Jan Jaeger <jj@septa.nl> and Jay Maynard <jaymaynard@gmail.com> 20880 string CKD_P370 Hercules CKD DASD image file 2089>8 lelong x \b, %d heads per cylinder 2090>12 lelong x \b, track size %d bytes 2091>16 byte x \b, device type 33%2.2X 2092 20930 string CKD_C370 Hercules compressed CKD DASD image file 2094>8 lelong x \b, %d heads per cylinder 2095>12 lelong x \b, track size %d bytes 2096>16 byte x \b, device type 33%2.2X 2097>552 lelong x \b, %d total cylinders 2098>>557 byte 0 \b, no compression 2099>>557 byte 1 \b, ZLIB compression 2100>>557 byte 2 \b, BZ2 compression 2101 21020 string CKD_S370 Hercules CKD DASD shadow file 2103>8 lelong x \b, %d heads per cylinder 2104>12 lelong x \b, track size %d bytes 2105>16 byte x \b, device type 33%2.2X 2106 21070 string CKD_P064 Hercules CKD64 DASD image file 2108>8 lelong x \b, %d heads per cylinder 2109>12 lelong x \b, track size %d bytes 2110>16 byte x \b, device type 33%2.2X 2111 21120 string CKD_C064 Hercules compressed CKD64 DASD image file 2113>8 lelong x \b, %d heads per cylinder 2114>12 lelong x \b, track size %d bytes 2115>16 byte x \b, device type 33%2.2X 2116>524 lelong x \b, %d total cylinders 2117>>585 byte 0 \b, no compression 2118>>585 byte 1 \b, ZLIB compression 2119>>585 byte 2 \b, BZ2 compression 2120 21210 string CKD_S064 Hercules CKD64 DASD shadow file 2122>8 lelong x \b, %d heads per cylinder 2123>12 lelong x \b, track size %d bytes 2124>16 byte x \b, device type 33%2.2X 2125 2126# Squeak images and programs - etoffi@softhome.net 21270 string \146\031\0\0 Squeak image data 21280 search/1 'From\040Squeak Squeak program text 2129 2130# partimage: file(1) magic for PartImage files (experimental, incomplete) 2131# Author: Hans-Joachim Baader <hjb@pro-linux.de> 21320 string PaRtImAgE-VoLuMe PartImage 2133>0x0020 string 0.6.1 file version %s 2134>>0x0060 ulelong >-1 volume %d 2135#>>0x0064 8 byte identifier 2136#>>0x007c reserved 2137>>0x0200 string >\0 type %s 2138>>0x1400 string >\0 device %s, 2139>>0x1600 string >\0 original filename %s, 2140# Some fields omitted 2141>>0x2744 ulelong 0 not compressed 2142>>0x2744 ulelong 1 gzip compressed 2143>>0x2744 ulelong 2 bzip2 compressed 2144>>0x2744 ulelong >2 compressed with unknown algorithm 2145>0x0020 string >0.6.1 file version %s 2146>0x0020 string <0.6.1 file version %s 2147 2148# DCX is multi-page PCX, using a simple header of up to 1024 2149# offsets for the respective PCX components. 2150# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 2151# Update: Joerg Jenderek 2152# URL: http://fileformats.archiveteam.org/wiki/DCX 21530 ulelong 987654321 DCX multi-page 2154# http://www.nationalarchives.gov.uk/pronom/x-fmt/348 2155!:mime image/x-dcx 2156!:ext dcx 2157# The first file offset usually starts at file offset 0x1004 2158# print 1 space after 0x100? offset and then handles PCX images by ./images 2159>4 ulelong x \b, at %#x 2160>(4.l) indirect x 2161# possible 2nd PCX image 2162#>8 ulelong !0 \b, at %#x 2163#>>(8.l) indirect x 2164# possible 3rd PCX image 2165#>12 ulelong !0 \b, at %#x 2166#>>(12.l) indirect x 2167 2168# Simon Walton <simonw@matteworld.com> 2169# Kodak Cineon format for scanned negatives 2170# http://www.kodak.com/US/en/motion/support/dlad/ 21710 ulelong 0xd75f2a80 Cineon image data 2172>200 ubelong >0 \b, %d x 2173>204 ubelong >0 %d 2174 2175 2176# Bio-Rad .PIC is an image format used by microscope control systems 2177# and related image processing software used by biologists. 2178# From: Vebjorn Ljosa <vebjorn@ljosa.com> 2179# BOOL values are two-byte integers; use them to rule out false positives. 2180# https://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt 2181# Samples: https://www.loci.wisc.edu/software/sample-data 218214 uleshort <2 2183>62 uleshort <2 2184>>54 uleshort 12345 Bio-Rad .PIC Image File 2185>>>0 uleshort >0 %d x 2186>>>2 uleshort >0 %d, 2187>>>4 uleshort =1 1 image in file 2188>>>4 uleshort >1 %d images in file 2189 2190# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 2191# The description of *.mrw format can be found at 2192# http://www.dalibor.cz/minolta/raw_file_format.htm 21930 string \000MRM Minolta Dimage camera raw image data 2194 2195# Summary: DjVu image / document 2196# Extension: .djvu 2197# Reference: http://djvu.org/docs/DjVu3Spec.djvu 2198# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> 2199# Modified by (1): Abel Cheung <abelcheung@gmail.com> 22000 string AT&TFORM 2201>12 string DJVM DjVu multiple page document 2202!:mime image/vnd.djvu 2203>12 string DJVU DjVu image or single page document 2204!:mime image/vnd.djvu 2205>12 string DJVI DjVu shared document 2206!:mime image/vnd.djvu 2207>12 string THUM DjVu page thumbnails 2208!:mime image/vnd.djvu 2209 2210# Originally by Marc Espie 2211# Modified by Robert Minsk <robertminsk at yahoo.com> 2212# https://www.openexr.com/openexrfilelayout.pdf 22130 ulelong 20000630 OpenEXR image data, 2214!:mime image/x-exr 2215>4 ulelong&0x000000ff x version %d, 2216>4 ulelong ^0x00000200 storage: scanline 2217>4 ulelong &0x00000200 storage: tiled 2218>8 search/0x1000 compression\0 \b, compression: 2219>>&16 ubyte 0 none 2220>>&16 ubyte 1 rle 2221>>&16 ubyte 2 zips 2222>>&16 ubyte 3 zip 2223>>&16 ubyte 4 piz 2224>>&16 ubyte 5 pxr24 2225>>&16 ubyte 6 b44 2226>>&16 ubyte 7 b44a 2227>>&16 ubyte 8 dwaa 2228>>&16 ubyte 9 dwab 2229>>&16 ubyte >9 unknown 2230>8 search/0x1000 dataWindow\0 \b, dataWindow: 2231>>&10 ulelong x (%d 2232>>&14 ulelong x %d)- 2233>>&18 ulelong x \b(%d 2234>>&22 ulelong x %d) 2235>8 search/0x1000 displayWindow\0 \b, displayWindow: 2236>>&10 ulelong x (%d 2237>>&14 ulelong x %d)- 2238>>&18 ulelong x \b(%d 2239>>&22 ulelong x %d) 2240>8 search/0x1000 lineOrder\0 \b, lineOrder: 2241>>&14 ubyte 0 increasing y 2242>>&14 ubyte 1 decreasing y 2243>>&14 ubyte 2 random y 2244>>&14 ubyte >2 unknown 2245 2246# SMPTE Digital Picture Exchange Format, SMPTE DPX 2247# 2248# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital 2249# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 2250# Robert Minsk <robertminsk at yahoo.com> 2251# Modified by Harry Mallon <hjmallon at gmail.com> 22520 string SDPX DPX image data, big-endian, 2253!:mime image/x-dpx 2254>0 use dpx_info 22550 string XPDS DPX image data, little-endian, 2256!:mime image/x-dpx 2257>0 use \^dpx_info 2258 22590 name dpx_info 2260>768 ubeshort <4 2261>>772 ubelong x %dx 2262>>776 ubelong x \b%d, 2263>768 ubeshort >3 2264>>776 ubelong x %dx 2265>>772 ubelong x \b%d, 2266>768 ubeshort 0 left to right/top to bottom 2267>768 ubeshort 1 right to left/top to bottom 2268>768 ubeshort 2 left to right/bottom to top 2269>768 ubeshort 3 right to left/bottom to top 2270>768 ubeshort 4 top to bottom/left to right 2271>768 ubeshort 5 top to bottom/right to left 2272>768 ubeshort 6 bottom to top/left to right 2273>768 ubeshort 7 bottom to top/right to left 2274 2275# From: Tom Hilinski <tom.hilinski@comcast.net> 2276# Update: Joerg Jenderek 2277# URL: https://en.wikipedia.org/wiki/NetCDF 2278# http://fileformats.archiveteam.org/wiki/NetCDF 2279# Reference: http://mark0.net/download/triddefs_xml.7z/defs/n/netcdf.trid.xml 2280# https://www.loc.gov/preservation/digital/formats/fdd/fdd000330.shtml 2281# Note: called "NetCDF Network Common Data Form" by TrID and 2282# "netCDF-3 Classic" by DROID via PUID fmt/282 2283# https://www.unidata.ucar.edu/packages/netcdf/ 22840 string CDF\001 2285# skip DROID fmt-282-signature-id-298.nc by test for more content bytes 2286>3 uleshort >0 NetCDF Data Format data 2287#!:mime application/netcdf 2288# https://reposcope.com/mimetype/application/x-netcdf 2289!:mime application/x-netcdf 2290!:ext nc 2291# https://fileinfo.com/extension/cdf 2292# https://www.file-extensions.org/cdf-file-extension-unidata-network-common-data-form 2293# in 1994 changed from CDF to NC file extension avoid a clash with other file formats 2294#!:ext nc/cdf 2295# 64-bit offset netcdf Classic https://www.unidata.ucar.edu/software/netcdf/docs/file_format_specifications 2296# Note: called "netCDF-3 64-bit" by DROID via PUID fmt/283 22970 string CDF\002 2298# skip DROID fmt-283-signature-id-299.nc by test for more content bytes 2299>3 uleshort >0 NetCDF Data Format data (64-bit offset) 2300#!:mime application/netcdf 2301!:mime application/x-netcdf 2302!:ext nc 2303 2304# From: Michael Liu 2305# https://en.wikipedia.org/wiki/Common_Data_Format 23060 ubelong 0xCDF30001 Common Data Format (Version 3 or later) data 2307!:mime application/x-cdf 2308 23090 ubelong 0xCDF26002 Common Data Format (Version 2.6 or 2.7) data 2310!:mime application/x-cdf 2311 23120 ubelong 0x0000FFFF Common Data Format (Version 2.5 or earlier) data 2313!:mime application/x-cdf 2314 2315# Hierarchical Data Format, used to facilitate scientific data exchange 2316# specifications at http://hdf.ncsa.uiuc.edu/ 2317# URL: http://fileformats.archiveteam.org/wiki/HDF 2318# https://en.wikipedia.org/wiki/Hierarchical_Data_Format 2319# Reference: https://portal.hdfgroup.org/download/attachments/52627880/HDF5_File_Format_Specification_Version-3.0.pdf 23200 ubelong 0x0e031301 Hierarchical Data Format (version 4) data 2321!:mime application/x-hdf 2322!:ext hdf/hdf4/h4 23230 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data 2324#!:mime application/x-hdf 2325!:mime application/x-hdf5 2326!:ext h5/hdf5/hdf/he5 2327512 string \211HDF\r\n\032\n 2328# skip Matlab v5 mat-file testhdf5_7.4_GLNX86.mat handled by ./mathematica 2329>0 string !MATLAB Hierarchical Data Format (version 5) with 512 bytes user block 2330#!:mime application/x-hdf 2331!:mime application/x-hdf5 2332!:ext h5/hdf5/hdf/he5 23331024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block 2334#!:mime application/x-hdf 2335!:mime application/x-hdf5 2336!:ext h5/hdf5/hdf/he5 23372048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block 2338#!:mime application/x-hdf 2339!:mime application/x-hdf5 2340!:ext h5/hdf5/hdf/he5 23414096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block 2342#!:mime application/x-hdf 2343!:mime application/x-hdf5 2344!:ext h5/hdf5/hdf/he5 2345 2346# From: Tobias Burnus <burnus@net-b.de> 2347# Xara (for a while: Corel Xara) is a graphic package, see 2348# http://www.xara.com/ for Windows and as GPL application for Linux 23490 string XARA\243\243 Xara graphics file 2350 2351# From: Joerg Jenderek 2352# URL: http://fileformats.archiveteam.org/wiki/Corel_Gallery 2353# Reference: http://mark0.net/download/triddefs_xml.7z/defs/b/bmf-corel.trid.xml 2354# Note: called "Corel Binary Material Format" by TrID and 2355# "Corel Flow" by XnView 23560 string @CorelBMF\n\rCorel\040Corporation Corel GALLERY Clipart 2357!:mime image/x-corel-bmf 2358!:ext bmf 2359 2360# https://www.cartesianinc.com/Tech/ 2361# Reference: http://fileformats.archiveteam.org/wiki/Cartesian_Perceptual_Compression 23620 string CPC\262 Cartesian Perceptual Compression image 2363!:mime image/x-cpi 2364!:ext cpi/cpc 2365 2366# From Albert Cahalan <acahalan@gmail.com> 2367# puredigital used it for the CVS disposable camcorder 2368#8 lelong 4 ZBM bitmap image data 2369#>4 uleshort x %u x 2370#>6 uleshort x %u 2371 2372# From Albert Cahalan <acahalan@gmail.com> 2373# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons 23740 string C565 OLPC firmware icon image data 2375>4 uleshort x %u x 2376>6 uleshort x %u 2377 2378# Applied Images - Image files from Cytovision 2379# Gustavo Junior Alves <gjalves@gjalves.com.br> 23800 string \xce\xda\xde\xfa Cytovision Metaphases file 23810 string \xed\xad\xef\xac Cytovision Karyotype file 23820 string \x0b\x00\x03\x00 Cytovision FISH Probe file 23830 string \xed\xfe\xda\xbe Cytovision FLEX file 23840 string \xed\xab\xed\xfe Cytovision FLEX file 23850 string \xad\xfd\xea\xad Cytovision RATS file 2386 2387# Wavelet Scalar Quantization format used in gray-scale fingerprint images 2388# From Tano M Fotang <mfotang@quanteq.com> 23890 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data 2390 2391# Type: PCO B16 image files 2392# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf 2393# From: Florian Philipp <florian.philipp@binarywings.net> 2394# Extension: .b16 2395# Description: Pixel image format produced by PCO Camware, typically used 2396# together with PCO cameras. 2397# Note: Different versions exist for e.g. 8 bit and 16 bit images. 2398# Documentation is incomplete. 23990 string/b PCO- PCO B16 image data 2400>12 ulelong x \b, %dx 2401>16 ulelong x \b%d 2402>20 ulelong 0 \b, short header 2403>20 ulelong -1 \b, extended header 2404>>24 ulelong 0 \b, grayscale 2405>>>36 ulelong 0 linear LUT 2406>>>36 ulelong 1 logarithmic LUT 2407>>>28 ulelong x [%d 2408>>>32 ulelong x \b,%d] 2409>>24 ulelong 1 \b, color 2410>>>64 ulelong 0 linear LUT 2411>>>64 ulelong 1 logarithmic LUT 2412>>>40 ulelong x r[%d 2413>>>44 ulelong x \b,%d] 2414>>>48 ulelong x g[%d 2415>>>52 ulelong x \b,%d] 2416>>>56 ulelong x b[%d 2417>>>60 ulelong x \b,%d] 2418 2419# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches 2420# From: Markus Heidelberg <markus.heidelberg at web.de> 24210 string/t [BitmapInfo2] Polar Monitor Bitmap text 2422!:mime image/x-polar-monitor-bitmap 2423 2424# From: Rick Richardson <rickrich@gmail.com> 2425# updated by: Joerg Jenderek 2426# URL: http://techmods.net/nuvi/ 24270 string GARMIN\ BITMAP\ 01 Garmin Bitmap file 2428# extension is also used for 2429# Sony SRF raw image (image/x-sony-srf) 2430# SRF map 2431# Terragen Surface Map (https://www.planetside.co.uk/terragen) 2432# FileLocator Pro search criteria file (https://www.mythicsoft.com/filelocatorpro) 2433!:ext srf 2434#!:mime image/x-garmin-srf 2435# version 1.00,2.00,2.10,2.40,2.50 2436>0x2f string >0 \b, version %4.4s 2437# width (2880,2881,3240) 2438>0x55 uleshort >0 \b, %dx 2439# height (80,90) 2440>>0x53 uleshort x \b%d 2441 2442# From: Joerg Jenderek 2443# URL: http://fileformats.archiveteam.org/wiki/Imageiio/imaginfo_(Ulead) 2444# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pe3.trid.xml 2445# Note: called "Ulead Imageiio/Imaginfo thumbnail" by TrID 24460 string IIO1$ Ulead Photo Explorer 3 2447#!:mime application/octet-stream 2448!:mime image/x-ulead-pe3 2449# IMAGEIIO.PE3 2450!:ext pe3 2451# look for DOS/Windows drive letter 2452>5 search/192/s :\\ 2453# directory or full name of corresponding imaginfo.pe3 like: "T:\SAMPLES\TEXTURES\SKY_SNOW\IIOE371.TMP "S:\PI3\PIMPACT3\PROGRAMS\PATTERNS\imaginfo.pe3" 2454>>&-1 string x "%s" 2455# look for DOS/Windows network path if no drive letter part 2456>5 default x 2457>>5 search/192/s \x5c\x5c 2458# full name of corresponding imaginfo.pe3 like: "\\Lionking\upi\SAMPLES\IMAGES\ANIMALS\imaginfo.pe3" 2459>>>&0 string x "%s" 2460# Type: Ulead Photo Explorer5 (.pe5) 2461# URL: http://fileformats.archiveteam.org/wiki/Imageiio/imaginfo_(Ulead) 2462# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pe4.trid.xml 2463# From: Simon Horman <horms@debian.org> 2464# Update: Joerg Jenderek 2465# Note: some called "Ulead Imageiio/Imaginfo thumbnail" by TrID 2466# and used in various Ulead applications 24670 string IIO2H Ulead Photo Explorer 4 or 5 2468#!:mime application/octet-stream 2469!:mime image/x-ulead-pe4 2470# IMAGEIIO.PE4 2471!:ext pe4/pe5 2472# look in most samples for JPEG signature like: SAMPLES/IMAGES/SCENES/IMAGINFO.PE4 2473>0x4c2 search/0xE02/s JFIF with JPEG image data 2474>>&-6 use jpeg 2475# near the end list of image names like: Img0001.pcd 1116012L.JPG NCARD4.TPL 2476# 2477# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pe3-imaginfo.trid.xml 247811 string \001\0\0\0\0 2479# check for version 3 part 2480>19 string \0\001\0\003\0 2481>>0 use ulead-imaginfo 2482# From: Joerg Jenderek 2483# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pe4-imaginfo.trid.xml 248411 string \001\0\0\0\0 2485# check for version 4 part 2486>19 string \0\0\0\004\0 2487>>0 use ulead-imaginfo 2488# display information about Ulead Imaginfo thumbnail (version, directory, image extension) 24890 name ulead-imaginfo 2490>22 ubyte x Ulead Imaginfo thumbnail 2491#!:mime application/octet-stream 2492!:mime image/x-ulead-imaginfo 2493>22 ubyte =3 \b, version 3 2494# IMAGINFO.PE3 2495!:ext pe3 2496>22 ubyte =4 \b, version 4 2497# IMAGINFO.PE4 2498!:ext pe4 2499# MAYBE ALSO VERSION 5 ? 2500#>22 ubyte =5 \b, version 5 2501#!:ext pe5 2502>22 ubyte x 2503# look for DOS/Windows driver letter 2504>>4 search/192/s :\x5c 2505# skip f:\Programme\iPhoto Plus 4\Template\Business Cards\IMAGINFO.PE4 2506# by looking for driver letter in range A-Z 2507>>>&-1 ubyte >0x40 2508# directory path like: "E:\iPE\CDSample\Images\Scenes" "D:\XmasCard\Samples" "C:\TEMP\PLANTS" 2509>>>>&-5 pstring/l >0 \b, "%s" 2510# look for DOS/Windows network path if no valid drive letter part 2511>>>&-1 default x 2512>>>>4 search/192/s \x5c\x5c 2513# directory path like: "\\FSX\SYS\OPPS\IPE.ENG\TEMPLATE\BUSINESS" "\\Lionking\upi\SAMPLES\IMAGES\ANIMALS" 2514>>>>>&-4 pstring/l >0 \b, "%s" 2515# look for DOS/Windows network path if no drive letter part 2516>>4 default x 2517>>>4 search/192/s \x5c\x5c 2518# directory path like: "\\FSX\SYS\opps\ipe.eng\samples" "\\DANIEL\IPE_CD\IPE.ITA" 2519>>>>&-4 pstring/l >0 \b, "%s" 2520# look for point character inside image names 2521>56 search/38/s . 2522# image name extension like: bmp jpg pcd tpl 2523>>&1 string x with %-.3s images 2524# Summary: Ulead Pattern image (Corel Corporation) 2525# URL: https://en.wikipedia.org/wiki/Ulead_Systems 2526# https://www.file-extensions.org/pst-file-extension-ulead-pattern-image-format 2527# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pst-ulead.trid.xml 2528# From: Joerg Jenderek 2529# Note: used also by CorelDraw Essentials 3 version 13.0.0.800 2530# there seems to exist other versions 25310 ubelong 0xFFFF0100 2532>8 search/21 PresetInfo Ulead pattern image 2533#!:mime application/octet-stream 2534!:mime image/x-ulead-pst 2535!:ext pst 2536# string length like: 16 18 19 21 24 2537#>>4 uleshort x n=%u 2538# like: BlendPresetInfo DropShadowPresetInfo FileNewPresetInfo VectorExtrudePresetInfo EnvelopePresetInfo ContourPresetInfo DistortionPresetInfo 2539>>4 pstring/h x "%s" 2540 2541# Type: X11 cursor 2542# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup 2543# From: Mathias Brodala <info@noctus.net> 25440 string Xcur X11 cursor 2545 2546# Type: Olympus ORF raw images. 2547# URL: https://libopenraw.freedesktop.org/wiki/Olympus_ORF 2548# From: Adam Buchbinder <adam.buchbinder@gmail.com> 25490 string MMOR Olympus ORF raw image data, big-endian 2550!:mime image/x-olympus-orf 25510 string IIRO Olympus ORF raw image data, little-endian 2552!:mime image/x-olympus-orf 25530 string IIRS Olympus ORF raw image data, little-endian 2554!:mime image/x-olympus-orf 2555 2556# Type: files used in modern AVCHD camcoders to store clip information 2557# Extension: .cpi 2558# From: Alexander Danilov <alexander.a.danilov@gmail.com> 25590 string HDMV0100 AVCHD Clip Information 2560 2561# From: Adam Buchbinder <adam.buchbinder@gmail.com> 2562# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ 2563# Radiance HDR; usually has .pic or .hdr extension. 25640 string #?RADIANCE\n Radiance HDR image data 2565!:mime image/vnd.radiance 2566 2567# From: Adam Buchbinder <adam.buchbinder@gmail.com> 2568# URL: https://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf 2569# Used by the pfstools packages. The regex matches for the image size could 2570# probably use some work. The MIME type is made up; if there's one in 2571# actual common use, it should replace the one below. 25720 string PFS1\x0a PFS HDR image data 2573#!mime image/x-pfs 2574>1 regex [0-9]*\ \b, %s 2575>>1 regex \ [0-9]{4} \bx%s 2576 2577# Type: Foveon X3F 2578# URL: https://www.photofo.com/downloads/x3f-raw-format.pdf 2579# From: Adam Buchbinder <adam.buchbinder@gmail.com> 2580# Note that the MIME type isn't defined anywhere that I can find; if 2581# there's a canonical type for this format, it should replace this one. 25820 string FOVb Foveon X3F raw image data 2583!:mime image/x-x3f 2584>6 uleshort x \b, version %d. 2585>4 uleshort x \b%d 2586>28 ulelong x \b, %dx 2587>32 ulelong x \b%d 2588 2589# Paint.NET file 2590# From Adam Buchbinder <adam.buchbinder@gmail.com> 25910 string PDN3 Paint.NET image data 2592!:mime image/x-paintnet 2593 2594# Not really an image. 2595# From: "Tano M. Fotang" <mfotang@quanteq.com> 25960 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) 2597 2598# doc: https://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip 2599# example: https://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip 260090 ubequad 0x574D50484F544F00 JPEG-XR Image 2601>98 ubyte&0x08 =0x08 \b, hard tiling 2602>99 ubyte&0x80 =0x80 \b, tiling present 2603>99 ubyte&0x40 =0x40 \b, codestream present 2604>99 ubyte&0x38 x \b, spatial xform= 2605>99 ubyte&0x38 0x00 \bTL 2606>99 ubyte&0x38 0x08 \bBL 2607>99 ubyte&0x38 0x10 \bTR 2608>99 ubyte&0x38 0x18 \bBR 2609>99 ubyte&0x38 0x20 \bBT 2610>99 ubyte&0x38 0x28 \bRB 2611>99 ubyte&0x38 0x30 \bLT 2612>99 ubyte&0x38 0x38 \bLB 2613>100 ubyte&0x80 =0x80 \b, short header 2614>>102 ubeshort+1 x \b, %d 2615>>104 ubeshort+1 x \bx%d 2616>100 ubyte&0x80 =0x00 \b, long header 2617>>102 ubelong+1 x \b, %x 2618>>106 ubelong+1 x \bx%x 2619>101 ubeshort&0xf x \b, bitdepth= 2620>>101 ubeshort&0xf 0x0 \b1-WHITE=1 2621>>101 ubeshort&0xf 0x1 \b8 2622>>101 ubeshort&0xf 0x2 \b16 2623>>101 ubeshort&0xf 0x3 \b16-SIGNED 2624>>101 ubeshort&0xf 0x4 \b16-FLOAT 2625>>101 ubeshort&0xf 0x5 \b(reserved 5) 2626>>101 ubeshort&0xf 0x6 \b32-SIGNED 2627>>101 ubeshort&0xf 0x7 \b32-FLOAT 2628>>101 ubeshort&0xf 0x8 \b5 2629>>101 ubeshort&0xf 0x9 \b10 2630>>101 ubeshort&0xf 0xa \b5-6-5 2631>>101 ubeshort&0xf 0xb \b(reserved %d) 2632>>101 ubeshort&0xf 0xc \b(reserved %d) 2633>>101 ubeshort&0xf 0xd \b(reserved %d) 2634>>101 ubeshort&0xf 0xe \b(reserved %d) 2635>>101 ubeshort&0xf 0xf \b1-BLACK=1 2636>101 ubeshort&0xf0 x \b, colorfmt= 2637>>101 ubeshort&0xf0 0x00 \bYONLY 2638>>101 ubeshort&0xf0 0x10 \bYUV240 2639>>101 ubeshort&0xf0 0x20 \bYWV422 2640>>101 ubeshort&0xf0 0x30 \bYWV444 2641>>101 ubeshort&0xf0 0x40 \bCMYK 2642>>101 ubeshort&0xf0 0x50 \bCMYKDIRECT 2643>>101 ubeshort&0xf0 0x60 \bNCOMPONENT 2644>>101 ubeshort&0xf0 0x70 \bRGB 2645>>101 ubeshort&0xf0 0x80 \bRGBE 2646>>101 ubeshort&0xf0 >0x80 \b(reserved %#x) 2647 2648# From: Johan van der Knijff <johan.vanderknijff@kb.nl> 2649# 2650# BPG (Better Portable Graphics) format 2651# https://bellard.org/bpg/ 2652# http://fileformats.archiveteam.org/wiki/BPG 2653# 26540 string \x42\x50\x47\xFB BPG (Better Portable Graphics) 2655!:mime image/bpg 2656 2657# From: Joerg Jenderek 2658# URL: https://en.wikipedia.org/wiki/Apple_Icon_Image_format 26590 string icns Mac OS X icon 2660!:mime image/x-icns 2661!:apple ????icns 2662!:ext icns 2663>4 ubelong >0 2664# file size 2665>>4 ubelong x \b, %d bytes 2666# icon type 2667>>8 string x \b, "%4.4s" type 2668 2669# TIM images 2670# URL: http://fileformats.archiveteam.org/wiki/TIM_(PlayStation_graphics) 2671# Reference: https://mrclick.zophar.net/TilEd/download/timgfx.txt 2672# Update: Joerg Jenderek 2673# Note: called as "PSX TIM *bpp bitmap" by bitmap-tim-*.trid.xml 2674# verified as "TIM PSX" by XnView `nconvert -fullinfo *.tim` and 2675# by RECOIL `recoil2png -o TMP.PNG input.tim; file TMP.PNG` and often 2676# as "PSX TIM" by ImageMagick version 7.1.0-10 command `identify *.tim` 2677# here signed integers are used but according to Kaitai unsigned 26780 ulelong 0x00000010 2679# 32 Flag bits *cttt; c~CLUT flag t~type 000~4BPP 001~8BPP 010~16BPP 011~24BPP 100~Mixed 2680#>4 ulelong x FLAGS=%#x 2681# 12+Size of CLUT (2Ch for 4BPP; 20Ch 40Ch 60Ch 80Ch C0Ch for 8BPP) or 2682# +image data size (800Ch 2000Ch 2580C for 16BPP) (02000003h for dBase memo test.dbt) 2683#>8 ulelong x \b, 12+CLUT or data size=%#8.8x 2684# CLUT or data size remainder is 12 (Ch), but 03 for dBase memo test.dbt 2685#>8 ubyte&0x0F =0x0C \b, SIZE REMAINDER IS 12 2686# skip dBase III memo test.dbt with invalid flags 22D10189h 2687>4 ulelong&0xffFFffF0 =0 Sony PlayStation PSX image, 2688# file (version 5.40) labeled the above entry as "TIM image" 2689!:mime image/x-sony-tim 2690!:ext tim 2691#>>4 ulelong&0x00000007 x \b, BPP~%u 2692# 4BPP and 8BPP examples exist with CLUT or without CLUT 2693>>4 ulelong&0x07 0x0 4-Bit, 2694>>4 ulelong&0x07 0x1 8-Bit, 2695# 16BPP and 24BPP examples have no CLUT 2696>>4 ulelong 0x2 15-Bit, 2697>>4 ulelong 0x3 24-Bit, 2698# no example 2699>>4 ulelong&0x07 0x4 Mixed-Bit, 2700# CLUT flag set 2701>>4 ulelong &8 2702# 12 + size of CLUT like: 1000Ch 800Ch 400Ch 40Ch and 2FEh (KAGE.TIM) 2703#>>>(8.l+8) ulelong x \b, 12+CLUT SIZE=%#8.8x 2704>>>(8.l+12) uleshort x Pixel at (%d, 2705>>>(8.l+14) uleshort x \b%d) Size= 2706# image width (to get actual width multiply by 4 for 4BPP and by 2 for 8BPP) 2707>>>>4 ulelong 0x8 2708>>>>>(8.l+16) uleshort*4 x \b%d 2709>>>>4 ulelong 0x9 2710>>>>>(8.l+16) uleshort*2 x \b%d 2711# image height like: 32 64 128 144 160 208 256 2712>>>(8.l+18) uleshort x \bx%d, 2713>>>4 ulelong 0x8 16 CLUT Entries at 2714>>>4 ulelong 0x9 256 CLUT Entries at 2715>>>12 uleshort x (%d, 2716>>>14 uleshort x \b%d) 2717# no Color LookUp Table (CLUT) 2718>>4 ulelong ^8 2719# image origin X Y 2720>>>12 uleshort x Pixel at (%d, 2721>>>14 uleshort x \b%d) Size= 2722# real image width = multiply by 4 (4BPP) 2 (8BPP) 1 (16BPP) 2/3 (24BPP) 2723>>>>4 ulelong 0x0 2724>>>>>16 uleshort*4 x \b%d 2725>>>>4 ulelong 0x1 2726>>>>>16 uleshort*2 x \b%d 2727>>>>4 ulelong 0x2 2728>>>>>16 uleshort x \b%d 2729>>>>4 ulelong 0x3 2730# GRR: NOT working 2731#>>>>>16 uleshort*2/3 x \b%d 2732>>>>>16 uleshort x \b2/3*%d 2733# mixed format width not explained! 2734>>>>4 ulelong 0x4 2735>>>>>16 uleshort x \b%d 2736# image height like: 64 240 256 2737>>>18 uleshort x \bx%d 2738# TIM image data 2739 2740# MDEC streams 27410 ulelong 0x80010160 MDEC video stream, 2742>16 uleshort x %dx 2743>18 uleshort x \b%d 2744#>8 ulelong x %d frames 2745#>4 uleshort x secCount=%d; 2746#>6 uleshort x nSectors=%d; 2747#>12 ulelong x frameSize=%d; 2748 2749# BS encoded bitstreams 27502 uleshort 0x3800 BS image, 2751# GRR: the above line is also true for binary Computer Graphics Metafile SAB00012.CGM with long parameter length 56 (=38h) 2752>6 uleshort x Version %d, 2753>4 uleshort x Quantization %d, 2754>0 uleshort x (Decompresses to %d words) 2755 2756# Type: farbfeld image. 2757# Url: http://tools.suckless.org/farbfeld/ 2758# From: Ian D. Scott <ian@iandouglasscott.com> 2759# 27600 string farbfeld farbfeld image data, 2761>8 ubelong x %dx 2762>12 ubelong x \b%d 2763 2764# Type: Microsoft DirectDraw Surface (DXGI formats) 2765# URL: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 2766# From: Morten Hustveit <morten@debian.org> 2767# Updated by: David Korth <gerbilsoft@gerbilsoft.com> 27680 name ms-directdraw-dx10 2769>0 ulelong x \b, DXGI format: 2770>0 ulelong 1 R32G32B32A32_TYPELESS 2771>0 ulelong 2 R32G32B32A32_FLOAT 2772>0 ulelong 3 R32G32B32A32_UINT 2773>0 ulelong 4 R32G32B32A32_SINT 2774>0 ulelong 5 R32G32B32_TYPELESS 2775>0 ulelong 6 R32G32B32_FLOAT 2776>0 ulelong 7 R32G32B32_UINT 2777>0 ulelong 8 R32G32B32_SINT 2778>0 ulelong 9 R16G16B16A16_TYPELESS 2779>0 ulelong 10 R16G16B16A16_FLOAT 2780>0 ulelong 11 R16G16B16A16_UNORM 2781>0 ulelong 12 R16G16B16A16_UINT 2782>0 ulelong 13 R16G16B16A16_SNORM 2783>0 ulelong 14 R16G16B16A16_SINT 2784>0 ulelong 15 R32G32_TYPELESS 2785>0 ulelong 16 R32G32_FLOAT 2786>0 ulelong 17 R32G32_UINT 2787>0 ulelong 18 R32G32_SINT 2788>0 ulelong 19 R32G8X24_TYPELESS 2789>0 ulelong 20 D32_FLOAT_S8X24_UINT 2790>0 ulelong 21 R32_FLOAT_X8X24_TYPELESS 2791>0 ulelong 22 X32_TYPELESS_G8X24_UINT 2792>0 ulelong 23 R10G10B10A2_TYPELESS 2793>0 ulelong 24 R10G10B10A2_UNORM 2794>0 ulelong 25 R10G10B10A2_UINT 2795>0 ulelong 26 R11G11B10_FLOAT 2796>0 ulelong 27 R8G8B8A8_TYPELESS 2797>0 ulelong 28 R8G8B8A8_UNORM 2798>0 ulelong 29 R8G8B8A8_UNORM_SRGB 2799>0 ulelong 30 R8G8B8A8_UINT 2800>0 ulelong 31 R8G8B8A8_SNORM 2801>0 ulelong 32 R8G8B8A8_SINT 2802>0 ulelong 33 R16G16_TYPELESS 2803>0 ulelong 34 R16G16_FLOAT 2804>0 ulelong 35 R16G16_UNORM 2805>0 ulelong 36 R16G16_UINT 2806>0 ulelong 37 R16G16_SNORM 2807>0 ulelong 38 R16G16_SINT 2808>0 ulelong 39 R32_TYPELESS 2809>0 ulelong 40 D32_FLOAT 2810>0 ulelong 41 R32_FLOAT 2811>0 ulelong 42 R32_UINT 2812>0 ulelong 43 R32_SINT 2813>0 ulelong 44 R24G8_TYPELESS 2814>0 ulelong 45 D24_UNORM_S8_UINT 2815>0 ulelong 46 R24_UNORM_X8_TYPELESS 2816>0 ulelong 47 X24_TYPELESS_G8_UINT 2817>0 ulelong 48 R8G8_TYPELESS 2818>0 ulelong 49 R8G8_UNORM 2819>0 ulelong 50 R8G8_UINT 2820>0 ulelong 51 R8G8_SNORM 2821>0 ulelong 52 R8G8_SINT 2822>0 ulelong 53 R16_TYPELESS 2823>0 ulelong 54 R16_FLOAT 2824>0 ulelong 55 D16_UNORM 2825>0 ulelong 56 R16_UNORM 2826>0 ulelong 57 R16_UINT 2827>0 ulelong 58 R16_SNORM 2828>0 ulelong 59 R16_SINT 2829>0 ulelong 60 R8_TYPELESS 2830>0 ulelong 61 R8_UNORM 2831>0 ulelong 62 R8_UINT 2832>0 ulelong 63 R8_SNORM 2833>0 ulelong 64 R8_SINT 2834>0 ulelong 65 A8_UNORM 2835>0 ulelong 66 R1_UNORM 2836>0 ulelong 67 R9G9B9E5_SHAREDEXP 2837>0 ulelong 68 R8G8_B8G8_UNORM 2838>0 ulelong 69 G8R8_G8B8_UNORM 2839>0 ulelong 70 BC1_TYPELESS 2840>0 ulelong 71 BC1_UNORM 2841>0 ulelong 72 BC1_UNORM_SRGB 2842>0 ulelong 73 BC2_TYPELESS 2843>0 ulelong 74 BC2_UNORM 2844>0 ulelong 75 BC2_UNORM_SRGB 2845>0 ulelong 76 BC3_TYPELESS 2846>0 ulelong 77 BC3_UNORM 2847>0 ulelong 78 BC3_UNORM_SRGB 2848>0 ulelong 79 BC4_TYPELESS 2849>0 ulelong 80 BC4_UNORM 2850>0 ulelong 81 BC4_SNORM 2851>0 ulelong 82 BC5_TYPELESS 2852>0 ulelong 83 BC5_UNORM 2853>0 ulelong 84 BC5_SNORM 2854>0 ulelong 85 B5G6R5_UNORM 2855>0 ulelong 86 B5G5R5A1_UNORM 2856>0 ulelong 87 B8G8R8A8_UNORM 2857>0 ulelong 88 B8G8R8X8_UNORM 2858>0 ulelong 89 R10G10B10_XR_BIAS_A2_UNORM 2859>0 ulelong 90 B8G8R8A8_TYPELESS 2860>0 ulelong 91 B8G8R8A8_UNORM_SRGB 2861>0 ulelong 92 B8G8R8X8_TYPELESS 2862>0 ulelong 93 B8G8R8X8_UNORM_SRGB 2863>0 ulelong 94 BC6H_TYPELESS 2864>0 ulelong 95 BC6H_UF16 2865>0 ulelong 96 BC6H_SF16 2866>0 ulelong 97 BC7_TYPELESS 2867>0 ulelong 98 BC7_UNORM 2868>0 ulelong 99 BC7_UNORM_SRGB 2869>0 ulelong 100 AYUV 2870>0 ulelong 101 Y410 2871>0 ulelong 102 Y416 2872>0 ulelong 103 NV12 2873>0 ulelong 104 P010 2874>0 ulelong 105 P016 2875>0 ulelong 106 420_OPAQUE 2876>0 ulelong 107 YUY2 2877>0 ulelong 108 Y210 2878>0 ulelong 109 Y216 2879>0 ulelong 110 NV11 2880>0 ulelong 111 AI44 2881>0 ulelong 112 IA44 2882>0 ulelong 113 P8 2883>0 ulelong 114 A8P8 2884>0 ulelong 115 B4G4R4A4_UNORM 2885 2886>0 ulelong 116 XBOX_R10G10B10_7E3_A2_FLOAT 2887>0 ulelong 117 XBOX_R10G10B10_6E4_A2_FLOAT 2888>0 ulelong 118 XBOX_D16_UNORM_S8_UINT 2889>0 ulelong 119 XBOX_R16_UNORM_X8_TYPELESS 2890>0 ulelong 120 XBOX_X16_TYPELESS_G8_UINT 2891 2892>0 ulelong 130 DXGI_FORMAT_P208 2893>0 ulelong 131 DXGI_FORMAT_V208 2894>0 ulelong 132 DXGI_FORMAT_V408 2895 2896>0 ulelong 133 ASTC_4X4_TYPELESS 2897>0 ulelong 134 ASTC_4X4_UNORM 2898>0 ulelong 135 ASTC_4X4_UNORM_SRGB 2899>0 ulelong 137 ASTC_5X4_TYPELESS 2900>0 ulelong 138 ASTC_5X4_UNORM 2901>0 ulelong 139 ASTC_5X4_UNORM_SRGB 2902>0 ulelong 141 ASTC_5X5_TYPELESS 2903>0 ulelong 142 ASTC_5X5_UNORM 2904>0 ulelong 143 ASTC_5X5_UNORM_SRGB 2905>0 ulelong 145 ASTC_6X5_TYPELESS 2906>0 ulelong 146 ASTC_6X5_UNORM 2907>0 ulelong 147 ASTC_6X5_UNORM_SRGB 2908>0 ulelong 149 ASTC_6X6_TYPELESS 2909>0 ulelong 150 ASTC_6X6_UNORM 2910>0 ulelong 151 ASTC_6X6_UNORM_SRGB 2911>0 ulelong 153 ASTC_8X5_TYPELESS 2912>0 ulelong 154 ASTC_8X5_UNORM 2913>0 ulelong 155 ASTC_8X5_UNORM_SRGB 2914>0 ulelong 157 ASTC_8X6_TYPELESS 2915>0 ulelong 158 ASTC_8X6_UNORM 2916>0 ulelong 159 ASTC_8X6_UNORM_SRGB 2917>0 ulelong 161 ASTC_8X8_TYPELESS 2918>0 ulelong 162 ASTC_8X8_UNORM 2919>0 ulelong 163 ASTC_8X8_UNORM_SRGB 2920>0 ulelong 165 ASTC_10X5_TYPELESS 2921>0 ulelong 166 ASTC_10X5_UNORM 2922>0 ulelong 167 ASTC_10X5_UNORM_SRGB 2923>0 ulelong 169 ASTC_10X6_TYPELESS 2924>0 ulelong 170 ASTC_10X6_UNORM 2925>0 ulelong 171 ASTC_10X6_UNORM_SRGB 2926>0 ulelong 173 ASTC_10X8_TYPELESS 2927>0 ulelong 174 ASTC_10X8_UNORM 2928>0 ulelong 175 ASTC_10X8_UNORM_SRGB 2929>0 ulelong 177 ASTC_10X10_TYPELESS 2930>0 ulelong 178 ASTC_10X10_UNORM 2931>0 ulelong 179 ASTC_10X10_UNORM_SRGB 2932>0 ulelong 181 ASTC_12X10_TYPELESS 2933>0 ulelong 182 ASTC_12X10_UNORM 2934>0 ulelong 183 ASTC_12X10_UNORM_SRGB 2935>0 ulelong 185 ASTC_12X12_TYPELESS 2936>0 ulelong 186 ASTC_12X12_UNORM 2937>0 ulelong 187 ASTC_12X12_UNORM_SRGB 2938 2939>0 ulelong 190 XBOX_R10G10B10_SNORM_A2_UNORM 2940>0 ulelong 189 XBOX_R4G4_UNORM 2941>0 ulelong 0xFFFFFFFF DXGI_FORMAT_FORCE_UINT 2942 2943# Type: Microsoft DirectDraw Surface (common data) 2944# URL: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 2945# From: Morten Hustveit <morten@debian.org> 2946# Updated by: David Korth <gerbilsoft@gerbilsoft.com> 29470 name ms-directdraw-surface 2948>0x10 ulelong x %u x 2949>0x0C ulelong x %u 2950# Color depth. 2951>0x58 ulelong >0 \b, %u-bit color 2952# Determine the pixel format. 2953>0x50 ulelong&0x4 4 2954# FIXME: Handle DX10 and XBOX formats. 2955>>0x54 string DX10 2956>>>0x80 use ms-directdraw-dx10 2957>>0x54 string !DX10 \b, compressed using %.4s 2958>0x50 ulelong&0x2 0x2 \b, alpha only 2959>0x50 ulelong&0x200 0x200 \b, YUV 2960>0x50 ulelong&0x20000 0x20000 \b, luminance 2961# RGB pixel format 2962>0x50 ulelong&0x40 0x40 2963 2964# Determine the RGB format using the color masks. 2965# ulequad order: 0xGGGGGGGGRRRRRRRR, 0xAAAAAAAABBBBBBBB 2966 2967>>0x58 ulelong 16 2968 2969# NOTE: 15-bit color formats usually have 16-bit listed as the color depth. 2970>>>0x5C ulequad 0x000003E000007C00 2971>>>>0x64 ulequad 0x000000000000001F \b, RGB555 2972>>>0x5C ulequad 0x000003E000001F00 2973>>>>0x64 ulequad 0x000000000000007C \b, BGR555 2974 2975>>>0x5C ulequad 0x000007E00000F800 2976>>>>0x64 ulequad 0x000000000000001F \b, RGB565 2977>>>0x5C ulequad 0x000007E000001F00 2978>>>>0x64 ulequad 0x00000000000000F8 \b, BGR565 2979 2980>>>0x5C ulequad 0x000000F000000F00 2981>>>>0x64 ulequad 0x0000F0000000000F \b, ARGB4444 2982>>>0x5C ulequad 0x000000F00000000F 2983>>>>0x64 ulequad 0x0000F00000000F00 \b, ABGR4444 2984 2985>>>0x5C ulequad 0x00000F000000F000 2986>>>>0x64 ulequad 0x0000000F000000F0 \b, RGBA4444 2987>>>0x5C ulequad 0x00000F00000000F0 2988>>>>0x64 ulequad 0x0000000F0000F000 \b, BGRA4444 2989 2990>>>0x5C ulequad 0x000000F000000F00 2991>>>>0x64 ulequad 0x000000000000000F \b, xRGB4444 2992>>>0x5C ulequad 0x000000F00000000F 2993>>>>0x64 ulequad 0x0000000000000F00 \b, xBGR4444 2994 2995>>>0x5C ulequad 0x00000F000000F000 2996>>>>0x64 ulequad 0x00000000000000F0 \b, RGBx4444 2997>>>0x5C ulequad 0x00000F00000000F0 2998>>>>0x64 ulequad 0x000000000000F000 \b, BGRx4444 2999 3000>>>0x5C ulequad 0x000003E000007C00 3001>>>>0x64 ulequad 0x000080000000001F \b, ARGB1555 3002>>>0x5C ulequad 0x000003E000001F00 3003>>>>0x64 ulequad 0x000080000000007C \b, ABGR1555 3004>>>0x5C ulequad 0x000007C00000F800 3005>>>>0x64 ulequad 0x000000010000003E \b, RGBA5551 3006>>>0x5C ulequad 0x000007C00000003E 3007>>>>0x64 ulequad 0x000000010000F800 \b, BGRA5551 3008 3009>>88 ulelong 24 3010>>>0x5C ulequad 0x0000FF0000FF0000 3011>>>>0x64 ulequad 0x00000000000000FF \b, RGB888 3012>>>0x5C ulequad 0x0000FF00000000FF 3013>>>>0x64 ulequad 0x0000000000FF0000 \b, BGR888 3014 3015>>88 ulelong 32 3016>>>0x5C ulequad 0x0000FF0000FF0000 3017>>>>0x64 ulequad 0xFF000000000000FF \b, ARGB8888 3018>>>0x5C ulequad 0x0000FF00000000FF 3019>>>>0x64 ulequad 0xFF00000000FF0000 \b, ABGR8888 3020 3021>>>0x5C ulequad 0x00FF0000FF000000 3022>>>>0x64 ulequad 0x000000FF0000FF00 \b, RGBA8888 3023>>>0x5C ulequad 0x00FF00000000FF00 3024>>>>0x64 ulequad 0x000000FFFF000000 \b, BGBA8888 3025 3026>>>0x5C ulequad 0x0000FF0000FF0000 3027>>>>0x64 ulequad 0x00000000000000FF \b, xRGB8888 3028>>>0x5C ulequad 0x0000FF00000000FF 3029>>>>0x64 ulequad 0x0000000000FF0000 \b, xBGR8888 3030 3031>>>0x5C ulequad 0x00FF0000FF000000 3032>>>>0x64 ulequad 0x000000000000FF00 \b, RGBx8888 3033>>>0x5C ulequad 0x00FF00000000FF00 3034>>>>0x64 ulequad 0x00000000FF000000 \b, BGBx8888 3035 3036# Less common 32-bit color formats. 3037>>>0x5C ulequad 0xFFFF00000000FFFF 3038>>>>0x64 ulequad 0x0000000000000000 \b, G16R16 3039>>>0x5C ulequad 0x0000FFFFFFFF0000 3040>>>>0x64 ulequad 0x0000000000000000 \b, R16G16 3041 3042>>>0x5C ulequad 0x000FFC003FF00000 3043>>>>0x64 ulequad 0xC0000000000003FF \b, A2R10G10B10 3044>>>0x5C ulequad 0x000FFC00000003FF 3045>>>>0x64 ulequad 0xC00000003FF00000 \b, A2B10G10R10 3046 3047# Type: Microsoft DirectDraw Surface 3048# URL: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 3049# From: Morten Hustveit <morten@debian.org> 3050# Updated by: David Korth <gerbilsoft@gerbilsoft.com> 30510 string/b DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS): 3052>0 use ms-directdraw-surface 3053 3054# Type: Sega PVR image. 3055# From: David Korth <gerbilsoft@gerbilsoft.com> 3056# References: 3057# - https://fabiensanglard.net/Mykaruga/tools/segaPVRFormat.txt 3058# - https://github.com/yazgoo/pvrx2png 3059# - https://github.com/nickworonekin/puyotools 3060 3061# Sega PVR header. 30620 name sega-pvr-image-header 3063>0x0C uleshort x %u x 3064>0x0E uleshort x %u 3065# Image format. 3066>0x08 ubyte 0 \b, ARGB1555 3067>0x08 ubyte 1 \b, RGB565 3068>0x08 ubyte 2 \b, ARGB4444 3069>0x08 ubyte 3 \b, YUV442 3070>0x08 ubyte 4 \b, Bump 3071>0x08 ubyte 5 \b, 4bpp 3072>0x08 ubyte 6 \b, 8bpp 3073# Image data type. 3074>0x09 ubyte 0x01 \b, square twiddled 3075>0x09 ubyte 0x02 \b, square twiddled & mipmap 3076>0x09 ubyte 0x03 \b, VQ 3077>0x09 ubyte 0x04 \b, VQ & mipmap 3078>0x09 ubyte 0x05 \b, 8-bit CLUT twiddled 3079>0x09 ubyte 0x06 \b, 4-bit CLUT twiddled 3080>0x09 ubyte 0x07 \b, 8-bit direct twiddled 3081>0x09 ubyte 0x08 \b, 4-bit direct twiddled 3082>0x09 ubyte 0x09 \b, rectangle 3083>0x09 ubyte 0x0B \b, rectangular stride 3084>0x09 ubyte 0x0D \b, rectangular twiddled 3085>0x09 ubyte 0x10 \b, small VQ 3086>0x09 ubyte 0x11 \b, small VQ & mipmap 3087>0x09 ubyte 0x12 \b, square twiddled & mipmap 3088 3089# Sega PVR image. 30900 string PVRT 3091>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: 3092>>0x20 use ms-directdraw-surface 3093>0x10 ubelong !0x44445320 Sega PVR image: 3094>>0 use sega-pvr-image-header 3095 3096# Sega PVR image with GBIX. 30970 string GBIX 3098>0x10 string PVRT 3099>>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: 3100>>>0x20 use ms-directdraw-surface 3101>>0x10 ubelong !0x44445320 Sega PVR image: 3102>>>0x10 use sega-pvr-image-header 3103>>0x08 ulelong x \b, global index = %u 3104 3105# Sega GVR header. 31060 name sega-gvr-image-header 3107>0x0C ubeshort x %u x 3108>0x0E ubeshort x %u 3109# Image data format. 3110>0x0B ubyte 0 \b, I4 3111>0x0B ubyte 1 \b, I8 3112>0x0B ubyte 2 \b, IA4 3113>0x0B ubyte 3 \b, IA8 3114>0x0B ubyte 4 \b, RGB565 3115>0x0B ubyte 5 \b, RGB5A3 3116>0x0B ubyte 6 \b, ARGB8888 3117>0x0B ubyte 8 \b, CI4 3118>0x0B ubyte 9 \b, CI8 3119>0x0B ubyte 14 \b, DXT1 3120 3121# Sega GVR image. 31220 string GVRT Sega GVR image: 3123>0x10 use sega-gvr-image-header 3124 3125# Sega GVR image with GBIX. 31260 string GBIX 3127>0x10 string GVRT Sega GVR image: 3128>>0x10 use sega-gvr-image-header 3129>>0x08 ubelong x \b, global index = %u 3130 3131# Sega GVR image with GCIX. (Wii) 31320 string GCIX 3133>0x10 string GVRT Sega GVR image: 3134>>0x10 use sega-gvr-image-header 3135>>0x08 ubelong x \b, global index = %u 3136 3137# Light Field Picture 3138# Documentation: http://optics.miloush.net/lytro/TheFileFormat.aspx 3139# Typical file extensions: .lfp .lfr .lfx 3140 31410 ubelong 0x894C4650 3142>4 ubelong 0x0D0A1A0A 3143>12 ubelong 0x00000000 Lytro Light Field Picture 3144>8 ubelong x \b, version %d 3145 3146# Type: Vision Research Phantom CINE Format 3147# URL: https://www.phantomhighspeed.com/ 3148# URL2: http://phantomhighspeed.force.com/vriknowledge/servlet/fileField?id=0BEU0000000Cfyk 3149# From: Harry Mallon <hjmallon at gmail.com> 3150# 3151# This has a short "CI" code but the 44 is the size of the struct which is 3152# stable 31530 string CI 3154>2 uleshort 44 Vision Research CINE Video, 3155>>4 uleshort 0 Grayscale, 3156>>4 uleshort 1 JPEG Compressed, 3157>>4 uleshort 2 RAW, 3158>>6 uleshort x version %d, 3159>>20 ulelong x %d frames, 3160>>48 ulelong x %dx 3161>>52 ulelong x \b%d 3162 3163# Type: ARRI Raw Image 3164# Info: SMPTE RDD30:2014 3165# From: Harry Mallon <hjmallon at gmail.com> 31660 string ARRI ARRI ARI image data, 3167>4 ulelong 0x78563412 little-endian, 3168>4 ulelong 0x12345678 big-endian, 3169>12 ulelong x version %d, 3170>20 ulelong x %dx 3171>24 ulelong x \b%d 3172 3173# Type: Khronos KTX texture. 3174# From: David Korth <gerbilsoft@gerbilsoft.com> 3175# Reference: https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ 3176 3177# glEnum decoding. 3178# NOTE: Only the most common formats are listed here. 31790 name khronos-ktx-glEnum 3180>0 ulelong 0x1907 \b, RGB 3181>0 ulelong 0x1908 \b, RGBA 3182>0 ulelong 0x1909 \b, LUMINANCE 3183>0 ulelong 0x190A \b, LUMINANCE_ALPHA 3184>0 ulelong 0x80E1 \b, BGR 3185>0 ulelong 0x80E2 \b, BGRA 3186>0 ulelong 0x83A0 \b, RGB_S3TC 3187>0 ulelong 0x83A1 \b, RGB4_S3TC 3188>0 ulelong 0x83A2 \b, RGBA_S3TC 3189>0 ulelong 0x83A3 \b, RGBA4_S3TC 3190>0 ulelong 0x83A4 \b, RGBA_DXT5_S3TC 3191>0 ulelong 0x83A5 \b, RGBA4_DXT5_S3TC 3192>0 ulelong 0x83F0 \b, COMPRESSED_RGB_S3TC_DXT1_EXT 3193>0 ulelong 0x83F1 \b, COMPRESSED_RGBA_S3TC_DXT1_EXT 3194>0 ulelong 0x83F2 \b, COMPRESSED_RGBA_S3TC_DXT3_EXT 3195>0 ulelong 0x83F3 \b, COMPRESSED_RGBA_S3TC_DXT5_EXT 3196>0 ulelong 0x8D64 \b, ETC1_RGB8_OES 3197>0 ulelong 0x9270 \b, COMPRESSED_R11_EAC 3198>0 ulelong 0x9271 \b, COMPRESSED_SIGNED_R11_EAC 3199>0 ulelong 0x9272 \b, COMPRESSED_RG11_EAC 3200>0 ulelong 0x9273 \b, COMPRESSED_SIGNED_RG11_EAC 3201>0 ulelong 0x9274 \b, COMPRESSED_RGB8_ETC2 3202>0 ulelong 0x9275 \b, COMPRESSED_SRGB8_ETC2 3203>0 ulelong 0x9276 \b, COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 3204>0 ulelong 0x9277 \b, COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 3205>0 ulelong 0x9278 \b, COMPRESSED_RGBA2_ETC2_EAC 3206>0 ulelong 0x9279 \b, COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 3207>0 ulelong 0x93B0 \b, COMPRESSED_RGBA_ASTC_4x4_KHR 3208>0 ulelong 0x93B1 \b, COMPRESSED_RGBA_ASTC_5x4_KHR 3209>0 ulelong 0x93B2 \b, COMPRESSED_RGBA_ASTC_5x5_KHR 3210>0 ulelong 0x93B3 \b, COMPRESSED_RGBA_ASTC_6x5_KHR 3211>0 ulelong 0x93B4 \b, COMPRESSED_RGBA_ASTC_6x6_KHR 3212>0 ulelong 0x93B5 \b, COMPRESSED_RGBA_ASTC_8x5_KHR 3213>0 ulelong 0x93B6 \b, COMPRESSED_RGBA_ASTC_8x6_KHR 3214>0 ulelong 0x93B7 \b, COMPRESSED_RGBA_ASTC_8x8_KHR 3215>0 ulelong 0x93B8 \b, COMPRESSED_RGBA_ASTC_10x5_KHR 3216>0 ulelong 0x93B9 \b, COMPRESSED_RGBA_ASTC_10x6_KHR 3217>0 ulelong 0x93BA \b, COMPRESSED_RGBA_ASTC_10x8_KHR 3218>0 ulelong 0x93BB \b, COMPRESSED_RGBA_ASTC_10x10_KHR 3219>0 ulelong 0x93BC \b, COMPRESSED_RGBA_ASTC_12x10_KHR 3220>0 ulelong 0x93BD \b, COMPRESSED_RGBA_ASTC_12x12_KHR 3221>0 ulelong 0x93D0 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 3222>0 ulelong 0x93D1 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 3223>0 ulelong 0x93D2 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 3224>0 ulelong 0x93D3 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 3225>0 ulelong 0x93D4 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 3226>0 ulelong 0x93D5 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 3227>0 ulelong 0x93D6 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 3228>0 ulelong 0x93D7 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 3229>0 ulelong 0x93D8 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 3230>0 ulelong 0x93D9 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 3231>0 ulelong 0x93DA \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 3232>0 ulelong 0x93DB \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 3233>0 ulelong 0x93DC \b, COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 3234>0 ulelong 0x93DD \b, COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 3235 3236# Endian-specific KTX header. 3237# TODO: glType (all textures I've seen so far are GL_UNSIGNED_BYTE) 32380 name khronos-ktx-endian-header 3239>20 ulelong x \b, %u 3240>24 ulelong >1 x %u 3241>28 ulelong >1 x %u 3242>8 ulelong >0 3243>>8 use khronos-ktx-glEnum 3244>8 ulelong 0 3245>>12 use khronos-ktx-glEnum 3246 3247# Main KTX header. 3248# Determine endianness, then check the rest of the header. 32490 string \xABKTX\ 11\xBB\r\n\x1A\n Khronos KTX texture 3250>12 ulelong 0x04030201 (little-endian) 3251>>16 use khronos-ktx-endian-header 3252>12 ubelong 0x04030201 (big-endian) 3253>>16 use \^khronos-ktx-endian-header 3254 3255# Type: Khronos KTX2 texture. 3256# From: David Korth <gerbilsoft@gerbilsoft.com> 3257# Based on draft19. 3258# Reference: http://github.khronos.org/KTX-Specification/ 3259 3260# Supercompression enum. 32610 name khronos-ktx2-supercompression 3262>0 ulelong 1 BasisLZ 3263>0 ulelong 2 Zstandard 3264>0 ulelong 3 ZLIB 3265 3266# Vulkan format identifier. 3267# NOTE: Formats prohibited from KTX2 are commented out. 32680 name khronos-ktx2-vkFormat 3269>0 ulelong 0 UNDEFINED 3270>0 ulelong 1 R4G4_UNORM_PACK8 3271>0 ulelong 2 R4G4B4A4_UNORM_PACK16 3272>0 ulelong 3 B4G4R4A4_UNORM_PACK16 3273>0 ulelong 4 R5G6B5_UNORM_PACK16 3274>0 ulelong 5 B5G6R5_UNORM_PACK16 3275>0 ulelong 6 R5G5B5A1_UNORM_PACK16 3276>0 ulelong 7 B5G5R5A1_UNORM_PACK16 3277>0 ulelong 8 A1R5G5B5_UNORM_PACK16 3278>0 ulelong 9 R8_UNORM 3279>0 ulelong 10 R8_SNORM 3280#>0 ulelong 11 R8_USCALED 3281#>0 ulelong 12 R8_SSCALED 3282>0 ulelong 13 R8_UINT 3283>0 ulelong 14 R8_SINT 3284>0 ulelong 15 R8_SRGB 3285>0 ulelong 16 R8G8_UNORM 3286>0 ulelong 17 R8G8_SNORM 3287#>0 ulelong 18 R8G8_USCALED 3288#>0 ulelong 19 R8G8_SSCALED 3289>0 ulelong 20 R8G8_UINT 3290>0 ulelong 21 R8G8_SINT 3291>0 ulelong 22 R8G8_SRGB 3292>0 ulelong 23 R8G8B8_UNORM 3293>0 ulelong 24 R8G8B8_SNORM 3294#>0 ulelong 25 R8G8B8_USCALED 3295#>0 ulelong 26 R8G8B8_SSCALED 3296>0 ulelong 27 R8G8B8_UINT 3297>0 ulelong 28 R8G8B8_SINT 3298>0 ulelong 29 R8G8B8_SRGB 3299>0 ulelong 30 B8G8R8_UNORM 3300>0 ulelong 31 B8G8R8_SNORM 3301#>0 ulelong 32 B8G8R8_USCALED 3302#>0 ulelong 33 B8G8R8_SSCALED 3303>0 ulelong 34 B8G8R8_UINT 3304>0 ulelong 35 B8G8R8_SINT 3305>0 ulelong 36 B8G8R8_SRGB 3306>0 ulelong 37 R8G8B8A8_UNORM 3307>0 ulelong 38 R8G8B8A8_SNORM 3308#>0 ulelong 39 R8G8B8A8_USCALED 3309#>0 ulelong 40 R8G8B8A8_SSCALED 3310>0 ulelong 41 R8G8B8A8_UINT 3311>0 ulelong 42 R8G8B8A8_SINT 3312>0 ulelong 43 R8G8B8A8_SRGB 3313>0 ulelong 44 B8G8R8A8_UNORM 3314>0 ulelong 45 B8G8R8A8_SNORM 3315#>0 ulelong 46 B8G8R8A8_USCALED 3316#>0 ulelong 47 B8G8R8A8_SSCALED 3317>0 ulelong 48 B8G8R8A8_UINT 3318>0 ulelong 49 B8G8R8A8_SINT 3319>0 ulelong 50 B8G8R8A8_SRGB 3320#>0 ulelong 51 A8B8G8R8_UNORM_PACK32 3321#>0 ulelong 52 A8B8G8R8_SNORM_PACK32 3322#>0 ulelong 53 A8B8G8R8_USCALED_PACK32 3323#>0 ulelong 54 A8B8G8R8_SSCALED_PACK32 3324#>0 ulelong 55 A8B8G8R8_UINT_PACK32 3325#>0 ulelong 56 A8B8G8R8_SINT_PACK32 3326#>0 ulelong 57 A8B8G8R8_SRGB_PACK32 3327>0 ulelong 58 A2R10G10B10_UNORM_PACK32 3328>0 ulelong 59 A2R10G10B10_SNORM_PACK32 3329#>0 ulelong 60 A2R10G10B10_USCALED_PACK32 3330#>0 ulelong 61 A2R10G10B10_SSCALED_PACK32 3331>0 ulelong 62 A2R10G10B10_UINT_PACK32 3332>0 ulelong 63 A2R10G10B10_SINT_PACK32 3333>0 ulelong 64 A2B10G10R10_UNORM_PACK32 3334>0 ulelong 65 A2B10G10R10_SNORM_PACK32 3335#>0 ulelong 66 A2B10G10R10_USCALED_PACK32 3336#>0 ulelong 67 A2B10G10R10_SSCALED_PACK32 3337>0 ulelong 68 A2B10G10R10_UINT_PACK32 3338>0 ulelong 69 A2B10G10R10_SINT_PACK32 3339>0 ulelong 70 R16_UNORM 3340>0 ulelong 71 R16_SNORM 3341#>0 ulelong 72 R16_USCALED 3342#>0 ulelong 73 R16_SSCALED 3343>0 ulelong 74 R16_UINT 3344>0 ulelong 75 R16_SINT 3345>0 ulelong 76 R16_SFLOAT 3346>0 ulelong 77 R16G16_UNORM 3347>0 ulelong 78 R16G16_SNORM 3348#>0 ulelong 79 R16G16_USCALED 3349#>0 ulelong 80 R16G16_SSCALED 3350>0 ulelong 81 R16G16_UINT 3351>0 ulelong 82 R16G16_SINT 3352>0 ulelong 83 R16G16_SFLOAT 3353>0 ulelong 84 R16G16B16_UNORM 3354>0 ulelong 85 R16G16B16_SNORM 3355#>0 ulelong 86 R16G16B16_USCALED 3356#>0 ulelong 87 R16G16B16_SSCALED 3357>0 ulelong 88 R16G16B16_UINT 3358>0 ulelong 89 R16G16B16_SINT 3359>0 ulelong 90 R16G16B16_SFLOAT 3360>0 ulelong 91 R16G16B16A16_UNORM 3361>0 ulelong 92 R16G16B16A16_SNORM 3362#>0 ulelong 93 R16G16B16A16_USCALED 3363#>0 ulelong 94 R16G16B16A16_SSCALED 3364>0 ulelong 95 R16G16B16A16_UINT 3365>0 ulelong 96 R16G16B16A16_SINT 3366>0 ulelong 97 R16G16B16A16_SFLOAT 3367>0 ulelong 98 R32_UINT 3368>0 ulelong 99 R32_SINT 3369>0 ulelong 100 R32_SFLOAT 3370>0 ulelong 101 R32G32_UINT 3371>0 ulelong 102 R32G32_SINT 3372>0 ulelong 103 R32G32_SFLOAT 3373>0 ulelong 104 R32G32B32_UINT 3374>0 ulelong 105 R32G32B32_SINT 3375>0 ulelong 106 R32G32B32_SFLOAT 3376>0 ulelong 107 R32G32B32A32_UINT 3377>0 ulelong 108 R32G32B32A32_SINT 3378>0 ulelong 109 R32G32B32A32_SFLOAT 3379>0 ulelong 110 R64_UINT 3380>0 ulelong 111 R64_SINT 3381>0 ulelong 112 R64_SFLOAT 3382>0 ulelong 113 R64G64_UINT 3383>0 ulelong 114 R64G64_SINT 3384>0 ulelong 115 R64G64_SFLOAT 3385>0 ulelong 116 R64G64B64_UINT 3386>0 ulelong 117 R64G64B64_SINT 3387>0 ulelong 118 R64G64B64_SFLOAT 3388>0 ulelong 119 R64G64B64A64_UINT 3389>0 ulelong 120 R64G64B64A64_SINT 3390>0 ulelong 121 R64G64B64A64_SFLOAT 3391>0 ulelong 122 B10G11R11_UFLOAT_PACK32 3392>0 ulelong 123 E5B9G9R9_UFLOAT_PACK32 3393>0 ulelong 124 D16_UNORM 3394>0 ulelong 125 X8_D24_UNORM_PACK32 3395>0 ulelong 126 D32_SFLOAT 3396>0 ulelong 127 S8_UINT 3397>0 ulelong 128 D16_UNORM_S8_UINT 3398>0 ulelong 129 D24_UNORM_S8_UINT 3399>0 ulelong 130 D32_SFLOAT_S8_UINT 3400 3401>0 ulelong 131 BC1_RGB_UNORM_BLOCK 3402>0 ulelong 132 BC1_RGB_SRGB_BLOCK 3403>0 ulelong 133 BC1_RGBA_UNORM_BLOCK 3404>0 ulelong 134 BC1_RGBA_SRGB_BLOCK 3405>0 ulelong 135 BC2_UNORM_BLOCK 3406>0 ulelong 136 BC2_SRGB_BLOCK 3407>0 ulelong 137 BC3_UNORM_BLOCK 3408>0 ulelong 138 BC3_SRGB_BLOCK 3409>0 ulelong 139 BC4_UNORM_BLOCK 3410>0 ulelong 140 BC4_SNORM_BLOCK 3411>0 ulelong 141 BC5_UNORM_BLOCK 3412>0 ulelong 142 BC5_SNORM_BLOCK 3413>0 ulelong 143 BC6H_UFLOAT_BLOCK 3414>0 ulelong 144 BC6H_SFLOAT_BLOCK 3415>0 ulelong 145 BC7_UNORM_BLOCK 3416>0 ulelong 146 BC7_SRGB_BLOCK 3417 3418>0 ulelong 147 ETC2_R8G8B8_UNORM_BLOCK 3419>0 ulelong 148 ETC2_R8G8B8_SRGB_BLOCK 3420>0 ulelong 149 ETC2_R8G8B8A1_UNORM_BLOCK 3421>0 ulelong 150 ETC2_R8G8B8A1_SRGB_BLOCK 3422>0 ulelong 151 ETC2_R8G8B8A8_UNORM_BLOCK 3423>0 ulelong 152 ETC2_R8G8B8A8_SRGB_BLOCK 3424 3425>0 ulelong 153 EAC_R11_UNORM_BLOCK 3426>0 ulelong 154 EAC_R11_SNORM_BLOCK 3427>0 ulelong 155 EAC_R11G11_UNORM_BLOCK 3428>0 ulelong 156 EAC_R11G11_SNORM_BLOCK 3429 3430>0 ulelong 157 ASTC_4x4_UNORM_BLOCK 3431>0 ulelong 158 ASTC_4x4_SRGB_BLOCK 3432>0 ulelong 159 ASTC_5x4_UNORM_BLOCK 3433>0 ulelong 160 ASTC_5x4_SRGB_BLOCK 3434>0 ulelong 161 ASTC_5x5_UNORM_BLOCK 3435>0 ulelong 162 ASTC_5x5_SRGB_BLOCK 3436>0 ulelong 163 ASTC_6x5_UNORM_BLOCK 3437>0 ulelong 164 ASTC_6x5_SRGB_BLOCK 3438>0 ulelong 165 ASTC_6x6_UNORM_BLOCK 3439>0 ulelong 166 ASTC_6x6_SRGB_BLOCK 3440>0 ulelong 167 ASTC_8x5_UNORM_BLOCK 3441>0 ulelong 168 ASTC_8x5_SRGB_BLOCK 3442>0 ulelong 169 ASTC_8x6_UNORM_BLOCK 3443>0 ulelong 170 ASTC_8x6_SRGB_BLOCK 3444>0 ulelong 171 ASTC_8x8_UNORM_BLOCK 3445>0 ulelong 172 ASTC_8x8_SRGB_BLOCK 3446>0 ulelong 173 ASTC_10x5_UNORM_BLOCK 3447>0 ulelong 174 ASTC_10x5_SRGB_BLOCK 3448>0 ulelong 175 ASTC_10x6_UNORM_BLOCK 3449>0 ulelong 176 ASTC_10x6_SRGB_BLOCK 3450>0 ulelong 177 ASTC_10x8_UNORM_BLOCK 3451>0 ulelong 178 ASTC_10x8_SRGB_BLOCK 3452>0 ulelong 179 ASTC_10x10_UNORM_BLOCK 3453>0 ulelong 180 ASTC_10x10_SRGB_BLOCK 3454>0 ulelong 181 ASTC_12x10_UNORM_BLOCK 3455>0 ulelong 182 ASTC_12x10_SRGB_BLOCK 3456>0 ulelong 183 ASTC_12x12_UNORM_BLOCK 3457>0 ulelong 184 ASTC_12x12_SRGB_BLOCK 3458 3459>0 ulelong 1000156000 G8B8G8R8_422_UNORM 3460>0 ulelong 1000156001 B8G8R8G8_422_UNORM 3461>0 ulelong 1000156002 G8_B8_R8_3PLANE_420_UNORM 3462>0 ulelong 1000156003 G8_B8R8_2PLANE_420_UNORM 3463>0 ulelong 1000156004 G8_B8_R8_3PLANE_422_UNORM 3464>0 ulelong 1000156005 G8_B8R8_2PLANE_422_UNORM 3465>0 ulelong 1000156006 G8_B8_R8_3PLANE_444_UNORM 3466>0 ulelong 1000156007 R10X6_UNORM_PACK16 3467>0 ulelong 1000156008 R10X6G10X6_UNORM_2PACK16 3468>0 ulelong 1000156009 R10X6G10X6B10X6A10X6_UNORM_4PACK16 3469>0 ulelong 1000156010 G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 3470>0 ulelong 1000156011 B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 3471>0 ulelong 1000156012 G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 3472>0 ulelong 1000156013 G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 3473>0 ulelong 1000156014 G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 3474>0 ulelong 1000156015 G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 3475>0 ulelong 1000156016 G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 3476>0 ulelong 1000156017 R12X4_UNORM_PACK16 3477>0 ulelong 1000156018 R12X4G12X4_UNORM_2PACK16 3478>0 ulelong 1000156019 R12X4G12X4B12X4A12X4_UNORM_4PACK16 3479>0 ulelong 1000156020 G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 3480>0 ulelong 1000156021 B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 3481>0 ulelong 1000156022 G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 3482>0 ulelong 1000156023 G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 3483>0 ulelong 1000156024 G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 3484>0 ulelong 1000156025 G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 3485>0 ulelong 1000156026 G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 3486>0 ulelong 1000156027 G16B16G16R16_422_UNORM 3487>0 ulelong 1000156028 B16G16R16G16_422_UNORM 3488>0 ulelong 1000156029 G16_B16_R16_3PLANE_420_UNORM 3489>0 ulelong 1000156030 G16_B16R16_2PLANE_420_UNORM 3490>0 ulelong 1000156031 G16_B16_R16_3PLANE_422_UNORM 3491>0 ulelong 1000156032 G16_B16R16_2PLANE_422_UNORM 3492>0 ulelong 1000156033 G16_B16_R16_3PLANE_444_UNORM 3493 3494>0 ulelong 1000054000 PVRTC1_2BPP_UNORM_BLOCK_IMG 3495>0 ulelong 1000054001 PVRTC1_4BPP_UNORM_BLOCK_IMG 3496>0 ulelong 1000054002 PVRTC2_2BPP_UNORM_BLOCK_IMG 3497>0 ulelong 1000054003 PVRTC2_4BPP_UNORM_BLOCK_IMG 3498>0 ulelong 1000054004 PVRTC1_2BPP_SRGB_BLOCK_IMG 3499>0 ulelong 1000054005 PVRTC1_4BPP_SRGB_BLOCK_IMG 3500>0 ulelong 1000054006 PVRTC2_2BPP_SRGB_BLOCK_IMG 3501>0 ulelong 1000054007 PVRTC2_4BPP_SRGB_BLOCK_IMG 3502 3503>0 ulelong 1000066000 ASTC_4x4_SFLOAT_BLOCK_EXT 3504>0 ulelong 1000066001 ASTC_5x4_SFLOAT_BLOCK_EXT 3505>0 ulelong 1000066002 ASTC_5x5_SFLOAT_BLOCK_EXT 3506>0 ulelong 1000066003 ASTC_6x5_SFLOAT_BLOCK_EXT 3507>0 ulelong 1000066004 ASTC_6x6_SFLOAT_BLOCK_EXT 3508>0 ulelong 1000066005 ASTC_8x5_SFLOAT_BLOCK_EXT 3509>0 ulelong 1000066006 ASTC_8x6_SFLOAT_BLOCK_EXT 3510>0 ulelong 1000066007 ASTC_8x8_SFLOAT_BLOCK_EXT 3511>0 ulelong 1000066008 ASTC_10x5_SFLOAT_BLOCK_EXT 3512>0 ulelong 1000066009 ASTC_10x6_SFLOAT_BLOCK_EXT 3513>0 ulelong 1000066010 ASTC_10x8_SFLOAT_BLOCK_EXT 3514>0 ulelong 1000066011 ASTC_10x10_SFLOAT_BLOCK_EXT 3515>0 ulelong 1000066012 ASTC_12x10_SFLOAT_BLOCK_EXT 3516>0 ulelong 1000066013 ASTC_12x12_SFLOAT_BLOCK_EXT 3517 3518# Main KTX2 header. 35190 string \xABKTX\ 20\xBB\r\n\x1A\n Khronos KTX2 texture 3520>20 ulelong x \b, %u 3521>24 ulelong >1 x %u 3522>28 ulelong >1 x %u 3523>32 ulelong >1 \b, %u layers 3524>36 ulelong >1 \b, %u faces 3525>40 ulelong >1 \b, %u mipmaps 3526>44 ulelong >0 \b, 3527>>44 use khronos-ktx2-supercompression 3528>12 ulelong >0 \b, 3529>>12 use khronos-ktx2-vkFormat 3530 3531# Type: Valve VTF texture. 3532# From: David Korth <gerbilsoft@gerbilsoft.com> 3533# References: 3534# - https://developer.valvesoftware.com/wiki/Valve_Texture_Format 3535 3536# VTF image formats. 35370 name vtf-image-format 3538>0 ulelong 0 RGBA8888 3539>0 ulelong 1 ABGR8888 3540>0 ulelong 2 RGB888 3541>0 ulelong 3 BGR888 3542>0 ulelong 4 RGB565 3543>0 ulelong 5 I8 3544>0 ulelong 6 IA88 3545>0 ulelong 7 P8 3546>0 ulelong 8 A8 3547>0 ulelong 9 RGB888 (bluescreen) 3548>0 ulelong 10 BGR888 (bluescreen) 3549>0 ulelong 11 ARGB8888 3550>0 ulelong 12 BGRA8888 3551>0 ulelong 13 DXT1 3552>0 ulelong 14 DXT3 3553>0 ulelong 15 DXT5 3554>0 ulelong 16 BGRx8888 3555>0 ulelong 17 BGR565 3556>0 ulelong 18 BGRx5551 3557>0 ulelong 19 BGRA4444 3558>0 ulelong 20 DXT1+A1 3559>0 ulelong 21 BGRA5551 3560>0 ulelong 22 UV88 3561>0 ulelong 23 UVWQ8888 3562>0 ulelong 24 RGBA16161616F 3563>0 ulelong 25 RGBA16161616 3564>0 ulelong 26 UVLX8888 3565 3566# Main VTF header. 35670 string VTF\0 Valve Texture Format 3568>4 ulelong x v%u 3569>8 ulelong x \b.%u 3570>0x10 uleshort x \b, %u 3571>0x12 uleshort >1 x %u 3572>4 lequad 0x0000000700000002 3573>>0x3F uleshort >1 x %u 3574>0x18 uleshort >1 \b, %u frames 3575>0x38 ubyte x \b, mipmaps: %u 3576>0x34 ulelong >-1 \b, 3577>>0x34 use vtf-image-format 3578 3579# Type: Valve VTF3 (PS3) texture. 3580# From: David Korth <gerbilsoft@gerbilsoft.com> 35810 string VTF3 Valve Texture Format (PS3) 3582>0x14 ubeshort x \b, %u 3583>0x16 ubeshort x \b x %u 3584>0x10 ubelong&0x2000 0 \b, DXT1 3585>0x10 ubelong&0x2000 0x2000 \b, DXT5 3586 3587# Type: ASTC texture. 3588# From: David Korth <gerbilsoft@gerbilsoft.com> 3589# References: 3590# - https://stackoverflow.com/questions/22600678/determine-internal-format-of-given-astc-compressed-image-through-its-header 3591# - https://stackoverflow.com/a/22682244 35920 ulelong 0x5ca1ab13 ASTC 3593>4 ubyte x %u 3594>5 ubyte x \bx%u 3595>6 ubyte >1 \bx%u 3596# X, Y, and Z dimensions are stored as 24-bit LE. 3597# Pretend it's 32-bit and mask off the high byte. 3598>7 ulelong&0x00FFFFFF x texture, %u 3599>10 ulelong&0x00FFFFFF x x %u 3600>13 ulelong&0x00FFFFFF >1 x %u 3601 3602# Zebra Metafile graphic 3603# http://www.fileformat.info/format/zbr/egff.htm 36040 ubeshort 0x9a02 Zebra Metafile graphic 3605>2 uleshort 1 (version 1.x) 3606>2 uleshort 2 (version 1.1x or 1.2x) 3607>2 uleshort 3 (version 1.49) 3608>2 uleshort 4 (version 1.50) 3609>4 string x (comment = %s) 3610 3611# Microsoft Paint graphic 3612# http://www.fileformat.info/format/mspaint/egff.htm 36130 string DanM icrosoft Paint image data (version 1.x) 3614>4 uleshort x (%d 3615>>6 uleshort x x %d) 36160 string LinS Microsoft Paint image data (version 2.0) 3617>4 uleshort x (%d 3618>>6 uleshort x x %d) 3619 3620# reMarkable tablet internal file format (https://www.remarkable.com/) 3621# https://github.com/ax3l/lines-are-beautiful 3622# https://plasma.ninja/blog/devices/remarkable/binary/format/2017/12/26/\ 3623# reMarkable-lines-file-format.html#what-to-do-next 3624# from Axel Huebl 36250 string reMarkable 3626>11 string lines 3627>>17 string with 3628>>>22 string selections 3629>>>>33 string and 3630>>>>>37 string layers 3631>>>>>>43 ulelong x reMarkable tablet notebook lines, 1404 x 1872, %x page(s) 3632 3633# newer per-page files for the reMarkable 36340 string reMarkable 3635>11 string .lines 3636>>18 string file, 3637>>>24 string version= 3638>>>>32 ubyte x reMarkable tablet page (v%c), 1404 x 1872, 3639>>>>>43 ulelong x %d layer(s) 3640 3641# Type: PVR3 texture. 3642# From: David Korth <gerbilsoft@gerbilsoft.com> 3643# References: 3644# - http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf 3645 3646# PVR3 pixel formats. 36470 name pvr3-pixel-format 3648>0 ulelong 0 PVRTC 2bpp RGB 3649>0 ulelong 1 PVRTC 2bpp RGBA 3650>0 ulelong 2 PVRTC 4bpp RGB 3651>0 ulelong 3 PVRTC 4bpp RGBA 3652>0 ulelong 4 PVRTC-II 2bpp 3653>0 ulelong 5 PVRTC-II 4bpp 3654>0 ulelong 6 ETC1 3655>0 ulelong 7 DXT1 3656>0 ulelong 8 DXT2 3657>0 ulelong 9 DXT3 3658>0 ulelong 10 DXT4 3659>0 ulelong 11 DXT5 3660>0 ulelong 12 BC4 3661>0 ulelong 13 BC5 3662>0 ulelong 14 BC6 3663>0 ulelong 15 BC7 3664>0 ulelong 16 UYVY 3665>0 ulelong 17 YUY2 3666>0 ulelong 18 BW1bpp 3667>0 ulelong 19 R9G9B9E5 Shared Exponent 3668>0 ulelong 20 RGBG8888 3669>0 ulelong 21 GRGB8888 3670>0 ulelong 22 ETC2 RGB 3671>0 ulelong 23 ETC2 RGBA 3672>0 ulelong 24 ETC2 RGB A1 3673>0 ulelong 25 EAC R11 3674>0 ulelong 26 EAC RG11 3675>0 ulelong 27 ASTC_4x4 3676>0 ulelong 28 ASTC_5x4 3677>0 ulelong 29 ASTC_5x5 3678>0 ulelong 30 ASTC_6x5 3679>0 ulelong 31 ASTC_6x6 3680>0 ulelong 32 ASTC_8x5 3681>0 ulelong 33 ASTC_8x6 3682>0 ulelong 34 ASTC_8x8 3683>0 ulelong 35 ASTC_10x5 3684>0 ulelong 36 ASTC_10x6 3685>0 ulelong 37 ASTC_10x8 3686>0 ulelong 38 ASTC_10x10 3687>0 ulelong 39 ASTC_12x10 3688>0 ulelong 40 ASTC_12x12 3689>0 ulelong 41 ASTC_3x3x3 3690>0 ulelong 42 ASTC_4x3x3 3691>0 ulelong 43 ASTC_4x4x3 3692>0 ulelong 44 ASTC_4x4x4 3693>0 ulelong 45 ASTC_5x4x4 3694>0 ulelong 46 ASTC_5x5x4 3695>0 ulelong 47 ASTC_5x5x5 3696>0 ulelong 48 ASTC_6x5x5 3697>0 ulelong 49 ASTC_6x6x5 3698>0 ulelong 50 ASTC_6x6x6 3699 37000 string PVR\x03 PowerVR 3.0 texture: 3701>0x18 ulelong x %u x 3702>0x1C ulelong x %u 3703>0x20 ulelong >1 x %u 3704>0x08 ubyte x \b, 3705>0x0C ulelong 0 3706>>0x08 use pvr3-pixel-format 3707>0x0C ulelong !0 3708>>0x08 ubyte !0 %c 3709>>>0x0C ubyte !0 \b%u 3710>>0x09 ubyte !0 \b%c 3711>>>0x0D ubyte !0 \b%u 3712>>0x0A ubyte !0 \b%c 3713>>>0x0E ubyte !0 \b%u 3714>>0x0B ubyte !0 \b%c 3715>>>0x0F ubyte !0 \b%u 3716>0x10 ulelong 1 \b, sRGB 3717>0x04 ulelong&0x02 0x02 \b, premultiplied alpha 3718 37190 string \x03RVP PowerVR 3.0 texture: BE, 3720>0x18 ubelong x %u x 3721>0x1C ubelong x %u 3722>0x20 ubelong >1 x %u 3723>0x08 ubyte x \b, 3724>0x0C ubelong 0 3725>>0x08 use pvr3-pixel-format 3726>0x0C ubelong !0 3727>>0x0B ubyte !0 %c 3728>>>0x0F ubyte !0 \b%u 3729>>0x0A ubyte !0 \b%c 3730>>>0x0E ubyte !0 \b%u 3731>>0x09 ubyte !0 \b%c 3732>>>0x0D ubyte !0 \b%u 3733>>0x08 ubyte !0 \b%c 3734>>>0x0C ubyte !0 \b%u 3735>0x10 ubelong 1 \b, sRGB 3736>0x04 ubelong&0x02 0x02 \b, premultiplied alpha 3737 3738# Type: Microsoft Xbox XPR0 texture. 3739# From: David Korth <gerbilsoft@gerbilsoft.com> 3740# References: 3741# - https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/blob/develop/src/core/hle/D3D8/XbD3D8Types.h 3742 3743# XPR pixel formats. 37440 name xbox-xpr-pixel-format 3745>0 ubyte 0x00 L8 3746>0 ubyte 0x01 AL8 3747>0 ubyte 0x02 ARGB1555 3748>0 ubyte 0x03 RGB555 3749>0 ubyte 0x04 ARGB4444 3750>0 ubyte 0x05 RGB565 3751>0 ubyte 0x06 ARGB8888 3752>0 ubyte 0x07 xRGB8888 3753>0 ubyte 0x0B P8 3754>0 ubyte 0x0C DXT1 3755>0 ubyte 0x0E DXT2 3756>0 ubyte 0x0F DXT4 3757>0 ubyte 0x10 Linear ARGB1555 3758>0 ubyte 0x11 Linear RGB565 3759>0 ubyte 0x12 Linear ARGB8888 3760>0 ubyte 0x13 Linear L8 3761>0 ubyte 0x16 Linear R8B8 3762>0 ubyte 0x17 Linear G8B8 3763>0 ubyte 0x19 A8 3764>0 ubyte 0x1A A8L8 3765>0 ubyte 0x1B Linear AL8 3766>0 ubyte 0x1C Linear RGB555 3767>0 ubyte 0x1D Linear ARGB4444 3768>0 ubyte 0x1E Linear xRGB8888 3769>0 ubyte 0x1F Linear A8 3770>0 ubyte 0x20 Linear A8L8 3771>0 ubyte 0x24 YUY2 3772>0 ubyte 0x25 UYVY 3773>0 ubyte 0x27 L6V5U5 3774>0 ubyte 0x28 V8U8 3775>0 ubyte 0x29 R8B8 3776>0 ubyte 0x2A D24S8 3777>0 ubyte 0x2B F24S8 3778>0 ubyte 0x2C D16 3779>0 ubyte 0x2D F16 3780>0 ubyte 0x2E Linear D24S8 3781>0 ubyte 0x2F Linear F24S8 3782>0 ubyte 0x30 Linear D16 3783>0 ubyte 0x31 Linear F16 3784>0 ubyte 0x32 L16 3785>0 ubyte 0x33 V16U16 3786>0 ubyte 0x35 Linear L16 3787>0 ubyte 0x36 Linear V16U16 3788>0 ubyte 0x37 Linear L6V5U5 3789>0 ubyte 0x38 RGBA5551 3790>0 ubyte 0x39 RGBA4444 3791>0 ubyte 0x3A QWVU8888 3792>0 ubyte 0x3B BGRA8888 3793>0 ubyte 0x3C RGBA8888 3794>0 ubyte 0x3D Linear RGBA5551 3795>0 ubyte 0x3E Linear RGBA4444 3796>0 ubyte 0x3F Linear ABGR8888 3797>0 ubyte 0x40 Linear BGRA8888 3798>0 ubyte 0x41 Linear RGBA8888 3799>0 ubyte 0x64 Vertex Data 3800 38010 string XPR0 Microsoft Xbox XPR0 texture 3802>0x19 ubyte x \b, format: 3803>>0x19 use xbox-xpr-pixel-format 3804 3805# ILDA Image Data Transfer Format 3806# https://www.ilda.com/resources/StandardsDocs/ILDA_IDTF14_rev011.pdf 3807# 3808# Updated by Chuck Hein (laser@geekdude.com) 3809# 38100 string ILDA ILDA Image Data Transfer Format 3811>7 ubyte 0x00 3D Coordinates with Indexed Color 3812>7 ubyte 0x01 2D Coordinates with Indexed Color 3813>7 ubyte 0x02 Color Palette 3814>7 ubyte 0x04 3D Coordinates with True Color 3815>7 ubyte 0x05 2D Coordinates with True Color 3816>8 string >0 \b, palette %s 3817>16 string >0 \b, company %s 3818>24 ubeshort >0 \b, number of records %d 3819>>26 ubeshort x \b, palette number %d 3820>>28 ubeshort >0 \b, number of frames %d 3821>>30 ubyte >0 \b, projector number %d 3822 3823# Dropbox "lepton" compressed jpeg format 3824# https://github.com/dropbox/lepton 38250 ubelong&0xfffff0ff 0xcf84005a Lepton image file 3826>2 ubyte x (version %d) 3827 3828# Apple QuickTake camera raw images 3829# https://en.wikipedia.org/wiki/Apple_QuickTake 3830# dcraw can decode them 38310 name quicktake 3832>4 ubelong 8 3833>>544 ubeshort x \b, %dx 3834>>546 ubeshort x \b%d 3835>4 ubelong 4 3836>>546 ubeshort x \b, %dx 3837>>544 ubeshort x \b%d 3838 38390 string qktk Apple QuickTake 100 Raw Image 3840>0 use quicktake 3841 38420 string qktn 3843>4 ubyte 0 Apple QuickTake 150 Raw Image 3844>4 ubyte >0 Apple QuickTake 200 Raw Image 3845>0 use quicktake 3846 3847# From: Joerg Jenderek 3848# URL: http://fileformats.archiveteam.org/wiki/Corel_Photo-Paint_image 3849# Reference: http://blog.argasinski.eu/wp-content/uploads/2011/08/cpt-specification-0.01.pdf 38500 string CPT 3851>4 string FILE Corel Photo-Paint image, version 3852# version like 7, 9 or 8 3853>>3 ubyte x %c, 3854!:mime image/x-corel-cpt 3855!:ext cpt 3856# if blocks_array_offset available jump blockNumber*8 bytes 3857>>0x34 ulelong >0 3858>>>(0x28.l*8) ubyte x 3859# jump additional stored blocks_array_offset bytes forward to object block 3860>>>>&(0x34.l-1) ulelong x %u 3861# object height in pixels 3862>>>>>&0 ulelong x x %u 3863# if no blocks_array_offset available jump blockNumber*8 bytes 3864>>0x34 ulelong =0 3865>>>(0x28.l*8) ubyte x 3866# jump additional 0x13C bytes forward to object block 3867>>>>&0x13B ulelong x %u 3868>>>>>&0 ulelong x x %u 3869# image color model used 3870>>0x8 ulelong x 3871>>>0x8 ulelong 0x1 RGB 24 bits 3872>>>0x8 ulelong 0x3 CMYK 24 bits 3873>>>0x8 ulelong 0x5 greyscale 8 bits 3874>>>0x8 ulelong 0x6 black and white 1 bit 3875>>>0x8 ulelong 0xA RGB 8 bits 3876# palette_length number of colors * 3 in case of 8-bit RGB paletted image 3877# 0 otherwise. Allowed values: 0 or [1..256] * 3 3878#>>0xC ulelong >0 \b, palette length %u 3879>>>>0xC ulelong/3 <256 \b, %u colors 3880>>>0x8 ulelong 0xB LAB 3881>>>0x8 ulelong 0xC RGB 48 bits 3882>>>0x8 ulelong 0xE greyscale 16 bits 3883# this should not happen 3884>>>0x8 default x color model 3885>>>>0x8 ulelong x %#x 3886# bit 1 in CPT file flags: UCS-2 file comment present 3887>>0x31 ubyte &0x02 3888# look for comment marker 3889>>>0x100 search/0xc9d \4\2\0\0 3890# UCS-2 file comment 3891>>>>&0 lestring16 x "%s" 3892# if no UCS-2 is present show ANSI file comment[112] if available 3893>>0x31 ubyte&0x02 =0 3894>>>0x3C string >\0 "%-.112s" 3895# reserved seems to be always 0 3896#>>0x10 ulelong >0 \b, reserved1 %u 3897# horizontal real dpi = dpi_h * 25.4 / 10**6 3898>>0x18 ulelong x \b, %u micro dots/mm 3899# image vertical DPI in CPT DPI unit 3900#>>0x1C ulelong x \b, %u micro dots/mm 3901# reserved seems to be always 0 3902#>>0x20 ulelong >0 \b, reserved2 %u 3903#>>0x24 ulelong >0 \b, reserved3 %u 3904# blocks_count; number of CPT_Block blocks. Allowed values: > 0 3905>>0x28 ulelong x \b, %u block 3906# plural s 3907>>0x28 ulelong !1 \bs 3908# CPT file flags 3909# lower byte of CPT file flags: 0x94~CPT9FILE 0x01~often CPT7FILE 0x8C~CPT8FILE 3910#>>0x30 ubyte x \b, lower flags %#x 3911# upper byte of CPT file flags: 3912#>>0x31 ubyte >0 \b, upper flags %#x 3913# bit 2 in CPT file flags: unknown 3914#>>0x31 ubyte &0x04 \b, with UNKNOWN 3915# bits 3-7 in CPT file flags: unknown, seem to be often 0 3916# show unusual flag combinations 3917>>0x31 ubyte&0xFC >0 3918>>>0x30 uleshort x \b, flags %#4.4x 3919# reserved seems to be always 0 3920#>>0x32 uleshort >0 \b, reserved4 %#x 3921# blocks_array_offset is always 0 for CPT7 and CPT8 files created by PP7-PP8 3922# typical values like: 13Ch 154h 43Ch 4F0h DA8h 3923>>0x34 ulelong x \b, array offset %#x 3924# reserved seems to be often 0 3925>>0x38 ulelong >0 \b, reserved5 %#x 3926# possible next master block 3927#>>0x100 ubequad !0 \b, next block=%#llx... 3928# bit 0: ICC profile block present 3929>>0x31 ubyte &0x01 \b, with ICC profile 3930# check for characteristic string acsp of color profile for DEBUGGING 3931#>>>0x178 string x icc=%.4s 3932# display ICC/ICM color profile by ./icc 3933#>>>0x154 use color-profile 3934 3935# URL: http://fileformats.archiveteam.org/wiki/CorelDRAW 3936# https://en.wikipedia.org/wiki/CorelDRAW 3937# Reference: http://mark0.net/download/triddefs_xml.7z/defs/c/cdr-gen.trid.xml 3938# Note: called "CorelDRAW drawing (generic)" by TrID 3939# version til 2 WL-based; from version 3 til 13 handled by ./riff and from 14 zip based handled by ./archive 39400 ubelong&0xFFffF7ff 0x574C6500 Corel Draw Picture 3941#!:mime image/x-coreldraw 3942!:mime application/vnd.corel-draw 3943!:ext cdr 3944# Reference: http://mark0.net/download/triddefs_xml.7z/defs/c/cdr-corel-10.trid.xml 3945# Note: called "CorelDRAW drawing (v1.0)" by TrID and 3946# "CorelDraw Drawing" with version "1.0" by DROID via PUID fmt/467 3947# only DROID fmt-467-signature-id-726.cdr example 3948>2 ubyte 0x65 \b, version 1.0 3949#>>4 ubelong !0x45000000 \b, at 4 %#8.8x 3950# Reference: http://mark0.net/download/triddefs_xml.7z/defs/c/cdr-corel-20.trid.xml 3951# Note: called "CorelDRAW drawing (v2.0)" by TrID and 3952# "CorelDraw Drawing" with version "2.0" by DROID via PUID fmt/466 3953>2 ubyte 0x6D \b, version 2.0 3954# According to DROID 0xed080000 or 0x25050000 3955#>>4 ubelong !0xed080000 3956#>>>4 ubelong !0x25050000 \b, at 4 %#8.8x 3957 3958# Type: Crunch compressed texture. 3959# From: David Korth <gerbilsoft@gerbilsoft.com> 3960# References: 3961# - https://github.com/BinomialLLC/crunch/blob/44c8402e24441c7524ca364941fd224ab3b971e9/inc/crn_decomp.h#L267 39620 ubelong 0x4878004A Crunch compressed texture: 3963>0x0C ubeshort x %u x 3964>0x0E ubeshort x %u 3965>0x12 ubyte 0 \b, DXT1 3966>0x12 ubyte 1 \b, DXT3 3967>0x12 ubyte 2 \b, DXT5 3968>0x12 ubyte 3 \b, DXT5 CCxY 3969>0x12 ubyte 4 \b, DXT5 xGxR 3970>0x12 ubyte 5 \b, DXT5 xGBR 3971>0x12 ubyte 6 \b, DXT5 AGBR 3972>0x12 ubyte 7 \b, DXn XY 3973>0x12 ubyte 8 \b, DXn YX 3974>0x12 ubyte 9 \b, DXT5 Alpha 3975>0x12 ubyte 10 \b, ETC1 3976>0x10 ubyte >1 \b, %u images 3977>0x11 ubyte >1 \b, %u faces 3978# TODO: Flags at 0x13? (ubeshort) 3979 3980# Type: BasisLZ compressed texture. 3981# From: David Korth <gerbilsoft@gerbilsoft.com> 3982# References: 3983# - https://github.com/BinomialLLC/basis_universal/blob/master/spec/basis_spec.txt 39840 uleshort 0x4273 3985>0x04 uleshort 0x4D BasisLZ 3986>>0x02 uleshort x v%x compressed texture: 3987>>0x14 ubyte 0 ETC1S 3988>>0x14 ubyte 1 UASTC 4x4 3989>>0x0E ulelong&0xFFFFFF >1 \b, %u slices 3990>>0x11 ulelong&0xFFFFFF >1 \b, %u images 3991>>0x15 uleshort&0x02 2 \b, Y-flipped 3992 3993# MIME registration: https://www.iana.org/assignments/media-types/model/e57 3994# Sample files: http://www.libe57.org/data.html 3995# Reference implementation: http://www.libe57.org/ 3996# https://www.ri.cmu.edu/pub_files/2011/1/2011-huber-e57-v3.pdf 39970 string ASTM-E57 ASTM E57 three-dimensional model 3998!:mime model/e57 3999!:ext e57 4000 4001# QOI [Quite OK Image Format] images 4002# (Horia Mihai David, mihaidavid@posteo.net) 4003# 4004# QOI format by Dominic Szablewski <http://phoboslab.org/> 4005# <https://qoiformat.org/> 4006# 4007# Based on spec v1.0 (2022.01.05) <https://qoiformat.org/qoi-specification.pdf> 4008 40090 string qoif QOI image data 4010!:ext qoi 4011!:mime image/x-qoi 4012# See <https://github.com/phoboslab/qoi/issues/167> 4013>4 ubelong x %ux 4014>8 ubelong x \b%u, 4015>>13 ubyte 0 s 4016>>>12 ubyte 3 \bRGB 4017>>>12 ubyte 4 \bRGBA 4018>>>12 default x 4019>>>>12 ubyte x \b*bad channels %u* 4020>>>13 ubyte 0 (linear alpha) 4021>>13 ubyte 1 4022>>>12 ubyte 3 RGB 4023>>>12 ubyte 4 RGBA 4024>>>13 ubyte 1 (all channels linear) 4025>>13 default x 4026>>>13 ubyte x *bad colorspace %u* 4027 4028 4029# Type: Godot 3, 4 texture (pixel format) 4030# From: David Korth <gerbilsoft@gerbilsoft.com> 40310 name godot-pixel-format 4032>0 ulelong&0xFFFFF 0 L8 4033>0 ulelong&0xFFFFF 1 LA8 4034>0 ulelong&0xFFFFF 2 R8 4035>0 ulelong&0xFFFFF 3 RG8 4036>0 ulelong&0xFFFFF 4 RGB8 4037>0 ulelong&0xFFFFF 5 RGBA8 4038>0 ulelong&0xFFFFF 6 RGBA4444 4039>0 ulelong&0xFFFFF 7 RGB565 4040>0 ulelong&0xFFFFF 8 RF 4041>0 ulelong&0xFFFFF 9 RGF 4042>0 ulelong&0xFFFFF 10 RGBF 4043>0 ulelong&0xFFFFF 11 RGBAF 4044>0 ulelong&0xFFFFF 12 RH 4045>0 ulelong&0xFFFFF 13 RGH 4046>0 ulelong&0xFFFFF 14 RGBH 4047>0 ulelong&0xFFFFF 15 RGBAH 4048>0 ulelong&0xFFFFF 16 RGBE9995 4049>0 ulelong&0xFFFFF 17 DXT1 4050>0 ulelong&0xFFFFF 18 DXT3 4051>0 ulelong&0xFFFFF 19 DXT5 4052>0 ulelong&0xFFFFF 20 RGTC_R 4053>0 ulelong&0xFFFFF 21 RGTC_RG 4054>0 ulelong&0xFFFFF 22 BPTC_RGBA 4055>0 ulelong&0xFFFFF 23 BPTC_RGBF 4056>0 ulelong&0xFFFFF 24 BPTC_RGBFU 4057>0 ulelong&0xFFFFF 25 PVRTC1_2 4058>0 ulelong&0xFFFFF 26 PVRTC1_2A 4059>0 ulelong&0xFFFFF 27 PVRTC1_4 4060>0 ulelong&0xFFFFF 28 PVRTC1_4A 4061>0 ulelong&0xFFFFF 29 ETC 4062>0 ulelong&0xFFFFF 30 ETC2_R11 4063>0 ulelong&0xFFFFF 31 ETC2_R11S 4064>0 ulelong&0xFFFFF 32 ETC2_RG11 4065>0 ulelong&0xFFFFF 33 ETC2_RG11S 4066>0 ulelong&0xFFFFF 34 ETC2_RGB8 4067>0 ulelong&0xFFFFF 35 ETC2_RGBA8 4068>0 ulelong&0xFFFFF 36 ETC2_RGB8A1 4069>0 ulelong&0xFFFFF 37 ASTC_8x8 4070 4071# Type: Godot 3, 4 texture (rescale display, width) 4072# From: David Korth <gerbilsoft@gerbilsoft.com> 4073# Shows rescale value if it's not a power of 2. 40740 name godot-rescale-display-w 4075>0 uleshort 0 4076>0 uleshort 1 4077>0 uleshort 2 4078>0 uleshort 4 4079>0 uleshort 8 4080>0 uleshort 16 4081>0 uleshort 32 4082>0 uleshort 64 4083>0 uleshort 128 4084>0 uleshort 256 4085>0 uleshort 512 4086>0 uleshort 1024 4087>0 uleshort 2048 4088>0 uleshort 4096 4089>0 uleshort 8192 4090>0 uleshort 16384 4091>0 uleshort 32768 4092>0 default x 4093>>0 uleshort x (rescale to %u x 4094 4095# Type: Godot 3, 4 texture (rescale display, height) 4096# From: David Korth <gerbilsoft@gerbilsoft.com> 4097# Shows rescale value if it's not a power of 2. 40980 name godot-rescale-display-h 4099>0 clear x 4100>0 uleshort 0 4101>0 uleshort 1 4102>0 uleshort 2 4103>0 uleshort 4 4104>0 uleshort 8 4105>0 uleshort 16 4106>0 uleshort 32 4107>0 uleshort 64 4108>0 uleshort 128 4109>0 uleshort 256 4110>0 uleshort 512 4111>0 uleshort 1024 4112>0 uleshort 2048 4113>0 uleshort 4096 4114>0 uleshort 8192 4115>0 uleshort 16384 4116>0 uleshort 32768 4117>0 default x 4118>>0 uleshort x %u) 4119 4120# Type: Godot 3 texture 4121# From: David Korth <gerbilsoft@gerbilsoft.com> 4122# References: 4123# - https://github.com/godotengine/godot/blob/3.3/core/image.h 4124# - https://github.com/godotengine/godot/blob/3.3/scene/resources/texture.cpp 4125# - https://github.com/godotengine/godot/blob/3.3/scene/resources/texture.h 4126# TODO: Don't show "rescale to" if it matches the image size. 41270 string GDST Godot 3 texture: 4128!:ext stex 4129!:mime image/x-godot-stex 4130>4 uleshort x %u x 4131>8 uleshort x %u 4132>6 uleshort 0 \b, 4133>6 uleshort !0 4134>>6 use godot-rescale-display-w 4135>>10 use godot-rescale-display-h 4136>>10 uleshort x \b, 4137>16 ulelong&0x800000 !0 has mipmaps, 4138>16 ulelong&0x100000 0x100000 lossless encoding 4139>16 ulelong&0x200000 0x200000 lossy encoding 4140>16 ulelong&0x300000 0 4141>>16 use godot-pixel-format 4142 4143# Type: Godot 4 texture 4144# From: David Korth <gerbilsoft@gerbilsoft.com> 4145# References: 4146# - https://github.com/godotengine/godot/blob/master/core/io/image.h 4147# - https://github.com/godotengine/godot/blob/master/scene/resources/texture.cpp 4148# - https://github.com/godotengine/godot/blob/master/scene/resources/texture.h 4149# TODO: Don't show "rescale to" if it matches the image size. 41500 string GST2 Godot 4 texture 4151!:ext stex 4152!:mime image/x-godot-stex 4153>4 ulelong x v%u: 4154>0x28 uleshort x %u x 4155>0x2A uleshort x %u 4156>8 use godot-rescale-display-w 4157>12 use godot-rescale-display-h 4158>12 uleshort x \b, 4159>0x2C ulelong >1 %u mipmaps, 4160>0x30 use godot-pixel-format 4161>0x24 ulelong 1 \b, embedded PNG image 4162>0x24 ulelong 2 \b, embedded WebP image 4163>0x24 ulelong 3 \b, Basis Universal 4164 4165# Summary: iCEDraw graphic *.IDF 4166# URL: http://fileformats.archiveteam.org/wiki/ICEDraw 4167# Reference: http://mark0.net/download/triddefs_xml.7z/defs/i/idf-icedraw.trid.xml 4168# From: Joerg Jenderek 4169# Note: called "iCEDraw graphic" by TrID, "iCEDraw text" by FFmpeg and "iCE Draw" by Ansilove 4170# verified by FFmpeg command `ffprobe ICE-9605.IDF` and `ansilove -s SQ-FORCE.IDF` 41710 string \0041.4\0\0\0\0O\0 iCEDraw graphic 4172#!:mime application/octet-stream 4173!:mime image/x-idf 4174!:ext idf 4175 4176# Type: ColoRIX VGA Paint Image File (.rix/.sci/.scX) 4177# From: Eddy Jansson <github.com/eloj> 4178# Reference: https://www.fileformat.info/format/rix/spec/ 4179# 41800 name rix-header 4181>0 uleshort x \b, %u x 4182>2 uleshort x %u 4183# palette type: 4184# .. if direct color, low bits encode bpp 4185>4 ubyte&128 0 4186>>4 ubyte&127 x \b %u bpp (direct color) 4187# .. else palette 4188>4 ubyte&128 128 4189>>4 ubyte&7 0 \b x 2 4190>>4 ubyte&7 1 \b x 4 4191>>4 ubyte&7 2 \b x 8 4192>>4 ubyte&7 3 \b x 16 4193>>4 ubyte&7 4 \b x 32 4194>>4 ubyte&7 5 \b x 64 4195>>4 ubyte&7 6 \b x 128 4196>>4 ubyte&7 7 \b x 256 4197# storage type 4198#>5 ubyte&15 0 \b, Linear 4199>5 ubyte&15 1 \b, Planar (0213) 4200>5 ubyte&15 2 \b, Planar 4201>5 ubyte&15 3 \b, Text 4202>5 ubyte&15 4 \b, Planar lines 4203>5 ubyte&128 128 \b (compressed) 4204>5 ubyte&64 64 \b (extension) 4205>5 ubyte&32 32 \b (encrypted) 4206 42070 string RIX3 ColoRIX Image 4208>4 use rix-header 4209 42100 string RIX7 ColoRIX Slideshow 4211 4212# http://fileformats.archiveteam.org/wiki/PaperPort_(MAX) 42130 string ViG Visioneer PaperPort 4214>3 string Ae 2 4215>3 string Be 2 4216>3 string Cj 3-4 4217>3 string Em 5-7 4218>3 string Fk 8-12 4219>3 default x MAX 4220