1 2#------------------------------------------------------------------------------ 3# $File: images,v 1.227 2022/09/11 20:58:52 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 probaly all exanples 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 6550 string BEGMF clear text Computer Graphics Metafile 656 657# MGR bitmaps (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de) 6580 string yz MGR bitmap, modern format, 8-bit aligned 6590 string zz MGR bitmap, old format, 1-bit deep, 16-bit aligned 6600 string xz MGR bitmap, old format, 1-bit deep, 32-bit aligned 6610 string yx MGR bitmap, modern format, squeezed 662 663# Fuzzy Bitmap (FBM) images 6640 string %bitmap\0 FBM image data 665>30 long 0x31 \b, mono 666>30 long 0x33 \b, color 667 668# facsimile data 6691 string PC\ Research,\ Inc group 3 fax data 670>29 ubyte 0 \b, normal resolution (204x98 DPI) 671>29 ubyte 1 \b, fine resolution (204x196 DPI) 672# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at> 6730 string Sfff structured fax file 674 675# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net> 676# URL: http://fileformats.archiveteam.org/wiki/Award_BIOS_logo 677# Note: verified by XnView command `nconvert -fullinfo *.EPA` 6780 string \x11\x06 Award BIOS Logo, 136 x 84 679!:mime image/x-award-bioslogo 680!:ext epa 6810 string \x11\x09 Award BIOS Logo, 136 x 126 682!:mime image/x-award-bioslogo 683!:ext epa 684# https://telparia.com/fileFormatSamples/image/epa/IO.EPA 685# Note: by bitmap-awbm-v1x1009.trid.xml called "Award BIOS logo bitmap (128x126) (v1)" 686# verified by RECOIL `recoil2png -o tmp.png IO.EPA; file tmp.png` 6870 string \x10\x09 Award BIOS Logo, 128 x 126 688!:mime image/x-award-bioslogo 689!:ext epa 690#0 string \x07\x1f BIOS Logo corrupted? 691# http://www.blackfiveservices.co.uk/awbmtools.shtml 692# http://biosgfx.narod.ru/v3/ 693# http://biosgfx.narod.ru/abr-2/ 6940 string AWBM 695# Note: by bitmap-awbm.trid.xml called "Award BIOS logo bitmap (v2)" 696>4 uleshort <1981 Award BIOS Logo, version 2 697#>4 uleshort <1981 Award BIOS bitmap 698!:mime image/x-award-bioslogo2 699#!:mime image/x-award-bmp 700!:ext epa/bmp 701# image width is a multiple of 4 702>>4 uleshort&0x0003 0 703>>>4 uleshort x \b, %d 704>>>6 uleshort x x %d 705>>4 uleshort&0x0003 >0 \b, 706>>>4 uleshort&0x0003 =1 707>>>>4 uleshort x %d+3 708>>>4 uleshort&0x0003 =2 709>>>>4 uleshort x %d+2 710>>>4 uleshort&0x0003 =3 711>>>>4 uleshort x %d+1 712>>>6 uleshort x x %d 713# at offset 8 starts imagedata followed by "RGB " marker 714 715# PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) 716# https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\ 717# 28bitmap_information_header.29 718# Note: variant starting direct with DIB header see 719# http://fileformats.archiveteam.org/wiki/BMP 720# verified by ImageMagick version 6.8.9-8 command `identify *.dib` 7210 uleshort 40 722# skip bad samples like GAME by looking for valid number of color planes 723>12 uleshort 1 Device independent bitmap graphic 724!:mime image/x-ms-bmp 725!:apple ????BMPp 726!:ext dib 727>>4 ulelong x \b, %d x 728>>8 ulelong x %d x 729>>14 uleshort x %d 730# number of color planes (must be 1) 731#>>12 uleshort >1 \b, %u color planes 732# compression method: 0~no 1~RLE 8-bit/pixel 3~Huffman 1D 733#>>16 ulelong 3 \b, Huffman 1D compression 734>>16 ulelong >0 \b, %u compression 735# image size is the size of raw bitmap; a dummy 0 can be given for BI_RGB bitmaps 736>>20 ulelong x \b, image size %u 737# horizontal and vertical resolution of the image (pixel per metre, signed integer) 738>>24 ulelong >0 \b, resolution %d x 739>>>28 ulelong x %d px/m 740# number of colors in palette, or 0 to default to 2**n 741#>>32 ulelong >0 \b, %u colors 742# number of important colors used, or 0 when every color is important 743>>36 ulelong >0 \b, %u important colors 744# From: Joerg Jenderek 745# URL: http://fileformats.archiveteam.org/wiki/VBM_(VDC_BitMap) 746# Reference: http://csbruce.com/cbm/postings/csc19950906-1.txt 747# http://mark0.net/download/triddefs_xml.7z 748# defs/b/bitmap-vbm.trid.xml 749# defs/b/bitmap-vbm-v3.trid.xml 750# Note: called "VDC BitMap" by TrID 751# verified by RECOIL `recoil2png -o tmp.png coke_can.vbm; file tmp.png` 752# begin with a signature of 'B' 'M' 0xCB, followed by a version byte 2 or 3 753# Similar to the unrelated Windows BMP format 754# check for VDC bitmap and then display image dimension and version 7550 name bitmap-vbm 756>2 ubyte 0xCB VDC bitmap 757!:mime image/x-commodore-vbm 758# http://recoil.sourceforge.net/formats.html 759!:ext bm/vbm 760# the VBM format version number: 2 or 3 761>>3 ubyte x \b, version %u 762# width of the image in Hi/Lo format 763>>4 ubeshort x \b, %u 764# height of the image 765>>6 ubeshort x x %u 766# version 3 images have the following additional header information 767>>3 ubyte =3 768# data-encoding type: 0~uncompressed 1~RLE-compressed 769>>>8 ubyte 0 \b, uncompressed 770>>>8 ubyte 1 \b, RLE-compressed 771# byte code for general RLE repetitions 772#>>>9 ubyte x \b, RLE repetition code 0x%x 773# reserved := 0 774#>>>14 short >0 \b, reserved 0x%x 775# length of comment text; 0~no comment text 776#>>>16 ubeshort >0 \b, comment length %u 777>>>16 pstring/H >0 \b, comment "%s" 778# 7790 string BM 780# check for magic and version 2 of VDC bitmap or BMP with cbSize=715=CB02 781>2 ubeshort 0xCB02 782>>6 short =0 783>>>0 use bitmap-bmp 784# VDC bitmap height or maybe a few OS/2 BMP with nonzero "hotspot coordinates" 785>>6 short !0 786>>>0 use bitmap-vbm 787# check for magic and version 3 of VDC bitmap or BMP with cbSize=971=CB03 788>2 ubeshort 0xCB03 789# check for reserved value (=0) of VDC bitmap 790>>14 short =0 791>>>0 use bitmap-vbm 792# BMP with cbSize=????03CBh and dib header size != 0 793>>14 short !0 794>>>0 use bitmap-bmp 795# cbSize is size of header or file size of Windows BMP bitmap 796>2 default x 797>>0 use bitmap-bmp 7980 name bitmap-bmp 799>14 ulelong 12 PC bitmap, OS/2 1.x format 800!:mime image/bmp 801!:ext bmp 802>>18 uleshort x \b, %d x 803>>20 uleshort x %d 804# number of color planes (must be 1) 805#>>22 uleshort !1 \b, %u color planes 806# number of bits per pixel (color depth); found 4 8 807>>24 uleshort x x %d 808# x, y coordinates of the hotspot 809>>6 uleshort >0 \b, hotspot %ux 810>>>8 uleshort x \b%u 811# cbSize; size of file or header like 1Ah 228C8h 812>>2 ulelong x \b, cbSize %u 813#>>2 ulelong x \b, cbSize 0x%8.8x 814# offBits; offset to bitmap data like: 815>>10 ulelong x \b, bits offset %u 816# http://fileformats.archiveteam.org/wiki/BMP#OS.2F2_BMP_2.0 no examples found 817>14 ulelong 48 PC bitmap, OS/2 2.x format (DIB header size=48) 818>14 ulelong 24 PC bitmap, OS/2 2.x format (DIB header size=24) 819# http://entropymine.com/jason/bmpsuite/bmpsuite/q/pal8os2v2-16.bmp 820# Note: by bitmap-bmp-v2o.trid.xml called "Windows Bitmap (v2o)" 821>14 ulelong 16 PC bitmap, OS/2 2.x format (DIB header size=16) 822!:mime image/bmp 823!:apple ????BMPp 824!:ext bmp 825# image width and height fields are unsigned integers for OS/2 826>>18 ulelong x \b, %u x 827>>22 ulelong x %u 828# number of bits per pixel (color depth); found 8 829>>28 uleshort >1 x %u 830# x, y coordinates of the hotspot 831>>6 uleshort >0 \b, hotspot %ux 832>>>8 uleshort x \b%u 833# number of color planes (must be 1) 834#>>26 uleshort >1 \b, %u color planes 835# cbSize; size of file like: 241E 836>>2 ulelong x \b, cbSize %u 837#>>2 ulelong x \b, cbSize 0x%x 838# offBits; offset to bitmap data like: 41E 839>>10 ulelong x \b, bits offset %u 840#>>10 ulelong x \b, bits offset 0x%x 841>14 ulelong 64 PC bitmap, OS/2 2.x format 842!:mime image/bmp 843!:apple ????BMPp 844!:ext bmp 845# image width and height fields are unsigned integers for OS/2 846>>18 ulelong x \b, %u x 847>>22 ulelong x %u 848# number of bits per pixel (color depth); found 1 4 8 849>>28 uleshort >1 x %u 850# x, y coordinates of the hotspot 851>>6 uleshort >0 \b, hotspot %ux 852>>>8 uleshort x \b%u 853>>26 uleshort >1 \b, %u color planes 854# cbSize; size of file or headers 855>>2 ulelong x \b, cbSize %u 856# BMP with cbSize 000002CBh=715 or 000003CBh=971 maybe misinterpreted as VDC bitmap 857#>>2 ulelong x \b, cbSize %#x 858# offBits; offset to bitmap data like 56h 5Eh 8Eh 43Eh 859>>10 ulelong x \b, bits offset %u 860#>>10 ulelong x \b, bits offset %#x 861#>>(10.l) ubequad !0 \b, bits %#16.16llx 862# BITMAPV2INFOHEADER adds RGB bit masks 863>14 ulelong 52 PC bitmap, Adobe Photoshop 864!:mime image/bmp 865!:apple ????BMPp 866!:ext bmp 867>>18 ulelong x \b, %d x 868>>22 ulelong x %d x 869# number of bits per pixel (color depth); found 16 32 870>>28 uleshort x %d 871# x, y coordinates of the hotspot; should be zero for Windows variant 872>>6 uleshort >0 \b, hotspot %ux 873>>>8 uleshort x \b%u 874# cbSize; size of file like: 14A 7F42 875>>2 ulelong x \b, cbSize %u 876#>>2 ulelong x \b, cbSize 0x%x 877# offBits; offset to bitmap data like: 42h 878>>10 ulelong x \b, bits offset %u 879#>>10 ulelong x \b, bits offset 0x%x 880# BITMAPV3INFOHEADER adds alpha channel bit mask 881>14 ulelong 56 PC bitmap, Adobe Photoshop with alpha channel mask 882!:mime image/bmp 883!:apple ????BMPp 884!:ext bmp 885>>18 ulelong x \b, %d x 886>>22 ulelong x %d x 887# number of bits per pixel (color depth); found 16 32 888>>28 uleshort x %d 889# x, y coordinates of the hotspot; should be zero for Windows variant 890>>6 uleshort >0 \b, hotspot %ux 891>>>8 uleshort x \b%u 892# cbSize; size of file like: 4E 7F46 131DE 14046h 893>>2 ulelong x \b, cbSize %u 894#>>2 ulelong x \b, cbSize 0x%x 895# offBits; offset to bitmap data like: 46h 896>>10 ulelong x \b, bits offset %u 897#>>10 ulelong x \b, bits offset 0x%x 898>14 ulelong 40 899# jump 4 bytes before end of file/header to skip fmt-116-signature-id-118.dib 900# broken for large bitmaps 901#>>(2.l-4) ulong x PC bitmap, Windows 3.x format 902>>14 ulelong 40 PC bitmap, Windows 3.x format 903!:mime image/bmp 904!:apple ????BMPp 905>>>18 ulelong x \b, %d x 906>>>22 ulelong x %d 907# 320 x 400 https://en.wikipedia.org/wiki/LOGO.SYS 908>>>18 ulequad =0x0000019000000140 x 909!:ext bmp/sys 910>>>18 ulequad !0x0000019000000140 911# compression method 2~RLE 4-bit/pixel implies also extension rle 912>>>>30 ulelong 2 x 913!:ext bmp/rle 914# not RLE compressed and not 320x400 dimension 915>>>>30 default x 916# "small" dimensions like: 14x15 15x16 16x14 16x16 32x32 917# https://en.wikipedia.org/wiki/Favicon 918>>>>>18 ulequad&0xffFFffC0ffFFffC0 =0 x 919# https://www.politi-kdigital.de/favicon.ico 920# http://forum.rpc1.org/favicon.ico 921!:ext bmp/ico 922# "big" dimensions > 63 923>>>>>18 default x x 924!:ext bmp 925# number of bits per pixel (color depth); found 1 2 4 8 16 24 32 926>>>28 uleshort x %d 927# x, y coordinates of the hotspot; there is no hotspot in bitmaps, so values 0 928#>>>6 uleshort >0 \b, hotspot %ux 929#>>>>8 uleshort x \b%u 930# number of color planes (must be 1), except badplanes.bmp for testing 931#>>>26 uleshort >1 \b, %u color planes 932# compression method: 0~no 1~RLE 8-bit/pixel 2~RLE 4-bit/pixel 3~Huffman 1D 6~RGBA bit field masks 933#>>>30 ulelong 3 \b, Huffman 1D compression 934>>>30 ulelong >0 \b, %u compression 935# image size is the size of raw bitmap; a dummy 0 can be given for BI_RGB bitmaps 936>>>34 ulelong >0 \b, image size %u 937# horizontal and vertical resolution of the image (pixel per metre, signed integer) 938>>>38 ulelong >0 \b, resolution %d x 939>>>>42 ulelong x %d px/m 940# number of colors in palette 16 256, or 0 to default to 2**n 941#>>>46 ulelong >0 \b, %u colors 942# number of important colors used, or 0 when every color is important 943>>>50 ulelong >0 \b, %u important colors 944# cbSize; often size of file 945>>>2 ulelong x \b, cbSize %u 946#>>>2 ulelong x \b, cbSize %#x 947# offBits; offset to bitmap data like 36h 76h BEh 236h 406h 436h 4E6h 948>>>10 ulelong x \b, bits offset %u 949#>>>10 ulelong x \b, bits offset %#x 950#>>>(10.l) ubequad !0 \b, bits %#16.16llxd 951>14 ulelong 124 PC bitmap, Windows 98/2000 and newer format 952!:mime image/bmp 953!:ext bmp 954>>18 ulelong x \b, %d x 955>>22 ulelong x %d x 956# color planes; must be 1 957#>>>26 uleshort >1 \b, %u color planes 958# 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) 959>>28 uleshort x %d 960# x, y coordinates of the hotspot; should be zero for Windows variant 961>>6 uleshort >0 \b, hotspot %ux 962>>>8 uleshort x \b%u 963# cbSize; size of file like: 8E AA 48A 999 247A 4F02 7F8A 3F88E B216E 1D4C8A 100008A 964>>2 ulelong x \b, cbSize %u 965#>>2 ulelong x \b, cbSize 0x%x 966# offBits; offset to bitmap data like: 8A 47A ABABABAB (fmt-119-signature-id-121.bmp) 967>>10 ulelong x \b, bits offset %u 968#>>10 ulelong x \b, bits offset 0x%x 969>14 ulelong 108 PC bitmap, Windows 95/NT4 and newer format 970!:mime image/bmp 971!:ext bmp 972>>18 ulelong x \b, %d x 973>>22 ulelong x %d x 974# number of bits per pixel (color depth); found 8 24 32 975>>28 uleshort x %d 976# x, y coordinates of the hotspot; should be zero for Windows variant 977>>6 uleshort >0 \b, hotspot %ux 978>>>8 uleshort x \b%u 979# cbSize; size of file like: 82 8A 9A 9F86 1E07A 3007A 88B7A C007A 980>>2 ulelong x \b, cbSize %u 981#>>2 ulelong x \b, cbSize 0x%x 982# offBits; offset to bitmap data like: 7A 7E 46A 983>>10 ulelong x \b, bits offset %u 984#>>10 ulelong x \b, bits offset 0x%x 985# Update: Joerg Jenderek 986# URL: http://fileformats.archiveteam.org/wiki/OS/2_Icon 987# Reference: http://www.fileformat.info 988# /format/os2bmp/spec/902d5c253f2a43ada39c2b81034f27fd/view.htm 989# Note: verified by command like `deark -l -d3 OS2MEMU.ICO` 9900 string IC 991# skip Lotus smart icon *.smi by looking for valid hotspot coordinates 992>6 ulelong&0xFF00FF00 =0 OS/2 icon 993# jump 4 bytes before end of header/file and test for accessibility 994#>>(2.l-4) ubelong x End of header is OK! 995!:mime image/x-os2-ico 996!:ext ico 997# cbSize; size of header or file in bytes like 1ah 120h 420h 998>>2 ulelong x \b, cbSize %u 999# xHotspot, yHotspot; coordinates of the hotspot for icons like 16 32 1000>>6 uleshort x \b, hotspot %ux 1001>>8 uleshort x \b%u 1002# offBits; offset in bytes to the beginning of the bit-map pel data like 20h 1003>>10 ulelong x \b, bits offset %u 1004#>>(10.l) ubequad x \b, bits %#16.16llx 1005#0 string PI PC pointer image data 1006#0 string CI PC color icon data 10070 string CI 1008# test also for valid dib header sizes 12 or 64 1009>14 ulelong <65 OS/2 1010# test also for valid hotspot coordinates 1011#>>6 ulelong&0xFE00FE00 =0 OS/2 1012!:mime image/x-os2-ico 1013!:ext ico 1014>>14 ulelong 12 1.x color icon 1015# image width and height fields are unsigned integers for OS/2 1016>>>18 uleshort x %u x 1017# stored height = 2 * real height 1018>>>20 uleshort/2 x %u 1019# number of bits per pixel (color depth). Typical 32 24 16 8 4 but only 1 found 1020>>>24 uleshort >1 x %u 1021# color planes; must be 1 1022#>>>22 uleshort >1 \b, %u color planes 1023>>14 ulelong 64 2.x color icon 1024# image width and height 1025>>>18 ulelong x %u x 1026# stored height = 2 * real height 1027>>>22 ulelong/2 x %u 1028# number of bits per pixel (color depth). only 1 found 1029>>>28 uleshort >1 x %u 1030#>>>26 uleshort >1 \b, %u color planes 1031# compression method: 0~no 3~Huffman 1D 1032>>>30 ulelong 3 \b, Huffman 1D compression 1033#>>>30 ulelong >0 \b, %u compression 1034# xHotspot, yHotspot; coordinates of the hotspot like 0 1 16 20 32 33 63 64 1035>>6 uleshort x \b, hotspot %ux 1036>>8 uleshort x \b%u 1037# cbSize; size of header or maybe file in bytes like 1Ah 4Eh 84Eh 1038>>2 ulelong x \b, cbSize %u 1039#>>2 ulelong x \b, cbSize %x 1040# offBits; offset to bitmap data (pixel array) like E4h 3Ah 66h 6Ah 33Ah 4A4h 1041>>10 ulelong x \b, bits offset %u 1042#>>10 ulelong x \b, bits offset %#x 1043#>>(10.l) ubequad !0 \b, bits %#16.16llx 1044# dib header size: 12~Ch~OS/2 1.x 64~40h~OS/2 2.x 1045#>>14 ulelong x \b, dib header size %u 1046#0 string CP PC color pointer image data 1047# URL: http://fileformats.archiveteam.org/wiki/OS/2_Pointer 1048# Reference: http://www.fileformat.info/format/os2bmp/egff.htm 10490 string CP 1050# skip many Corel Photo-Paint image "CPT9FILE" by checking for positive bits offset 1051>10 ulelong >0 1052# skip CPU-Z Report by checking for valid dib header sizes 12 or 64 1053>>14 ulelong =12 1054>>>0 use os2-ptr 1055>>14 ulelong =64 1056>>>0 use os2-ptr 1057# display information of OS/2 pointer bitmaps 10580 name os2-ptr 1059>14 ulelong x OS/2 1060# http://extension.nirsoft.net/PTR 1061!:mime image/x-ibm-pointer 1062!:ext ptr 1063>>14 ulelong 12 1.x color pointer 1064# image width and height fields are unsigned integers for OS/2 1065>>>18 uleshort x %u x 1066# stored height = 2 * real height 1067>>>20 uleshort/2 x %u 1068# number of bits per pixel (color depth). Typical 32 24 16 8 4 but only 1 found 1069>>>24 uleshort >1 x %u 1070# color planes; must be 1 1071#>>>22 uleshort >1 \b, %u color planes 1072>>14 ulelong 64 2.x color pointer 1073# image width and height 1074>>>18 ulelong x %u x 1075# stored height = 2 * real height 1076>>>22 ulelong/2 x %u 1077# number of bits per pixel (color depth). only 1 found 1078>>>28 uleshort >1 x %u 1079#>>>26 uleshort >1 \b, %u color planes 1080# compression method: 0~no 3~Huffman 1D 1081>>>30 ulelong 3 \b, Huffman 1D compression 1082#>>>30 ulelong >0 \b, %u compression 1083# xHotspot, yHotspot; coordinates of the hotspot like 0 3 4 8 15 16 23 27 31 1084>>6 uleshort x \b, hotspot %ux 1085>>8 uleshort x \b%u 1086# cbSize; size of header or maybe file in bytes like 1Ah 4Eh 1087>>2 ulelong x \b, cbSize %u 1088#>>2 ulelong x \b, cbSize %x 1089# offBits; offset to bitmap data (pixel array) like 6Ah A4h E4h 4A4h 1090>>10 ulelong x \b, bits offset %u 1091#>>10 ulelong x \b, bits offset %#x 1092#>>(10.l) ubequad !0 \b, bits %#16.16llx 1093# dib header size: 12~Ch~OS/2 1.x 64~40h~OS/2 2.x 1094#>>14 ulelong x \b, dib header size %u 1095# Conflicts with other entries [BABYL] 1096# URL: http://fileformats.archiveteam.org/wiki/BMP#OS.2F2_Bitmap_Array 1097# Note: container for OS/2 icon "IC", color icon "CI", color pointer "CP" or bitmap "BM" 1098#0 string BA PC bitmap array data 10990 string BA 1100# skip old Emacs RMAIL BABYL ./mail.news by checking for low header size 1101>2 ulelong <0x004c5942 OS/2 graphic array 1102!:mime image/x-os2-graphics 1103#!:apple ????BMPf 1104# cbSize; size of header like 28h 5Ch 1105>>2 ulelong x \b, cbSize %u 1106#>>2 ulelong x \b, cbSize %#x 1107# offNext; offset to data like 0 48h F2h 4Eh 64h C6h D2h D6h DAh E6h EAh 348h 1108>>6 ulelong >0 \b, data offset %u 1109#>>6 ulelong >0 \b, data offset %#x 1110#>>(6.l) ubequad !0 \b, data %#16.16llx 1111# dimensions of the intended device like 640 x 480 for VGA or 1024 x 768 1112>>10 uleshort >0 \b, display %u 1113>>>12 uleshort >0 x %u 1114# usType of first array element 1115#>>14 string x \b, usType %2.2s 1116# 1 space char after "1st" 1117# no *.bga examples found https://www.openwith.org/file-extensions/bga/1342 1118>>14 string BM \b; 1st 1119!:ext bmp/bga 1120>>14 string CI \b; 1st 1121!:ext ico 1122>>14 string CP \b; 1st 1123!:ext ico 1124>>14 string IC \b; 1st 1125!:ext ico 1126# no white-black pointer found 1127#>>14 string PT \b; 1st 1128#!:ext 1129>>14 indirect x 1130 1131# XPM icons (Greg Roelofs, newt@uchicago.edu) 1132# Update: Joerg Jenderek 1133# URL: http://fileformats.archiveteam.org/wiki/XPM 1134# Reference: http://www.x.org/docs/XPM/xpm.pdf 1135# http://mark0.net/download/triddefs_xml.7z/defs/b/bitmap-xpm.trid.xml 1136# Note: called "X PixMap bitmap" by TrID and "X-Windows Pixmap Image" by DROID via PUID x-fmt/208 1137# starting with c comment like: logo.xpm 11380 string /*\040 1139# 9 byte c-comment "/* XPM */" not at the beginning like: mozicon16.xpm mozicon50.xpm (thunderbird) 1140>0 search/0xCE /*\ XPM\ */ 1141# skip DROID x-fmt-208-signature-id-620.xpm by looking for char aray without explict length 1142# and match mh-logo.xpm (emacs) 1143>>&0 search/1249 [] 1144>>>0 use xpm-image 1145# non standard because no 9 byte c-comment "/* XPM */" like: logo.xpm in qemu package 1146>0 default x 1147# words are separated by a white space which can be composed of space and tabulation characters 1148>>0 search/0x52 static\040char\040 1149# skip debug.c testmlc.c by looking for char aray without explict length 1150# https://www.clamav.net/downloads/production/clamav-0.104.2.tar.gz 1151# clamav-0.104.2\libclammspack\mspack\debug.c 1152>>>&0 search/64 [] 1153>>>>0 use xpm-image 1154# display X pixmap image information 11550 name xpm-image 1156>0 string x X pixmap image text 1157#!:mime text/plain 1158# https://reposcope.com/mimetype/image/x-xpixmap 1159# alias 1160#!:mime image/x-xpm 1161!:mime image/x-xpixmap 1162!:ext xpm 1163# NO pm example found! 1164#!:ext xpm/pm 1165# look for start of character array at beginning of a line like: psetupl.xpm (OpenOffice 4.1.7) 1166>0 search/0x406 \n" 1167# DEBUG VALUES string 1168#>>&0 string x '%s' 1169# width with optional white space before like: 16 24 32 48 1280 1170>>&0 regex/8 [0-9]{1,5} \b, %s 1171# height with white space like: 15 16 17 24 32 48 1024 1172>>>&0 regex/8 [0-9]{1,5} x %s 1173# number of colors with white space like: 1 2 3 4 5 8 11 14 162 255 but unrelistic 4294967295 by hardcopy tool 1174>>>>&0 regex/12 [0-9]{1,9} x %s 1175# chars_per_pixel with white space like: 1 2 1176>>>>>&0 regex/14 [0-9]{1,2} \b, %s chars/pixel 1177# non standard because not starting with 9 byte c-comment "/* XPM */" 1178>0 string !/*\ XPM\ */ 1179>>0 string x \b, 1st line "%s" 1180 1181# Utah Raster Toolkit RLE images (janl@ifi.uio.no) 11820 uleshort 0xcc52 RLE image data, 1183>6 uleshort x %d x 1184>8 uleshort x %d 1185>2 uleshort >0 \b, lower left corner: %d 1186>4 uleshort >0 \b, lower right corner: %d 1187>10 ubyte&0x1 =0x1 \b, clear first 1188>10 ubyte&0x2 =0x2 \b, no background 1189>10 ubyte&0x4 =0x4 \b, alpha channel 1190>10 ubyte&0x8 =0x8 \b, comment 1191>11 ubyte >0 \b, %d color channels 1192>12 ubyte >0 \b, %d bits per pixel 1193>13 ubyte >0 \b, %d color map channels 1194 1195# image file format (Robert Potter, potter@cs.rochester.edu) 11960 string Imagefile\ version- iff image data 1197# this adds the whole header (inc. version number), informative but longish 1198>10 string >\0 %s 1199 1200# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com) 12010 ubelong 0x59a66a95 Sun raster image data 1202>4 ubelong >0 \b, %d x 1203>8 ubelong >0 %d, 1204>12 ubelong >0 %d-bit, 1205#>16 ubelong >0 %d bytes long, 1206>20 ubelong 0 old format, 1207#>20 ubelong 1 standard, 1208>20 ubelong 2 compressed, 1209>20 ubelong 3 RGB, 1210>20 ubelong 4 TIFF, 1211>20 ubelong 5 IFF, 1212>20 ubelong 0xffff reserved for testing, 1213>24 ubelong 0 no colormap 1214>24 ubelong 1 RGB colormap 1215>24 ubelong 2 raw colormap 1216#>28 ubelong >0 colormap is %d bytes long 1217 1218# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com) 1219# 1220# See 1221# http://reality.sgi.com/grafica/sgiimage.html 1222# 12230 ubeshort 474 SGI image data 1224#>2 ubyte 0 \b, verbatim 1225>2 ubyte 1 \b, RLE 1226#>3 ubyte 1 \b, normal precision 1227>3 ubyte 2 \b, high precision 1228>4 ubeshort x \b, %d-D 1229>6 ubeshort x \b, %d x 1230>8 ubeshort x %d 1231>10 ubeshort x \b, %d channel 1232>10 ubeshort !1 \bs 1233>80 string >0 \b, "%s" 1234 12350 string IT01 FIT image data 1236>4 ubelong x \b, %d x 1237>8 ubelong x %d x 1238>12 ubelong x %d 1239# 12400 string IT02 FIT image data 1241>4 ubelong x \b, %d x 1242>8 ubelong x %d x 1243>12 ubelong x %d 1244# 12452048 string PCD_IPI Kodak Photo CD image pack file 1246>0xe02 ubyte&0x03 0x00 , landscape mode 1247>0xe02 ubyte&0x03 0x01 , portrait mode 1248>0xe02 ubyte&0x03 0x02 , landscape mode 1249>0xe02 ubyte&0x03 0x03 , portrait mode 12500 string PCD_OPA Kodak Photo CD overview pack file 1251 1252# FITS format. Jeff Uphoff <juphoff@tarsier.cv.nrao.edu> 1253# FITS is the Flexible Image Transport System, the de facto standard for 1254# data and image transfer, storage, etc., for the astronomical community. 1255# (FITS floating point formats are big-endian.) 12560 string SIMPLE\ \ = FITS image data 1257!:mime image/fits 1258!:ext fits/fts 1259>109 string 8 \b, 8-bit, character or unsigned binary integer 1260>108 string 16 \b, 16-bit, two's complement binary integer 1261>107 string \ 32 \b, 32-bit, two's complement binary integer 1262>107 string -32 \b, 32-bit, floating point, single precision 1263>107 string -64 \b, 64-bit, floating point, double precision 1264 1265# other images 12660 string This\ is\ a\ BitMap\ file Lisp Machine bit-array-file 1267 1268# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image 1269# stuff. 1270# 12710 ubeshort 0x1010 PEX Binary Archive 1272 1273# DICOM medical imaging data 1274# URL: https://en.wikipedia.org/wiki/DICOM#Data_format 1275# Note: "dcm" is the official file name extension 1276# XnView mention also "dc3" and "acr" as file name extension 1277128 string DICM DICOM medical imaging data 1278!:mime application/dicom 1279!:ext dcm/dicom/dic 1280 1281# XWD - X Window Dump file. 1282# URL: http://fileformats.archiveteam.org/wiki/XWD 1283# Reference: https://wiki.multimedia.cx/index.php?title=XWD 1284# http://mark0.net/download/triddefs_xml.7z/defs/x/xdm-x11.trid.xml 1285# Note: called "X-Windows Screen Dump (X11)" by TrID and 1286# "X-Windows Screen Dump" version X11 by DROID via PUID fmt/483 1287# verfied by XnView `nconvert -in xwd -info *` 1288# and ImageMagick 6.9.11 `identify -verbose *` as XWD X Windows system window dump 1289# and `xwud -in fig41.wxd -dumpheader` 1290# As described in /usr/X11R6/include/X11/XWDFile.h 1291# used by the xwd program. 1292# Bradford Castalia, idaeim, 1/01 1293# updated by Adam Buchbinder, 2/09 and Joerg Jenderek, May 2022 1294# The following assumes version 7 of the format; the first long is the length 1295# of the header, which is at least 25 4-byte longs, and the one at offset 8 1296# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth, 1297# which is a maximum of 32. 1298# Size of the entire file header (bytes) like: 100 104 105 106 107 109 110 113 114 115 118 172 12990 ubelong >99 1300# pixmap_format; Pixmap format; 0~1-bit (XYBitmap) format 1~single-plane (XYPixmap) 2~bitmap with two or more planes (ZPixmap) 1301>8 ubelong <3 1302# pixmap_depth; Pixmap depth; value 1 - 32 1303>>12 ubelong <33 1304# file_version; XWD_FILE_VERSION=7 1305>>>4 ubelong 7 1306# skip DROID fmt-401-signature-id-618.xwd by test for existing border field 1307>>>>96 ubelong x X-Window screen dump image data, version X11 1308# ./images (version 1.205) labeled the above entry as "XWD X Window Dump image data" 1309# https://reposcope.com/mimetype/image/x-xwindowdump 1310!:mime image/x-xwindowdump 1311#!:ext xwd 1312!:ext xwd/dmp 1313# https://www.xnview.com/en/image_formats/ NO example with x11 suffix FOUND! 1314#!:ext xwd/dmp/x11 1315# https://www.nationalarchives.gov.uk/PRONOM/fmt/401 NO example with xdm suffix FOUND! 1316#!:ext xwd/dmp/x11/xmd 1317# file comment if header > 100; so not in MARBLES.XWD and hardcopy-x-window-v11.xwd 1318>>>>>0 ubelong >100 1319# comment or windows name 1320>>>>>>100 string >\0 \b, "%s" 1321# pixmap_width; pixmap width like: 576 800 1014 1280 1419 NOT -1414812757=abABabABh 1322>>>>>16 ubelong x \b, %dx 1323# pixmap_height; pixmap height like: 449 454 600 704 720 1001 1024 NOT -1414812757=abABabABh 1324>>>>>20 ubelong x \b%dx 1325# pixmap_depth; pixmap depth 1326>>>>>12 ubelong x \b%d 1327# XOffset; Bitmap X offset; pixel numbers to ignore at the beginning of each scan-line 1328#>>>>>24 ubelong x \b, %u ignore 1329# ByteOrder; byte order of image data: 0~least significant byte first 1~most significant byte first 1330>>>>>28 ubelong >0 \b, order %u 1331# BitmapUnit; bitmap base data size unit in each scan line like: 8 16 32 1332#>>>>>32 ubelong x \b, unit %u 1333# BitmapBitOrder; bit-order of image data; apparently same as ByteOrder 1334#>>>>>36 ubelong x \b, bit order %u 1335# BitmapPad; number of padding bits added to each scan line like: 8 16 32 1336#>>>>>40 ubelong x \b, pad %u 1337# BitsPerPixel; Bits per pixel: 1~StaticGray and GrayScale 2-15~StaticColor and PseudoColor 16,24,32~TrueColor and DirectColor 1338#>>>>>44 ubelong x \b, %u bits/pixel 1339# BytesPerLine; size of each scan line in bytes 1340#>>>>>48 ubelong x \b, %u bytes/line 1341# VisualClass; class of the image: 0~StaticGray 1~GrayScale 2~StaticColor 3~PseudoColor 4~TrueColor 5~DirectColor 1342#>>>>>52 ubelong x \b, %u Class 1343# RedMask; red RGB mask values used by ZPixmaps like: 0 0xff0000 1344#>>>>>56 ubelong !0 \b, %#x red 1345# GreenMask; green mask like: 0 1346#>>>>>60 ubelong !0 \b, %#x green 1347# BlueMask; blue mask like: 0 0xff 1348#>>>>>64 ubelong !0 \b, %#x blue 1349# BitsPerRgb; Size of each color mask in bits like: 0 1 8 24 1350#>>>>>68 ubelong x \b, %u bits/RGB 1351# NumberOfColors; number of colors in image like: 256 4 2 0 (WHAT DOES THIS MEAN?) 1352>>>>>72 ubelong x \b, %u colors 1353# ColorMapEntries; number of entries in color map like: 256 16 2 0~no color map 1354>>>>>76 ubelong x %u entries 1355# WindowWidth; window width 1356#>>>>>80 ubelong x \b, %u width 1357# WindowHeight; window height 1358#>>>>>84 ubelong x \b, %u height 1359# WindowX; Window upper left X coordinate like: 0 24 32 80 237 290 422 466 568 (lenna.dmp) 1360>>>>>88 ubelong !0 \b, x=%d 1361# WindowY; Window upper left Y coordinate like: 0 8 18 26 60 73 107 (fig41.xwd) 128 1362>>>>>92 ubelong !0 \b, y=%d 1363# WindowBorderWidth; Window border width; apparently pixmap_width=WindowWidth+2*WindowBorderWidth 1364# like: 1 (fig41.xwd) 2 (maze.dmp) 3 (lenna.dmp mandrill.dmp) 1365>>>>>96 ubelong >0 \b, %u border 1366# From: Joerg Jenderek 1367# Reference: http://mark0.net/download/triddefs_xml.7z/defs/x/xdm-x10.trid.xml 1368# Note: called "X-Windows Screen Dump (X10)" by TrID and 1369# "X-Windows Screen Dump" version X10 by DROID via PUID x-fmt/300 1370# verfied by XnView `nconvert -in xwd -info *` 1371# HeaderSize is the size of the header in bytes; always 40 for X10 variant 13720 ubelong =0x000000028 1373# FileVersion; always 6 for X10 variant 1374>4 ubelong =6 1375# skip DROID x-fmt-300-signature-id-619.xdm by test existing border field 1376>>36 ubeshort x X-Window screen dump image data, version X10 1377!:mime image/x-xwindowdump 1378!:ext xwd 1379# http://www.nationalarchives.gov.uk/pronom/fmt/401 NO example with xdm suffix FOUND! 1380#!:ext xwd/xdm 1381# PixmapWidth; pixmap width like: 127 1280 1382>>>20 ubelong x \b, %d 1383# PixmapHeight; pixmap height like: 64 1024 1384>>>24 ubelong x \bx%d 1385# DisplayPlanes; number of display planes like: 1 4 8 1386>>>12 ubelong x \bx%u 1387# DisplayType; display type like: 1 3 1388#>>>8 ubelong x \b, type %u 1389# PixmapFormat; pixmap format like: 1~bitmap with two or more planes (ZPixmap) 0~single-plane bitmap (XYBitmap) 1390#>>>16 ubelong x \b, %u format 1391# WindowWidth; window width; probably PixmapWidth=WindowWidth+2*WindowBorderWidth 1392#>>>28 ubeshort x \b, width %u 1393# WindowHeight; window height; probably PixmapWidth=PixmapHeight+2*WindowBorderWidth 1394#>>>30 ubeshort x \b, height %u 1395# WindowX; window upper left X coordinate like: 0 1396>>>32 ubeshort !0 \b, x=%d 1397# WindowY; window upper left Y coordinate like: 0 1398>>>34 ubeshort !0 \b, y=%d 1399# WindowBorderWidth; window border width like: 0 1400>>>36 ubeshort !0 \b, %u border 1401# WindowNumColors; Number of color entries in window like: 2 16 256 1402#>>>38 ubeshort x \b, %u colors 1403# if the image is a PseudoColor image, a color map immediately follows the header. X10COLORMAP[WindowNumColors]; 1404# EntryNumber; number of the color-map entry like: 0 1405#>>>40 ubeshort x \b, colors #%u 1406# Red; red-channel value 1407#>>>42 ubeshort !0 \b, red %#x 1408# Green; green-channel value 1409#>>>44 ubeshort !0 \b, green %#x 1410# Blue; blue-channel value 1411#>>>46 ubeshort !0 \b, blue %#x 1412# 2ND Entry like: 2 1413#>>>48 ubeshort x \b, colors #%u 1414 1415# PDS - Planetary Data System 1416# These files use Parameter Value Language in the header section. 1417# Unfortunately, there is no certain magic, but the following 1418# strings have been found to be most likely. 14190 string NJPL1I00 PDS (JPL) image data 14202 string NJPL1I PDS (JPL) image data 14210 string CCSD3ZF PDS (CCSD) image data 14222 string CCSD3Z PDS (CCSD) image data 14230 string PDS_ PDS image data 14240 string LBLSIZE= PDS (VICAR) image data 1425 1426# pM8x: ATARI STAD compressed bitmap format 1427# 1428# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001 1429# p M 8 5/6 xx yy zz data... 1430# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed. 1431# bytes either run horizontally (pM85) or vertically (pM86). yy is the 1432# most frequent byte, xx and zz are runlength escape codes, where xx is 1433# used for runs of yy. 1434# 14350 string pM85 Atari ST STAD bitmap image data (hor) 1436>5 ubyte 0x00 (white background) 1437>5 ubyte 0xFF (black background) 14380 string pM86 Atari ST STAD bitmap image data (vert) 1439>5 ubyte 0x00 (white background) 1440>5 ubyte 0xFF (black background) 1441 1442# From: Alex Myczko <alex@aiei.ch> 1443# https://www.atarimax.com/jindroush.atari.org/afmtatr.html 14440 uleshort 0x0296 Atari ATR image 1445 1446# URL: http://fileformats.archiveteam.org/wiki/DEGAS_image 1447# Reference: https://wiki.multimedia.cx/index.php?title=Degas 1448# From: Joerg Jenderek 1449# http://mark0.net/download/triddefs_xml.7z/defs/b 1450# bitmap-pi2-degas.trid.xml bitmap-pi3-degas.trid.xml 1451# bitmap-pc1-degas.trid.xml bitmap-pc2-degas.trid.xml bitmap-pc3-degas.trid.xml 1452# Note: verified by NetPBM `pi3topbm sigirl1.pi3 | file` 1453# `deark -m degas -l -d2 ataribak.pi1` 1454# XnView `nconvert -fullinfo *.p??` 1455# DEGAS low-res uncompressed bitmap *.pi1 14560 beshort 0x0000 1457# skip some ISO 9660 CD-ROM filesystems like plpbt.iso by test for 4 non black colors in palette entries 1458>2 quad !0 1459# skip g3test.g3 by test for unused bits of 2nd color entry 1460>>4 ubeshort&0xF000 0 1461#>>>0 beshort x 1ST_VALUE=%x 1462>>>-0 offset x FILE_SIZE=%lld 1463# standard DEGAS low-res uncompressed bitmap *.pi1 with file size 32034 1464>>>-0 offset =32034 VARIANT_STANDARD 1465#>>>>0 beshort x 1st_VALUE=%x 1466# like: 8ball.pi1 teddy.pi1 sonic01.pi1 1467>>>>0 use degas-bitmap 1468# about 61 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 32066 1469>>>-0 offset =32066 VARIANT_ELITE 1470# like: spider.pi1 pinkgirl.pi1 frog3.pi1 1471>>>>0 use degas-bitmap 1472# about 55 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 32128 1473>>>-0 offset =32128 VARIANT_3 1474# like: mountain.pi1 bigspid.pi1 alf33.pi1 1475>>>>0 use degas-bitmap 1476# 1 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 44834 1477>>>-0 offset =44834 VARIANT_4 1478# like: kenshin.pi1 1479>>>>0 use degas-bitmap 1480# DEGAS mid-res uncompressed bitmap *.pi2 (strength=50) after GEM Images like: 1481# BEETHVEN.IMG CHURCH.IMG GAMEOVR4.IMG TURKEY.IMG clinton.img 14820 beshort 0x0001 1483#!:strength +0 1484# skip many control files like gnucash-4.8.setup.exe.aria2 by test for non black in 4 palette entries 1485>2 quad !0 1486# skip control file load-v0001.aria2 by test for unused bits of 5th color palette entry 1487>>10 ubeshort&0xF000 0 1488# skip many GEM Image data like DANCER.IMG GAMEOVR4.IMG SHIP.IMG by test for unused bits of 8th color palette entry 1489>>>16 ubeshort&0xF000 0 1490# skip many GEM Image data like BEETHVEN.IMG CABINETS.IMG MEMO.IMG by test for unused bits of 14th color palette entry 1491>>>>28 ubeshort&0xF000 0 1492# skip few GEM Image data like CHURCH.IMG by test for unused bits of 15th color palette entry 1493>>>>>30 ubeshort&0xF000 0 1494# skip many GEM Image data like TIGER.IMG TURKEY.IMG XMAS.IMG by test for unused bits of 16th color palette entry 1495>>>>>>32 ubeshort&0xF000 0 1496# skip GEM Image data like clinton.img by test for existing bytes at the end 1497>>>>>>>32026 quad x 1498>>>>>>>>0 use degas-bitmap 1499# DEGAS high-res uncompressed bitmap *.pi3 15000 beshort 0x0002 1501# skip Intel ia64 COFF msvcrt.lib by test for unused bits of 1st atari color palette entry 1502>2 ubeshort&0xF000 0 1503# skip few Adobe PhotoShop Brushes like Faux-Spitzen.abr by check 1504# for invalid Adobe PhotoShop Brush UTF16-LE string length 1505>>19 ubyte =0 1506# many like: 4th_ofj2.pi3 GEMINI03.PI3 PEOPLE18.PI3 POWERFIX.PI3 abydos.pi3 highres.pi3 sigirl1.pi3 vanna5.pi3 1507>>>0 use degas-bitmap 1508# Adobe PhotoShop Brush UTF16-LE string length 15 "Gitter - klein " 8 "Kreis 1 " 1509>>19 ubyte !0 1510#>>19 ubyte !0 \b, NOTE LENGTH %u 1511#>>>21 lestring16 x \b, BRUSH NOTE "%s" 1512>>>(19.b*2) ubequad x 1513# maybe last character of Adobe PhotoShop Brush UTF16-LE string and terminating nul char like 1514# 006e0000 for n in "Faux-Spitzen.abr" 00310000 for 1 in "Verschiedene Spitzen.abr" 1515# 00000000 "LEREDACT.PI3" 03730773 "TBX_DEMO.PI3" 1516#>>>>&8 ubelong x \b, LAST CHAR+NIL %8.8x 1517>>>>&8 ubelong&0xff00ffFF !0 1518# 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 1519>>>>>0 use degas-bitmap 1520# test for last character of Adobe PhotoShop Brush UTF16-LE string and terminating nul char 1521>>>>&8 ubelong&0xff00ffFF =0 1522# select last DEGAS bitmaps by invalid last char of brush note like BASICNES.PI3 DB_HELP.PI3 DB_WRITR.PI3 LEREDACT.PI3 1523>>>>>&-4 ubelong&0x00FF0000 <0x00200000 1524>>>>>>0 use degas-bitmap 1525# last character of Adobe PhotoShop Brush UTF16-LE note 1526#>>>>>&-4 ubelong&0x00FF0000 >0x001F0000 \b, THAT IS ABR 1527# DEGAS low-res compressed bitmap *.pc1 like: BATTLSHP.PC1 GNUCHESS.PC1 MEDUSABL.PC1 MOONLORD.PC1 WILDROSE.PC1 15280 beshort 0x8000 1529# skip lif files handled via ./lif by test for unused bits of 1st palette entry 1530>2 ubeshort&0xF000 0 1531>>0 use degas-bitmap 1532# DEGAS mid-res compressed bitmap *.pc2 like: abydos.pc2 ARTIS3.PC2 SMTHDRAW.PC2 STAR_2K.PC2 TX2_DEMO.PC2 15330 beshort 0x8001 1534>0 use degas-bitmap 1535# DEGAS high-res compressed bitmap *.pc3 like: abydos.pc3 COYOTE.PC3 ELEPHANT.PC3 TX2_DEMO.PC3 SMTHDRAW.PC3 15360 beshort 0x8002 1537>0 use degas-bitmap 1538# display information of Atari DEGAS and DEGAS Elite bitmap images 15390 name degas-bitmap 1540>0 ubyte x Atari DEGAS 1541#!:mime application/octet-stream 1542!:mime image/x-atari-degas 1543# compressed 1544>0 ubyte =0x80 Elite compressed 1545# uncompressed 1546#>0 ubyte =0x00 uncompressed 1547#>0 ubyte =0x00 un. 1548>0 ubyte =0x00 1549# check for existence of footer for DEGAS Elite images 1550>>32042 ubequad x Elite 1551>0 beshort 0x0000 bitmap 1552!:ext pi1 1553>0 beshort 0x0001 bitmap 1554!:ext pi2 1555>0 beshort 0x0002 bitmap 1556# no example with SUH extension found 1557#!:ext pi3/suh 1558!:ext pi3 1559>0 beshort 0x8000 bitmap 1560!:ext pc1 1561>0 beshort 0x8001 bitmap 1562!:ext pc2 1563>0 beshort 0x8002 bitmap 1564!:ext pc3 1565# low resolution; 320x200, 16 colors 1566>1 ubyte =0 320 x 200 x 16 1567# medium resolution; 640x200, 4 colors 1568>1 ubyte =1 640 x 200 x 4 1569# high resolution; 640x400, 2 colors 1570>1 ubyte =2 640 x 400 x 2 1571# http://fileformats.archiveteam.org/wiki/Atari_ST_color_palette 1572# hardware_palette[16]; 9 bit ?????RRR?GGG?BBB; 12 bit ????RRRRGGGGBBBB for Atari STE 1573# for Atari DEGAS apparently no Spectrum 512 Enhanced 15 bit palette RGB?RRRRGGGGBBBB 1574# Red Green Blue unused bit ? often 0 but not bilboule.pi1; color_value (examples or numbers) 1575# 1st color palette entry like: 0777 (61) 0fff (LEREDACT.PI3) 0fcf (devgem7.pi3) 0001 (9) 1576>2 ubeshort x \b, color palette %4.4x 1577# 2nd palette entry like: 0000 (32) 0700 (38) 0f00 (LEREDACT.PI3 devgem7.pi3) 1578>4 ubeshort x %4.4x 1579# 3rd palette entry 1580>6 ubeshort x %4.4x 1581# 4th palette entry like: 0000 (72) 1582>8 ubeshort x %4.4x 1583# 5th palette entry 1584>10 ubeshort x %4.4x 1585>2 ubeshort x ... 1586# 6th palette entry 1587#>12 ubeshort x %4.4x 1588# 7th palette entry like: 0000 (16) 0001 (ELMRSESN.PI3 elmrsesn.pi3) 0070 (51) 00f0 (BASICNES.PI3 LEREDACT.PI3) 00f8 (devgem7.pi3) 1589#>14 ubeshort x %4.4x 1590# 8th palette entry 1591#>16 ubeshort x %4.4x 1592# 9 palette entry 1593#>18 ubeshort x %4.4x 1594# 10 palette entry 1595#>20 ubeshort x %4.4x 1596# 11 palette entry 1597#>22 ubeshort x %4.4x 1598# 12 palette entry 1599#>24 ubeshort x %4.4x 1600# 13 palette entry 1601#>26 ubeshort x %4.4x 1602# 14th palette entry 1603#>28 ubeshort x %4.4x 1604# 15th palette entry 1605#>30 ubeshort x %4.4x 1606# 16th palette entry 1607#>32 ubeshort x %4.4x 1608# data[16000] for uncompressed images; pixel data 1609#>34 ubequad x \b, DATA %#16.16llx... 1610# footer for Elite variant images 1611# https://www.fileformat.info/format/atari/egff.htm 1612# https://pulkomandy.tk/projects/GrafX2/wiki/Develop/FileFormats/Atari 1613# left_color_animation[4]; like: 0000000000000000 0000000100020003 fffafff000000030 (bigspid.pi1) 1614#>32034 ubequad !0 \b, color animations %16.16llx (left) 1615# right_color_animation[4]; like: 0000000000000000 0000000100020003 1616#>>32042 ubequad !0 %16.16llx (right) 1617# channel_direction[4]; 0~left 1~none 2~right like: 0001000100010001 0002000000010001 (cycle2.pi1) 1618# sometimes unexpected like: feaafc0000000000 (bigspid.pi1) 1619#>32050 ubequad !0 \b, channel directions %16.16llx 1620# channel_delay[4]; 128 - channel delay, timebase 1/60 s 1621#>32058 ubequad !0 \b, channel delays %16.16llx 1622 1623# From: Joerg Jenderek 1624# URL: http://fileformats.archiveteam.org/wiki/ImageLab/PrintTechnic 1625# Reference: http://mark0.net/download/triddefs_xml.7z/defs/b/bitmap-b_w.trid.xml 1626# Note: called "ImageLab bitmap" by TrID 1627# verfied by XnView `nconvert -fullinfo "MAEDCHEN.B&W"` 16280 string B&W256 ImageLab bitmap 1629!:mime image/x-ilab 1630# https://www.xnview.com/de/image_formats/ 1631# GRR: add char & inside parse_ext in ../../src/apprentice.c to avoid in file version 5.40 error like: 1632# Magdir\images, 1090: Warning: EXTENSION type ` b_w/b&w' has bad char '&' 1633!:ext b_w/b&w 1634# Width 1635>6 ubeshort x \b, %u 1636# Height 1637>8 ubeshort x x %u 1638 1639# XXX: 1640# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other 1641# magic. 1642# SGI RICE image file <mpruett@sgi.com> 1643#0 ubeshort 0x5249 RICE image 1644#>2 ubeshort x v%d 1645#>4 ubeshort x (%d x 1646#>6 ubeshort x %d) 1647#>8 ubeshort 0 8 bit 1648#>8 ubeshort 1 10 bit 1649#>8 ubeshort 2 12 bit 1650#>8 ubeshort 3 13 bit 1651#>10 ubeshort 0 4:2:2 1652#>10 ubeshort 1 4:2:2:4 1653#>10 ubeshort 2 4:4:4 1654#>10 ubeshort 3 4:4:4:4 1655#>12 ubeshort 1 RGB 1656#>12 ubeshort 2 CCIR601 1657#>12 ubeshort 3 RP175 1658#>12 ubeshort 4 YUV 1659 1660# PCX image files 1661# From: Dan Fandrich <dan@coneharvesters.com> 1662# updated by Joerg Jenderek at Feb 2013 by https://de.wikipedia.org/wiki/PCX 1663# https://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt 1664# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 1665# 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 16660 ubelong&0xffF8fe00 0x0a000000 1667# for PCX bit depth > 0 1668>3 ubyte >0 1669# test for valid versions 1670>>1 ubyte <6 1671>>>1 ubyte !1 PCX 1672!:mime image/x-pcx 1673#!:mime image/pcx 1674>>>>1 ubyte 0 ver. 2.5 image data 1675>>>>1 ubyte 2 ver. 2.8 image data, with palette 1676>>>>1 ubyte 3 ver. 2.8 image data, without palette 1677>>>>1 ubyte 4 for Windows image data 1678>>>>1 ubyte 5 ver. 3.0 image data 1679>>>>4 uleshort x bounding box [%d, 1680>>>>6 uleshort x %d] - 1681>>>>8 uleshort x [%d, 1682>>>>10 uleshort x %d], 1683>>>>65 ubyte >1 %d planes each of 1684>>>>3 ubyte x %d-bit 1685>>>>68 ubyte 1 colour, 1686>>>>68 ubyte 2 grayscale, 1687# this should not happen 1688>>>>68 default x image, 1689>>>>12 uleshort >0 %d x 1690>>>>>14 uleshort x %d dpi, 1691>>>>2 ubyte 0 uncompressed 1692>>>>2 ubyte 1 RLE compressed 1693 1694# Adobe Photoshop 1695# From: Asbjoern Sloth Toennesen <asbjorn@lila.io> 1696# URL: http://fileformats.archiveteam.org/wiki/PSD 1697# Reference: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/ 1698# Note: verfied by XnView `nconvert -fullinfo *.psd *.psb *.pdd` 1699# and ImageMagick `identify -verbose *.pdd` 17000 string 8BPS 1701# skip DROID x-fmt-92-signature-id-277.psd by checking valid width 1702>18 ubelong >0 Adobe Photoshop 1703!:mime image/vnd.adobe.photoshop 1704!:apple ????8BPS 1705# version: always equal to 1, but 2 for PSB 1706>>4 beshort 1 1707# URL: http://fileformats.archiveteam.org/wiki/PhotoDeluxe 1708# EXTRAS/PHOTOS/DEMOPIX/ORIGINAL.PDD 1709>>>34 search/0xC0d7 PHUT Image (PhotoDeluxe) 1710!:ext pdd 1711>>>34 default x Image 1712!:ext psd 1713# URL: http://fileformats.archiveteam.org/wiki/PSB 1714>>4 beshort 2 Image (PSB) 1715!:ext psb 1716# width in pixels: 1-30000 1-300000 for PSB 1717>>18 belong x \b, %d x 1718>>14 belong x %d, 1719# The color mode; 0~Bitmap 1~Grayscale 2~Indexed 3~RGB 4~CMYK 7~Multichannel 9~Duotone 9~Lab 1720>>24 beshort 0 bitmap 1721>>24 beshort 1 grayscale 1722# the number of channels; range is 1 to 56 1723>>>12 beshort 2 with alpha 1724>>24 beshort 2 indexed 1725>>24 beshort 3 RGB 1726>>>12 beshort 4 \bA 1727>>24 beshort 4 CMYK 1728>>>12 beshort 5 \bA 1729>>24 beshort 7 multichannel 1730>>24 beshort 8 duotone 1731>>24 beshort 9 lab 1732>>12 beshort > 1 1733>>>12 beshort x \b, %dx 1734>>12 beshort 1 \b, 1735>>22 beshort x %d-bit channel 1736>>12 beshort > 1 \bs 1737# 6 reserved bytes; must be zero, but spaces inside ImageMagick input.psd 1738# https://download.imagemagick.org/ImageMagick/download/ImageMagick-7.0.11-11.zip 1739# ImageMagick-7.0.11-11\PerlMagick\t\input.psd 1740>>6 bequad&0xFFffFFffFFff0000 !0 \b, at offset 6 1741>>>6 belong x 0x%8.8x 1742>>>6 beshort x \b%4.4x 1743 1744# XV thumbnail indicator (ThMO) 1745# URL: https://en.wikipedia.org/wiki/Xv_(software) 1746# Reference: http://fileformats.archiveteam.org/wiki/XV_thumbnail 1747# Update: Joerg Jenderek 17480 string P7\ 332 XV thumbnail image data 1749#0 string P7\ 332 XV "thumbnail file" (icon) data 1750!:mime image/x-xv-thumbnail 1751# thumbnail .xvpic/foo.bar for graphic foo.bar 1752!:ext p7/gif/tif/xpm/jpg 1753 1754# NITF is defined by United States MIL-STD-2500A 17550 string NITF National Imagery Transmission Format 1756>25 string >\0 dated %.14s 1757 1758# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff) 1759# Format variations from: Bernd Nuernberger <bernd.nuernberger@web.de> 1760# Update: Joerg Jenderek 1761# See http://fileformats.archiveteam.org/wiki/GEM_Raster 1762# For variations, also see: 1763# https://www.seasip.info/Gem/ff_img.html (Ventura) 1764# http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT) 1765# http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT) 1766# http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG) 17670 beshort 0x0001 1768# header_size 1769>2 beshort 0x0008 1770>>0 use gem_info 1771>2 beshort 0x0009 1772>>0 use gem_info 1773# no example for NOSIG 1774>2 beshort 24 1775>>0 use gem_info 1776# no example for HYPERPAINT 1777>2 beshort 25 1778>>0 use gem_info 177916 string XIMG\0 1780>0 use gem_info 1781# no example 178216 string STTT\0\x10 1783>0 use gem_info 1784# no example or description 178516 string TIMG\0 1786>0 use gem_info 1787 17880 name gem_info 1789# version is 2 for some XIMG and 1 for all others 1790>0 ubeshort <0x0003 GEM 1791# https://www.snowstone.org.uk/riscos/mimeman/mimemap.txt 1792!:mime image/x-gem 1793# header_size 24 25 27 59 779 words for colored bitmaps 1794>>2 ubeshort >9 1795>>>16 string STTT\0\x10 STTT 1796>>>16 string TIMG\0 TIMG 1797# HYPERPAINT or NOSIG variant 1798>>>16 string \0\x80 1799>>>>2 ubeshort =24 NOSIG 1800>>>>2 ubeshort !24 HYPERPAINT 1801# NOSIG or XIMG variant 1802>>>16 default x 1803>>>>16 string !XIMG\0 NOSIG 1804>>16 string =XIMG\0 XIMG Image data 1805!:ext img/ximg 1806# to avoid Warning: Current entry does not yet have a description for adding a EXTENSION type 1807>>16 string !XIMG\0 Image data 1808!:ext img 1809# header_size is 9 for Ventura files and 8 for other GEM Paint files 1810>>2 ubeshort 9 (Ventura) 1811#>>2 ubeshort 8 (Paint) 1812>>12 ubeshort x %d x 1813>>14 ubeshort x %d, 1814# 1 4 8 1815>>4 ubeshort x %d planes, 1816# in tenths of a millimetre 1817>>8 ubeshort x %d x 1818>>10 ubeshort x %d pixelsize 1819# pattern_size 1-8. 2 for GEM Paint 1820>>6 ubeshort !2 \b, pattern size %d 1821 1822# GEM Metafile (Wolfram Kleff) 18230 ulelong 0x0018FFFF GEM Metafile data 1824>4 uleshort x version %d 1825 1826# 1827# SMJPEG. A custom Motion JPEG format used by Loki Entertainment 1828# Software Torbjorn Andersson <d91tan@Update.UU.SE>. 1829# 18300 string \0\nSMJPEG SMJPEG 1831>8 ubelong x %d.x data 1832# According to the specification you could find any number of _TXT 1833# headers here, but I can't think of any way of handling that. None of 1834# the SMJPEG files I tried it on used this feature. Even if such a 1835# file is encountered the output should still be reasonable. 1836>16 string _SND \b, 1837>>24 ubeshort >0 %d Hz 1838>>26 ubyte 8 8-bit 1839>>26 ubyte 16 16-bit 1840>>28 string NONE uncompressed 1841# >>28 string APCM ADPCM compressed 1842>>27 ubyte 1 mono 1843>>28 ubyte 2 stereo 1844# Help! Isn't there any way to avoid writing this part twice? 1845# Yes, use a name/use 1846>>32 string _VID \b, 1847# >>>48 string JFIF JPEG 1848>>>40 ubelong >0 %d frames 1849>>>44 ubeshort >0 (%d x 1850>>>46 ubeshort >0 %d) 1851>16 string _VID \b, 1852# >>32 string JFIF JPEG 1853>>24 ubelong >0 %d frames 1854>>28 ubeshort >0 (%d x 1855>>30 ubeshort >0 %d) 1856 18570 string Paint\ Shop\ Pro\ Image\ File Paint Shop Pro Image File 1858 1859# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?) 18600 string KiSS KISS/GS 1861>4 ubyte 16 color 1862>>5 ubyte x %d bit 1863>>8 uleshort x %d colors 1864>>10 uleshort x %d groups 1865>4 ubyte 32 cell 1866>>5 ubyte x %d bit 1867>>8 uleshort x %d x 1868>>10 uleshort x %d 1869>>12 uleshort x +%d 1870>>14 uleshort x +%d 1871 1872# Webshots (www.webshots.com), by John Harrison 18730 string C\253\221g\230\0\0\0 Webshots Desktop .wbz file 1874 1875# Hercules DASD image files 1876# From Jan Jaeger <jj@septa.nl> and Jay Maynard <jaymaynard@gmail.com> 18770 string CKD_P370 Hercules CKD DASD image file 1878>8 lelong x \b, %d heads per cylinder 1879>12 lelong x \b, track size %d bytes 1880>16 byte x \b, device type 33%2.2X 1881 18820 string CKD_C370 Hercules compressed CKD DASD image file 1883>8 lelong x \b, %d heads per cylinder 1884>12 lelong x \b, track size %d bytes 1885>16 byte x \b, device type 33%2.2X 1886>552 lelong x \b, %d total cylinders 1887>>557 byte 0 \b, no compression 1888>>557 byte 1 \b, ZLIB compression 1889>>557 byte 2 \b, BZ2 compression 1890 18910 string CKD_S370 Hercules CKD DASD shadow file 1892>8 lelong x \b, %d heads per cylinder 1893>12 lelong x \b, track size %d bytes 1894>16 byte x \b, device type 33%2.2X 1895 18960 string CKD_P064 Hercules CKD64 DASD image file 1897>8 lelong x \b, %d heads per cylinder 1898>12 lelong x \b, track size %d bytes 1899>16 byte x \b, device type 33%2.2X 1900 19010 string CKD_C064 Hercules compressed CKD64 DASD image file 1902>8 lelong x \b, %d heads per cylinder 1903>12 lelong x \b, track size %d bytes 1904>16 byte x \b, device type 33%2.2X 1905>524 lelong x \b, %d total cylinders 1906>>585 byte 0 \b, no compression 1907>>585 byte 1 \b, ZLIB compression 1908>>585 byte 2 \b, BZ2 compression 1909 19100 string CKD_S064 Hercules CKD64 DASD shadow file 1911>8 lelong x \b, %d heads per cylinder 1912>12 lelong x \b, track size %d bytes 1913>16 byte x \b, device type 33%2.2X 1914 1915# Squeak images and programs - etoffi@softhome.net 19160 string \146\031\0\0 Squeak image data 19170 search/1 'From\040Squeak Squeak program text 1918 1919# partimage: file(1) magic for PartImage files (experimental, incomplete) 1920# Author: Hans-Joachim Baader <hjb@pro-linux.de> 19210 string PaRtImAgE-VoLuMe PartImage 1922>0x0020 string 0.6.1 file version %s 1923>>0x0060 ulelong >-1 volume %d 1924#>>0x0064 8 byte identifier 1925#>>0x007c reserved 1926>>0x0200 string >\0 type %s 1927>>0x1400 string >\0 device %s, 1928>>0x1600 string >\0 original filename %s, 1929# Some fields omitted 1930>>0x2744 ulelong 0 not compressed 1931>>0x2744 ulelong 1 gzip compressed 1932>>0x2744 ulelong 2 bzip2 compressed 1933>>0x2744 ulelong >2 compressed with unknown algorithm 1934>0x0020 string >0.6.1 file version %s 1935>0x0020 string <0.6.1 file version %s 1936 1937# DCX is multi-page PCX, using a simple header of up to 1024 1938# offsets for the respective PCX components. 1939# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> 1940# Update: Joerg Jenderek 1941# URL: http://fileformats.archiveteam.org/wiki/DCX 19420 ulelong 987654321 DCX multi-page 1943# http://www.nationalarchives.gov.uk/pronom/x-fmt/348 1944!:mime image/x-dcx 1945!:ext dcx 1946# The first file offset usually starts at file offset 0x1004 1947# print 1 space after 0x100? offset and then handles PCX images by ./images 1948>4 ulelong x \b, at %#x 1949>(4.l) indirect x 1950# possible 2nd PCX image 1951#>8 ulelong !0 \b, at %#x 1952#>>(8.l) indirect x 1953# possible 3rd PCX image 1954#>12 ulelong !0 \b, at %#x 1955#>>(12.l) indirect x 1956 1957# Simon Walton <simonw@matteworld.com> 1958# Kodak Cineon format for scanned negatives 1959# http://www.kodak.com/US/en/motion/support/dlad/ 19600 ulelong 0xd75f2a80 Cineon image data 1961>200 ubelong >0 \b, %d x 1962>204 ubelong >0 %d 1963 1964 1965# Bio-Rad .PIC is an image format used by microscope control systems 1966# and related image processing software used by biologists. 1967# From: Vebjorn Ljosa <vebjorn@ljosa.com> 1968# BOOL values are two-byte integers; use them to rule out false positives. 1969# https://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt 1970# Samples: https://www.loci.wisc.edu/software/sample-data 197114 uleshort <2 1972>62 uleshort <2 1973>>54 uleshort 12345 Bio-Rad .PIC Image File 1974>>>0 uleshort >0 %d x 1975>>>2 uleshort >0 %d, 1976>>>4 uleshort =1 1 image in file 1977>>>4 uleshort >1 %d images in file 1978 1979# From Jan "Yenya" Kasprzak <kas@fi.muni.cz> 1980# The description of *.mrw format can be found at 1981# http://www.dalibor.cz/minolta/raw_file_format.htm 19820 string \000MRM Minolta Dimage camera raw image data 1983 1984# Summary: DjVu image / document 1985# Extension: .djvu 1986# Reference: http://djvu.org/docs/DjVu3Spec.djvu 1987# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr> 1988# Modified by (1): Abel Cheung <abelcheung@gmail.com> 19890 string AT&TFORM 1990>12 string DJVM DjVu multiple page document 1991!:mime image/vnd.djvu 1992>12 string DJVU DjVu image or single page document 1993!:mime image/vnd.djvu 1994>12 string DJVI DjVu shared document 1995!:mime image/vnd.djvu 1996>12 string THUM DjVu page thumbnails 1997!:mime image/vnd.djvu 1998 1999# Originally by Marc Espie 2000# Modified by Robert Minsk <robertminsk at yahoo.com> 2001# https://www.openexr.com/openexrfilelayout.pdf 20020 ulelong 20000630 OpenEXR image data, 2003!:mime image/x-exr 2004>4 ulelong&0x000000ff x version %d, 2005>4 ulelong ^0x00000200 storage: scanline 2006>4 ulelong &0x00000200 storage: tiled 2007>8 search/0x1000 compression\0 \b, compression: 2008>>&16 ubyte 0 none 2009>>&16 ubyte 1 rle 2010>>&16 ubyte 2 zips 2011>>&16 ubyte 3 zip 2012>>&16 ubyte 4 piz 2013>>&16 ubyte 5 pxr24 2014>>&16 ubyte 6 b44 2015>>&16 ubyte 7 b44a 2016>>&16 ubyte 8 dwaa 2017>>&16 ubyte 9 dwab 2018>>&16 ubyte >9 unknown 2019>8 search/0x1000 dataWindow\0 \b, dataWindow: 2020>>&10 ulelong x (%d 2021>>&14 ulelong x %d)- 2022>>&18 ulelong x \b(%d 2023>>&22 ulelong x %d) 2024>8 search/0x1000 displayWindow\0 \b, displayWindow: 2025>>&10 ulelong x (%d 2026>>&14 ulelong x %d)- 2027>>&18 ulelong x \b(%d 2028>>&22 ulelong x %d) 2029>8 search/0x1000 lineOrder\0 \b, lineOrder: 2030>>&14 ubyte 0 increasing y 2031>>&14 ubyte 1 decreasing y 2032>>&14 ubyte 2 random y 2033>>&14 ubyte >2 unknown 2034 2035# SMPTE Digital Picture Exchange Format, SMPTE DPX 2036# 2037# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital 2038# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 2039# Robert Minsk <robertminsk at yahoo.com> 2040# Modified by Harry Mallon <hjmallon at gmail.com> 20410 string SDPX DPX image data, big-endian, 2042!:mime image/x-dpx 2043>0 use dpx_info 20440 string XPDS DPX image data, little-endian, 2045!:mime image/x-dpx 2046>0 use \^dpx_info 2047 20480 name dpx_info 2049>768 ubeshort <4 2050>>772 ubelong x %dx 2051>>776 ubelong x \b%d, 2052>768 ubeshort >3 2053>>776 ubelong x %dx 2054>>772 ubelong x \b%d, 2055>768 ubeshort 0 left to right/top to bottom 2056>768 ubeshort 1 right to left/top to bottom 2057>768 ubeshort 2 left to right/bottom to top 2058>768 ubeshort 3 right to left/bottom to top 2059>768 ubeshort 4 top to bottom/left to right 2060>768 ubeshort 5 top to bottom/right to left 2061>768 ubeshort 6 bottom to top/left to right 2062>768 ubeshort 7 bottom to top/right to left 2063 2064# From: Tom Hilinski <tom.hilinski@comcast.net> 2065# Update: Joerg Jenderek 2066# URL: https://en.wikipedia.org/wiki/NetCDF 2067# http://fileformats.archiveteam.org/wiki/NetCDF 2068# Reference: http://mark0.net/download/triddefs_xml.7z/defs/n/netcdf.trid.xml 2069# https://www.loc.gov/preservation/digital/formats/fdd/fdd000330.shtml 2070# Note: called "NetCDF Network Common Data Form" by TrID and 2071# "netCDF-3 Classic" by DROID via PUID fmt/282 2072# https://www.unidata.ucar.edu/packages/netcdf/ 20730 string CDF\001 2074# skip DROID fmt-282-signature-id-298.nc by test for more content bytes 2075>3 uleshort >0 NetCDF Data Format data 2076#!:mime application/netcdf 2077# https://reposcope.com/mimetype/application/x-netcdf 2078!:mime application/x-netcdf 2079!:ext nc 2080# https://fileinfo.com/extension/cdf 2081# https://www.file-extensions.org/cdf-file-extension-unidata-network-common-data-form 2082# in 1994 changed from CDF to NC file extension avoid a clash with other file formats 2083#!:ext nc/cdf 2084# 64-bit offset netcdf Classic https://www.unidata.ucar.edu/software/netcdf/docs/file_format_specifications 2085# Note: called "netCDF-3 64-bit" by DROID via PUID fmt/283 20860 string CDF\002 2087# skip DROID fmt-283-signature-id-299.nc by test for more content bytes 2088>3 uleshort >0 NetCDF Data Format data (64-bit offset) 2089#!:mime application/netcdf 2090!:mime application/x-netcdf 2091!:ext nc 2092 2093# From: Michael Liu 2094# https://en.wikipedia.org/wiki/Common_Data_Format 20950 ubelong 0xCDF30001 Common Data Format (Version 3 or later) data 2096!:mime application/x-cdf 2097 20980 ubelong 0xCDF26002 Common Data Format (Version 2.6 or 2.7) data 2099!:mime application/x-cdf 2100 21010 ubelong 0x0000FFFF Common Data Format (Version 2.5 or earlier) data 2102!:mime application/x-cdf 2103 2104# Hierarchical Data Format, used to facilitate scientific data exchange 2105# specifications at http://hdf.ncsa.uiuc.edu/ 2106# URL: http://fileformats.archiveteam.org/wiki/HDF 2107# https://en.wikipedia.org/wiki/Hierarchical_Data_Format 2108# Reference: https://portal.hdfgroup.org/download/attachments/52627880/HDF5_File_Format_Specification_Version-3.0.pdf 21090 ubelong 0x0e031301 Hierarchical Data Format (version 4) data 2110!:mime application/x-hdf 2111!:ext hdf/hdf4/h4 21120 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) data 2113#!:mime application/x-hdf 2114!:mime application/x-hdf5 2115!:ext h5/hdf5/hdf/he5 2116512 string \211HDF\r\n\032\n 2117# skip Matlab v5 mat-file testhdf5_7.4_GLNX86.mat handled by ./mathematica 2118>0 string !MATLAB Hierarchical Data Format (version 5) with 512 bytes user block 2119#!:mime application/x-hdf 2120!:mime application/x-hdf5 2121!:ext h5/hdf5/hdf/he5 21221024 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 1k user block 2123#!:mime application/x-hdf 2124!:mime application/x-hdf5 2125!:ext h5/hdf5/hdf/he5 21262048 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 2k user block 2127#!:mime application/x-hdf 2128!:mime application/x-hdf5 2129!:ext h5/hdf5/hdf/he5 21304096 string \211HDF\r\n\032\n Hierarchical Data Format (version 5) with 4k user block 2131#!:mime application/x-hdf 2132!:mime application/x-hdf5 2133!:ext h5/hdf5/hdf/he5 2134 2135# From: Tobias Burnus <burnus@net-b.de> 2136# Xara (for a while: Corel Xara) is a graphic package, see 2137# http://www.xara.com/ for Windows and as GPL application for Linux 21380 string XARA\243\243 Xara graphics file 2139 2140# From: Joerg Jenderek 2141# URL: http://fileformats.archiveteam.org/wiki/Corel_Gallery 2142# Reference: http://mark0.net/download/triddefs_xml.7z/defs/b/bmf-corel.trid.xml 2143# Note: called "Corel Binary Material Format" by TrID and 2144# "Corel Flow" by XnView 21450 string @CorelBMF\n\rCorel\040Corporation Corel GALLERY Clipart 2146!:mime image/x-corel-bmf 2147!:ext bmf 2148 2149# https://www.cartesianinc.com/Tech/ 2150# Reference: http://fileformats.archiveteam.org/wiki/Cartesian_Perceptual_Compression 21510 string CPC\262 Cartesian Perceptual Compression image 2152!:mime image/x-cpi 2153!:ext cpi/cpc 2154 2155# From Albert Cahalan <acahalan@gmail.com> 2156# puredigital used it for the CVS disposable camcorder 2157#8 lelong 4 ZBM bitmap image data 2158#>4 uleshort x %u x 2159#>6 uleshort x %u 2160 2161# From Albert Cahalan <acahalan@gmail.com> 2162# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons 21630 string C565 OLPC firmware icon image data 2164>4 uleshort x %u x 2165>6 uleshort x %u 2166 2167# Applied Images - Image files from Cytovision 2168# Gustavo Junior Alves <gjalves@gjalves.com.br> 21690 string \xce\xda\xde\xfa Cytovision Metaphases file 21700 string \xed\xad\xef\xac Cytovision Karyotype file 21710 string \x0b\x00\x03\x00 Cytovision FISH Probe file 21720 string \xed\xfe\xda\xbe Cytovision FLEX file 21730 string \xed\xab\xed\xfe Cytovision FLEX file 21740 string \xad\xfd\xea\xad Cytovision RATS file 2175 2176# Wavelet Scalar Quantization format used in gray-scale fingerprint images 2177# From Tano M Fotang <mfotang@quanteq.com> 21780 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data 2179 2180# Type: PCO B16 image files 2181# URL: http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf 2182# From: Florian Philipp <florian.philipp@binarywings.net> 2183# Extension: .b16 2184# Description: Pixel image format produced by PCO Camware, typically used 2185# together with PCO cameras. 2186# Note: Different versions exist for e.g. 8 bit and 16 bit images. 2187# Documentation is incomplete. 21880 string/b PCO- PCO B16 image data 2189>12 ulelong x \b, %dx 2190>16 ulelong x \b%d 2191>20 ulelong 0 \b, short header 2192>20 ulelong -1 \b, extended header 2193>>24 ulelong 0 \b, grayscale 2194>>>36 ulelong 0 linear LUT 2195>>>36 ulelong 1 logarithmic LUT 2196>>>28 ulelong x [%d 2197>>>32 ulelong x \b,%d] 2198>>24 ulelong 1 \b, color 2199>>>64 ulelong 0 linear LUT 2200>>>64 ulelong 1 logarithmic LUT 2201>>>40 ulelong x r[%d 2202>>>44 ulelong x \b,%d] 2203>>>48 ulelong x g[%d 2204>>>52 ulelong x \b,%d] 2205>>>56 ulelong x b[%d 2206>>>60 ulelong x \b,%d] 2207 2208# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches 2209# From: Markus Heidelberg <markus.heidelberg at web.de> 22100 string/t [BitmapInfo2] Polar Monitor Bitmap text 2211!:mime image/x-polar-monitor-bitmap 2212 2213# From: Rick Richardson <rickrich@gmail.com> 2214# updated by: Joerg Jenderek 2215# URL: http://techmods.net/nuvi/ 22160 string GARMIN\ BITMAP\ 01 Garmin Bitmap file 2217# extension is also used for 2218# Sony SRF raw image (image/x-sony-srf) 2219# SRF map 2220# Terragen Surface Map (https://www.planetside.co.uk/terragen) 2221# FileLocator Pro search criteria file (https://www.mythicsoft.com/filelocatorpro) 2222!:ext srf 2223#!:mime image/x-garmin-srf 2224# version 1.00,2.00,2.10,2.40,2.50 2225>0x2f string >0 \b, version %4.4s 2226# width (2880,2881,3240) 2227>0x55 uleshort >0 \b, %dx 2228# height (80,90) 2229>>0x53 uleshort x \b%d 2230 2231# From: Joerg Jenderek 2232# URL: http://fileformats.archiveteam.org/wiki/Imageiio/imaginfo_(Ulead) 2233# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pe3.trid.xml 2234# Note: called "Ulead Imageiio/Imaginfo thumbnail" by TrID 22350 string IIO1$ Ulead Photo Explorer 3 2236#!:mime application/octet-stream 2237!:mime image/x-ulead-pe3 2238# IMAGEIIO.PE3 2239!:ext pe3 2240# look for DOS/Windows drive letter 2241>5 search/192/s :\\ 2242# directory or full name of corresponding imaginfo.pe3 like: "T:\SAMPLES\TEXTURES\SKY_SNOW\IIOE371.TMP "S:\PI3\PIMPACT3\PROGRAMS\PATTERNS\imaginfo.pe3" 2243>>&-1 string x "%s" 2244# look for DOS/Windows network path if no drive letter part 2245>5 default x 2246>>5 search/192/s \x5c\x5c 2247# full name of corresponding imaginfo.pe3 like: "\\Lionking\upi\SAMPLES\IMAGES\ANIMALS\imaginfo.pe3" 2248>>>&0 string x "%s" 2249# Type: Ulead Photo Explorer5 (.pe5) 2250# URL: http://fileformats.archiveteam.org/wiki/Imageiio/imaginfo_(Ulead) 2251# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pe4.trid.xml 2252# From: Simon Horman <horms@debian.org> 2253# Update: Joerg Jenderek 2254# Note: some called "Ulead Imageiio/Imaginfo thumbnail" by TrID 2255# and used in various Ulead applications 22560 string IIO2H Ulead Photo Explorer 4 or 5 2257#!:mime application/octet-stream 2258!:mime image/x-ulead-pe4 2259# IMAGEIIO.PE4 2260!:ext pe4/pe5 2261# look in most samples for JPEG signature like: SAMPLES/IMAGES/SCENES/IMAGINFO.PE4 2262>0x4c2 search/0xE02/s JFIF with JPEG image data 2263>>&-6 use jpeg 2264# near the end list of image names like: Img0001.pcd 1116012L.JPG NCARD4.TPL 2265# 2266# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pe3-imaginfo.trid.xml 226711 string \001\0\0\0\0 2268# check for version 3 part 2269>19 string \0\001\0\003\0 2270>>0 use ulead-imaginfo 2271# From: Joerg Jenderek 2272# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pe4-imaginfo.trid.xml 227311 string \001\0\0\0\0 2274# check for version 4 part 2275>19 string \0\0\0\004\0 2276>>0 use ulead-imaginfo 2277# display information about Ulead Imaginfo thumbnail (version, directory, image extension) 22780 name ulead-imaginfo 2279>22 ubyte x Ulead Imaginfo thumbnail 2280#!:mime application/octet-stream 2281!:mime image/x-ulead-imaginfo 2282>22 ubyte =3 \b, version 3 2283# IMAGINFO.PE3 2284!:ext pe3 2285>22 ubyte =4 \b, version 4 2286# IMAGINFO.PE4 2287!:ext pe4 2288# MAYBE ALSO VERSION 5 ? 2289#>22 ubyte =5 \b, version 5 2290#!:ext pe5 2291>22 ubyte x 2292# look for DOS/Windows driver letter 2293>>4 search/192/s :\x5c 2294# skip f:\Programme\iPhoto Plus 4\Template\Business Cards\IMAGINFO.PE4 2295# by looking for driver letter in range A-Z 2296>>>&-1 ubyte >0x40 2297# directory path like: "E:\iPE\CDSample\Images\Scenes" "D:\XmasCard\Samples" "C:\TEMP\PLANTS" 2298>>>>&-5 pstring/l >0 \b, "%s" 2299# look for DOS/Windows network path if no valid drive letter part 2300>>>&-1 default x 2301>>>>4 search/192/s \x5c\x5c 2302# directory path like: "\\FSX\SYS\OPPS\IPE.ENG\TEMPLATE\BUSINESS" "\\Lionking\upi\SAMPLES\IMAGES\ANIMALS" 2303>>>>>&-4 pstring/l >0 \b, "%s" 2304# look for DOS/Windows network path if no drive letter part 2305>>4 default x 2306>>>4 search/192/s \x5c\x5c 2307# directory path like: "\\FSX\SYS\opps\ipe.eng\samples" "\\DANIEL\IPE_CD\IPE.ITA" 2308>>>>&-4 pstring/l >0 \b, "%s" 2309# look for point character inside image names 2310>56 search/38/s . 2311# image name extension like: bmp jpg pcd tpl 2312>>&1 string x with %-.3s images 2313# Summary: Ulead Pattern image (Corel Corporation) 2314# URL: https://en.wikipedia.org/wiki/Ulead_Systems 2315# https://www.file-extensions.org/pst-file-extension-ulead-pattern-image-format 2316# Reference: http://mark0.net/download/triddefs_xml.7z/defs/p/pst-ulead.trid.xml 2317# From: Joerg Jenderek 2318# Note: used also by CorelDraw Essentials 3 version 13.0.0.800 2319# there seems to exist other versions 23200 ubelong 0xFFFF0100 2321>8 search/21 PresetInfo Ulead pattern image 2322#!:mime application/octet-stream 2323!:mime image/x-ulead-pst 2324!:ext pst 2325# string length like: 16 18 19 21 24 2326#>>4 uleshort x n=%u 2327# like: BlendPresetInfo DropShadowPresetInfo FileNewPresetInfo VectorExtrudePresetInfo EnvelopePresetInfo ContourPresetInfo DistortionPresetInfo 2328>>4 pstring/h x "%s" 2329 2330# Type: X11 cursor 2331# URL: http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup 2332# From: Mathias Brodala <info@noctus.net> 23330 string Xcur X11 cursor 2334 2335# Type: Olympus ORF raw images. 2336# URL: https://libopenraw.freedesktop.org/wiki/Olympus_ORF 2337# From: Adam Buchbinder <adam.buchbinder@gmail.com> 23380 string MMOR Olympus ORF raw image data, big-endian 2339!:mime image/x-olympus-orf 23400 string IIRO Olympus ORF raw image data, little-endian 2341!:mime image/x-olympus-orf 23420 string IIRS Olympus ORF raw image data, little-endian 2343!:mime image/x-olympus-orf 2344 2345# Type: files used in modern AVCHD camcoders to store clip information 2346# Extension: .cpi 2347# From: Alexander Danilov <alexander.a.danilov@gmail.com> 23480 string HDMV0100 AVCHD Clip Information 2349 2350# From: Adam Buchbinder <adam.buchbinder@gmail.com> 2351# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/ 2352# Radiance HDR; usually has .pic or .hdr extension. 23530 string #?RADIANCE\n Radiance HDR image data 2354#!mime image/vnd.radiance 2355 2356# From: Adam Buchbinder <adam.buchbinder@gmail.com> 2357# URL: https://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf 2358# Used by the pfstools packages. The regex matches for the image size could 2359# probably use some work. The MIME type is made up; if there's one in 2360# actual common use, it should replace the one below. 23610 string PFS1\x0a PFS HDR image data 2362#!mime image/x-pfs 2363>1 regex [0-9]*\ \b, %s 2364>>1 regex \ [0-9]{4} \bx%s 2365 2366# Type: Foveon X3F 2367# URL: https://www.photofo.com/downloads/x3f-raw-format.pdf 2368# From: Adam Buchbinder <adam.buchbinder@gmail.com> 2369# Note that the MIME type isn't defined anywhere that I can find; if 2370# there's a canonical type for this format, it should replace this one. 23710 string FOVb Foveon X3F raw image data 2372!:mime image/x-x3f 2373>6 uleshort x \b, version %d. 2374>4 uleshort x \b%d 2375>28 ulelong x \b, %dx 2376>32 ulelong x \b%d 2377 2378# Paint.NET file 2379# From Adam Buchbinder <adam.buchbinder@gmail.com> 23800 string PDN3 Paint.NET image data 2381!:mime image/x-paintnet 2382 2383# Not really an image. 2384# From: "Tano M. Fotang" <mfotang@quanteq.com> 23850 string \x46\x4d\x52\x00 ISO/IEC 19794-2 Format Minutiae Record (FMR) 2386 2387# doc: https://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip 2388# example: https://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip 238990 ubequad 0x574D50484F544F00 JPEG-XR Image 2390>98 ubyte&0x08 =0x08 \b, hard tiling 2391>99 ubyte&0x80 =0x80 \b, tiling present 2392>99 ubyte&0x40 =0x40 \b, codestream present 2393>99 ubyte&0x38 x \b, spatial xform= 2394>99 ubyte&0x38 0x00 \bTL 2395>99 ubyte&0x38 0x08 \bBL 2396>99 ubyte&0x38 0x10 \bTR 2397>99 ubyte&0x38 0x18 \bBR 2398>99 ubyte&0x38 0x20 \bBT 2399>99 ubyte&0x38 0x28 \bRB 2400>99 ubyte&0x38 0x30 \bLT 2401>99 ubyte&0x38 0x38 \bLB 2402>100 ubyte&0x80 =0x80 \b, short header 2403>>102 ubeshort+1 x \b, %d 2404>>104 ubeshort+1 x \bx%d 2405>100 ubyte&0x80 =0x00 \b, long header 2406>>102 ubelong+1 x \b, %x 2407>>106 ubelong+1 x \bx%x 2408>101 ubeshort&0xf x \b, bitdepth= 2409>>101 ubeshort&0xf 0x0 \b1-WHITE=1 2410>>101 ubeshort&0xf 0x1 \b8 2411>>101 ubeshort&0xf 0x2 \b16 2412>>101 ubeshort&0xf 0x3 \b16-SIGNED 2413>>101 ubeshort&0xf 0x4 \b16-FLOAT 2414>>101 ubeshort&0xf 0x5 \b(reserved 5) 2415>>101 ubeshort&0xf 0x6 \b32-SIGNED 2416>>101 ubeshort&0xf 0x7 \b32-FLOAT 2417>>101 ubeshort&0xf 0x8 \b5 2418>>101 ubeshort&0xf 0x9 \b10 2419>>101 ubeshort&0xf 0xa \b5-6-5 2420>>101 ubeshort&0xf 0xb \b(reserved %d) 2421>>101 ubeshort&0xf 0xc \b(reserved %d) 2422>>101 ubeshort&0xf 0xd \b(reserved %d) 2423>>101 ubeshort&0xf 0xe \b(reserved %d) 2424>>101 ubeshort&0xf 0xf \b1-BLACK=1 2425>101 ubeshort&0xf0 x \b, colorfmt= 2426>>101 ubeshort&0xf0 0x00 \bYONLY 2427>>101 ubeshort&0xf0 0x10 \bYUV240 2428>>101 ubeshort&0xf0 0x20 \bYWV422 2429>>101 ubeshort&0xf0 0x30 \bYWV444 2430>>101 ubeshort&0xf0 0x40 \bCMYK 2431>>101 ubeshort&0xf0 0x50 \bCMYKDIRECT 2432>>101 ubeshort&0xf0 0x60 \bNCOMPONENT 2433>>101 ubeshort&0xf0 0x70 \bRGB 2434>>101 ubeshort&0xf0 0x80 \bRGBE 2435>>101 ubeshort&0xf0 >0x80 \b(reserved %#x) 2436 2437# From: Johan van der Knijff <johan.vanderknijff@kb.nl> 2438# 2439# BPG (Better Portable Graphics) format 2440# https://bellard.org/bpg/ 2441# http://fileformats.archiveteam.org/wiki/BPG 2442# 24430 string \x42\x50\x47\xFB BPG (Better Portable Graphics) 2444!:mime image/bpg 2445 2446# From: Joerg Jenderek 2447# URL: https://en.wikipedia.org/wiki/Apple_Icon_Image_format 24480 string icns Mac OS X icon 2449!:mime image/x-icns 2450!:apple ????icns 2451!:ext icns 2452>4 ubelong >0 2453# file size 2454>>4 ubelong x \b, %d bytes 2455# icon type 2456>>8 string x \b, "%4.4s" type 2457 2458# TIM images 2459# URL: http://fileformats.archiveteam.org/wiki/TIM_(PlayStation_graphics) 2460# Reference: https://mrclick.zophar.net/TilEd/download/timgfx.txt 2461# Update: Joerg Jenderek 2462# Note: called as "PSX TIM *bpp bitmap" by bitmap-tim-*.trid.xml 2463# verified as "TIM PSX" by XnView `nconvert -fullinfo *.tim` and 2464# by RECOIL `recoil2png -o TMP.PNG input.tim; file TMP.PNG` and often 2465# as "PSX TIM" by ImageMagick version 7.1.0-10 command `identify *.tim` 2466# here signed integers are used but according to Kaitai unsigned 24670 ulelong 0x00000010 2468# 32 Flag bits *cttt; c~CLUT flag t~type 000~4BPP 001~8BPP 010~16BPP 011~24BPP 100~Mixed 2469#>4 ulelong x FLAGS=%#x 2470# 12+Size of CLUT (2Ch for 4BPP; 20Ch 40Ch 60Ch 80Ch C0Ch for 8BPP) or 2471# +image data size (800Ch 2000Ch 2580C for 16BPP) (02000003h for dBase memo test.dbt) 2472#>8 ulelong x \b, 12+CLUT or data size=%#8.8x 2473# CLUT or data size remainder is 12 (Ch), but 03 for dBase memo test.dbt 2474#>8 ubyte&0x0F =0x0C \b, SIZE REMAINDER IS 12 2475# skip dBase III memo test.dbt with invalid flags 22D10189h 2476>4 ulelong&0xffFFffF0 =0 Sony PlayStation PSX image, 2477# file (version 5.40) labeled the above entry as "TIM image" 2478!:mime image/x-sony-tim 2479!:ext tim 2480#>>4 ulelong&0x00000007 x \b, BPP~%u 2481# 4BPP and 8BPP examples exist with CLUT or without CLUT 2482>>4 ulelong&0x07 0x0 4-Bit, 2483>>4 ulelong&0x07 0x1 8-Bit, 2484# 16BPP and 24BPP examples have no CLUT 2485>>4 ulelong 0x2 15-Bit, 2486>>4 ulelong 0x3 24-Bit, 2487# no example 2488>>4 ulelong&0x07 0x4 Mixed-Bit, 2489# CLUT flag set 2490>>4 ulelong &8 2491# 12 + size of CLUT like: 1000Ch 800Ch 400Ch 40Ch and 2FEh (KAGE.TIM) 2492#>>>(8.l+8) ulelong x \b, 12+CLUT SIZE=%#8.8x 2493>>>(8.l+12) uleshort x Pixel at (%d, 2494>>>(8.l+14) uleshort x \b%d) Size= 2495# image width (to get actual width multiply by 4 for 4BPP and by 2 for 8BPP) 2496>>>>4 ulelong 0x8 2497>>>>>(8.l+16) uleshort*4 x \b%d 2498>>>>4 ulelong 0x9 2499>>>>>(8.l+16) uleshort*2 x \b%d 2500# image height like: 32 64 128 144 160 208 256 2501>>>(8.l+18) uleshort x \bx%d, 2502>>>4 ulelong 0x8 16 CLUT Entries at 2503>>>4 ulelong 0x9 256 CLUT Entries at 2504>>>12 uleshort x (%d, 2505>>>14 uleshort x \b%d) 2506# no Color LookUp Table (CLUT) 2507>>4 ulelong ^8 2508# image origin X Y 2509>>>12 uleshort x Pixel at (%d, 2510>>>14 uleshort x \b%d) Size= 2511# real image width = multiply by 4 (4BPP) 2 (8BPP) 1 (16BPP) 2/3 (24BPP) 2512>>>>4 ulelong 0x0 2513>>>>>16 uleshort*4 x \b%d 2514>>>>4 ulelong 0x1 2515>>>>>16 uleshort*2 x \b%d 2516>>>>4 ulelong 0x2 2517>>>>>16 uleshort x \b%d 2518>>>>4 ulelong 0x3 2519# GRR: NOT working 2520#>>>>>16 uleshort*2/3 x \b%d 2521>>>>>16 uleshort x \b2/3*%d 2522# mixed format width not explained! 2523>>>>4 ulelong 0x4 2524>>>>>16 uleshort x \b%d 2525# image height like: 64 240 256 2526>>>18 uleshort x \bx%d 2527# TIM image data 2528 2529# MDEC streams 25300 ulelong 0x80010160 MDEC video stream, 2531>16 uleshort x %dx 2532>18 uleshort x \b%d 2533#>8 ulelong x %d frames 2534#>4 uleshort x secCount=%d; 2535#>6 uleshort x nSectors=%d; 2536#>12 ulelong x frameSize=%d; 2537 2538# BS encoded bitstreams 25392 uleshort 0x3800 BS image, 2540>6 uleshort x Version %d, 2541>4 uleshort x Quantization %d, 2542>0 uleshort x (Decompresses to %d words) 2543 2544# Type: farbfeld image. 2545# Url: http://tools.suckless.org/farbfeld/ 2546# From: Ian D. Scott <ian@iandouglasscott.com> 2547# 25480 string farbfeld farbfeld image data, 2549>8 ubelong x %dx 2550>12 ubelong x \b%d 2551 2552# Type: Microsoft DirectDraw Surface (DXGI formats) 2553# URL: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 2554# From: Morten Hustveit <morten@debian.org> 2555# Updated by: David Korth <gerbilsoft@gerbilsoft.com> 25560 name ms-directdraw-dx10 2557>0 ulelong x \b, DXGI format: 2558>0 ulelong 1 R32G32B32A32_TYPELESS 2559>0 ulelong 2 R32G32B32A32_FLOAT 2560>0 ulelong 3 R32G32B32A32_UINT 2561>0 ulelong 4 R32G32B32A32_SINT 2562>0 ulelong 5 R32G32B32_TYPELESS 2563>0 ulelong 6 R32G32B32_FLOAT 2564>0 ulelong 7 R32G32B32_UINT 2565>0 ulelong 8 R32G32B32_SINT 2566>0 ulelong 9 R16G16B16A16_TYPELESS 2567>0 ulelong 10 R16G16B16A16_FLOAT 2568>0 ulelong 11 R16G16B16A16_UNORM 2569>0 ulelong 12 R16G16B16A16_UINT 2570>0 ulelong 13 R16G16B16A16_SNORM 2571>0 ulelong 14 R16G16B16A16_SINT 2572>0 ulelong 15 R32G32_TYPELESS 2573>0 ulelong 16 R32G32_FLOAT 2574>0 ulelong 17 R32G32_UINT 2575>0 ulelong 18 R32G32_SINT 2576>0 ulelong 19 R32G8X24_TYPELESS 2577>0 ulelong 20 D32_FLOAT_S8X24_UINT 2578>0 ulelong 21 R32_FLOAT_X8X24_TYPELESS 2579>0 ulelong 22 X32_TYPELESS_G8X24_UINT 2580>0 ulelong 23 R10G10B10A2_TYPELESS 2581>0 ulelong 24 R10G10B10A2_UNORM 2582>0 ulelong 25 R10G10B10A2_UINT 2583>0 ulelong 26 R11G11B10_FLOAT 2584>0 ulelong 27 R8G8B8A8_TYPELESS 2585>0 ulelong 28 R8G8B8A8_UNORM 2586>0 ulelong 29 R8G8B8A8_UNORM_SRGB 2587>0 ulelong 30 R8G8B8A8_UINT 2588>0 ulelong 31 R8G8B8A8_SNORM 2589>0 ulelong 32 R8G8B8A8_SINT 2590>0 ulelong 33 R16G16_TYPELESS 2591>0 ulelong 34 R16G16_FLOAT 2592>0 ulelong 35 R16G16_UNORM 2593>0 ulelong 36 R16G16_UINT 2594>0 ulelong 37 R16G16_SNORM 2595>0 ulelong 38 R16G16_SINT 2596>0 ulelong 39 R32_TYPELESS 2597>0 ulelong 40 D32_FLOAT 2598>0 ulelong 41 R32_FLOAT 2599>0 ulelong 42 R32_UINT 2600>0 ulelong 43 R32_SINT 2601>0 ulelong 44 R24G8_TYPELESS 2602>0 ulelong 45 D24_UNORM_S8_UINT 2603>0 ulelong 46 R24_UNORM_X8_TYPELESS 2604>0 ulelong 47 X24_TYPELESS_G8_UINT 2605>0 ulelong 48 R8G8_TYPELESS 2606>0 ulelong 49 R8G8_UNORM 2607>0 ulelong 50 R8G8_UINT 2608>0 ulelong 51 R8G8_SNORM 2609>0 ulelong 52 R8G8_SINT 2610>0 ulelong 53 R16_TYPELESS 2611>0 ulelong 54 R16_FLOAT 2612>0 ulelong 55 D16_UNORM 2613>0 ulelong 56 R16_UNORM 2614>0 ulelong 57 R16_UINT 2615>0 ulelong 58 R16_SNORM 2616>0 ulelong 59 R16_SINT 2617>0 ulelong 60 R8_TYPELESS 2618>0 ulelong 61 R8_UNORM 2619>0 ulelong 62 R8_UINT 2620>0 ulelong 63 R8_SNORM 2621>0 ulelong 64 R8_SINT 2622>0 ulelong 65 A8_UNORM 2623>0 ulelong 66 R1_UNORM 2624>0 ulelong 67 R9G9B9E5_SHAREDEXP 2625>0 ulelong 68 R8G8_B8G8_UNORM 2626>0 ulelong 69 G8R8_G8B8_UNORM 2627>0 ulelong 70 BC1_TYPELESS 2628>0 ulelong 71 BC1_UNORM 2629>0 ulelong 72 BC1_UNORM_SRGB 2630>0 ulelong 73 BC2_TYPELESS 2631>0 ulelong 74 BC2_UNORM 2632>0 ulelong 75 BC2_UNORM_SRGB 2633>0 ulelong 76 BC3_TYPELESS 2634>0 ulelong 77 BC3_UNORM 2635>0 ulelong 78 BC3_UNORM_SRGB 2636>0 ulelong 79 BC4_TYPELESS 2637>0 ulelong 80 BC4_UNORM 2638>0 ulelong 81 BC4_SNORM 2639>0 ulelong 82 BC5_TYPELESS 2640>0 ulelong 83 BC5_UNORM 2641>0 ulelong 84 BC5_SNORM 2642>0 ulelong 85 B5G6R5_UNORM 2643>0 ulelong 86 B5G5R5A1_UNORM 2644>0 ulelong 87 B8G8R8A8_UNORM 2645>0 ulelong 88 B8G8R8X8_UNORM 2646>0 ulelong 89 R10G10B10_XR_BIAS_A2_UNORM 2647>0 ulelong 90 B8G8R8A8_TYPELESS 2648>0 ulelong 91 B8G8R8A8_UNORM_SRGB 2649>0 ulelong 92 B8G8R8X8_TYPELESS 2650>0 ulelong 93 B8G8R8X8_UNORM_SRGB 2651>0 ulelong 94 BC6H_TYPELESS 2652>0 ulelong 95 BC6H_UF16 2653>0 ulelong 96 BC6H_SF16 2654>0 ulelong 97 BC7_TYPELESS 2655>0 ulelong 98 BC7_UNORM 2656>0 ulelong 99 BC7_UNORM_SRGB 2657>0 ulelong 100 AYUV 2658>0 ulelong 101 Y410 2659>0 ulelong 102 Y416 2660>0 ulelong 103 NV12 2661>0 ulelong 104 P010 2662>0 ulelong 105 P016 2663>0 ulelong 106 420_OPAQUE 2664>0 ulelong 107 YUY2 2665>0 ulelong 108 Y210 2666>0 ulelong 109 Y216 2667>0 ulelong 110 NV11 2668>0 ulelong 111 AI44 2669>0 ulelong 112 IA44 2670>0 ulelong 113 P8 2671>0 ulelong 114 A8P8 2672>0 ulelong 115 B4G4R4A4_UNORM 2673 2674>0 ulelong 116 XBOX_R10G10B10_7E3_A2_FLOAT 2675>0 ulelong 117 XBOX_R10G10B10_6E4_A2_FLOAT 2676>0 ulelong 118 XBOX_D16_UNORM_S8_UINT 2677>0 ulelong 119 XBOX_R16_UNORM_X8_TYPELESS 2678>0 ulelong 120 XBOX_X16_TYPELESS_G8_UINT 2679 2680>0 ulelong 130 DXGI_FORMAT_P208 2681>0 ulelong 131 DXGI_FORMAT_V208 2682>0 ulelong 132 DXGI_FORMAT_V408 2683 2684>0 ulelong 133 ASTC_4X4_TYPELESS 2685>0 ulelong 134 ASTC_4X4_UNORM 2686>0 ulelong 135 ASTC_4X4_UNORM_SRGB 2687>0 ulelong 137 ASTC_5X4_TYPELESS 2688>0 ulelong 138 ASTC_5X4_UNORM 2689>0 ulelong 139 ASTC_5X4_UNORM_SRGB 2690>0 ulelong 141 ASTC_5X5_TYPELESS 2691>0 ulelong 142 ASTC_5X5_UNORM 2692>0 ulelong 143 ASTC_5X5_UNORM_SRGB 2693>0 ulelong 145 ASTC_6X5_TYPELESS 2694>0 ulelong 146 ASTC_6X5_UNORM 2695>0 ulelong 147 ASTC_6X5_UNORM_SRGB 2696>0 ulelong 149 ASTC_6X6_TYPELESS 2697>0 ulelong 150 ASTC_6X6_UNORM 2698>0 ulelong 151 ASTC_6X6_UNORM_SRGB 2699>0 ulelong 153 ASTC_8X5_TYPELESS 2700>0 ulelong 154 ASTC_8X5_UNORM 2701>0 ulelong 155 ASTC_8X5_UNORM_SRGB 2702>0 ulelong 157 ASTC_8X6_TYPELESS 2703>0 ulelong 158 ASTC_8X6_UNORM 2704>0 ulelong 159 ASTC_8X6_UNORM_SRGB 2705>0 ulelong 161 ASTC_8X8_TYPELESS 2706>0 ulelong 162 ASTC_8X8_UNORM 2707>0 ulelong 163 ASTC_8X8_UNORM_SRGB 2708>0 ulelong 165 ASTC_10X5_TYPELESS 2709>0 ulelong 166 ASTC_10X5_UNORM 2710>0 ulelong 167 ASTC_10X5_UNORM_SRGB 2711>0 ulelong 169 ASTC_10X6_TYPELESS 2712>0 ulelong 170 ASTC_10X6_UNORM 2713>0 ulelong 171 ASTC_10X6_UNORM_SRGB 2714>0 ulelong 173 ASTC_10X8_TYPELESS 2715>0 ulelong 174 ASTC_10X8_UNORM 2716>0 ulelong 175 ASTC_10X8_UNORM_SRGB 2717>0 ulelong 177 ASTC_10X10_TYPELESS 2718>0 ulelong 178 ASTC_10X10_UNORM 2719>0 ulelong 179 ASTC_10X10_UNORM_SRGB 2720>0 ulelong 181 ASTC_12X10_TYPELESS 2721>0 ulelong 182 ASTC_12X10_UNORM 2722>0 ulelong 183 ASTC_12X10_UNORM_SRGB 2723>0 ulelong 185 ASTC_12X12_TYPELESS 2724>0 ulelong 186 ASTC_12X12_UNORM 2725>0 ulelong 187 ASTC_12X12_UNORM_SRGB 2726 2727>0 ulelong 190 XBOX_R10G10B10_SNORM_A2_UNORM 2728>0 ulelong 189 XBOX_R4G4_UNORM 2729>0 ulelong 0xFFFFFFFF DXGI_FORMAT_FORCE_UINT 2730 2731# Type: Microsoft DirectDraw Surface (common data) 2732# URL: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 2733# From: Morten Hustveit <morten@debian.org> 2734# Updated by: David Korth <gerbilsoft@gerbilsoft.com> 27350 name ms-directdraw-surface 2736>0x10 ulelong x %u x 2737>0x0C ulelong x %u 2738# Color depth. 2739>0x58 ulelong >0 \b, %u-bit color 2740# Determine the pixel format. 2741>0x50 ulelong&0x4 4 2742# FIXME: Handle DX10 and XBOX formats. 2743>>0x54 string DX10 2744>>>0x80 use ms-directdraw-dx10 2745>>0x54 string !DX10 \b, compressed using %.4s 2746>0x50 ulelong&0x2 0x2 \b, alpha only 2747>0x50 ulelong&0x200 0x200 \b, YUV 2748>0x50 ulelong&0x20000 0x20000 \b, luminance 2749# RGB pixel format 2750>0x50 ulelong&0x40 0x40 2751 2752# Determine the RGB format using the color masks. 2753# ulequad order: 0xGGGGGGGGRRRRRRRR, 0xAAAAAAAABBBBBBBB 2754 2755>>0x58 ulelong 16 2756 2757# NOTE: 15-bit color formats usually have 16-bit listed as the color depth. 2758>>>0x5C ulequad 0x000003E000007C00 2759>>>>0x64 ulequad 0x000000000000001F \b, RGB555 2760>>>0x5C ulequad 0x000003E000001F00 2761>>>>0x64 ulequad 0x000000000000007C \b, BGR555 2762 2763>>>0x5C ulequad 0x000007E00000F800 2764>>>>0x64 ulequad 0x000000000000001F \b, RGB565 2765>>>0x5C ulequad 0x000007E000001F00 2766>>>>0x64 ulequad 0x00000000000000F8 \b, BGR565 2767 2768>>>0x5C ulequad 0x000000F000000F00 2769>>>>0x64 ulequad 0x0000F0000000000F \b, ARGB4444 2770>>>0x5C ulequad 0x000000F00000000F 2771>>>>0x64 ulequad 0x0000F00000000F00 \b, ABGR4444 2772 2773>>>0x5C ulequad 0x00000F000000F000 2774>>>>0x64 ulequad 0x0000000F000000F0 \b, RGBA4444 2775>>>0x5C ulequad 0x00000F00000000F0 2776>>>>0x64 ulequad 0x0000000F0000F000 \b, BGRA4444 2777 2778>>>0x5C ulequad 0x000000F000000F00 2779>>>>0x64 ulequad 0x000000000000000F \b, xRGB4444 2780>>>0x5C ulequad 0x000000F00000000F 2781>>>>0x64 ulequad 0x0000000000000F00 \b, xBGR4444 2782 2783>>>0x5C ulequad 0x00000F000000F000 2784>>>>0x64 ulequad 0x00000000000000F0 \b, RGBx4444 2785>>>0x5C ulequad 0x00000F00000000F0 2786>>>>0x64 ulequad 0x000000000000F000 \b, BGRx4444 2787 2788>>>0x5C ulequad 0x000003E000007C00 2789>>>>0x64 ulequad 0x000080000000001F \b, ARGB1555 2790>>>0x5C ulequad 0x000003E000001F00 2791>>>>0x64 ulequad 0x000080000000007C \b, ABGR1555 2792>>>0x5C ulequad 0x000007C00000F800 2793>>>>0x64 ulequad 0x000000010000003E \b, RGBA5551 2794>>>0x5C ulequad 0x000007C00000003E 2795>>>>0x64 ulequad 0x000000010000F800 \b, BGRA5551 2796 2797>>88 ulelong 24 2798>>>0x5C ulequad 0x0000FF0000FF0000 2799>>>>0x64 ulequad 0x00000000000000FF \b, RGB888 2800>>>0x5C ulequad 0x0000FF00000000FF 2801>>>>0x64 ulequad 0x0000000000FF0000 \b, BGR888 2802 2803>>88 ulelong 32 2804>>>0x5C ulequad 0x0000FF0000FF0000 2805>>>>0x64 ulequad 0xFF000000000000FF \b, ARGB8888 2806>>>0x5C ulequad 0x0000FF00000000FF 2807>>>>0x64 ulequad 0xFF00000000FF0000 \b, ABGR8888 2808 2809>>>0x5C ulequad 0x00FF0000FF000000 2810>>>>0x64 ulequad 0x000000FF0000FF00 \b, RGBA8888 2811>>>0x5C ulequad 0x00FF00000000FF00 2812>>>>0x64 ulequad 0x000000FFFF000000 \b, BGBA8888 2813 2814>>>0x5C ulequad 0x0000FF0000FF0000 2815>>>>0x64 ulequad 0x00000000000000FF \b, xRGB8888 2816>>>0x5C ulequad 0x0000FF00000000FF 2817>>>>0x64 ulequad 0x0000000000FF0000 \b, xBGR8888 2818 2819>>>0x5C ulequad 0x00FF0000FF000000 2820>>>>0x64 ulequad 0x000000000000FF00 \b, RGBx8888 2821>>>0x5C ulequad 0x00FF00000000FF00 2822>>>>0x64 ulequad 0x00000000FF000000 \b, BGBx8888 2823 2824# Less common 32-bit color formats. 2825>>>0x5C ulequad 0xFFFF00000000FFFF 2826>>>>0x64 ulequad 0x0000000000000000 \b, G16R16 2827>>>0x5C ulequad 0x0000FFFFFFFF0000 2828>>>>0x64 ulequad 0x0000000000000000 \b, R16G16 2829 2830>>>0x5C ulequad 0x000FFC003FF00000 2831>>>>0x64 ulequad 0xC0000000000003FF \b, A2R10G10B10 2832>>>0x5C ulequad 0x000FFC00000003FF 2833>>>>0x64 ulequad 0xC00000003FF00000 \b, A2B10G10R10 2834 2835# Type: Microsoft DirectDraw Surface 2836# URL: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp 2837# From: Morten Hustveit <morten@debian.org> 2838# Updated by: David Korth <gerbilsoft@gerbilsoft.com> 28390 string/b DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS): 2840>0 use ms-directdraw-surface 2841 2842# Type: Sega PVR image. 2843# From: David Korth <gerbilsoft@gerbilsoft.com> 2844# References: 2845# - https://fabiensanglard.net/Mykaruga/tools/segaPVRFormat.txt 2846# - https://github.com/yazgoo/pvrx2png 2847# - https://github.com/nickworonekin/puyotools 2848 2849# Sega PVR header. 28500 name sega-pvr-image-header 2851>0x0C uleshort x %u x 2852>0x0E uleshort x %u 2853# Image format. 2854>0x08 ubyte 0 \b, ARGB1555 2855>0x08 ubyte 1 \b, RGB565 2856>0x08 ubyte 2 \b, ARGB4444 2857>0x08 ubyte 3 \b, YUV442 2858>0x08 ubyte 4 \b, Bump 2859>0x08 ubyte 5 \b, 4bpp 2860>0x08 ubyte 6 \b, 8bpp 2861# Image data type. 2862>0x09 ubyte 0x01 \b, square twiddled 2863>0x09 ubyte 0x02 \b, square twiddled & mipmap 2864>0x09 ubyte 0x03 \b, VQ 2865>0x09 ubyte 0x04 \b, VQ & mipmap 2866>0x09 ubyte 0x05 \b, 8-bit CLUT twiddled 2867>0x09 ubyte 0x06 \b, 4-bit CLUT twiddled 2868>0x09 ubyte 0x07 \b, 8-bit direct twiddled 2869>0x09 ubyte 0x08 \b, 4-bit direct twiddled 2870>0x09 ubyte 0x09 \b, rectangle 2871>0x09 ubyte 0x0B \b, rectangular stride 2872>0x09 ubyte 0x0D \b, rectangular twiddled 2873>0x09 ubyte 0x10 \b, small VQ 2874>0x09 ubyte 0x11 \b, small VQ & mipmap 2875>0x09 ubyte 0x12 \b, square twiddled & mipmap 2876 2877# Sega PVR image. 28780 string PVRT 2879>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: 2880>>0x20 use ms-directdraw-surface 2881>0x10 ubelong !0x44445320 Sega PVR image: 2882>>0 use sega-pvr-image-header 2883 2884# Sega PVR image with GBIX. 28850 string GBIX 2886>0x10 string PVRT 2887>>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image: 2888>>>0x20 use ms-directdraw-surface 2889>>0x10 ubelong !0x44445320 Sega PVR image: 2890>>>0x10 use sega-pvr-image-header 2891>>0x08 ulelong x \b, global index = %u 2892 2893# Sega GVR header. 28940 name sega-gvr-image-header 2895>0x0C ubeshort x %u x 2896>0x0E ubeshort x %u 2897# Image data format. 2898>0x0B ubyte 0 \b, I4 2899>0x0B ubyte 1 \b, I8 2900>0x0B ubyte 2 \b, IA4 2901>0x0B ubyte 3 \b, IA8 2902>0x0B ubyte 4 \b, RGB565 2903>0x0B ubyte 5 \b, RGB5A3 2904>0x0B ubyte 6 \b, ARGB8888 2905>0x0B ubyte 8 \b, CI4 2906>0x0B ubyte 9 \b, CI8 2907>0x0B ubyte 14 \b, DXT1 2908 2909# Sega GVR image. 29100 string GVRT Sega GVR image: 2911>0x10 use sega-gvr-image-header 2912 2913# Sega GVR image with GBIX. 29140 string GBIX 2915>0x10 string GVRT Sega GVR image: 2916>>0x10 use sega-gvr-image-header 2917>>0x08 ubelong x \b, global index = %u 2918 2919# Sega GVR image with GCIX. (Wii) 29200 string GCIX 2921>0x10 string GVRT Sega GVR image: 2922>>0x10 use sega-gvr-image-header 2923>>0x08 ubelong x \b, global index = %u 2924 2925# Light Field Picture 2926# Documentation: http://optics.miloush.net/lytro/TheFileFormat.aspx 2927# Typical file extensions: .lfp .lfr .lfx 2928 29290 ubelong 0x894C4650 2930>4 ubelong 0x0D0A1A0A 2931>12 ubelong 0x00000000 Lytro Light Field Picture 2932>8 ubelong x \b, version %d 2933 2934# Type: Vision Research Phantom CINE Format 2935# URL: https://www.phantomhighspeed.com/ 2936# URL2: http://phantomhighspeed.force.com/vriknowledge/servlet/fileField?id=0BEU0000000Cfyk 2937# From: Harry Mallon <hjmallon at gmail.com> 2938# 2939# This has a short "CI" code but the 44 is the size of the struct which is 2940# stable 29410 string CI 2942>2 uleshort 44 Vision Research CINE Video, 2943>>4 uleshort 0 Grayscale, 2944>>4 uleshort 1 JPEG Compressed, 2945>>4 uleshort 2 RAW, 2946>>6 uleshort x version %d, 2947>>20 ulelong x %d frames, 2948>>48 ulelong x %dx 2949>>52 ulelong x \b%d 2950 2951# Type: ARRI Raw Image 2952# Info: SMPTE RDD30:2014 2953# From: Harry Mallon <hjmallon at gmail.com> 29540 string ARRI ARRI ARI image data, 2955>4 ulelong 0x78563412 little-endian, 2956>4 ulelong 0x12345678 big-endian, 2957>12 ulelong x version %d, 2958>20 ulelong x %dx 2959>24 ulelong x \b%d 2960 2961# Type: Khronos KTX texture. 2962# From: David Korth <gerbilsoft@gerbilsoft.com> 2963# Reference: https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/ 2964 2965# glEnum decoding. 2966# NOTE: Only the most common formats are listed here. 29670 name khronos-ktx-glEnum 2968>0 ulelong 0x1907 \b, RGB 2969>0 ulelong 0x1908 \b, RGBA 2970>0 ulelong 0x1909 \b, LUMINANCE 2971>0 ulelong 0x190A \b, LUMINANCE_ALPHA 2972>0 ulelong 0x80E1 \b, BGR 2973>0 ulelong 0x80E2 \b, BGRA 2974>0 ulelong 0x83A0 \b, RGB_S3TC 2975>0 ulelong 0x83A1 \b, RGB4_S3TC 2976>0 ulelong 0x83A2 \b, RGBA_S3TC 2977>0 ulelong 0x83A3 \b, RGBA4_S3TC 2978>0 ulelong 0x83A4 \b, RGBA_DXT5_S3TC 2979>0 ulelong 0x83A5 \b, RGBA4_DXT5_S3TC 2980>0 ulelong 0x83F0 \b, COMPRESSED_RGB_S3TC_DXT1_EXT 2981>0 ulelong 0x83F1 \b, COMPRESSED_RGBA_S3TC_DXT1_EXT 2982>0 ulelong 0x83F2 \b, COMPRESSED_RGBA_S3TC_DXT3_EXT 2983>0 ulelong 0x83F3 \b, COMPRESSED_RGBA_S3TC_DXT5_EXT 2984>0 ulelong 0x8D64 \b, ETC1_RGB8_OES 2985>0 ulelong 0x9270 \b, COMPRESSED_R11_EAC 2986>0 ulelong 0x9271 \b, COMPRESSED_SIGNED_R11_EAC 2987>0 ulelong 0x9272 \b, COMPRESSED_RG11_EAC 2988>0 ulelong 0x9273 \b, COMPRESSED_SIGNED_RG11_EAC 2989>0 ulelong 0x9274 \b, COMPRESSED_RGB8_ETC2 2990>0 ulelong 0x9275 \b, COMPRESSED_SRGB8_ETC2 2991>0 ulelong 0x9276 \b, COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 2992>0 ulelong 0x9277 \b, COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 2993>0 ulelong 0x9278 \b, COMPRESSED_RGBA2_ETC2_EAC 2994>0 ulelong 0x9279 \b, COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 2995>0 ulelong 0x93B0 \b, COMPRESSED_RGBA_ASTC_4x4_KHR 2996>0 ulelong 0x93B1 \b, COMPRESSED_RGBA_ASTC_5x4_KHR 2997>0 ulelong 0x93B2 \b, COMPRESSED_RGBA_ASTC_5x5_KHR 2998>0 ulelong 0x93B3 \b, COMPRESSED_RGBA_ASTC_6x5_KHR 2999>0 ulelong 0x93B4 \b, COMPRESSED_RGBA_ASTC_6x6_KHR 3000>0 ulelong 0x93B5 \b, COMPRESSED_RGBA_ASTC_8x5_KHR 3001>0 ulelong 0x93B6 \b, COMPRESSED_RGBA_ASTC_8x6_KHR 3002>0 ulelong 0x93B7 \b, COMPRESSED_RGBA_ASTC_8x8_KHR 3003>0 ulelong 0x93B8 \b, COMPRESSED_RGBA_ASTC_10x5_KHR 3004>0 ulelong 0x93B9 \b, COMPRESSED_RGBA_ASTC_10x6_KHR 3005>0 ulelong 0x93BA \b, COMPRESSED_RGBA_ASTC_10x8_KHR 3006>0 ulelong 0x93BB \b, COMPRESSED_RGBA_ASTC_10x10_KHR 3007>0 ulelong 0x93BC \b, COMPRESSED_RGBA_ASTC_12x10_KHR 3008>0 ulelong 0x93BD \b, COMPRESSED_RGBA_ASTC_12x12_KHR 3009>0 ulelong 0x93D0 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 3010>0 ulelong 0x93D1 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 3011>0 ulelong 0x93D2 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 3012>0 ulelong 0x93D3 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 3013>0 ulelong 0x93D4 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 3014>0 ulelong 0x93D5 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 3015>0 ulelong 0x93D6 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 3016>0 ulelong 0x93D7 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 3017>0 ulelong 0x93D8 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 3018>0 ulelong 0x93D9 \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 3019>0 ulelong 0x93DA \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 3020>0 ulelong 0x93DB \b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 3021>0 ulelong 0x93DC \b, COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 3022>0 ulelong 0x93DD \b, COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 3023 3024# Endian-specific KTX header. 3025# TODO: glType (all textures I've seen so far are GL_UNSIGNED_BYTE) 30260 name khronos-ktx-endian-header 3027>20 ulelong x \b, %u 3028>24 ulelong >1 x %u 3029>28 ulelong >1 x %u 3030>8 ulelong >0 3031>>8 use khronos-ktx-glEnum 3032>8 ulelong 0 3033>>12 use khronos-ktx-glEnum 3034 3035# Main KTX header. 3036# Determine endianness, then check the rest of the header. 30370 string \xABKTX\ 11\xBB\r\n\x1A\n Khronos KTX texture 3038>12 ulelong 0x04030201 (little-endian) 3039>>16 use khronos-ktx-endian-header 3040>12 ubelong 0x04030201 (big-endian) 3041>>16 use \^khronos-ktx-endian-header 3042 3043# Type: Khronos KTX2 texture. 3044# From: David Korth <gerbilsoft@gerbilsoft.com> 3045# Based on draft19. 3046# Reference: http://github.khronos.org/KTX-Specification/ 3047 3048# Supercompression enum. 30490 name khronos-ktx2-supercompression 3050>0 ulelong 1 BasisLZ 3051>0 ulelong 2 Zstandard 3052>0 ulelong 3 ZLIB 3053 3054# Vulkan format identifier. 3055# NOTE: Formats prohibited from KTX2 are commented out. 30560 name khronos-ktx2-vkFormat 3057>0 ulelong 0 UNDEFINED 3058>0 ulelong 1 R4G4_UNORM_PACK8 3059>0 ulelong 2 R4G4B4A4_UNORM_PACK16 3060>0 ulelong 3 B4G4R4A4_UNORM_PACK16 3061>0 ulelong 4 R5G6B5_UNORM_PACK16 3062>0 ulelong 5 B5G6R5_UNORM_PACK16 3063>0 ulelong 6 R5G5B5A1_UNORM_PACK16 3064>0 ulelong 7 B5G5R5A1_UNORM_PACK16 3065>0 ulelong 8 A1R5G5B5_UNORM_PACK16 3066>0 ulelong 9 R8_UNORM 3067>0 ulelong 10 R8_SNORM 3068#>0 ulelong 11 R8_USCALED 3069#>0 ulelong 12 R8_SSCALED 3070>0 ulelong 13 R8_UINT 3071>0 ulelong 14 R8_SINT 3072>0 ulelong 15 R8_SRGB 3073>0 ulelong 16 R8G8_UNORM 3074>0 ulelong 17 R8G8_SNORM 3075#>0 ulelong 18 R8G8_USCALED 3076#>0 ulelong 19 R8G8_SSCALED 3077>0 ulelong 20 R8G8_UINT 3078>0 ulelong 21 R8G8_SINT 3079>0 ulelong 22 R8G8_SRGB 3080>0 ulelong 23 R8G8B8_UNORM 3081>0 ulelong 24 R8G8B8_SNORM 3082#>0 ulelong 25 R8G8B8_USCALED 3083#>0 ulelong 26 R8G8B8_SSCALED 3084>0 ulelong 27 R8G8B8_UINT 3085>0 ulelong 28 R8G8B8_SINT 3086>0 ulelong 29 R8G8B8_SRGB 3087>0 ulelong 30 B8G8R8_UNORM 3088>0 ulelong 31 B8G8R8_SNORM 3089#>0 ulelong 32 B8G8R8_USCALED 3090#>0 ulelong 33 B8G8R8_SSCALED 3091>0 ulelong 34 B8G8R8_UINT 3092>0 ulelong 35 B8G8R8_SINT 3093>0 ulelong 36 B8G8R8_SRGB 3094>0 ulelong 37 R8G8B8A8_UNORM 3095>0 ulelong 38 R8G8B8A8_SNORM 3096#>0 ulelong 39 R8G8B8A8_USCALED 3097#>0 ulelong 40 R8G8B8A8_SSCALED 3098>0 ulelong 41 R8G8B8A8_UINT 3099>0 ulelong 42 R8G8B8A8_SINT 3100>0 ulelong 43 R8G8B8A8_SRGB 3101>0 ulelong 44 B8G8R8A8_UNORM 3102>0 ulelong 45 B8G8R8A8_SNORM 3103#>0 ulelong 46 B8G8R8A8_USCALED 3104#>0 ulelong 47 B8G8R8A8_SSCALED 3105>0 ulelong 48 B8G8R8A8_UINT 3106>0 ulelong 49 B8G8R8A8_SINT 3107>0 ulelong 50 B8G8R8A8_SRGB 3108#>0 ulelong 51 A8B8G8R8_UNORM_PACK32 3109#>0 ulelong 52 A8B8G8R8_SNORM_PACK32 3110#>0 ulelong 53 A8B8G8R8_USCALED_PACK32 3111#>0 ulelong 54 A8B8G8R8_SSCALED_PACK32 3112#>0 ulelong 55 A8B8G8R8_UINT_PACK32 3113#>0 ulelong 56 A8B8G8R8_SINT_PACK32 3114#>0 ulelong 57 A8B8G8R8_SRGB_PACK32 3115>0 ulelong 58 A2R10G10B10_UNORM_PACK32 3116>0 ulelong 59 A2R10G10B10_SNORM_PACK32 3117#>0 ulelong 60 A2R10G10B10_USCALED_PACK32 3118#>0 ulelong 61 A2R10G10B10_SSCALED_PACK32 3119>0 ulelong 62 A2R10G10B10_UINT_PACK32 3120>0 ulelong 63 A2R10G10B10_SINT_PACK32 3121>0 ulelong 64 A2B10G10R10_UNORM_PACK32 3122>0 ulelong 65 A2B10G10R10_SNORM_PACK32 3123#>0 ulelong 66 A2B10G10R10_USCALED_PACK32 3124#>0 ulelong 67 A2B10G10R10_SSCALED_PACK32 3125>0 ulelong 68 A2B10G10R10_UINT_PACK32 3126>0 ulelong 69 A2B10G10R10_SINT_PACK32 3127>0 ulelong 70 R16_UNORM 3128>0 ulelong 71 R16_SNORM 3129#>0 ulelong 72 R16_USCALED 3130#>0 ulelong 73 R16_SSCALED 3131>0 ulelong 74 R16_UINT 3132>0 ulelong 75 R16_SINT 3133>0 ulelong 76 R16_SFLOAT 3134>0 ulelong 77 R16G16_UNORM 3135>0 ulelong 78 R16G16_SNORM 3136#>0 ulelong 79 R16G16_USCALED 3137#>0 ulelong 80 R16G16_SSCALED 3138>0 ulelong 81 R16G16_UINT 3139>0 ulelong 82 R16G16_SINT 3140>0 ulelong 83 R16G16_SFLOAT 3141>0 ulelong 84 R16G16B16_UNORM 3142>0 ulelong 85 R16G16B16_SNORM 3143#>0 ulelong 86 R16G16B16_USCALED 3144#>0 ulelong 87 R16G16B16_SSCALED 3145>0 ulelong 88 R16G16B16_UINT 3146>0 ulelong 89 R16G16B16_SINT 3147>0 ulelong 90 R16G16B16_SFLOAT 3148>0 ulelong 91 R16G16B16A16_UNORM 3149>0 ulelong 92 R16G16B16A16_SNORM 3150#>0 ulelong 93 R16G16B16A16_USCALED 3151#>0 ulelong 94 R16G16B16A16_SSCALED 3152>0 ulelong 95 R16G16B16A16_UINT 3153>0 ulelong 96 R16G16B16A16_SINT 3154>0 ulelong 97 R16G16B16A16_SFLOAT 3155>0 ulelong 98 R32_UINT 3156>0 ulelong 99 R32_SINT 3157>0 ulelong 100 R32_SFLOAT 3158>0 ulelong 101 R32G32_UINT 3159>0 ulelong 102 R32G32_SINT 3160>0 ulelong 103 R32G32_SFLOAT 3161>0 ulelong 104 R32G32B32_UINT 3162>0 ulelong 105 R32G32B32_SINT 3163>0 ulelong 106 R32G32B32_SFLOAT 3164>0 ulelong 107 R32G32B32A32_UINT 3165>0 ulelong 108 R32G32B32A32_SINT 3166>0 ulelong 109 R32G32B32A32_SFLOAT 3167>0 ulelong 110 R64_UINT 3168>0 ulelong 111 R64_SINT 3169>0 ulelong 112 R64_SFLOAT 3170>0 ulelong 113 R64G64_UINT 3171>0 ulelong 114 R64G64_SINT 3172>0 ulelong 115 R64G64_SFLOAT 3173>0 ulelong 116 R64G64B64_UINT 3174>0 ulelong 117 R64G64B64_SINT 3175>0 ulelong 118 R64G64B64_SFLOAT 3176>0 ulelong 119 R64G64B64A64_UINT 3177>0 ulelong 120 R64G64B64A64_SINT 3178>0 ulelong 121 R64G64B64A64_SFLOAT 3179>0 ulelong 122 B10G11R11_UFLOAT_PACK32 3180>0 ulelong 123 E5B9G9R9_UFLOAT_PACK32 3181>0 ulelong 124 D16_UNORM 3182>0 ulelong 125 X8_D24_UNORM_PACK32 3183>0 ulelong 126 D32_SFLOAT 3184>0 ulelong 127 S8_UINT 3185>0 ulelong 128 D16_UNORM_S8_UINT 3186>0 ulelong 129 D24_UNORM_S8_UINT 3187>0 ulelong 130 D32_SFLOAT_S8_UINT 3188 3189>0 ulelong 131 BC1_RGB_UNORM_BLOCK 3190>0 ulelong 132 BC1_RGB_SRGB_BLOCK 3191>0 ulelong 133 BC1_RGBA_UNORM_BLOCK 3192>0 ulelong 134 BC1_RGBA_SRGB_BLOCK 3193>0 ulelong 135 BC2_UNORM_BLOCK 3194>0 ulelong 136 BC2_SRGB_BLOCK 3195>0 ulelong 137 BC3_UNORM_BLOCK 3196>0 ulelong 138 BC3_SRGB_BLOCK 3197>0 ulelong 139 BC4_UNORM_BLOCK 3198>0 ulelong 140 BC4_SNORM_BLOCK 3199>0 ulelong 141 BC5_UNORM_BLOCK 3200>0 ulelong 142 BC5_SNORM_BLOCK 3201>0 ulelong 143 BC6H_UFLOAT_BLOCK 3202>0 ulelong 144 BC6H_SFLOAT_BLOCK 3203>0 ulelong 145 BC7_UNORM_BLOCK 3204>0 ulelong 146 BC7_SRGB_BLOCK 3205 3206>0 ulelong 147 ETC2_R8G8B8_UNORM_BLOCK 3207>0 ulelong 148 ETC2_R8G8B8_SRGB_BLOCK 3208>0 ulelong 149 ETC2_R8G8B8A1_UNORM_BLOCK 3209>0 ulelong 150 ETC2_R8G8B8A1_SRGB_BLOCK 3210>0 ulelong 151 ETC2_R8G8B8A8_UNORM_BLOCK 3211>0 ulelong 152 ETC2_R8G8B8A8_SRGB_BLOCK 3212 3213>0 ulelong 153 EAC_R11_UNORM_BLOCK 3214>0 ulelong 154 EAC_R11_SNORM_BLOCK 3215>0 ulelong 155 EAC_R11G11_UNORM_BLOCK 3216>0 ulelong 156 EAC_R11G11_SNORM_BLOCK 3217 3218>0 ulelong 157 ASTC_4x4_UNORM_BLOCK 3219>0 ulelong 158 ASTC_4x4_SRGB_BLOCK 3220>0 ulelong 159 ASTC_5x4_UNORM_BLOCK 3221>0 ulelong 160 ASTC_5x4_SRGB_BLOCK 3222>0 ulelong 161 ASTC_5x5_UNORM_BLOCK 3223>0 ulelong 162 ASTC_5x5_SRGB_BLOCK 3224>0 ulelong 163 ASTC_6x5_UNORM_BLOCK 3225>0 ulelong 164 ASTC_6x5_SRGB_BLOCK 3226>0 ulelong 165 ASTC_6x6_UNORM_BLOCK 3227>0 ulelong 166 ASTC_6x6_SRGB_BLOCK 3228>0 ulelong 167 ASTC_8x5_UNORM_BLOCK 3229>0 ulelong 168 ASTC_8x5_SRGB_BLOCK 3230>0 ulelong 169 ASTC_8x6_UNORM_BLOCK 3231>0 ulelong 170 ASTC_8x6_SRGB_BLOCK 3232>0 ulelong 171 ASTC_8x8_UNORM_BLOCK 3233>0 ulelong 172 ASTC_8x8_SRGB_BLOCK 3234>0 ulelong 173 ASTC_10x5_UNORM_BLOCK 3235>0 ulelong 174 ASTC_10x5_SRGB_BLOCK 3236>0 ulelong 175 ASTC_10x6_UNORM_BLOCK 3237>0 ulelong 176 ASTC_10x6_SRGB_BLOCK 3238>0 ulelong 177 ASTC_10x8_UNORM_BLOCK 3239>0 ulelong 178 ASTC_10x8_SRGB_BLOCK 3240>0 ulelong 179 ASTC_10x10_UNORM_BLOCK 3241>0 ulelong 180 ASTC_10x10_SRGB_BLOCK 3242>0 ulelong 181 ASTC_12x10_UNORM_BLOCK 3243>0 ulelong 182 ASTC_12x10_SRGB_BLOCK 3244>0 ulelong 183 ASTC_12x12_UNORM_BLOCK 3245>0 ulelong 184 ASTC_12x12_SRGB_BLOCK 3246 3247>0 ulelong 1000156000 G8B8G8R8_422_UNORM 3248>0 ulelong 1000156001 B8G8R8G8_422_UNORM 3249>0 ulelong 1000156002 G8_B8_R8_3PLANE_420_UNORM 3250>0 ulelong 1000156003 G8_B8R8_2PLANE_420_UNORM 3251>0 ulelong 1000156004 G8_B8_R8_3PLANE_422_UNORM 3252>0 ulelong 1000156005 G8_B8R8_2PLANE_422_UNORM 3253>0 ulelong 1000156006 G8_B8_R8_3PLANE_444_UNORM 3254>0 ulelong 1000156007 R10X6_UNORM_PACK16 3255>0 ulelong 1000156008 R10X6G10X6_UNORM_2PACK16 3256>0 ulelong 1000156009 R10X6G10X6B10X6A10X6_UNORM_4PACK16 3257>0 ulelong 1000156010 G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 3258>0 ulelong 1000156011 B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 3259>0 ulelong 1000156012 G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 3260>0 ulelong 1000156013 G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 3261>0 ulelong 1000156014 G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 3262>0 ulelong 1000156015 G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 3263>0 ulelong 1000156016 G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 3264>0 ulelong 1000156017 R12X4_UNORM_PACK16 3265>0 ulelong 1000156018 R12X4G12X4_UNORM_2PACK16 3266>0 ulelong 1000156019 R12X4G12X4B12X4A12X4_UNORM_4PACK16 3267>0 ulelong 1000156020 G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 3268>0 ulelong 1000156021 B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 3269>0 ulelong 1000156022 G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 3270>0 ulelong 1000156023 G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 3271>0 ulelong 1000156024 G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 3272>0 ulelong 1000156025 G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 3273>0 ulelong 1000156026 G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 3274>0 ulelong 1000156027 G16B16G16R16_422_UNORM 3275>0 ulelong 1000156028 B16G16R16G16_422_UNORM 3276>0 ulelong 1000156029 G16_B16_R16_3PLANE_420_UNORM 3277>0 ulelong 1000156030 G16_B16R16_2PLANE_420_UNORM 3278>0 ulelong 1000156031 G16_B16_R16_3PLANE_422_UNORM 3279>0 ulelong 1000156032 G16_B16R16_2PLANE_422_UNORM 3280>0 ulelong 1000156033 G16_B16_R16_3PLANE_444_UNORM 3281 3282>0 ulelong 1000054000 PVRTC1_2BPP_UNORM_BLOCK_IMG 3283>0 ulelong 1000054001 PVRTC1_4BPP_UNORM_BLOCK_IMG 3284>0 ulelong 1000054002 PVRTC2_2BPP_UNORM_BLOCK_IMG 3285>0 ulelong 1000054003 PVRTC2_4BPP_UNORM_BLOCK_IMG 3286>0 ulelong 1000054004 PVRTC1_2BPP_SRGB_BLOCK_IMG 3287>0 ulelong 1000054005 PVRTC1_4BPP_SRGB_BLOCK_IMG 3288>0 ulelong 1000054006 PVRTC2_2BPP_SRGB_BLOCK_IMG 3289>0 ulelong 1000054007 PVRTC2_4BPP_SRGB_BLOCK_IMG 3290 3291>0 ulelong 1000066000 ASTC_4x4_SFLOAT_BLOCK_EXT 3292>0 ulelong 1000066001 ASTC_5x4_SFLOAT_BLOCK_EXT 3293>0 ulelong 1000066002 ASTC_5x5_SFLOAT_BLOCK_EXT 3294>0 ulelong 1000066003 ASTC_6x5_SFLOAT_BLOCK_EXT 3295>0 ulelong 1000066004 ASTC_6x6_SFLOAT_BLOCK_EXT 3296>0 ulelong 1000066005 ASTC_8x5_SFLOAT_BLOCK_EXT 3297>0 ulelong 1000066006 ASTC_8x6_SFLOAT_BLOCK_EXT 3298>0 ulelong 1000066007 ASTC_8x8_SFLOAT_BLOCK_EXT 3299>0 ulelong 1000066008 ASTC_10x5_SFLOAT_BLOCK_EXT 3300>0 ulelong 1000066009 ASTC_10x6_SFLOAT_BLOCK_EXT 3301>0 ulelong 1000066010 ASTC_10x8_SFLOAT_BLOCK_EXT 3302>0 ulelong 1000066011 ASTC_10x10_SFLOAT_BLOCK_EXT 3303>0 ulelong 1000066012 ASTC_12x10_SFLOAT_BLOCK_EXT 3304>0 ulelong 1000066013 ASTC_12x12_SFLOAT_BLOCK_EXT 3305 3306# Main KTX2 header. 33070 string \xABKTX\ 20\xBB\r\n\x1A\n Khronos KTX2 texture 3308>20 ulelong x \b, %u 3309>24 ulelong >1 x %u 3310>28 ulelong >1 x %u 3311>32 ulelong >1 \b, %u layers 3312>36 ulelong >1 \b, %u faces 3313>40 ulelong >1 \b, %u mipmaps 3314>44 ulelong >0 \b, 3315>>44 use khronos-ktx2-supercompression 3316>12 ulelong >0 \b, 3317>>12 use khronos-ktx2-vkFormat 3318 3319# Type: Valve VTF texture. 3320# From: David Korth <gerbilsoft@gerbilsoft.com> 3321# References: 3322# - https://developer.valvesoftware.com/wiki/Valve_Texture_Format 3323 3324# VTF image formats. 33250 name vtf-image-format 3326>0 ulelong 0 RGBA8888 3327>0 ulelong 1 ABGR8888 3328>0 ulelong 2 RGB888 3329>0 ulelong 3 BGR888 3330>0 ulelong 4 RGB565 3331>0 ulelong 5 I8 3332>0 ulelong 6 IA88 3333>0 ulelong 7 P8 3334>0 ulelong 8 A8 3335>0 ulelong 9 RGB888 (bluescreen) 3336>0 ulelong 10 BGR888 (bluescreen) 3337>0 ulelong 11 ARGB8888 3338>0 ulelong 12 BGRA8888 3339>0 ulelong 13 DXT1 3340>0 ulelong 14 DXT3 3341>0 ulelong 15 DXT5 3342>0 ulelong 16 BGRx8888 3343>0 ulelong 17 BGR565 3344>0 ulelong 18 BGRx5551 3345>0 ulelong 19 BGRA4444 3346>0 ulelong 20 DXT1+A1 3347>0 ulelong 21 BGRA5551 3348>0 ulelong 22 UV88 3349>0 ulelong 23 UVWQ8888 3350>0 ulelong 24 RGBA16161616F 3351>0 ulelong 25 RGBA16161616 3352>0 ulelong 26 UVLX8888 3353 3354# Main VTF header. 33550 string VTF\0 Valve Texture Format 3356>4 ulelong x v%u 3357>8 ulelong x \b.%u 3358>0x10 uleshort x \b, %u 3359>0x12 uleshort >1 x %u 3360>4 lequad 0x0000000700000002 3361>>0x3F uleshort >1 x %u 3362>0x18 uleshort >1 \b, %u frames 3363>0x38 ubyte x \b, mipmaps: %u 3364>0x34 ulelong >-1 \b, 3365>>0x34 use vtf-image-format 3366 3367# Type: Valve VTF3 (PS3) texture. 3368# From: David Korth <gerbilsoft@gerbilsoft.com> 33690 string VTF3 Valve Texture Format (PS3) 3370>0x14 ubeshort x \b, %u 3371>0x16 ubeshort x \b x %u 3372>0x10 ubelong&0x2000 0 \b, DXT1 3373>0x10 ubelong&0x2000 0x2000 \b, DXT5 3374 3375# Type: ASTC texture. 3376# From: David Korth <gerbilsoft@gerbilsoft.com> 3377# References: 3378# - https://stackoverflow.com/questions/22600678/determine-internal-format-of-given-astc-compressed-image-through-its-header 3379# - https://stackoverflow.com/a/22682244 33800 ulelong 0x5ca1ab13 ASTC 3381>4 ubyte x %u 3382>5 ubyte x \bx%u 3383>6 ubyte >1 \bx%u 3384# X, Y, and Z dimensions are stored as 24-bit LE. 3385# Pretend it's 32-bit and mask off the high byte. 3386>7 ulelong&0x00FFFFFF x texture, %u 3387>10 ulelong&0x00FFFFFF x x %u 3388>13 ulelong&0x00FFFFFF >1 x %u 3389 3390# Zebra Metafile graphic 3391# http://www.fileformat.info/format/zbr/egff.htm 33920 ubeshort 0x9a02 Zebra Metafile graphic 3393>2 uleshort 1 (version 1.x) 3394>2 uleshort 2 (version 1.1x or 1.2x) 3395>2 uleshort 3 (version 1.49) 3396>2 uleshort 4 (version 1.50) 3397>4 string x (comment = %s) 3398 3399# Microsoft Paint graphic 3400# http://www.fileformat.info/format/mspaint/egff.htm 34010 string DanM icrosoft Paint image data (version 1.x) 3402>4 uleshort x (%d 3403>>6 uleshort x x %d) 34040 string LinS Microsoft Paint image data (version 2.0) 3405>4 uleshort x (%d 3406>>6 uleshort x x %d) 3407 3408# reMarkable tablet internal file format (https://www.remarkable.com/) 3409# https://github.com/ax3l/lines-are-beautiful 3410# https://plasma.ninja/blog/devices/remarkable/binary/format/2017/12/26/\ 3411# reMarkable-lines-file-format.html#what-to-do-next 3412# from Axel Huebl 34130 string reMarkable 3414>11 string lines 3415>>17 string with 3416>>>22 string selections 3417>>>>33 string and 3418>>>>>37 string layers 3419>>>>>>43 ulelong x reMarkable tablet notebook lines, 1404 x 1872, %x page(s) 3420 3421# newer per-page files for the reMarkable 34220 string reMarkable 3423>11 string .lines 3424>>18 string file, 3425>>>24 string version= 3426>>>>32 ubyte x reMarkable tablet page (v%c), 1404 x 1872, 3427>>>>>43 ulelong x %d layer(s) 3428 3429# Type: PVR3 texture. 3430# From: David Korth <gerbilsoft@gerbilsoft.com> 3431# References: 3432# - http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf 3433 3434# PVR3 pixel formats. 34350 name pvr3-pixel-format 3436>0 ulelong 0 PVRTC 2bpp RGB 3437>0 ulelong 1 PVRTC 2bpp RGBA 3438>0 ulelong 2 PVRTC 4bpp RGB 3439>0 ulelong 3 PVRTC 4bpp RGBA 3440>0 ulelong 4 PVRTC-II 2bpp 3441>0 ulelong 5 PVRTC-II 4bpp 3442>0 ulelong 6 ETC1 3443>0 ulelong 7 DXT1 3444>0 ulelong 8 DXT2 3445>0 ulelong 9 DXT3 3446>0 ulelong 10 DXT4 3447>0 ulelong 11 DXT5 3448>0 ulelong 12 BC4 3449>0 ulelong 13 BC5 3450>0 ulelong 14 BC6 3451>0 ulelong 15 BC7 3452>0 ulelong 16 UYVY 3453>0 ulelong 17 YUY2 3454>0 ulelong 18 BW1bpp 3455>0 ulelong 19 R9G9B9E5 Shared Exponent 3456>0 ulelong 20 RGBG8888 3457>0 ulelong 21 GRGB8888 3458>0 ulelong 22 ETC2 RGB 3459>0 ulelong 23 ETC2 RGBA 3460>0 ulelong 24 ETC2 RGB A1 3461>0 ulelong 25 EAC R11 3462>0 ulelong 26 EAC RG11 3463>0 ulelong 27 ASTC_4x4 3464>0 ulelong 28 ASTC_5x4 3465>0 ulelong 29 ASTC_5x5 3466>0 ulelong 30 ASTC_6x5 3467>0 ulelong 31 ASTC_6x6 3468>0 ulelong 32 ASTC_8x5 3469>0 ulelong 33 ASTC_8x6 3470>0 ulelong 34 ASTC_8x8 3471>0 ulelong 35 ASTC_10x5 3472>0 ulelong 36 ASTC_10x6 3473>0 ulelong 37 ASTC_10x8 3474>0 ulelong 38 ASTC_10x10 3475>0 ulelong 39 ASTC_12x10 3476>0 ulelong 40 ASTC_12x12 3477>0 ulelong 41 ASTC_3x3x3 3478>0 ulelong 42 ASTC_4x3x3 3479>0 ulelong 43 ASTC_4x4x3 3480>0 ulelong 44 ASTC_4x4x4 3481>0 ulelong 45 ASTC_5x4x4 3482>0 ulelong 46 ASTC_5x5x4 3483>0 ulelong 47 ASTC_5x5x5 3484>0 ulelong 48 ASTC_6x5x5 3485>0 ulelong 49 ASTC_6x6x5 3486>0 ulelong 50 ASTC_6x6x6 3487 34880 string PVR\x03 PowerVR 3.0 texture: 3489>0x18 ulelong x %u x 3490>0x1C ulelong x %u 3491>0x20 ulelong >1 x %u 3492>0x08 ubyte x \b, 3493>0x0C ulelong 0 3494>>0x08 use pvr3-pixel-format 3495>0x0C ulelong !0 3496>>0x08 ubyte !0 %c 3497>>>0x0C ubyte !0 \b%u 3498>>0x09 ubyte !0 \b%c 3499>>>0x0D ubyte !0 \b%u 3500>>0x0A ubyte !0 \b%c 3501>>>0x0E ubyte !0 \b%u 3502>>0x0B ubyte !0 \b%c 3503>>>0x0F ubyte !0 \b%u 3504>0x10 ulelong 1 \b, sRGB 3505>0x04 ulelong&0x02 0x02 \b, premultiplied alpha 3506 35070 string \x03RVP PowerVR 3.0 texture: BE, 3508>0x18 ubelong x %u x 3509>0x1C ubelong x %u 3510>0x20 ubelong >1 x %u 3511>0x08 ubyte x \b, 3512>0x0C ubelong 0 3513>>0x08 use pvr3-pixel-format 3514>0x0C ubelong !0 3515>>0x0B ubyte !0 %c 3516>>>0x0F ubyte !0 \b%u 3517>>0x0A ubyte !0 \b%c 3518>>>0x0E ubyte !0 \b%u 3519>>0x09 ubyte !0 \b%c 3520>>>0x0D ubyte !0 \b%u 3521>>0x08 ubyte !0 \b%c 3522>>>0x0C ubyte !0 \b%u 3523>0x10 ubelong 1 \b, sRGB 3524>0x04 ubelong&0x02 0x02 \b, premultiplied alpha 3525 3526# Type: Microsoft Xbox XPR0 texture. 3527# From: David Korth <gerbilsoft@gerbilsoft.com> 3528# References: 3529# - https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/blob/develop/src/core/hle/D3D8/XbD3D8Types.h 3530 3531# XPR pixel formats. 35320 name xbox-xpr-pixel-format 3533>0 ubyte 0x00 L8 3534>0 ubyte 0x01 AL8 3535>0 ubyte 0x02 ARGB1555 3536>0 ubyte 0x03 RGB555 3537>0 ubyte 0x04 ARGB4444 3538>0 ubyte 0x05 RGB565 3539>0 ubyte 0x06 ARGB8888 3540>0 ubyte 0x07 xRGB8888 3541>0 ubyte 0x0B P8 3542>0 ubyte 0x0C DXT1 3543>0 ubyte 0x0E DXT2 3544>0 ubyte 0x0F DXT4 3545>0 ubyte 0x10 Linear ARGB1555 3546>0 ubyte 0x11 Linear RGB565 3547>0 ubyte 0x12 Linear ARGB8888 3548>0 ubyte 0x13 Linear L8 3549>0 ubyte 0x16 Linear R8B8 3550>0 ubyte 0x17 Linear G8B8 3551>0 ubyte 0x19 A8 3552>0 ubyte 0x1A A8L8 3553>0 ubyte 0x1B Linear AL8 3554>0 ubyte 0x1C Linear RGB555 3555>0 ubyte 0x1D Linear ARGB4444 3556>0 ubyte 0x1E Linear xRGB8888 3557>0 ubyte 0x1F Linear A8 3558>0 ubyte 0x20 Linear A8L8 3559>0 ubyte 0x24 YUY2 3560>0 ubyte 0x25 UYVY 3561>0 ubyte 0x27 L6V5U5 3562>0 ubyte 0x28 V8U8 3563>0 ubyte 0x29 R8B8 3564>0 ubyte 0x2A D24S8 3565>0 ubyte 0x2B F24S8 3566>0 ubyte 0x2C D16 3567>0 ubyte 0x2D F16 3568>0 ubyte 0x2E Linear D24S8 3569>0 ubyte 0x2F Linear F24S8 3570>0 ubyte 0x30 Linear D16 3571>0 ubyte 0x31 Linear F16 3572>0 ubyte 0x32 L16 3573>0 ubyte 0x33 V16U16 3574>0 ubyte 0x35 Linear L16 3575>0 ubyte 0x36 Linear V16U16 3576>0 ubyte 0x37 Linear L6V5U5 3577>0 ubyte 0x38 RGBA5551 3578>0 ubyte 0x39 RGBA4444 3579>0 ubyte 0x3A QWVU8888 3580>0 ubyte 0x3B BGRA8888 3581>0 ubyte 0x3C RGBA8888 3582>0 ubyte 0x3D Linear RGBA5551 3583>0 ubyte 0x3E Linear RGBA4444 3584>0 ubyte 0x3F Linear ABGR8888 3585>0 ubyte 0x40 Linear BGRA8888 3586>0 ubyte 0x41 Linear RGBA8888 3587>0 ubyte 0x64 Vertex Data 3588 35890 string XPR0 Microsoft Xbox XPR0 texture 3590>0x19 ubyte x \b, format: 3591>>0x19 use xbox-xpr-pixel-format 3592 3593# ILDA Image Data Transfer Format 3594# https://www.ilda.com/resources/StandardsDocs/ILDA_IDTF14_rev011.pdf 3595# 3596# Updated by Chuck Hein (laser@geekdude.com) 3597# 35980 string ILDA ILDA Image Data Transfer Format 3599>7 ubyte 0x00 3D Coordinates with Indexed Color 3600>7 ubyte 0x01 2D Coordinates with Indexed Color 3601>7 ubyte 0x02 Color Palette 3602>7 ubyte 0x04 3D Coordinates with True Color 3603>7 ubyte 0x05 2D Coordinates with True Color 3604>8 string >0 \b, palette %s 3605>16 string >0 \b, company %s 3606>24 ubeshort >0 \b, number of records %d 3607>>26 ubeshort x \b, palette number %d 3608>>28 ubeshort >0 \b, number of frames %d 3609>>30 ubyte >0 \b, projector number %d 3610 3611# Dropbox "lepton" compressed jpeg format 3612# https://github.com/dropbox/lepton 36130 ubelong&0xfffff0ff 0xcf84005a Lepton image file 3614>2 ubyte x (version %d) 3615 3616# Apple QuickTake camera raw images 3617# https://en.wikipedia.org/wiki/Apple_QuickTake 3618# dcraw can decode them 36190 name quicktake 3620>4 ubelong 8 3621>>544 ubeshort x \b, %dx 3622>>546 ubeshort x \b%d 3623>4 ubelong 4 3624>>546 ubeshort x \b, %dx 3625>>544 ubeshort x \b%d 3626 36270 string qktk Apple QuickTake 100 Raw Image 3628>0 use quicktake 3629 36300 string qktn 3631>4 ubyte 0 Apple QuickTake 150 Raw Image 3632>4 ubyte >0 Apple QuickTake 200 Raw Image 3633>0 use quicktake 3634 3635# From: Joerg Jenderek 3636# URL: http://fileformats.archiveteam.org/wiki/Corel_Photo-Paint_image 3637# Reference: http://blog.argasinski.eu/wp-content/uploads/2011/08/cpt-specification-0.01.pdf 36380 string CPT 3639>4 string FILE Corel Photo-Paint image, version 3640# version like 7, 9 or 8 3641>>3 ubyte x %c, 3642!:mime image/x-corel-cpt 3643!:ext cpt 3644# if blocks_array_offset available jump blockNumber*8 bytes 3645>>0x34 ulelong >0 3646>>>(0x28.l*8) ubyte x 3647# jump additional stored blocks_array_offset bytes forward to object block 3648>>>>&(0x34.l-1) ulelong x %u 3649# object height in pixels 3650>>>>>&0 ulelong x x %u 3651# if no blocks_array_offset available jump blockNumber*8 bytes 3652>>0x34 ulelong =0 3653>>>(0x28.l*8) ubyte x 3654# jump additional 0x13C bytes forward to object block 3655>>>>&0x13B ulelong x %u 3656>>>>>&0 ulelong x x %u 3657# image color model used 3658>>0x8 ulelong x 3659>>>0x8 ulelong 0x1 RGB 24 bits 3660>>>0x8 ulelong 0x3 CMYK 24 bits 3661>>>0x8 ulelong 0x5 greyscale 8 bits 3662>>>0x8 ulelong 0x6 black and white 1 bit 3663>>>0x8 ulelong 0xA RGB 8 bits 3664# palette_length number of colors * 3 in case of 8-bit RGB paletted image 3665# 0 otherwise. Allowed values: 0 or [1..256] * 3 3666#>>0xC ulelong >0 \b, palette length %u 3667>>>>0xC ulelong/3 <256 \b, %u colors 3668>>>0x8 ulelong 0xB LAB 3669>>>0x8 ulelong 0xC RGB 48 bits 3670>>>0x8 ulelong 0xE greyscale 16 bits 3671# this should not happen 3672>>>0x8 default x color model 3673>>>>0x8 ulelong x %#x 3674# bit 1 in CPT file flags: UCS-2 file comment present 3675>>0x31 ubyte &0x02 3676# look for comment marker 3677>>>0x100 search/0xc9d \4\2\0\0 3678# UCS-2 file comment 3679>>>>&0 lestring16 x "%s" 3680# if no UCS-2 is present show ANSI file comment[112] if available 3681>>0x31 ubyte&0x02 =0 3682>>>0x3C string >\0 "%-.112s" 3683# reserved seems to be always 0 3684#>>0x10 ulelong >0 \b, reserved1 %u 3685# horizontal real dpi = dpi_h * 25.4 / 10**6 3686>>0x18 ulelong x \b, %u micro dots/mm 3687# image vertical DPI in CPT DPI unit 3688#>>0x1C ulelong x \b, %u micro dots/mm 3689# reserved seems to be always 0 3690#>>0x20 ulelong >0 \b, reserved2 %u 3691#>>0x24 ulelong >0 \b, reserved3 %u 3692# blocks_count; number of CPT_Block blocks. Allowed values: > 0 3693>>0x28 ulelong x \b, %u block 3694# plural s 3695>>0x28 ulelong !1 \bs 3696# CPT file flags 3697# lower byte of CPT file flags: 0x94~CPT9FILE 0x01~often CPT7FILE 0x8C~CPT8FILE 3698#>>0x30 ubyte x \b, lower flags %#x 3699# upper byte of CPT file flags: 3700#>>0x31 ubyte >0 \b, upper flags %#x 3701# bit 2 in CPT file flags: unknown 3702#>>0x31 ubyte &0x04 \b, with UNKNOWN 3703# bits 3-7 in CPT file flags: unknown, seem to be often 0 3704# show unusual flag combinations 3705>>0x31 ubyte&0xFC >0 3706>>>0x30 uleshort x \b, flags %#4.4x 3707# reserved seems to be always 0 3708#>>0x32 uleshort >0 \b, reserved4 %#x 3709# blocks_array_offset is always 0 for CPT7 and CPT8 files created by PP7-PP8 3710# typical values like: 13Ch 154h 43Ch 4F0h DA8h 3711>>0x34 ulelong x \b, array offset %#x 3712# reserved seems to be often 0 3713>>0x38 ulelong >0 \b, reserved5 %#x 3714# possible next master block 3715#>>0x100 ubequad !0 \b, next block=%#llx... 3716# bit 0: ICC profile block present 3717>>0x31 ubyte &0x01 \b, with ICC profile 3718# check for characteristic string acsp of color profile for DEBUGGING 3719#>>>0x178 string x icc=%.4s 3720# display ICC/ICM color profile by ./icc 3721#>>>0x154 use color-profile 3722 3723# Type: Crunch compressed texture. 3724# From: David Korth <gerbilsoft@gerbilsoft.com> 3725# References: 3726# - https://github.com/BinomialLLC/crunch/blob/44c8402e24441c7524ca364941fd224ab3b971e9/inc/crn_decomp.h#L267 37270 ubelong 0x4878004A Crunch compressed texture: 3728>0x0C ubeshort x %u x 3729>0x0E ubeshort x %u 3730>0x12 ubyte 0 \b, DXT1 3731>0x12 ubyte 1 \b, DXT3 3732>0x12 ubyte 2 \b, DXT5 3733>0x12 ubyte 3 \b, DXT5 CCxY 3734>0x12 ubyte 4 \b, DXT5 xGxR 3735>0x12 ubyte 5 \b, DXT5 xGBR 3736>0x12 ubyte 6 \b, DXT5 AGBR 3737>0x12 ubyte 7 \b, DXn XY 3738>0x12 ubyte 8 \b, DXn YX 3739>0x12 ubyte 9 \b, DXT5 Alpha 3740>0x12 ubyte 10 \b, ETC1 3741>0x10 ubyte >1 \b, %u images 3742>0x11 ubyte >1 \b, %u faces 3743# TODO: Flags at 0x13? (ubeshort) 3744 3745# Type: BasisLZ compressed texture. 3746# From: David Korth <gerbilsoft@gerbilsoft.com> 3747# References: 3748# - https://github.com/BinomialLLC/basis_universal/blob/master/spec/basis_spec.txt 37490 uleshort 0x4273 3750>0x04 uleshort 0x4D BasisLZ 3751>>0x02 uleshort x v%x compressed texture: 3752>>0x14 ubyte 0 ETC1S 3753>>0x14 ubyte 1 UASTC 4x4 3754>>0x0E ulelong&0xFFFFFF >1 \b, %u slices 3755>>0x11 ulelong&0xFFFFFF >1 \b, %u images 3756>>0x15 uleshort&0x02 2 \b, Y-flipped 3757 3758# MIME registration: https://www.iana.org/assignments/media-types/model/e57 3759# Sample files: http://www.libe57.org/data.html 3760# Reference implementation: http://www.libe57.org/ 3761# https://www.ri.cmu.edu/pub_files/2011/1/2011-huber-e57-v3.pdf 37620 string ASTM-E57 ASTM E57 three-dimensional model 3763!:mime model/e57 3764!:ext e57 3765 3766# QOI [Quite OK Image Format] images 3767# (Horia Mihai David, mihaidavid@posteo.net) 3768# 3769# QOI format by Dominic Szablewski <http://phoboslab.org/> 3770# <https://qoiformat.org/> 3771# 3772# Based on spec v1.0 (2022.01.05) <https://qoiformat.org/qoi-specification.pdf> 3773 37740 string qoif QOI image data 3775!:ext qoi 3776!:mime image/x-qoi 3777# See <https://github.com/phoboslab/qoi/issues/167> 3778>4 ubelong x %ux 3779>8 ubelong x \b%u, 3780>>13 ubyte 0 s 3781>>>12 ubyte 3 \bRGB 3782>>>12 ubyte 4 \bRGBA 3783>>>12 default x 3784>>>>12 ubyte x \b*bad channels %u* 3785>>>13 ubyte 0 (linear alpha) 3786>>13 ubyte 1 3787>>>12 ubyte 3 RGB 3788>>>12 ubyte 4 RGBA 3789>>>13 ubyte 1 (all channels linear) 3790>>13 default x 3791>>>13 ubyte x *bad colorspace %u* 3792 3793 3794# Type: Godot 3, 4 texture (pixel format) 3795# From: David Korth <gerbilsoft@gerbilsoft.com> 37960 name godot-pixel-format 3797>0 ulelong&0xFFFFF 0 L8 3798>0 ulelong&0xFFFFF 1 LA8 3799>0 ulelong&0xFFFFF 2 R8 3800>0 ulelong&0xFFFFF 3 RG8 3801>0 ulelong&0xFFFFF 4 RGB8 3802>0 ulelong&0xFFFFF 5 RGBA8 3803>0 ulelong&0xFFFFF 6 RGBA4444 3804>0 ulelong&0xFFFFF 7 RGB565 3805>0 ulelong&0xFFFFF 8 RF 3806>0 ulelong&0xFFFFF 9 RGF 3807>0 ulelong&0xFFFFF 10 RGBF 3808>0 ulelong&0xFFFFF 11 RGBAF 3809>0 ulelong&0xFFFFF 12 RH 3810>0 ulelong&0xFFFFF 13 RGH 3811>0 ulelong&0xFFFFF 14 RGBH 3812>0 ulelong&0xFFFFF 15 RGBAH 3813>0 ulelong&0xFFFFF 16 RGBE9995 3814>0 ulelong&0xFFFFF 17 DXT1 3815>0 ulelong&0xFFFFF 18 DXT3 3816>0 ulelong&0xFFFFF 19 DXT5 3817>0 ulelong&0xFFFFF 20 RGTC_R 3818>0 ulelong&0xFFFFF 21 RGTC_RG 3819>0 ulelong&0xFFFFF 22 BPTC_RGBA 3820>0 ulelong&0xFFFFF 23 BPTC_RGBF 3821>0 ulelong&0xFFFFF 24 BPTC_RGBFU 3822>0 ulelong&0xFFFFF 25 PVRTC1_2 3823>0 ulelong&0xFFFFF 26 PVRTC1_2A 3824>0 ulelong&0xFFFFF 27 PVRTC1_4 3825>0 ulelong&0xFFFFF 28 PVRTC1_4A 3826>0 ulelong&0xFFFFF 29 ETC 3827>0 ulelong&0xFFFFF 30 ETC2_R11 3828>0 ulelong&0xFFFFF 31 ETC2_R11S 3829>0 ulelong&0xFFFFF 32 ETC2_RG11 3830>0 ulelong&0xFFFFF 33 ETC2_RG11S 3831>0 ulelong&0xFFFFF 34 ETC2_RGB8 3832>0 ulelong&0xFFFFF 35 ETC2_RGBA8 3833>0 ulelong&0xFFFFF 36 ETC2_RGB8A1 3834>0 ulelong&0xFFFFF 37 ASTC_8x8 3835 3836# Type: Godot 3, 4 texture (rescale display, width) 3837# From: David Korth <gerbilsoft@gerbilsoft.com> 3838# Shows rescale value if it's not a power of 2. 38390 name godot-rescale-display-w 3840>0 uleshort 0 3841>0 uleshort 1 3842>0 uleshort 2 3843>0 uleshort 4 3844>0 uleshort 8 3845>0 uleshort 16 3846>0 uleshort 32 3847>0 uleshort 64 3848>0 uleshort 128 3849>0 uleshort 256 3850>0 uleshort 512 3851>0 uleshort 1024 3852>0 uleshort 2048 3853>0 uleshort 4096 3854>0 uleshort 8192 3855>0 uleshort 16384 3856>0 uleshort 32768 3857>0 default x 3858>>0 uleshort x (rescale to %u x 3859 3860# Type: Godot 3, 4 texture (rescale display, height) 3861# From: David Korth <gerbilsoft@gerbilsoft.com> 3862# Shows rescale value if it's not a power of 2. 38630 name godot-rescale-display-h 3864>0 clear x 3865>0 uleshort 0 3866>0 uleshort 1 3867>0 uleshort 2 3868>0 uleshort 4 3869>0 uleshort 8 3870>0 uleshort 16 3871>0 uleshort 32 3872>0 uleshort 64 3873>0 uleshort 128 3874>0 uleshort 256 3875>0 uleshort 512 3876>0 uleshort 1024 3877>0 uleshort 2048 3878>0 uleshort 4096 3879>0 uleshort 8192 3880>0 uleshort 16384 3881>0 uleshort 32768 3882>0 default x 3883>>0 uleshort x %u) 3884 3885# Type: Godot 3 texture 3886# From: David Korth <gerbilsoft@gerbilsoft.com> 3887# References: 3888# - https://github.com/godotengine/godot/blob/3.3/core/image.h 3889# - https://github.com/godotengine/godot/blob/3.3/scene/resources/texture.cpp 3890# - https://github.com/godotengine/godot/blob/3.3/scene/resources/texture.h 3891# TODO: Don't show "rescale to" if it matches the image size. 38920 string GDST Godot 3 texture: 3893!:ext stex 3894!:mime image/x-godot-stex 3895>4 uleshort x %u x 3896>8 uleshort x %u 3897>6 uleshort 0 \b, 3898>6 uleshort !0 3899>>6 use godot-rescale-display-w 3900>>10 use godot-rescale-display-h 3901>>10 uleshort x \b, 3902>16 ulelong&0x800000 !0 has mipmaps, 3903>16 ulelong&0x100000 0x100000 lossless encoding 3904>16 ulelong&0x200000 0x200000 lossy encoding 3905>16 ulelong&0x300000 0 3906>>16 use godot-pixel-format 3907 3908# Type: Godot 4 texture 3909# From: David Korth <gerbilsoft@gerbilsoft.com> 3910# References: 3911# - https://github.com/godotengine/godot/blob/master/core/io/image.h 3912# - https://github.com/godotengine/godot/blob/master/scene/resources/texture.cpp 3913# - https://github.com/godotengine/godot/blob/master/scene/resources/texture.h 3914# TODO: Don't show "rescale to" if it matches the image size. 39150 string GST2 Godot 4 texture 3916!:ext stex 3917!:mime image/x-godot-stex 3918>4 ulelong x v%u: 3919>0x28 uleshort x %u x 3920>0x2A uleshort x %u 3921>8 use godot-rescale-display-w 3922>12 use godot-rescale-display-h 3923>12 uleshort x \b, 3924>0x2C ulelong >1 %u mipmaps, 3925>0x30 use godot-pixel-format 3926>0x24 ulelong 1 \b, embedded PNG image 3927>0x24 ulelong 2 \b, embedded WebP image 3928>0x24 ulelong 3 \b, Basis Universal 3929 3930# Summary: iCEDraw graphic *.IDF 3931# URL: http://fileformats.archiveteam.org/wiki/ICEDraw 3932# Reference: http://mark0.net/download/triddefs_xml.7z/defs/i/idf-icedraw.trid.xml 3933# From: Joerg Jenderek 3934# Note: called "iCEDraw graphic" by TrID, "iCEDraw text" by FFmpeg and "iCE Draw" by Ansilove 3935# verified by FFmpeg command `ffprobe ICE-9605.IDF` and `ansilove -s SQ-FORCE.IDF` 39360 string \0041.4\0\0\0\0O\0 iCEDraw graphic 3937#!:mime application/octet-stream 3938!:mime image/x-idf 3939!:ext idf 3940