xref: /dflybsd-src/contrib/file/magic/Magdir/images (revision 739f0ef867128a933e021db3d831e906fcafd825)
1f72f8299SJan Lentfer
2327e51cbSPeter Avalos#------------------------------------------------------------------------------
3*3b9cdfa3SAntonio Huete Jimenez# $File: images,v 1.227 2022/09/11 20:58:52 christos Exp $
479343712SPeter Avalos# images:  file(1) magic for image formats (see also "iff", and "c-lang" for
579343712SPeter Avalos# XPM bitmaps)
6327e51cbSPeter Avalos#
7327e51cbSPeter Avalos# originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
8327e51cbSPeter Avalos# additions by janl@ifi.uio.no as well as others. Jan also suggested
9327e51cbSPeter Avalos# merging several one- and two-line files into here.
10327e51cbSPeter Avalos#
11327e51cbSPeter Avalos# little magic: PCX (first byte is 0x0a)
12327e51cbSPeter Avalos
13327e51cbSPeter Avalos# Targa - matches `povray', `ppmtotga' and `xv' outputs
14327e51cbSPeter Avalos# by Philippe De Muyter <phdm@macqel.be>
15c30bd091SSascha Wildner# URL: http://justsolve.archiveteam.org/wiki/TGA
16c30bd091SSascha Wildner# Reference: http://www.dca.fee.unicamp.br/~martino/disciplinas/ea978/tgaffs.pdf
17c30bd091SSascha Wildner# Update: Joerg Jenderek
18327e51cbSPeter Avalos# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
19c30bd091SSascha Wildner#	,32 or 33 (both not observed)
20327e51cbSPeter Avalos# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
21c30bd091SSascha Wildner#	or theoretically 2-128 reserved for use by Truevision or 128-255 may be used for developer applications
22327e51cbSPeter Avalos# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
23327e51cbSPeter Avalos# `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
24327e51cbSPeter Avalos# `tgatoppm' recognizes a superset (Index may be anything)
25c30bd091SSascha Wildner#
26c30bd091SSascha Wildner# test of Color Map Type 0~no 1~color map
27c30bd091SSascha Wildner# and Image Type 1 2 3 9 10 11 32 33
28c30bd091SSascha Wildner# and Color Map Entry Size 0 15 16 24 32
29c30bd091SSascha Wildner0	ubequad&0x00FeC400000000C0	0
30c990e5baSDaniel Fojt# Conflict with MPEG sequences.
31c990e5baSDaniel Fojt!:strength -40
326fca56fbSSascha Wildner# Prevent conflicts with CRI ADX.
33970935fdSSascha Wildner#>(2.S-2) belong	!0x28632943
34970935fdSSascha Wildner# above line does not work for rgb32_top_left_rle.tga
35970935fdSSascha Wildner# skip some MPEG sequence *.vob and some CRI ADX audio with improbable interleave bits
36970935fdSSascha Wildner>17	ubyte&0xC0		!0xC0
376fca56fbSSascha Wildner# skip more garbage like *.iso by looking for positive image type
386fca56fbSSascha Wildner>>2	ubyte			>0
396fca56fbSSascha Wildner# skip some compiled terminfo like xterm+tmux by looking for image type less equal 33
406fca56fbSSascha Wildner>>>2	ubyte			<34
41970935fdSSascha Wildner# skip some MPEG sequence *.vob HV001T01.EVO winnicki.mpg with unacceptable alpha channel depth 11
42970935fdSSascha Wildner>>>>17	ubyte&0x0F		!11
436fca56fbSSascha Wildner# skip arches.3200 , Finder.Root , Slp.1 by looking for low pixel depth 1 8 15 16 24 32
44970935fdSSascha Wildner>>>>>16	ubyte			1
45970935fdSSascha Wildner>>>>>>0		use		tga-image
46970935fdSSascha Wildner>>>>>16	ubyte			8
47970935fdSSascha Wildner>>>>>>0		use		tga-image
48970935fdSSascha Wildner>>>>>16	ubyte			15
49970935fdSSascha Wildner>>>>>>0		use		tga-image
50970935fdSSascha Wildner>>>>>16	ubyte			16
51970935fdSSascha Wildner>>>>>>0		use		tga-image
52970935fdSSascha Wildner>>>>>16	ubyte			24
53970935fdSSascha Wildner>>>>>>0		use		tga-image
54970935fdSSascha Wildner>>>>>16	ubyte			32
55970935fdSSascha Wildner>>>>>>0		use		tga-image
56c30bd091SSascha Wildner#	display tga bitmap image information
57c30bd091SSascha Wildner0	name				tga-image
58c30bd091SSascha Wildner>2	ubyte		<34		Targa image data
59c30bd091SSascha Wildner!:mime	image/x-tga
60c30bd091SSascha Wildner!:apple	????TPIC
61c30bd091SSascha Wildner# normal extension .tga but some Truevision products used others:
62c30bd091SSascha Wildner# tpic (Apple),icb (Image Capture Board),vda (Video Display Adapter),vst (NuVista),win (UNSURE about that)
63c30bd091SSascha Wildner!:ext	tga/tpic/icb/vda/vst
64c30bd091SSascha Wildner# image type 1 2 3 9 10 11 32 33
65c30bd091SSascha Wildner>2	ubyte&0xF7	1		- Map
66c30bd091SSascha Wildner>2	ubyte&0xF7	2		- RGB
67c30bd091SSascha Wildner# alpha channel
68c30bd091SSascha Wildner>>17	ubyte&0x0F	>0		\bA
69c30bd091SSascha Wildner>2	ubyte&0xF7	3		- Mono
70c30bd091SSascha Wildner# type not found, but by http://www.fileformat.info/format/tga/corion.htm
71c30bd091SSascha Wildner# Compressed color-mapped data, using Huffman, Delta, and runlength encoding
72c30bd091SSascha Wildner>2	ubyte		32		- Color
73c30bd091SSascha Wildner# Compressed color-mapped data, using Huffman, Delta, and RLE. 4-pass quadtree- type process
74c30bd091SSascha Wildner>2	ubyte		33		- Color
75c30bd091SSascha Wildner# Color Map Type 0~no 1~color map
76c30bd091SSascha Wildner>1	ubyte		1		(
77c30bd091SSascha Wildner# first color map entry, 0 normal
78c30bd091SSascha Wildner>>3	uleshort	>0		\b%d-
79c30bd091SSascha Wildner# color map length 0 2 1dh 3bh d9h 100h
80c30bd091SSascha Wildner>>5	uleshort	x		\b%d)
81c30bd091SSascha Wildner# 8~run length encoding bit
82c30bd091SSascha Wildner>2	ubyte&0x08	8		- RLE
83c30bd091SSascha Wildner# gimp can create big pictures!
84c30bd091SSascha Wildner>12	uleshort	>0		%d x
85c30bd091SSascha Wildner>12	uleshort	=0		65536 x
86c30bd091SSascha Wildner# image height. 0 interpreted as 65536
87c30bd091SSascha Wildner>14	uleshort	>0		%d
88c30bd091SSascha Wildner>14	uleshort	=0		65536
896fca56fbSSascha Wildner# Image Pixel depth 1 8 15 16 24 32
90c30bd091SSascha Wildner>16	ubyte		x		x %d
91c30bd091SSascha Wildner# X origin of image. 0 normal
92c30bd091SSascha Wildner>8	uleshort	>0		+%d
93c30bd091SSascha Wildner# Y origin of image. 0 normal; positive for top
94c30bd091SSascha Wildner>10	uleshort	>0		+%d
95c30bd091SSascha Wildner# Image descriptor: bits 3-0 give the alpha channel depth, bits 5-4 give direction
96970935fdSSascha Wildner# alpha depth like: 1 8
97c30bd091SSascha Wildner>17	ubyte&0x0F	>0		- %d-bit alpha
98c30bd091SSascha Wildner# bits 5-4 give direction. normal bottom left
99c30bd091SSascha Wildner>17	ubyte		&0x20		- top
100c30bd091SSascha Wildner#>17	ubyte		^0x20		- bottom
101c30bd091SSascha Wildner>17	ubyte		&0x10		- right
102c30bd091SSascha Wildner#>17	ubyte		^0x10		- left
103c30bd091SSascha Wildner# some info say other bits 6-7 should be zero
104c30bd091SSascha Wildner# but data storage interleave by http://www.fileformat.info/format/tga/corion.htm
105c30bd091SSascha Wildner# 00 - no interleave;01 - even/odd interleave; 10 - four way interleave; 11 - reserved
106c30bd091SSascha Wildner#>17	ubyte&0xC0	0x00		- no interleave
107c30bd091SSascha Wildner>17	ubyte&0xC0	0x40		- interleave
108c30bd091SSascha Wildner>17	ubyte&0xC0	0x80		- four way interleave
109c30bd091SSascha Wildner>17	ubyte&0xC0	0xC0		- reserved
110c30bd091SSascha Wildner# positive length implies identification field
111c30bd091SSascha Wildner>0	ubyte		>0
112c30bd091SSascha Wildner>>18	string		x		"%s"
113c30bd091SSascha Wildner# last 18 bytes of newer tga file footer signature
114c30bd091SSascha Wildner>18	search/4261301/s	TRUEVISION-XFILE.\0
115c30bd091SSascha Wildner# extension area offset if not 0
116c30bd091SSascha Wildner>>&-8		ulelong			>0
117c30bd091SSascha Wildner# length of the extension area. normal 495 for version 2.0
118c30bd091SSascha Wildner>>>(&-4.l)	uleshort		0x01EF
119c30bd091SSascha Wildner# AuthorName[41]
120c30bd091SSascha Wildner>>>>&0		string			>\0		- author "%-.40s"
121c30bd091SSascha Wildner# Comment[324]=4 * 80 null terminated
122c30bd091SSascha Wildner>>>>&41		string			>\0		- comment "%-.80s"
123c30bd091SSascha Wildner# date
124c30bd091SSascha Wildner>>>>&365	ubequad&0xffffFFFFffff0000	!0
125c30bd091SSascha Wildner# Day
126c30bd091SSascha Wildner>>>>>&-6	uleshort		x		%d
127c30bd091SSascha Wildner# Month
128c30bd091SSascha Wildner>>>>>&-8	uleshort		x		\b-%d
129c30bd091SSascha Wildner# Year
130c30bd091SSascha Wildner>>>>>&-4	uleshort		x		\b-%d
131c30bd091SSascha Wildner# time
132c30bd091SSascha Wildner>>>>&371	ubequad&0xffffFFFFffff0000	!0
133c30bd091SSascha Wildner# hour
134c30bd091SSascha Wildner>>>>>&-8	uleshort		x		%d
135c30bd091SSascha Wildner# minutes
136c30bd091SSascha Wildner>>>>>&-6	uleshort		x		\b:%.2d
137c30bd091SSascha Wildner# second
138c30bd091SSascha Wildner>>>>>&-4	uleshort		x		\b:%.2d
139c30bd091SSascha Wildner# JobName[41]
140c30bd091SSascha Wildner>>>>&377	string			>\0		- job "%-.40s"
141c30bd091SSascha Wildner# JobHour Jobminute Jobsecond
142c30bd091SSascha Wildner>>>>&418	ubequad&0xffffFFFFffff0000	!0
143c30bd091SSascha Wildner>>>>>&-8	uleshort		x		%d
144c30bd091SSascha Wildner>>>>>&-6	uleshort		x		\b:%.2d
145c30bd091SSascha Wildner>>>>>&-4	uleshort		x		\b:%.2d
146c30bd091SSascha Wildner# SoftwareId[41]
147c30bd091SSascha Wildner>>>>&424	string			>\0		- %-.40s
148c30bd091SSascha Wildner# SoftwareVersionNumber
149c30bd091SSascha Wildner>>>>&424	ubyte			>0
150c30bd091SSascha Wildner>>>>>&40	uleshort/100		x		%d
151c30bd091SSascha Wildner>>>>>&40	uleshort%100		x		\b.%d
152c30bd091SSascha Wildner# VersionLetter
153c30bd091SSascha Wildner>>>>>&42	ubyte			>0x20		\b%c
154c30bd091SSascha Wildner# KeyColor
155614728caSSascha Wildner>>>>&468	ulelong			>0		- keycolor %#8.8x
156c30bd091SSascha Wildner# Denominator of Pixel ratio. 0~no pixel aspect
157c30bd091SSascha Wildner>>>>&474	uleshort		>0
158c30bd091SSascha Wildner# Numerator
159c30bd091SSascha Wildner>>>>>&-4	uleshort		>0		- aspect %d
160c30bd091SSascha Wildner>>>>>&-2	uleshort		x		\b/%d
161c30bd091SSascha Wildner# Denominator of Gamma ratio. 0~no Gamma value
162c30bd091SSascha Wildner>>>>&478	uleshort		>0
163c30bd091SSascha Wildner# Numerator
164c30bd091SSascha Wildner>>>>>&-4	uleshort		>0		- gamma %d
165c30bd091SSascha Wildner>>>>>&-2	uleshort		x		\b/%d
166c30bd091SSascha Wildner# ColorOffset
167614728caSSascha Wildner#>>>>&480	ulelong			x		- col offset %#8.8x
168c30bd091SSascha Wildner# StampOffset
169614728caSSascha Wildner#>>>>&484	ulelong			x		- stamp offset %#8.8x
170c30bd091SSascha Wildner# ScanOffset
171614728caSSascha Wildner#>>>>&488	ulelong			x		- scan offset %#8.8x
172c30bd091SSascha Wildner# AttributesType
173614728caSSascha Wildner#>>>>&492	ubyte			x		- Attributes %#x
174c30bd091SSascha Wildner## EndOfTGA
175327e51cbSPeter Avalos
176327e51cbSPeter Avalos# PBMPLUS images
177970935fdSSascha Wildner# URL: 		https://en.wikipedia.org/wiki/Netpbm
178327e51cbSPeter Avalos# The next byte following the magic is always whitespace.
179970935fdSSascha Wildner# adding 65 to strength so that Netpbm images comes before "x86 boot sector" or
180614728caSSascha Wildner# "DOS/MBR boot sector" identified by ./filesystems
181c30bd091SSascha Wildner0	name		netpbm
182*3b9cdfa3SAntonio Huete Jimenez>3	regex/s		=[0-9]{1,50}[\040\t\f\r\n]+[0-9]{1,50}	Netpbm image data
183c30bd091SSascha Wildner>>&0	regex		=[0-9]{1,50} 			\b, size = %s x
184c30bd091SSascha Wildner>>>&0	regex		=[0-9]{1,50}			\b %s
185c30bd091SSascha Wildner
186e8af9738SPeter Avalos0	search/1	P1
187970935fdSSascha Wildner# test for whitespace after 2 byte magic
188970935fdSSascha Wildner>2	regex/2		[\040\t\f\r\n]
189970935fdSSascha Wildner# skip DROID x-fmt-164-signature-id-583.pbm with ten 0 digits
190970935fdSSascha Wildner>>3	string		!000000000
191970935fdSSascha Wildner>>>0	use		netpbm
192970935fdSSascha Wildner>>>0	string		x	\b, bitmap
193614728caSSascha Wildner!:strength + 65
19479343712SPeter Avalos!:mime	image/x-portable-bitmap
195970935fdSSascha Wildner!:ext	pbm
196970935fdSSascha Wildner# check for character # starting a comment line
197970935fdSSascha Wildner>>>3	ubyte		=0x23
198970935fdSSascha Wildner>>>>4	string		x	%s
199c30bd091SSascha Wildner
200e8af9738SPeter Avalos0	search/1	P2
201c30bd091SSascha Wildner>0	regex/4		P2[\040\t\f\r\n]
202c30bd091SSascha Wildner>>0	use		netpbm
2036fca56fbSSascha Wildner>>0	string		x	\b, greymap
204614728caSSascha Wildner!:strength + 65
205970935fdSSascha Wildner# american spelling gray
206970935fdSSascha Wildner!:mime	image/x-portable-graymap
207970935fdSSascha Wildner!:ext	pgm
208c30bd091SSascha Wildner
209e8af9738SPeter Avalos0	search/1	P3
210c30bd091SSascha Wildner>0	regex/4		P3[\040\t\f\r\n]
211c30bd091SSascha Wildner>>0	use		netpbm
2126fca56fbSSascha Wildner>>0	string		x	\b, pixmap
213614728caSSascha Wildner!:strength + 65
21479343712SPeter Avalos!:mime	image/x-portable-pixmap
215970935fdSSascha Wildner!:ext	ppm
216c30bd091SSascha Wildner
217e8af9738SPeter Avalos0	string		P4
218c30bd091SSascha Wildner>0	regex/4		P4[\040\t\f\r\n]
219c30bd091SSascha Wildner>>0	use		netpbm
2206fca56fbSSascha Wildner>>0	string		x	\b, rawbits, bitmap
221614728caSSascha Wildner!:strength + 65
22279343712SPeter Avalos!:mime	image/x-portable-bitmap
223970935fdSSascha Wildner!:ext	pbm
224c30bd091SSascha Wildner
225e8af9738SPeter Avalos0	string		P5
226c30bd091SSascha Wildner>0	regex/4		P5[\040\t\f\r\n]
227c30bd091SSascha Wildner>>0	use		netpbm
2286fca56fbSSascha Wildner>>0	string		x	\b, rawbits, greymap
229614728caSSascha Wildner!:strength + 65
23079343712SPeter Avalos!:mime	image/x-portable-greymap
231970935fdSSascha Wildner!:ext	pgm
232c30bd091SSascha Wildner
233e8af9738SPeter Avalos0	string		P6
234c30bd091SSascha Wildner>0	regex/4		P6[\040\t\f\r\n]
235c30bd091SSascha Wildner>>0	use		netpbm
2366fca56fbSSascha Wildner>>0	string		x	\b, rawbits, pixmap
237614728caSSascha Wildner!:strength + 65
23879343712SPeter Avalos!:mime	image/x-portable-pixmap
239970935fdSSascha Wildner!:ext	ppm/pnm
240c30bd091SSascha Wildner
241970935fdSSascha Wildner# URL: 		https://en.wikipedia.org/wiki/Netpbm#PAM_graphics_format
242970935fdSSascha Wildner# Reference:	http://fileformats.archiveteam.org/wiki/Portable_Arbitrary_Map
243970935fdSSascha Wildner# Update:	Joerg Jenderek
244970935fdSSascha Wildner0	string		P7
245970935fdSSascha Wildner# skip DROID fmt-405-signature-id-589.pam by looking for character like New Line
246970935fdSSascha Wildner>2	ubyte		!0xAB
247970935fdSSascha Wildner#>2	ubyte		=0x0A
248970935fdSSascha Wildner>>3	search/256/b	WIDTH		Netpbm PAM image file, size =
249970935fdSSascha Wildner!:mime	image/x-portable-arbitrarymap
250970935fdSSascha Wildner!:ext	pam
251614728caSSascha Wildner!:strength + 65
252970935fdSSascha Wildner>>>&1	string		x		%s
253970935fdSSascha Wildner>>>3	search/256/b	HEIGHT		x
254970935fdSSascha Wildner>>>>&1	string		x		%s
255970935fdSSascha Wildner# at offset 2 a New Line character (0xA) should appear
256614728caSSascha Wildner>>>2	ubyte		!0x0A		\b, %#x at offset 2 instead new line
257327e51cbSPeter Avalos
258327e51cbSPeter Avalos# From: bryanh@giraffe-data.com (Bryan Henderson)
259327e51cbSPeter Avalos0	string		\117\072	Solitaire Image Recorder format
260327e51cbSPeter Avalos>4	string		\013		MGI Type 11
261327e51cbSPeter Avalos>4	string		\021		MGI Type 17
262327e51cbSPeter Avalos0	string		.MDA		MicroDesign data
263*3b9cdfa3SAntonio Huete Jimenez>21	ubyte		48		version 2
264*3b9cdfa3SAntonio Huete Jimenez>21	ubyte		51		version 3
265327e51cbSPeter Avalos0	string		.MDP		MicroDesign page data
266*3b9cdfa3SAntonio Huete Jimenez>21	ubyte		48		version 2
267*3b9cdfa3SAntonio Huete Jimenez>21	ubyte		51		version 3
268327e51cbSPeter Avalos
269327e51cbSPeter Avalos# NIFF (Navy Interchange File Format, a modification of TIFF) images
27079343712SPeter Avalos# [GRR:  this *must* go before TIFF]
271327e51cbSPeter Avalos0	string		IIN1		NIFF image data
27279343712SPeter Avalos!:mime	image/x-niff
273327e51cbSPeter Avalos
274e4d4ce0cSPeter Avalos# Canon RAW version 1 (CRW) files are a type of Canon Image File Format
275e4d4ce0cSPeter Avalos# (CIFF) file. These are apparently all little-endian.
276e4d4ce0cSPeter Avalos# From: Adam Buchbinder <adam.buchbinder@gmail.com>
2776fca56fbSSascha Wildner# URL: https://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html
278e4d4ce0cSPeter Avalos0	string		II\x1a\0\0\0HEAPCCDR	Canon CIFF raw image data
279e4d4ce0cSPeter Avalos!:mime	image/x-canon-crw
280*3b9cdfa3SAntonio Huete Jimenez>16	uleshort	x	\b, version %d.
281*3b9cdfa3SAntonio Huete Jimenez>14	uleshort	x	\b%d
282e4d4ce0cSPeter Avalos
283e4d4ce0cSPeter Avalos# Canon RAW version 2 (CR2) files are a kind of TIFF with an extra magic
284e4d4ce0cSPeter Avalos# number. Put this above the TIFF test to make sure we detect them.
285e4d4ce0cSPeter Avalos# These are apparently all little-endian.
286e4d4ce0cSPeter Avalos# From: Adam Buchbinder <adam.buchbinder@gmail.com>
2876fca56fbSSascha Wildner# URL: https://libopenraw.freedesktop.org/wiki/Canon_CR2
288e4d4ce0cSPeter Avalos0	string		II\x2a\0\x10\0\0\0CR	Canon CR2 raw image data
289e4d4ce0cSPeter Avalos!:mime	image/x-canon-cr2
2906fca56fbSSascha Wildner!:strength +80
291*3b9cdfa3SAntonio Huete Jimenez>10	ubyte		x	\b, version %d.
292*3b9cdfa3SAntonio Huete Jimenez>11	ubyte		x	\b%d
293e4d4ce0cSPeter Avalos
294970935fdSSascha Wildner# Fujifilm RAF RAW image files with embedded JPEG data and compressed
295970935fdSSascha Wildner# or uncompressed CFA RAW data. Byte order: Big Endian.
296970935fdSSascha Wildner# URL: https://libopenraw.freedesktop.org/formats/raf/
297614728caSSascha Wildner# Useful info from http://fileformats.archiveteam.org/wiki/Fujifilm_RAF.
298614728caSSascha Wildner# File extension: RAF
299614728caSSascha Wildner# Works for both the FinePix S2 Pro and the X-T3. Anybody have some more Fuji
300614728caSSascha Wildner# raw samples available?
301614728caSSascha Wildner# -- David Dyer-Bennet <dd-b@dd-b.net> 9-Sep-2021
302970935fdSSascha Wildner0	string		FUJIFILMCCD-RAW		Fujifilm RAF raw image data
303970935fdSSascha Wildner!:mime  image/x-fuji-raf
304614728caSSascha Wildner!:ext	raf
305614728caSSascha Wildner>0x10	string		x			\b, format version %4.4s
306614728caSSascha Wildner>0x1C	string		x			\b, camera %s
307970935fdSSascha Wildner
308327e51cbSPeter Avalos# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
309327e51cbSPeter Avalos# The second word of TIFF files is the TIFF version number, 42, which has
310327e51cbSPeter Avalos# never changed.  The TIFF specification recommends testing for it.
311327e51cbSPeter Avalos0	string		MM\x00\x2a	TIFF image data, big-endian
3126fca56fbSSascha Wildner!:strength +70
31379343712SPeter Avalos!:mime	image/tiff
314970935fdSSascha Wildner!:ext	tif,tiff
31582c5fa3eSPeter Avalos>(4.L)	use		\^tiff_ifd
316327e51cbSPeter Avalos0	string		II\x2a\x00	TIFF image data, little-endian
31779343712SPeter Avalos!:mime	image/tiff
3186fca56fbSSascha Wildner!:strength +70
319970935fdSSascha Wildner!:ext	tif,tiff
32082c5fa3eSPeter Avalos>(4.l)	use		tiff_ifd
32182c5fa3eSPeter Avalos
32282c5fa3eSPeter Avalos0	name		tiff_ifd
323*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	x		\b, direntries=%d
32482c5fa3eSPeter Avalos>2	use		tiff_entry
32582c5fa3eSPeter Avalos
32682c5fa3eSPeter Avalos0	name		tiff_entry
32782c5fa3eSPeter Avalos# NewSubFileType
328*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0xfe
32982c5fa3eSPeter Avalos>>12	use		tiff_entry
330*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x100
331*3b9cdfa3SAntonio Huete Jimenez>>4	ulelong		1
33282c5fa3eSPeter Avalos>>>12	use		tiff_entry
333*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	x		\b, width=%d
334*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x101
335*3b9cdfa3SAntonio Huete Jimenez>>4	ulelong		1
336*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	x		\b, height=%d
33782c5fa3eSPeter Avalos>>>12	use		tiff_entry
338*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x102
339*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	x		\b, bps=%d
34082c5fa3eSPeter Avalos>>12	use		tiff_entry
341*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x103
342*3b9cdfa3SAntonio Huete Jimenez>>4	ulelong		1		\b, compression=
343*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	1		\bnone
344*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	2		\bhuffman
345*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	3		\bbi-level group 3
346*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	4		\bbi-level group 4
347*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	5		\bLZW
348*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	6		\bJPEG (old)
349*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	7		\bJPEG
350*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	8		\bdeflate
351*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	9		\bJBIG, ITU-T T.85
352*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0xa		\bJBIG, ITU-T T.43
353*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x7ffe		\bNeXT RLE 2-bit
354*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x8005		\bPackBits (Macintosh RLE)
355*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x8029		\bThunderscan RLE
356*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x807f		\bRasterPadding (CT or MP)
357*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x8080		\bRLE (Line Work)
358*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x8081		\bRLE (High-Res Cont-Tone)
359*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x8082		\bRLE (Binary Line Work)
360*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x80b2		\bDeflate (PKZIP)
361*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x80b3		\bKodak DCS
362*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x8765		\bJBIG
363*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x8798		\bJPEG2000
364*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	0x8799		\bNikon NEF Compressed
36582c5fa3eSPeter Avalos>>>8	default		x
366*3b9cdfa3SAntonio Huete Jimenez>>>>8	uleshort	x		\b(unknown %#x)
36782c5fa3eSPeter Avalos>>>12	use		tiff_entry
368*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x106		\b, PhotometricInterpretation=
369c30bd091SSascha Wildner>>8	clear		x
370*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	0		\bWhiteIsZero
371*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	1		\bBlackIsZero
372*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	2		\bRGB
373*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	3		\bRGB Palette
374*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	4		\bTransparency Mask
375*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	5		\bCMYK
376*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	6		\bYCbCr
377*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	8		\bCIELab
378c30bd091SSascha Wildner>>8	default		x
379*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	x		\b(unknown=%#x)
38082c5fa3eSPeter Avalos>>12	use		tiff_entry
38182c5fa3eSPeter Avalos# FillOrder
382*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x10a
383*3b9cdfa3SAntonio Huete Jimenez>>4	ulelong		1
38482c5fa3eSPeter Avalos>>>12	use		tiff_entry
38582c5fa3eSPeter Avalos# DocumentName
386*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x10d
38782c5fa3eSPeter Avalos>>(8.l)	string		x		\b, name=%s
38882c5fa3eSPeter Avalos>>>12	use		tiff_entry
38982c5fa3eSPeter Avalos# ImageDescription
390*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x10e
39182c5fa3eSPeter Avalos>>(8.l)	string		x		\b, description=%s
39282c5fa3eSPeter Avalos>>>12	use		tiff_entry
39382c5fa3eSPeter Avalos# Make
394*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x10f
39582c5fa3eSPeter Avalos>>(8.l)	string		x		\b, manufacturer=%s
39682c5fa3eSPeter Avalos>>>12	use		tiff_entry
39782c5fa3eSPeter Avalos# Model
398*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x110
39982c5fa3eSPeter Avalos>>(8.l)	string		x		\b, model=%s
40082c5fa3eSPeter Avalos>>>12	use		tiff_entry
40182c5fa3eSPeter Avalos# StripOffsets
402*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x111
40382c5fa3eSPeter Avalos>>12	use		tiff_entry
40482c5fa3eSPeter Avalos# Orientation
405*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x112		\b, orientation=
406*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	1		\bupper-left
407*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	3		\blower-right
408*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	6		\bupper-right
409*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	8		\blower-left
410*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	9		\bundefined
41182c5fa3eSPeter Avalos>>8	default		x
412*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	x		\b[*%d*]
41382c5fa3eSPeter Avalos>>12	use		tiff_entry
41482c5fa3eSPeter Avalos# XResolution
415*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x11a
416*3b9cdfa3SAntonio Huete Jimenez>>8	ulelong		x		\b, xresolution=%d
41782c5fa3eSPeter Avalos>>12	use		tiff_entry
41882c5fa3eSPeter Avalos# YResolution
419*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x11b
420*3b9cdfa3SAntonio Huete Jimenez>>8	ulelong		x		\b, yresolution=%d
42182c5fa3eSPeter Avalos>>12	use		tiff_entry
42282c5fa3eSPeter Avalos# ResolutionUnit
423*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x128
424*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	x		\b, resolutionunit=%d
42582c5fa3eSPeter Avalos>>12	use		tiff_entry
42682c5fa3eSPeter Avalos# Software
427*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x131
42882c5fa3eSPeter Avalos>>(8.l)	string		x		\b, software=%s
42982c5fa3eSPeter Avalos>>12	use		tiff_entry
43082c5fa3eSPeter Avalos# Datetime
431*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x132
43282c5fa3eSPeter Avalos>>(8.l)	string		x		\b, datetime=%s
43382c5fa3eSPeter Avalos>>12	use		tiff_entry
43482c5fa3eSPeter Avalos# HostComputer
435*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x13c
43682c5fa3eSPeter Avalos>>(8.l)	string		x		\b, hostcomputer=%s
43782c5fa3eSPeter Avalos>>12	use		tiff_entry
43882c5fa3eSPeter Avalos# WhitePoint
439*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x13e
44082c5fa3eSPeter Avalos>>12	use		tiff_entry
44182c5fa3eSPeter Avalos# PrimaryChromaticities
442*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x13f
44382c5fa3eSPeter Avalos>>12	use		tiff_entry
44482c5fa3eSPeter Avalos# YCbCrCoefficients
445*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x211
44682c5fa3eSPeter Avalos>>12	use		tiff_entry
44782c5fa3eSPeter Avalos# YCbCrPositioning
448*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x213
44982c5fa3eSPeter Avalos>>12	use		tiff_entry
45082c5fa3eSPeter Avalos# ReferenceBlackWhite
451*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x214
45282c5fa3eSPeter Avalos>>12	use		tiff_entry
45382c5fa3eSPeter Avalos# Copyright
454*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x8298
45582c5fa3eSPeter Avalos>>(8.l)	string		x		\b, copyright=%s
45682c5fa3eSPeter Avalos>>12	use		tiff_entry
45782c5fa3eSPeter Avalos# ExifOffset
458*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x8769
45982c5fa3eSPeter Avalos>>12	use		tiff_entry
46082c5fa3eSPeter Avalos# GPS IFD
461*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0x8825		\b, GPS-Data
46282c5fa3eSPeter Avalos>>12	use		tiff_entry
46382c5fa3eSPeter Avalos
464*3b9cdfa3SAntonio Huete Jimenez#>0	uleshort	x		\b, unknown=%#x
46582c5fa3eSPeter Avalos#>>12	use		tiff_entry
466327e51cbSPeter Avalos
4679f86ab30SPeter Avalos0	string		MM\x00\x2b	Big TIFF image data, big-endian
4689f86ab30SPeter Avalos!:mime	image/tiff
4699f86ab30SPeter Avalos0	string		II\x2b\x00	Big TIFF image data, little-endian
4709f86ab30SPeter Avalos!:mime	image/tiff
4719f86ab30SPeter Avalos
472327e51cbSPeter Avalos# PNG [Portable Network Graphics, or "PNG's Not GIF"] images
473327e51cbSPeter Avalos# (Greg Roelofs, newt@uchicago.edu)
474327e51cbSPeter Avalos# (Albert Cahalan, acahalan@cs.uml.edu)
475327e51cbSPeter Avalos#
476c30bd091SSascha Wildner# 137 P N G \r \n ^Z \n [4-byte length] I H D R [HEAD data] [HEAD crc] ...
477327e51cbSPeter Avalos#
478c30bd091SSascha Wildner
479c30bd091SSascha Wildner# IHDR parser
480c30bd091SSascha Wildner0	name		png-ihdr
481*3b9cdfa3SAntonio Huete Jimenez>0	ubelong		x		\b, %d x
482*3b9cdfa3SAntonio Huete Jimenez>4	ubelong		x		%d,
483*3b9cdfa3SAntonio Huete Jimenez>8	ubyte		x		%d-bit
484*3b9cdfa3SAntonio Huete Jimenez>9	ubyte		0		grayscale,
485*3b9cdfa3SAntonio Huete Jimenez>9	ubyte		2		\b/color RGB,
486*3b9cdfa3SAntonio Huete Jimenez>9	ubyte		3		colormap,
487*3b9cdfa3SAntonio Huete Jimenez>9	ubyte		4		gray+alpha,
488*3b9cdfa3SAntonio Huete Jimenez>9	ubyte		6		\b/color RGBA,
489*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte		0		deflate/32K,
490*3b9cdfa3SAntonio Huete Jimenez>12	ubyte		0		non-interlaced
491*3b9cdfa3SAntonio Huete Jimenez>12	ubyte		1		interlaced
492c30bd091SSascha Wildner
493c30bd091SSascha Wildner# Standard PNG image.
494c30bd091SSascha Wildner0	string		\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0DIHDR	PNG image data
49579343712SPeter Avalos!:mime	image/png
4966fca56fbSSascha Wildner!:ext   png
497c30bd091SSascha Wildner!:strength +10
498c30bd091SSascha Wildner>16	use		png-ihdr
499c30bd091SSascha Wildner
500c30bd091SSascha Wildner# Apple CgBI PNG image.
501c30bd091SSascha Wildner0	string		\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x04CgBI
502c30bd091SSascha Wildner>24	string  	\x00\x00\x00\x0DIHDR	PNG image data (CgBI)
503c30bd091SSascha Wildner!:mime	image/png
5046fca56fbSSascha Wildner!:ext   png
505c30bd091SSascha Wildner!:strength +10
506c30bd091SSascha Wildner>>32	use		png-ihdr
50779343712SPeter Avalos
50879343712SPeter Avalos# possible GIF replacements; none yet released!
50979343712SPeter Avalos# (Greg Roelofs, newt@uchicago.edu)
51079343712SPeter Avalos#
51179343712SPeter Avalos# GRR 950115:  this was mine ("Zip GIF"):
51279343712SPeter Avalos0	string		GIF94z		ZIF image (GIF+deflate alpha)
51379343712SPeter Avalos!:mime	image/x-unknown
51479343712SPeter Avalos#
51579343712SPeter Avalos# GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
51679343712SPeter Avalos#
51779343712SPeter Avalos0	string		FGF95a		FGF image (GIF+deflate beta)
51879343712SPeter Avalos!:mime	image/x-unknown
51979343712SPeter Avalos#
52079343712SPeter Avalos# GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
52179343712SPeter Avalos# (best; not yet implemented):
52279343712SPeter Avalos#
52379343712SPeter Avalos0	string		PBF		PBF image (deflate compression)
52479343712SPeter Avalos!:mime	image/x-unknown
525327e51cbSPeter Avalos
526327e51cbSPeter Avalos# GIF
5276fca56fbSSascha Wildner# Strength set up to beat 0x55AA DOS/MBR signature word lookups (+65)
528327e51cbSPeter Avalos0	string		GIF8		GIF image data
5296fca56fbSSascha Wildner!:strength +80
53079343712SPeter Avalos!:mime	image/gif
53179343712SPeter Avalos!:apple	8BIMGIFf
532970935fdSSascha Wildner!:ext	gif
533327e51cbSPeter Avalos>4	string		7a		\b, version 8%s,
534327e51cbSPeter Avalos>4	string		9a		\b, version 8%s,
535*3b9cdfa3SAntonio Huete Jimenez>6	uleshort	>0		%d x
536*3b9cdfa3SAntonio Huete Jimenez>8	uleshort	>0		%d
537*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte		&0x80		color mapped,
538*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte&0x07	=0x00		2 colors
539*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte&0x07	=0x01		4 colors
540*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte&0x07	=0x02		8 colors
541*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte&0x07	=0x03		16 colors
542*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte&0x07	=0x04		32 colors
543*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte&0x07	=0x05		64 colors
544*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte&0x07	=0x06		128 colors
545*3b9cdfa3SAntonio Huete Jimenez#>10	ubyte&0x07	=0x07		256 colors
546327e51cbSPeter Avalos
547327e51cbSPeter Avalos# ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
548327e51cbSPeter Avalos# 1 plane, no encoding.
549327e51cbSPeter Avalos0	string		\361\0\100\273	CMU window manager raster image data
550*3b9cdfa3SAntonio Huete Jimenez>4	ulelong		>0		%d x
551*3b9cdfa3SAntonio Huete Jimenez>8	ulelong		>0		%d,
552*3b9cdfa3SAntonio Huete Jimenez>12	ulelong		>0		%d-bit
553327e51cbSPeter Avalos
554327e51cbSPeter Avalos# Magick Image File Format
5556fca56fbSSascha Wildner# URL:		https://imagemagick.org/script/miff.php
5566fca56fbSSascha Wildner# Reference:	http://fileformats.archiveteam.org/wiki/MIFF
5576fca56fbSSascha Wildner# Update:	Joerg Jenderek
5586fca56fbSSascha Wildner# http://www.nationalarchives.gov.uk/pronom/fmt/930
5596fca56fbSSascha Wildner0	search/256/bc	id=imagemagick
5606fca56fbSSascha Wildner# skip bad ASCII text by following new line~0x0A or space~0x20 character
561614728caSSascha Wildner#>&0	ubyte		x		\b, next character %#x
5626fca56fbSSascha Wildner# called by TriD ImageMagick Machine independent File Format bitmap
5636fca56fbSSascha Wildner>&0	ubyte&0xD5	0		MIFF image data
5646fca56fbSSascha Wildner# https://reposcope.com/mimetype/image/miff
5656fca56fbSSascha Wildner#!:mime	image/miff
5666fca56fbSSascha Wildner!:mime	image/x-miff
5676fca56fbSSascha Wildner!:ext	miff/mif
5686fca56fbSSascha Wildner# examples with standard file(1) magic
5696fca56fbSSascha Wildner#>>0	string		=id=ImageMagick	with standard magic
5706fca56fbSSascha Wildner# examples with unusual file(1) magic like
5716fca56fbSSascha Wildner>>0	string		!id=ImageMagick	starting with
5726fca56fbSSascha Wildner# start with comment (brace) like http://samples.fileformat.info/.../AQUARIUM.MIF
5736fca56fbSSascha Wildner>>>0	ubyte		=0x7b		comment
5746fca56fbSSascha Wildner# skip second character which is often a newline and show comment
5756fca56fbSSascha Wildner>>>>2	string		x		"%s"
5766fca56fbSSascha Wildner# does not start with comment, probably letters with other case like Id=ImageMagick
5776fca56fbSSascha Wildner# ImageMagick-7.0.9-2/Magick++/demo/smile_anim.miff
5786fca56fbSSascha Wildner>>>0	ubyte		!0x7b
5796fca56fbSSascha Wildner>>>>0	string		>\0		'%-.14s'
580c990e5baSDaniel Fojt# URL:		https://imagemagick.org/
581c990e5baSDaniel Fojt# Reference:	https://imagemagick.org/script/magick-vector-graphics.php
582c990e5baSDaniel Fojt# From:		Joerg Jenderek
583c990e5baSDaniel Fojt# Note:		all white-spaces between commands are ignored
584c990e5baSDaniel Fojt0	string		push
585c990e5baSDaniel Fojt# skip some white spaces
586c990e5baSDaniel Fojt>5	search/3	graphic-context	ImageMagick Vector Graphic
587c990e5baSDaniel Fojt# TODO: look for dangerous commands like CVE-2016-3715
588c990e5baSDaniel Fojt#!:mime	text/plain
589c990e5baSDaniel Fojt!:mime	image/x-mvg
590c990e5baSDaniel Fojt!:ext	mvg
591327e51cbSPeter Avalos
592327e51cbSPeter Avalos# Artisan
593327e51cbSPeter Avalos0	long		1123028772	Artisan image data
594327e51cbSPeter Avalos>4	long		1		\b, rectangular 24-bit
595327e51cbSPeter Avalos>4	long		2		\b, rectangular 8-bit with colormap
596327e51cbSPeter Avalos>4	long		3		\b, rectangular 32-bit (24-bit with matte)
597327e51cbSPeter Avalos
598327e51cbSPeter Avalos# FIG (Facility for Interactive Generation of figures), an object-based format
599*3b9cdfa3SAntonio Huete Jimenez# URL: 		http://fileformats.archiveteam.org/wiki/Fig
600*3b9cdfa3SAntonio Huete Jimenez#		https://en.wikipedia.org/wiki/Xfig
601*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/f/fig.trid.xml
602*3b9cdfa3SAntonio Huete Jimenez# https://web.archive.org/web/20070920204655/http://epb.lbl.gov/xfig/fig-format.html
603*3b9cdfa3SAntonio Huete Jimenez# Update:	Joerg Jenderek
604*3b9cdfa3SAntonio Huete Jimenez# Note:		called "FIG vector drawing" by TrID,
605*3b9cdfa3SAntonio Huete Jimenez#		4 byte magic is assumed to be always at offset 0 and
606*3b9cdfa3SAntonio Huete Jimenez#		verified by `fig2mpdf -v bootloader.fig && file bootloader.pdf`
607*3b9cdfa3SAntonio Huete Jimenez#0	search/1/tb	#FIG		FIG image text
608*3b9cdfa3SAntonio Huete Jimenez# GRR: with --keep-going option the line above gives duplicate messages
609*3b9cdfa3SAntonio Huete Jimenez0	search/1/ts	#FIG
610*3b9cdfa3SAntonio Huete Jimenez>&0	use		image-xfig
611*3b9cdfa3SAntonio Huete Jimenez# binary data variant with non ASCII text characters like Control-A or �C in thermostat.fig
612*3b9cdfa3SAntonio Huete Jimenez0	search/1/bs	#FIG
613*3b9cdfa3SAntonio Huete Jimenez>&0	use		image-xfig
614*3b9cdfa3SAntonio Huete Jimenez#	display XFIG image describing text, mime type, file name extension and version
615*3b9cdfa3SAntonio Huete Jimenez0	name		image-xfig
616*3b9cdfa3SAntonio Huete Jimenez>8	ubyte		x		FIG image text
617*3b9cdfa3SAntonio Huete Jimenez#!:mime	text/plain
618*3b9cdfa3SAntonio Huete Jimenez# https://reposcope.com/mimetype/image/x-xfig
619*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-xfig
620*3b9cdfa3SAntonio Huete Jimenez!:ext	fig
621*3b9cdfa3SAntonio Huete Jimenez# version string like: 1.4 2.1 3.1 3.2
622327e51cbSPeter Avalos>5	string		x		\b, version %.3s
623*3b9cdfa3SAntonio Huete Jimenez# some times after version text like: "Produced by xfig version 3.2.5-alpha5"
624*3b9cdfa3SAntonio Huete Jimenez>8	ubyte		>0x0D
625*3b9cdfa3SAntonio Huete Jimenez>>8	string		x		"%s"
626*3b9cdfa3SAntonio Huete Jimenez# should be point character (2Eh) of version string according to TrID
627*3b9cdfa3SAntonio Huete Jimenez#>6	ubyte		!0x2E		\b, at 6 %#x
628*3b9cdfa3SAntonio Huete Jimenez# caret character (23h) at the beginning in most or probaly all exanples
629*3b9cdfa3SAntonio Huete Jimenez#>0	ubyte		!0x23		\b, starting with character %#x
630*3b9cdfa3SAntonio Huete Jimenez# URL: 		http://fileformats.archiveteam.org/wiki/DeskMate_Draw
631*3b9cdfa3SAntonio Huete Jimenez#		http://en.wikipedia.org/wiki/Deskmate
632*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/d/dm-fig.trid.xml
633*3b9cdfa3SAntonio Huete Jimenez# From:		Joerg Jenderek
634*3b9cdfa3SAntonio Huete Jimenez# Note:		called "DeskMate Draw drawing" by TrID
635*3b9cdfa3SAntonio Huete Jimenez0	string		\x14FIG		DeskMate Drawing
636*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/octet-stream
637*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-deskmate-fig
638*3b9cdfa3SAntonio Huete Jimenez!:ext	fig
639*3b9cdfa3SAntonio Huete Jimenez# TODO:
640*3b9cdfa3SAntonio Huete Jimenez#	"Cabri 3D Figure"	by TrID fig-cabri.trid.xml
641*3b9cdfa3SAntonio Huete Jimenez#	"Playmation Figure"	by TrID fig-playmation.trid.xml
642327e51cbSPeter Avalos
643327e51cbSPeter Avalos# PHIGS
644327e51cbSPeter Avalos0	string		ARF_BEGARF		PHIGS clear text archive
645327e51cbSPeter Avalos0	string		@(#)SunPHIGS		SunPHIGS
646327e51cbSPeter Avalos# version number follows, in the form m.n
647327e51cbSPeter Avalos>40	string		SunBin			binary
648327e51cbSPeter Avalos>32	string		archive			archive
649327e51cbSPeter Avalos
650327e51cbSPeter Avalos# GKS (Graphics Kernel System)
651327e51cbSPeter Avalos0	string		GKSM		GKS Metafile
652327e51cbSPeter Avalos>24	string		SunGKS		\b, SunGKS
653327e51cbSPeter Avalos
654327e51cbSPeter Avalos# CGM image files
655327e51cbSPeter Avalos0	string		BEGMF		clear text Computer Graphics Metafile
656327e51cbSPeter Avalos
657327e51cbSPeter Avalos# MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
658327e51cbSPeter Avalos0	string	yz	MGR bitmap, modern format, 8-bit aligned
659327e51cbSPeter Avalos0	string	zz	MGR bitmap, old format, 1-bit deep, 16-bit aligned
660327e51cbSPeter Avalos0	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned
661327e51cbSPeter Avalos0	string	yx	MGR bitmap, modern format, squeezed
662327e51cbSPeter Avalos
663327e51cbSPeter Avalos# Fuzzy Bitmap (FBM) images
664327e51cbSPeter Avalos0	string		%bitmap\0	FBM image data
665327e51cbSPeter Avalos>30	long		0x31		\b, mono
666327e51cbSPeter Avalos>30	long		0x33		\b, color
667327e51cbSPeter Avalos
668327e51cbSPeter Avalos# facsimile data
669327e51cbSPeter Avalos1	string		PC\ Research,\ Inc	group 3 fax data
670*3b9cdfa3SAntonio Huete Jimenez>29	ubyte		0		\b, normal resolution (204x98 DPI)
671*3b9cdfa3SAntonio Huete Jimenez>29	ubyte		1		\b, fine resolution (204x196 DPI)
672327e51cbSPeter Avalos# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
673327e51cbSPeter Avalos0	string		Sfff		structured fax file
674327e51cbSPeter Avalos
675e8af9738SPeter Avalos# From: Joerg Jenderek <joerg.jen.der.ek@gmx.net>
676614728caSSascha Wildner# URL:	http://fileformats.archiveteam.org/wiki/Award_BIOS_logo
677614728caSSascha Wildner# Note:	verified by XnView command `nconvert -fullinfo *.EPA`
678e8af9738SPeter Avalos0	string		\x11\x06	Award BIOS Logo, 136 x 84
679e8af9738SPeter Avalos!:mime	image/x-award-bioslogo
680614728caSSascha Wildner!:ext	epa
681e8af9738SPeter Avalos0	string		\x11\x09	Award BIOS Logo, 136 x 126
682e8af9738SPeter Avalos!:mime	image/x-award-bioslogo
683614728caSSascha Wildner!:ext	epa
684614728caSSascha Wildner# https://telparia.com/fileFormatSamples/image/epa/IO.EPA
685614728caSSascha Wildner# Note:	by bitmap-awbm-v1x1009.trid.xml called "Award BIOS logo bitmap (128x126) (v1)"
686614728caSSascha Wildner#	verified by RECOIL `recoil2png -o tmp.png IO.EPA; file tmp.png`
687614728caSSascha Wildner0	string		\x10\x09	Award BIOS Logo, 128 x 126
688614728caSSascha Wildner!:mime	image/x-award-bioslogo
689614728caSSascha Wildner!:ext	epa
690e8af9738SPeter Avalos#0	string		\x07\x1f	BIOS Logo corrupted?
691e8af9738SPeter Avalos# http://www.blackfiveservices.co.uk/awbmtools.shtml
692e8af9738SPeter Avalos# http://biosgfx.narod.ru/v3/
693e8af9738SPeter Avalos# http://biosgfx.narod.ru/abr-2/
694e8af9738SPeter Avalos0	string		AWBM
695614728caSSascha Wildner# Note:    by bitmap-awbm.trid.xml called "Award BIOS logo bitmap (v2)"
696*3b9cdfa3SAntonio Huete Jimenez>4	uleshort	<1981		Award BIOS Logo, version 2
697*3b9cdfa3SAntonio Huete Jimenez#>4	uleshort	<1981		Award BIOS bitmap
698614728caSSascha Wildner!:mime	image/x-award-bioslogo2
699614728caSSascha Wildner#!:mime	image/x-award-bmp
700614728caSSascha Wildner!:ext	epa/bmp
701e8af9738SPeter Avalos# image width is a multiple of 4
702*3b9cdfa3SAntonio Huete Jimenez>>4	uleshort&0x0003	0
703*3b9cdfa3SAntonio Huete Jimenez>>>4	uleshort	x		\b, %d
704*3b9cdfa3SAntonio Huete Jimenez>>>6	uleshort	x		x %d
705*3b9cdfa3SAntonio Huete Jimenez>>4	uleshort&0x0003	>0		\b,
706*3b9cdfa3SAntonio Huete Jimenez>>>4	uleshort&0x0003	=1
707*3b9cdfa3SAntonio Huete Jimenez>>>>4	uleshort	x		%d+3
708*3b9cdfa3SAntonio Huete Jimenez>>>4	uleshort&0x0003	=2
709*3b9cdfa3SAntonio Huete Jimenez>>>>4	uleshort	x		%d+2
710*3b9cdfa3SAntonio Huete Jimenez>>>4	uleshort&0x0003	=3
711*3b9cdfa3SAntonio Huete Jimenez>>>>4	uleshort	x		%d+1
712*3b9cdfa3SAntonio Huete Jimenez>>>6	uleshort	x		x %d
713e8af9738SPeter Avalos# at offset 8 starts imagedata followed by "RGB " marker
714327e51cbSPeter Avalos
71579343712SPeter Avalos# PC bitmaps (OS/2, Windows BMP files)  (Greg Roelofs, newt@uchicago.edu)
7166fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_.\
717e8af9738SPeter Avalos# 28bitmap_information_header.29
7186fca56fbSSascha Wildner# Note:	variant starting direct with DIB header see
7196fca56fbSSascha Wildner#	http://fileformats.archiveteam.org/wiki/BMP
7206fca56fbSSascha Wildner#	verified by ImageMagick version 6.8.9-8 command `identify *.dib`
721*3b9cdfa3SAntonio Huete Jimenez0	uleshort		40
7226fca56fbSSascha Wildner# skip bad samples like GAME by looking for valid number of color planes
7236fca56fbSSascha Wildner>12	uleshort	1		Device independent bitmap graphic
724970935fdSSascha Wildner!:mime	image/x-ms-bmp
7256fca56fbSSascha Wildner!:apple	????BMPp
7266fca56fbSSascha Wildner!:ext	dib
727*3b9cdfa3SAntonio Huete Jimenez>>4	ulelong		x		\b, %d x
728*3b9cdfa3SAntonio Huete Jimenez>>8	ulelong		x		%d x
729*3b9cdfa3SAntonio Huete Jimenez>>14	uleshort	x		%d
7306fca56fbSSascha Wildner# number of color planes (must be 1)
7316fca56fbSSascha Wildner#>>12	uleshort	>1		\b, %u color planes
7326fca56fbSSascha Wildner# compression method: 0~no 1~RLE 8-bit/pixel 3~Huffman 1D
7336fca56fbSSascha Wildner#>>16	ulelong		3		\b, Huffman 1D compression
7346fca56fbSSascha Wildner>>16	ulelong		>0		\b, %u compression
7356fca56fbSSascha Wildner# image size is the size of raw bitmap; a dummy 0 can be given for BI_RGB bitmaps
7366fca56fbSSascha Wildner>>20	ulelong		x		\b, image size %u
7376fca56fbSSascha Wildner# horizontal and vertical resolution of the image (pixel per metre, signed integer)
738*3b9cdfa3SAntonio Huete Jimenez>>24	ulelong		>0		\b, resolution %d x
739*3b9cdfa3SAntonio Huete Jimenez>>>28	ulelong		x		%d px/m
7406fca56fbSSascha Wildner# number of colors in palette, or 0 to default to 2**n
7416fca56fbSSascha Wildner#>>32	ulelong		>0		\b, %u colors
7426fca56fbSSascha Wildner# number of important colors used, or 0 when every color is important
7436fca56fbSSascha Wildner>>36	ulelong		>0		\b, %u important colors
744614728caSSascha Wildner# From:		Joerg Jenderek
745614728caSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/VBM_(VDC_BitMap)
746614728caSSascha Wildner# Reference:	http://csbruce.com/cbm/postings/csc19950906-1.txt
747614728caSSascha Wildner#		http://mark0.net/download/triddefs_xml.7z
748614728caSSascha Wildner#		defs/b/bitmap-vbm.trid.xml
749614728caSSascha Wildner#		defs/b/bitmap-vbm-v3.trid.xml
750614728caSSascha Wildner# Note:		called "VDC BitMap" by TrID
751614728caSSascha Wildner#		verified by RECOIL `recoil2png -o tmp.png coke_can.vbm; file tmp.png`
752614728caSSascha Wildner# begin with a signature of 'B' 'M' 0xCB, followed by a version byte 2 or 3
753614728caSSascha Wildner# Similar to the unrelated Windows BMP format
754614728caSSascha Wildner#	check for VDC bitmap and then display image dimension and version
755614728caSSascha Wildner0	name		bitmap-vbm
756614728caSSascha Wildner>2	ubyte		0xCB		VDC bitmap
757614728caSSascha Wildner!:mime	image/x-commodore-vbm
758614728caSSascha Wildner# http://recoil.sourceforge.net/formats.html
759614728caSSascha Wildner!:ext	bm/vbm
760614728caSSascha Wildner# the VBM format version number: 2 or 3
761614728caSSascha Wildner>>3	ubyte		x		\b, version %u
762614728caSSascha Wildner# width of the image in Hi/Lo format
763614728caSSascha Wildner>>4	ubeshort	x		\b, %u
764614728caSSascha Wildner# height of the image
765614728caSSascha Wildner>>6	ubeshort	x		x %u
766614728caSSascha Wildner# version 3 images have the following additional header information
767614728caSSascha Wildner>>3	ubyte		=3
768614728caSSascha Wildner# data-encoding type: 0~uncompressed 1~RLE-compressed
769614728caSSascha Wildner>>>8	ubyte		0		\b, uncompressed
770614728caSSascha Wildner>>>8	ubyte		1		\b, RLE-compressed
771614728caSSascha Wildner# byte code for general RLE repetitions
772614728caSSascha Wildner#>>>9	ubyte		x		\b, RLE repetition code 0x%x
773614728caSSascha Wildner# reserved := 0
774614728caSSascha Wildner#>>>14	short		>0		\b, reserved 0x%x
775614728caSSascha Wildner# length of comment text; 0~no comment text
776614728caSSascha Wildner#>>>16	ubeshort	>0		\b, comment length %u
777614728caSSascha Wildner>>>16	pstring/H	>0		\b, comment "%s"
778614728caSSascha Wildner#
77979343712SPeter Avalos0	string		BM
780614728caSSascha Wildner# check for magic and version 2 of VDC bitmap or BMP with cbSize=715=CB02
781*3b9cdfa3SAntonio Huete Jimenez>2	ubeshort		0xCB02
782614728caSSascha Wildner>>6	short		=0
783614728caSSascha Wildner>>>0	use     	bitmap-bmp
784614728caSSascha Wildner# VDC bitmap height or maybe a few OS/2 BMP with nonzero "hotspot coordinates"
785614728caSSascha Wildner>>6	short		!0
786614728caSSascha Wildner>>>0	use     	bitmap-vbm
787614728caSSascha Wildner# check for magic and version 3 of VDC bitmap or BMP with cbSize=971=CB03
788*3b9cdfa3SAntonio Huete Jimenez>2	ubeshort		0xCB03
789614728caSSascha Wildner# check for reserved value (=0) of VDC bitmap
790614728caSSascha Wildner>>14	short		=0
791614728caSSascha Wildner>>>0	use     	bitmap-vbm
792614728caSSascha Wildner# BMP with cbSize=????03CBh and dib header size != 0
793614728caSSascha Wildner>>14	short		!0
794614728caSSascha Wildner>>>0	use     	bitmap-bmp
795614728caSSascha Wildner# cbSize is size of header or file size of Windows BMP bitmap
796614728caSSascha Wildner>2	default		x
797614728caSSascha Wildner>>0	use     	bitmap-bmp
798614728caSSascha Wildner0	name		bitmap-bmp
799*3b9cdfa3SAntonio Huete Jimenez>14	ulelong		12		PC bitmap, OS/2 1.x format
800614728caSSascha Wildner!:mime	image/bmp
801614728caSSascha Wildner!:ext	bmp
802*3b9cdfa3SAntonio Huete Jimenez>>18	uleshort	x		\b, %d x
803*3b9cdfa3SAntonio Huete Jimenez>>20	uleshort	x		%d
804614728caSSascha Wildner# number of color planes (must be 1)
805*3b9cdfa3SAntonio Huete Jimenez#>>22	uleshort	!1		\b, %u color planes
806614728caSSascha Wildner# number of bits per pixel (color depth); found 4 8
807*3b9cdfa3SAntonio Huete Jimenez>>24	uleshort	x		x %d
808614728caSSascha Wildner# x, y coordinates of the hotspot
809614728caSSascha Wildner>>6	uleshort	>0		\b, hotspot %ux
810614728caSSascha Wildner>>>8	uleshort	x		\b%u
811614728caSSascha Wildner# cbSize; size of file or header like 1Ah 228C8h
812614728caSSascha Wildner>>2	ulelong		x		\b, cbSize %u
813614728caSSascha Wildner#>>2	ulelong		x		\b, cbSize 0x%8.8x
814614728caSSascha Wildner# offBits; offset to bitmap data like:
815614728caSSascha Wildner>>10	ulelong		x	\b, bits offset %u
816614728caSSascha Wildner# http://fileformats.archiveteam.org/wiki/BMP#OS.2F2_BMP_2.0 no examples found
817614728caSSascha Wildner>14	ulelong		48		PC bitmap, OS/2 2.x format (DIB header size=48)
818614728caSSascha Wildner>14	ulelong		24		PC bitmap, OS/2 2.x format (DIB header size=24)
819614728caSSascha Wildner# http://entropymine.com/jason/bmpsuite/bmpsuite/q/pal8os2v2-16.bmp
820614728caSSascha Wildner# Note:    by bitmap-bmp-v2o.trid.xml called "Windows Bitmap (v2o)"
821614728caSSascha Wildner>14	ulelong		16		PC bitmap, OS/2 2.x format (DIB header size=16)
822614728caSSascha Wildner!:mime	image/bmp
823614728caSSascha Wildner!:apple	????BMPp
824614728caSSascha Wildner!:ext	bmp
825614728caSSascha Wildner# image width and height fields are unsigned integers for OS/2
826614728caSSascha Wildner>>18	ulelong		x		\b, %u x
827614728caSSascha Wildner>>22	ulelong		x		%u
828614728caSSascha Wildner# number of bits per pixel (color depth); found 8
829614728caSSascha Wildner>>28	uleshort	>1		x %u
830614728caSSascha Wildner# x, y coordinates of the hotspot
831614728caSSascha Wildner>>6	uleshort	>0		\b, hotspot %ux
832614728caSSascha Wildner>>>8	uleshort	x		\b%u
833614728caSSascha Wildner# number of color planes (must be 1)
834614728caSSascha Wildner#>>26	uleshort	>1		\b, %u color planes
835614728caSSascha Wildner# cbSize; size of file like: 241E
836614728caSSascha Wildner>>2	ulelong		x		\b, cbSize %u
837614728caSSascha Wildner#>>2	ulelong		x		\b, cbSize 0x%x
838614728caSSascha Wildner# offBits; offset to bitmap data like: 41E
839614728caSSascha Wildner>>10	ulelong		x	\b, bits offset %u
840614728caSSascha Wildner#>>10	ulelong		x	\b, bits offset 0x%x
841*3b9cdfa3SAntonio Huete Jimenez>14	ulelong		64		PC bitmap, OS/2 2.x format
842614728caSSascha Wildner!:mime	image/bmp
8436fca56fbSSascha Wildner!:apple	????BMPp
8446fca56fbSSascha Wildner!:ext	bmp
8456fca56fbSSascha Wildner# image width and height fields are unsigned integers for OS/2
8466fca56fbSSascha Wildner>>18	ulelong		x		\b, %u x
8476fca56fbSSascha Wildner>>22	ulelong		x		%u
8486fca56fbSSascha Wildner# number of bits per pixel (color depth); found 1 4 8
8496fca56fbSSascha Wildner>>28	uleshort	>1		x %u
8506fca56fbSSascha Wildner# x, y coordinates of the hotspot
8516fca56fbSSascha Wildner>>6	uleshort	>0		\b, hotspot %ux
8526fca56fbSSascha Wildner>>>8	uleshort	x		\b%u
8536fca56fbSSascha Wildner>>26	uleshort	>1		\b, %u color planes
8546fca56fbSSascha Wildner# cbSize; size of file or headers
8556fca56fbSSascha Wildner>>2	ulelong		x		\b, cbSize %u
856614728caSSascha Wildner# BMP with cbSize 000002CBh=715 or 000003CBh=971 maybe misinterpreted as VDC bitmap
857614728caSSascha Wildner#>>2	ulelong		x		\b, cbSize %#x
8586fca56fbSSascha Wildner# offBits; offset to bitmap data like 56h 5Eh 8Eh 43Eh
8596fca56fbSSascha Wildner>>10	ulelong		x	\b, bits offset %u
860614728caSSascha Wildner#>>10	ulelong		x	\b, bits offset %#x
861614728caSSascha Wildner#>>(10.l) ubequad	!0	\b, bits %#16.16llx
8626fca56fbSSascha Wildner# BITMAPV2INFOHEADER	adds RGB bit masks
863*3b9cdfa3SAntonio Huete Jimenez>14	ulelong		52		PC bitmap, Adobe Photoshop
864614728caSSascha Wildner!:mime	image/bmp
8656fca56fbSSascha Wildner!:apple	????BMPp
8666fca56fbSSascha Wildner!:ext	bmp
867*3b9cdfa3SAntonio Huete Jimenez>>18	ulelong		x		\b, %d x
868*3b9cdfa3SAntonio Huete Jimenez>>22	ulelong		x		%d x
869614728caSSascha Wildner# number of bits per pixel (color depth); found 16 32
870*3b9cdfa3SAntonio Huete Jimenez>>28	uleshort	x		%d
871614728caSSascha Wildner# x, y coordinates of the hotspot; should be zero for Windows variant
872614728caSSascha Wildner>>6	uleshort	>0		\b, hotspot %ux
873614728caSSascha Wildner>>>8	uleshort	x		\b%u
874614728caSSascha Wildner# cbSize; size of file like: 14A 7F42
875614728caSSascha Wildner>>2	ulelong		x		\b, cbSize %u
876614728caSSascha Wildner#>>2	ulelong		x		\b, cbSize 0x%x
877614728caSSascha Wildner# offBits; offset to bitmap data like: 42h
878614728caSSascha Wildner>>10	ulelong		x	\b, bits offset %u
879614728caSSascha Wildner#>>10	ulelong		x	\b, bits offset 0x%x
8806fca56fbSSascha Wildner# BITMAPV3INFOHEADER	adds alpha channel bit mask
881*3b9cdfa3SAntonio Huete Jimenez>14	ulelong		56		PC bitmap, Adobe Photoshop with alpha channel mask
882614728caSSascha Wildner!:mime	image/bmp
8836fca56fbSSascha Wildner!:apple	????BMPp
8846fca56fbSSascha Wildner!:ext	bmp
885*3b9cdfa3SAntonio Huete Jimenez>>18	ulelong		x		\b, %d x
886*3b9cdfa3SAntonio Huete Jimenez>>22	ulelong		x		%d x
887614728caSSascha Wildner# number of bits per pixel (color depth); found 16 32
888*3b9cdfa3SAntonio Huete Jimenez>>28	uleshort		x		%d
889614728caSSascha Wildner# x, y coordinates of the hotspot; should be zero for Windows variant
890614728caSSascha Wildner>>6	uleshort	>0		\b, hotspot %ux
891614728caSSascha Wildner>>>8	uleshort	x		\b%u
892614728caSSascha Wildner# cbSize; size of file like: 4E 7F46 131DE 14046h
893614728caSSascha Wildner>>2	ulelong		x		\b, cbSize %u
894614728caSSascha Wildner#>>2	ulelong		x		\b, cbSize 0x%x
895614728caSSascha Wildner# offBits; offset to bitmap data like: 46h
896614728caSSascha Wildner>>10	ulelong			x	\b, bits offset %u
897614728caSSascha Wildner#>>10	ulelong			x	\b, bits offset 0x%x
898*3b9cdfa3SAntonio Huete Jimenez>14	ulelong		40
8996fca56fbSSascha Wildner# jump 4 bytes before end of file/header to skip fmt-116-signature-id-118.dib
900970935fdSSascha Wildner# broken for large bitmaps
901970935fdSSascha Wildner#>>(2.l-4)	ulong	x		PC bitmap, Windows 3.x format
902*3b9cdfa3SAntonio Huete Jimenez>>14	ulelong		40		PC bitmap, Windows 3.x format
903614728caSSascha Wildner!:mime	image/bmp
9046fca56fbSSascha Wildner!:apple	????BMPp
905*3b9cdfa3SAntonio Huete Jimenez>>>18	ulelong		x		\b, %d x
906*3b9cdfa3SAntonio Huete Jimenez>>>22	ulelong		x		%d
9076fca56fbSSascha Wildner# 320 x 400		https://en.wikipedia.org/wiki/LOGO.SYS
9086fca56fbSSascha Wildner>>>18	ulequad		=0x0000019000000140	x
9096fca56fbSSascha Wildner!:ext	bmp/sys
9106fca56fbSSascha Wildner>>>18	ulequad		!0x0000019000000140
9116fca56fbSSascha Wildner# compression method 2~RLE 4-bit/pixel implies also extension rle
9126fca56fbSSascha Wildner>>>>30	ulelong		2		x
9136fca56fbSSascha Wildner!:ext	bmp/rle
914614728caSSascha Wildner# not RLE compressed and not 320x400 dimension
915614728caSSascha Wildner>>>>30	default		x
916614728caSSascha Wildner# "small" dimensions like: 14x15 15x16 16x14 16x16 32x32
917614728caSSascha Wildner#	https://en.wikipedia.org/wiki/Favicon
918614728caSSascha Wildner>>>>>18	ulequad&0xffFFffC0ffFFffC0 =0	x
919614728caSSascha Wildner# https://www.politi-kdigital.de/favicon.ico
920614728caSSascha Wildner# http://forum.rpc1.org/favicon.ico
921614728caSSascha Wildner!:ext	bmp/ico
922614728caSSascha Wildner# "big" dimensions > 63
923614728caSSascha Wildner>>>>>18	default		x		x
9246fca56fbSSascha Wildner!:ext	bmp
9256fca56fbSSascha Wildner# number of bits per pixel (color depth); found 1 2 4 8 16 24 32
926*3b9cdfa3SAntonio Huete Jimenez>>>28	uleshort	x		%d
9276fca56fbSSascha Wildner# x, y coordinates of the hotspot; there is no hotspot in bitmaps, so values 0
9286fca56fbSSascha Wildner#>>>6	uleshort	>0		\b, hotspot %ux
9296fca56fbSSascha Wildner#>>>>8	uleshort	x		\b%u
9306fca56fbSSascha Wildner# number of color planes (must be 1), except badplanes.bmp for testing
9316fca56fbSSascha Wildner#>>>26	uleshort	>1		\b, %u color planes
9326fca56fbSSascha Wildner# compression method: 0~no 1~RLE 8-bit/pixel 2~RLE 4-bit/pixel 3~Huffman 1D 6~RGBA bit field masks
9336fca56fbSSascha Wildner#>>>30	ulelong		3		\b, Huffman 1D compression
9346fca56fbSSascha Wildner>>>30	ulelong		>0		\b, %u compression
9356fca56fbSSascha Wildner# image size is the size of raw bitmap; a dummy 0 can be given for BI_RGB bitmaps
9366fca56fbSSascha Wildner>>>34	ulelong		>0		\b, image size %u
9376fca56fbSSascha Wildner# horizontal and vertical resolution of the image (pixel per metre, signed integer)
938*3b9cdfa3SAntonio Huete Jimenez>>>38	ulelong		>0		\b, resolution %d x
939*3b9cdfa3SAntonio Huete Jimenez>>>>42	ulelong		x		%d px/m
9406fca56fbSSascha Wildner# number of colors in palette 16 256, or 0 to default to 2**n
9416fca56fbSSascha Wildner#>>>46	ulelong		>0		\b, %u colors
9426fca56fbSSascha Wildner# number of important colors used, or 0 when every color is important
9436fca56fbSSascha Wildner>>>50	ulelong		>0		\b, %u important colors
9446fca56fbSSascha Wildner# cbSize; often size of file
9456fca56fbSSascha Wildner>>>2	ulelong		x		\b, cbSize %u
946614728caSSascha Wildner#>>>2	ulelong		x		\b, cbSize %#x
9476fca56fbSSascha Wildner# offBits; offset to bitmap data like 36h 76h BEh 236h 406h 436h 4E6h
9486fca56fbSSascha Wildner>>>10	ulelong		x	\b, bits offset %u
949614728caSSascha Wildner#>>>10	ulelong		x	\b, bits offset %#x
950614728caSSascha Wildner#>>>(10.l) ubequad	!0	\b, bits %#16.16llxd
951*3b9cdfa3SAntonio Huete Jimenez>14	ulelong		124		PC bitmap, Windows 98/2000 and newer format
952614728caSSascha Wildner!:mime	image/bmp
953614728caSSascha Wildner!:ext	bmp
954*3b9cdfa3SAntonio Huete Jimenez>>18	ulelong		x		\b, %d x
955*3b9cdfa3SAntonio Huete Jimenez>>22	ulelong		x		%d x
956614728caSSascha Wildner# color planes; must be 1
957614728caSSascha Wildner#>>>26	uleshort	>1		\b, %u color planes
958614728caSSascha Wildner# 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*3b9cdfa3SAntonio Huete Jimenez>>28	uleshort	x		%d
960614728caSSascha Wildner# x, y coordinates of the hotspot; should be zero for Windows variant
961*3b9cdfa3SAntonio Huete Jimenez>>6	uleshort	>0		\b, hotspot %ux
962*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	x		\b%u
963614728caSSascha Wildner# cbSize; size of file like: 8E AA 48A 999 247A 4F02 7F8A 3F88E B216E 1D4C8A 100008A
964614728caSSascha Wildner>>2	ulelong		x		\b, cbSize %u
965614728caSSascha Wildner#>>2	ulelong		x		\b, cbSize 0x%x
966614728caSSascha Wildner# offBits; offset to bitmap data like: 8A 47A ABABABAB (fmt-119-signature-id-121.bmp)
967614728caSSascha Wildner>>10	ulelong		x	\b, bits offset %u
968614728caSSascha Wildner#>>10	ulelong		x	\b, bits offset 0x%x
969*3b9cdfa3SAntonio Huete Jimenez>14	ulelong		108		PC bitmap, Windows 95/NT4 and newer format
970614728caSSascha Wildner!:mime	image/bmp
971614728caSSascha Wildner!:ext	bmp
972*3b9cdfa3SAntonio Huete Jimenez>>18	ulelong		x		\b, %d x
973*3b9cdfa3SAntonio Huete Jimenez>>22	ulelong		x		%d x
974614728caSSascha Wildner# number of bits per pixel (color depth); found 8 24 32
975*3b9cdfa3SAntonio Huete Jimenez>>28	uleshort	x		%d
976614728caSSascha Wildner# x, y coordinates of the hotspot; should be zero for Windows variant
977*3b9cdfa3SAntonio Huete Jimenez>>6	uleshort	>0		\b, hotspot %ux
978*3b9cdfa3SAntonio Huete Jimenez>>>8	uleshort	x		\b%u
979614728caSSascha Wildner# cbSize; size of file like: 82 8A 9A 9F86 1E07A 3007A 88B7A C007A
980614728caSSascha Wildner>>2	ulelong		x		\b, cbSize %u
981614728caSSascha Wildner#>>2	ulelong		x		\b, cbSize 0x%x
982614728caSSascha Wildner# offBits; offset to bitmap data like: 7A 7E 46A
983614728caSSascha Wildner>>10	ulelong		x	\b, bits offset %u
984614728caSSascha Wildner#>>10	ulelong		x	\b, bits offset 0x%x
9856fca56fbSSascha Wildner# Update:	Joerg Jenderek
9866fca56fbSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/OS/2_Icon
9876fca56fbSSascha Wildner# Reference:	http://www.fileformat.info
9886fca56fbSSascha Wildner#		/format/os2bmp/spec/902d5c253f2a43ada39c2b81034f27fd/view.htm
9896fca56fbSSascha Wildner# Note: verified by command like `deark -l -d3 OS2MEMU.ICO`
9906fca56fbSSascha Wildner0	string		IC
9916fca56fbSSascha Wildner# skip Lotus smart icon *.smi by looking for valid hotspot coordinates
9926fca56fbSSascha Wildner>6	ulelong&0xFF00FF00	=0	OS/2 icon
9936fca56fbSSascha Wildner# jump 4 bytes before end of header/file and test for accessibility
9946fca56fbSSascha Wildner#>>(2.l-4) ubelong	x	End of header is OK!
9956fca56fbSSascha Wildner!:mime	image/x-os2-ico
9966fca56fbSSascha Wildner!:ext	ico
9976fca56fbSSascha Wildner# cbSize; size of header or file in bytes like 1ah 120h 420h
9986fca56fbSSascha Wildner>>2	ulelong		x	\b, cbSize %u
9996fca56fbSSascha Wildner# xHotspot, yHotspot; coordinates of the hotspot for icons like 16 32
10006fca56fbSSascha Wildner>>6	uleshort	x	\b, hotspot %ux
10016fca56fbSSascha Wildner>>8	uleshort	x	\b%u
10026fca56fbSSascha Wildner# offBits; offset in bytes to the beginning of the bit-map pel data like 20h
10036fca56fbSSascha Wildner>>10	ulelong		x	\b, bits offset %u
1004614728caSSascha Wildner#>>(10.l) ubequad	x	\b, bits %#16.16llx
1005327e51cbSPeter Avalos#0	string		PI		PC pointer image data
1006327e51cbSPeter Avalos#0	string		CI		PC color icon data
10076fca56fbSSascha Wildner0	string		CI
10086fca56fbSSascha Wildner# test also for valid dib header sizes 12 or 64
10096fca56fbSSascha Wildner>14	ulelong		<65		OS/2
10106fca56fbSSascha Wildner# test also for valid hotspot coordinates
10116fca56fbSSascha Wildner#>>6	ulelong&0xFE00FE00	=0	OS/2
10126fca56fbSSascha Wildner!:mime	image/x-os2-ico
10136fca56fbSSascha Wildner!:ext	ico
10146fca56fbSSascha Wildner>>14	ulelong		12		1.x color icon
10156fca56fbSSascha Wildner# image width and height fields are unsigned integers for OS/2
10166fca56fbSSascha Wildner>>>18	uleshort	x		%u x
10176fca56fbSSascha Wildner# stored height = 2 * real height
10186fca56fbSSascha Wildner>>>20	uleshort/2	x		%u
10196fca56fbSSascha Wildner# number of bits per pixel (color depth). Typical 32 24 16 8 4 but only 1 found
10206fca56fbSSascha Wildner>>>24	uleshort	>1		x %u
10216fca56fbSSascha Wildner# color planes; must be 1
10226fca56fbSSascha Wildner#>>>22	uleshort	>1		\b, %u color planes
10236fca56fbSSascha Wildner>>14	ulelong		64		2.x color icon
10246fca56fbSSascha Wildner# image width and height
10256fca56fbSSascha Wildner>>>18	ulelong		x		%u x
10266fca56fbSSascha Wildner# stored height = 2 * real height
10276fca56fbSSascha Wildner>>>22	ulelong/2	x		%u
10286fca56fbSSascha Wildner# number of bits per pixel (color depth). only 1 found
10296fca56fbSSascha Wildner>>>28	uleshort	>1		x %u
10306fca56fbSSascha Wildner#>>>26	uleshort	>1		\b, %u color planes
10316fca56fbSSascha Wildner# compression method: 0~no 3~Huffman 1D
10326fca56fbSSascha Wildner>>>30	ulelong		3		\b, Huffman 1D compression
10336fca56fbSSascha Wildner#>>>30	ulelong		>0		\b, %u compression
10346fca56fbSSascha Wildner# xHotspot, yHotspot; coordinates of the hotspot like 0 1 16 20 32 33 63 64
10356fca56fbSSascha Wildner>>6	uleshort	x	\b, hotspot %ux
10366fca56fbSSascha Wildner>>8	uleshort	x	\b%u
10376fca56fbSSascha Wildner# cbSize; size of header or maybe file in bytes like 1Ah 4Eh 84Eh
10386fca56fbSSascha Wildner>>2	ulelong		x	\b, cbSize %u
10396fca56fbSSascha Wildner#>>2	ulelong		x	\b, cbSize %x
10406fca56fbSSascha Wildner# offBits; offset to bitmap data (pixel array) like E4h 3Ah 66h 6Ah 33Ah 4A4h
10416fca56fbSSascha Wildner>>10	ulelong		x	\b, bits offset %u
1042614728caSSascha Wildner#>>10	ulelong		x	\b, bits offset %#x
1043614728caSSascha Wildner#>>(10.l) ubequad	!0	\b, bits %#16.16llx
10446fca56fbSSascha Wildner# dib header size: 12~Ch~OS/2 1.x 64~40h~OS/2 2.x
10456fca56fbSSascha Wildner#>>14	ulelong		x		\b, dib header size %u
1046327e51cbSPeter Avalos#0	string		CP		PC color pointer image data
10476fca56fbSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/OS/2_Pointer
10486fca56fbSSascha Wildner# Reference:	http://www.fileformat.info/format/os2bmp/egff.htm
10496fca56fbSSascha Wildner0	string		CP
1050970935fdSSascha Wildner# skip many Corel Photo-Paint image "CPT9FILE" by checking for positive bits offset
1051970935fdSSascha Wildner>10	ulelong		>0
10526fca56fbSSascha Wildner# skip CPU-Z Report by checking for valid dib header sizes 12 or 64
1053970935fdSSascha Wildner>>14	ulelong		=12
1054970935fdSSascha Wildner>>>0		use		os2-ptr
1055970935fdSSascha Wildner>>14	ulelong		=64
1056970935fdSSascha Wildner>>>0		use		os2-ptr
1057970935fdSSascha Wildner#	display information of OS/2 pointer bitmaps
1058970935fdSSascha Wildner0	name		os2-ptr
1059970935fdSSascha Wildner>14	ulelong		x		OS/2
10606fca56fbSSascha Wildner# http://extension.nirsoft.net/PTR
10616fca56fbSSascha Wildner!:mime	image/x-ibm-pointer
10626fca56fbSSascha Wildner!:ext	ptr
10636fca56fbSSascha Wildner>>14	ulelong		12		1.x color pointer
10646fca56fbSSascha Wildner# image width and height fields are unsigned integers for OS/2
10656fca56fbSSascha Wildner>>>18	uleshort	x		%u x
10666fca56fbSSascha Wildner# stored height = 2 * real height
10676fca56fbSSascha Wildner>>>20	uleshort/2	x		%u
10686fca56fbSSascha Wildner# number of bits per pixel (color depth). Typical 32 24 16 8 4 but only 1 found
10696fca56fbSSascha Wildner>>>24	uleshort	>1		x %u
10706fca56fbSSascha Wildner# color planes; must be 1
10716fca56fbSSascha Wildner#>>>22	uleshort	>1		\b, %u color planes
10726fca56fbSSascha Wildner>>14	ulelong		64		2.x color pointer
10736fca56fbSSascha Wildner# image width and height
10746fca56fbSSascha Wildner>>>18	ulelong		x		%u x
10756fca56fbSSascha Wildner# stored height = 2 * real height
10766fca56fbSSascha Wildner>>>22	ulelong/2	x		%u
10776fca56fbSSascha Wildner# number of bits per pixel (color depth). only 1 found
10786fca56fbSSascha Wildner>>>28	uleshort	>1		x %u
10796fca56fbSSascha Wildner#>>>26	uleshort	>1		\b, %u color planes
10806fca56fbSSascha Wildner# compression method: 0~no 3~Huffman 1D
10816fca56fbSSascha Wildner>>>30	ulelong		3		\b, Huffman 1D compression
10826fca56fbSSascha Wildner#>>>30	ulelong		>0		\b, %u compression
10836fca56fbSSascha Wildner# xHotspot, yHotspot; coordinates of the hotspot like 0 3 4 8 15 16 23 27 31
10846fca56fbSSascha Wildner>>6	uleshort	x	\b, hotspot %ux
10856fca56fbSSascha Wildner>>8	uleshort	x	\b%u
10866fca56fbSSascha Wildner# cbSize; size of header or maybe file in bytes like 1Ah 4Eh
10876fca56fbSSascha Wildner>>2	ulelong		x	\b, cbSize %u
10886fca56fbSSascha Wildner#>>2	ulelong		x	\b, cbSize %x
10896fca56fbSSascha Wildner# offBits; offset to bitmap data (pixel array) like 6Ah A4h E4h 4A4h
10906fca56fbSSascha Wildner>>10	ulelong		x	\b, bits offset %u
1091614728caSSascha Wildner#>>10	ulelong		x	\b, bits offset %#x
1092614728caSSascha Wildner#>>(10.l) ubequad	!0	\b, bits %#16.16llx
10936fca56fbSSascha Wildner# dib header size: 12~Ch~OS/2 1.x 64~40h~OS/2 2.x
10946fca56fbSSascha Wildner#>>14	ulelong		x		\b, dib header size %u
1095327e51cbSPeter Avalos# Conflicts with other entries [BABYL]
10966fca56fbSSascha Wildner# URL:	http://fileformats.archiveteam.org/wiki/BMP#OS.2F2_Bitmap_Array
10976fca56fbSSascha Wildner# Note:	container for OS/2 icon "IC", color icon "CI", color pointer "CP" or bitmap "BM"
1098327e51cbSPeter Avalos#0	string		BA		PC bitmap array data
10996fca56fbSSascha Wildner0	string		BA
11006fca56fbSSascha Wildner# skip old Emacs RMAIL BABYL ./mail.news by checking for low header size
11016fca56fbSSascha Wildner>2	ulelong		<0x004c5942	OS/2 graphic array
11026fca56fbSSascha Wildner!:mime	image/x-os2-graphics
11036fca56fbSSascha Wildner#!:apple	????BMPf
11046fca56fbSSascha Wildner# cbSize; size of header like 28h 5Ch
11056fca56fbSSascha Wildner>>2	ulelong		x	\b, cbSize %u
1106614728caSSascha Wildner#>>2	ulelong		x	\b, cbSize %#x
11076fca56fbSSascha Wildner# offNext; offset to data like 0 48h F2h 4Eh 64h C6h D2h D6h DAh E6h EAh 348h
11086fca56fbSSascha Wildner>>6	ulelong		>0	\b, data offset %u
1109614728caSSascha Wildner#>>6	ulelong		>0	\b, data offset %#x
1110614728caSSascha Wildner#>>(6.l) ubequad	!0	\b, data %#16.16llx
11116fca56fbSSascha Wildner# dimensions of the intended device like 640 x 480 for VGA or 1024 x 768
11126fca56fbSSascha Wildner>>10	uleshort	>0		\b, display %u
11136fca56fbSSascha Wildner>>>12	uleshort	>0		x %u
11146fca56fbSSascha Wildner# usType of first array element
11156fca56fbSSascha Wildner#>>14	string		x		\b, usType %2.2s
11166fca56fbSSascha Wildner# 1 space char after "1st"
11176fca56fbSSascha Wildner# no *.bga examples found https://www.openwith.org/file-extensions/bga/1342
11186fca56fbSSascha Wildner>>14	string		BM	\b; 1st
11196fca56fbSSascha Wildner!:ext	bmp/bga
11206fca56fbSSascha Wildner>>14	string		CI	\b; 1st
11216fca56fbSSascha Wildner!:ext	ico
11226fca56fbSSascha Wildner>>14	string		CP	\b; 1st
11236fca56fbSSascha Wildner!:ext	ico
11246fca56fbSSascha Wildner>>14	string		IC	\b; 1st
11256fca56fbSSascha Wildner!:ext	ico
11266fca56fbSSascha Wildner# no white-black pointer found
11276fca56fbSSascha Wildner#>>14	string		PT	\b; 1st
11286fca56fbSSascha Wildner#!:ext
11296fca56fbSSascha Wildner>>14	indirect	x
1130327e51cbSPeter Avalos
1131327e51cbSPeter Avalos# XPM icons (Greg Roelofs, newt@uchicago.edu)
1132*3b9cdfa3SAntonio Huete Jimenez# Update:	Joerg Jenderek
1133*3b9cdfa3SAntonio Huete Jimenez# URL:		http://fileformats.archiveteam.org/wiki/XPM
1134*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://www.x.org/docs/XPM/xpm.pdf
1135*3b9cdfa3SAntonio Huete Jimenez#		http://mark0.net/download/triddefs_xml.7z/defs/b/bitmap-xpm.trid.xml
1136*3b9cdfa3SAntonio Huete Jimenez# Note:		called "X PixMap bitmap" by TrID and "X-Windows Pixmap Image" by DROID via PUID x-fmt/208
1137*3b9cdfa3SAntonio Huete Jimenez# starting with c comment like: logo.xpm
1138*3b9cdfa3SAntonio Huete Jimenez0	string			/*\040
1139*3b9cdfa3SAntonio Huete Jimenez# 9 byte c-comment "/* XPM */" not at the beginning like: mozicon16.xpm mozicon50.xpm (thunderbird)
1140*3b9cdfa3SAntonio Huete Jimenez>0	search/0xCE		/*\ XPM\ */
1141*3b9cdfa3SAntonio Huete Jimenez# skip DROID x-fmt-208-signature-id-620.xpm by looking for char aray without explict length
1142*3b9cdfa3SAntonio Huete Jimenez# and match mh-logo.xpm (emacs)
1143*3b9cdfa3SAntonio Huete Jimenez>>&0		search/1249	[]
1144*3b9cdfa3SAntonio Huete Jimenez>>>0		use		xpm-image
1145*3b9cdfa3SAntonio Huete Jimenez# non standard because no 9 byte c-comment "/* XPM */" like: logo.xpm in qemu package
1146*3b9cdfa3SAntonio Huete Jimenez>0	default			x
1147*3b9cdfa3SAntonio Huete Jimenez# words are separated by a white space which can be composed of space and tabulation characters
1148*3b9cdfa3SAntonio Huete Jimenez>>0		search/0x52	static\040char\040
1149*3b9cdfa3SAntonio Huete Jimenez# skip debug.c testmlc.c by looking for char aray without explict length
1150*3b9cdfa3SAntonio Huete Jimenez# https://www.clamav.net/downloads/production/clamav-0.104.2.tar.gz
1151*3b9cdfa3SAntonio Huete Jimenez# clamav-0.104.2\libclammspack\mspack\debug.c
1152*3b9cdfa3SAntonio Huete Jimenez>>>&0		search/64	[]
1153*3b9cdfa3SAntonio Huete Jimenez>>>>0		use		xpm-image
1154*3b9cdfa3SAntonio Huete Jimenez#	display X pixmap image information
1155*3b9cdfa3SAntonio Huete Jimenez0	name			xpm-image
1156*3b9cdfa3SAntonio Huete Jimenez>0	string		x	X pixmap image text
1157*3b9cdfa3SAntonio Huete Jimenez#!:mime	text/plain
1158*3b9cdfa3SAntonio Huete Jimenez# https://reposcope.com/mimetype/image/x-xpixmap
1159*3b9cdfa3SAntonio Huete Jimenez# alias
1160*3b9cdfa3SAntonio Huete Jimenez#!:mime	image/x-xpm
1161*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-xpixmap
1162*3b9cdfa3SAntonio Huete Jimenez!:ext	xpm
1163*3b9cdfa3SAntonio Huete Jimenez# NO pm example found!
1164*3b9cdfa3SAntonio Huete Jimenez#!:ext	xpm/pm
1165*3b9cdfa3SAntonio Huete Jimenez# look for start of character array at beginning of a line like: psetupl.xpm (OpenOffice 4.1.7)
1166*3b9cdfa3SAntonio Huete Jimenez>0	search/0x406	\n"
1167*3b9cdfa3SAntonio Huete Jimenez# DEBUG VALUES string
1168*3b9cdfa3SAntonio Huete Jimenez#>>&0	string		x		'%s'
1169*3b9cdfa3SAntonio Huete Jimenez# width with optional white space before like: 16 24 32 48 1280
1170*3b9cdfa3SAntonio Huete Jimenez>>&0	regex/8		[0-9]{1,5}	\b, %s
1171*3b9cdfa3SAntonio Huete Jimenez# height with white space like: 15 16 17 24 32 48 1024
1172*3b9cdfa3SAntonio Huete Jimenez>>>&0	regex/8		[0-9]{1,5}	x %s
1173*3b9cdfa3SAntonio Huete Jimenez# number of colors with white space like: 1 2 3 4 5 8 11 14 162 255 but unrelistic 4294967295 by hardcopy tool
1174*3b9cdfa3SAntonio Huete Jimenez>>>>&0	regex/12	[0-9]{1,9}	x %s
1175*3b9cdfa3SAntonio Huete Jimenez# chars_per_pixel with white space like: 1 2
1176*3b9cdfa3SAntonio Huete Jimenez>>>>>&0	regex/14	[0-9]{1,2}	\b, %s chars/pixel
1177*3b9cdfa3SAntonio Huete Jimenez# non standard because not starting with 9 byte c-comment "/* XPM */"
1178*3b9cdfa3SAntonio Huete Jimenez>0	string		!/*\ XPM\ */
1179*3b9cdfa3SAntonio Huete Jimenez>>0	string		x	\b, 1st line "%s"
1180327e51cbSPeter Avalos
1181327e51cbSPeter Avalos# Utah Raster Toolkit RLE images (janl@ifi.uio.no)
1182*3b9cdfa3SAntonio Huete Jimenez0	uleshort	0xcc52		RLE image data,
1183*3b9cdfa3SAntonio Huete Jimenez>6	uleshort	x		%d x
1184*3b9cdfa3SAntonio Huete Jimenez>8	uleshort	x		%d
1185*3b9cdfa3SAntonio Huete Jimenez>2	uleshort	>0		\b, lower left corner: %d
1186*3b9cdfa3SAntonio Huete Jimenez>4	uleshort	>0		\b, lower right corner: %d
1187*3b9cdfa3SAntonio Huete Jimenez>10	ubyte&0x1	=0x1		\b, clear first
1188*3b9cdfa3SAntonio Huete Jimenez>10	ubyte&0x2	=0x2		\b, no background
1189*3b9cdfa3SAntonio Huete Jimenez>10	ubyte&0x4	=0x4		\b, alpha channel
1190*3b9cdfa3SAntonio Huete Jimenez>10	ubyte&0x8	=0x8		\b, comment
1191*3b9cdfa3SAntonio Huete Jimenez>11	ubyte		>0		\b, %d color channels
1192*3b9cdfa3SAntonio Huete Jimenez>12	ubyte		>0		\b, %d bits per pixel
1193*3b9cdfa3SAntonio Huete Jimenez>13	ubyte		>0		\b, %d color map channels
1194327e51cbSPeter Avalos
1195327e51cbSPeter Avalos# image file format (Robert Potter, potter@cs.rochester.edu)
1196327e51cbSPeter Avalos0	string		Imagefile\ version-	iff image data
1197327e51cbSPeter Avalos# this adds the whole header (inc. version number), informative but longish
1198327e51cbSPeter Avalos>10	string		>\0		%s
1199327e51cbSPeter Avalos
1200327e51cbSPeter Avalos# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
1201*3b9cdfa3SAntonio Huete Jimenez0	ubelong		0x59a66a95	Sun raster image data
1202*3b9cdfa3SAntonio Huete Jimenez>4	ubelong		>0		\b, %d x
1203*3b9cdfa3SAntonio Huete Jimenez>8	ubelong		>0		%d,
1204*3b9cdfa3SAntonio Huete Jimenez>12	ubelong		>0		%d-bit,
1205*3b9cdfa3SAntonio Huete Jimenez#>16	ubelong		>0		%d bytes long,
1206*3b9cdfa3SAntonio Huete Jimenez>20	ubelong		0		old format,
1207*3b9cdfa3SAntonio Huete Jimenez#>20	ubelong		1		standard,
1208*3b9cdfa3SAntonio Huete Jimenez>20	ubelong		2		compressed,
1209*3b9cdfa3SAntonio Huete Jimenez>20	ubelong		3		RGB,
1210*3b9cdfa3SAntonio Huete Jimenez>20	ubelong		4		TIFF,
1211*3b9cdfa3SAntonio Huete Jimenez>20	ubelong		5		IFF,
1212*3b9cdfa3SAntonio Huete Jimenez>20	ubelong		0xffff		reserved for testing,
1213*3b9cdfa3SAntonio Huete Jimenez>24	ubelong		0		no colormap
1214*3b9cdfa3SAntonio Huete Jimenez>24	ubelong		1		RGB colormap
1215*3b9cdfa3SAntonio Huete Jimenez>24	ubelong		2		raw colormap
1216*3b9cdfa3SAntonio Huete Jimenez#>28	ubelong		>0		colormap is %d bytes long
1217327e51cbSPeter Avalos
1218327e51cbSPeter Avalos# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
1219327e51cbSPeter Avalos#
1220327e51cbSPeter Avalos# See
1221327e51cbSPeter Avalos#	http://reality.sgi.com/grafica/sgiimage.html
1222327e51cbSPeter Avalos#
1223*3b9cdfa3SAntonio Huete Jimenez0	ubeshort		474		SGI image data
1224*3b9cdfa3SAntonio Huete Jimenez#>2	ubyte		0		\b, verbatim
1225*3b9cdfa3SAntonio Huete Jimenez>2	ubyte		1		\b, RLE
1226*3b9cdfa3SAntonio Huete Jimenez#>3	ubyte		1		\b, normal precision
1227*3b9cdfa3SAntonio Huete Jimenez>3	ubyte		2		\b, high precision
1228*3b9cdfa3SAntonio Huete Jimenez>4	ubeshort	x		\b, %d-D
1229*3b9cdfa3SAntonio Huete Jimenez>6	ubeshort	x		\b, %d x
1230*3b9cdfa3SAntonio Huete Jimenez>8	ubeshort	x		%d
1231*3b9cdfa3SAntonio Huete Jimenez>10	ubeshort	x		\b, %d channel
1232*3b9cdfa3SAntonio Huete Jimenez>10	ubeshort	!1		\bs
1233327e51cbSPeter Avalos>80	string		>0		\b, "%s"
1234327e51cbSPeter Avalos
1235327e51cbSPeter Avalos0	string		IT01		FIT image data
1236*3b9cdfa3SAntonio Huete Jimenez>4	ubelong		x		\b, %d x
1237*3b9cdfa3SAntonio Huete Jimenez>8	ubelong		x		%d x
1238*3b9cdfa3SAntonio Huete Jimenez>12	ubelong		x		%d
1239327e51cbSPeter Avalos#
1240327e51cbSPeter Avalos0	string		IT02		FIT image data
1241*3b9cdfa3SAntonio Huete Jimenez>4	ubelong		x		\b, %d x
1242*3b9cdfa3SAntonio Huete Jimenez>8	ubelong		x		%d x
1243*3b9cdfa3SAntonio Huete Jimenez>12	ubelong		x		%d
1244327e51cbSPeter Avalos#
1245327e51cbSPeter Avalos2048	string		PCD_IPI		Kodak Photo CD image pack file
1246*3b9cdfa3SAntonio Huete Jimenez>0xe02	ubyte&0x03	0x00		, landscape mode
1247*3b9cdfa3SAntonio Huete Jimenez>0xe02	ubyte&0x03	0x01		, portrait mode
1248*3b9cdfa3SAntonio Huete Jimenez>0xe02	ubyte&0x03	0x02		, landscape mode
1249*3b9cdfa3SAntonio Huete Jimenez>0xe02	ubyte&0x03	0x03		, portrait mode
1250327e51cbSPeter Avalos0	string		PCD_OPA		Kodak Photo CD overview pack file
1251327e51cbSPeter Avalos
1252327e51cbSPeter Avalos# FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
1253327e51cbSPeter Avalos# FITS is the Flexible Image Transport System, the de facto standard for
1254327e51cbSPeter Avalos# data and image transfer, storage, etc., for the astronomical community.
1255327e51cbSPeter Avalos# (FITS floating point formats are big-endian.)
1256327e51cbSPeter Avalos0	string	SIMPLE\ \ =	FITS image data
12576fca56fbSSascha Wildner!:mime	image/fits
12586fca56fbSSascha Wildner!:ext	fits/fts
1259327e51cbSPeter Avalos>109	string	8		\b, 8-bit, character or unsigned binary integer
1260327e51cbSPeter Avalos>108	string	16		\b, 16-bit, two's complement binary integer
1261327e51cbSPeter Avalos>107	string	\ 32		\b, 32-bit, two's complement binary integer
1262327e51cbSPeter Avalos>107	string	-32		\b, 32-bit, floating point, single precision
1263327e51cbSPeter Avalos>107	string	-64		\b, 64-bit, floating point, double precision
1264327e51cbSPeter Avalos
1265327e51cbSPeter Avalos# other images
1266327e51cbSPeter Avalos0	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file
1267327e51cbSPeter Avalos
1268327e51cbSPeter Avalos# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
1269327e51cbSPeter Avalos# stuff.
1270327e51cbSPeter Avalos#
1271*3b9cdfa3SAntonio Huete Jimenez0	ubeshort		0x1010		PEX Binary Archive
1272327e51cbSPeter Avalos
1273327e51cbSPeter Avalos# DICOM medical imaging data
1274c30bd091SSascha Wildner# URL:		https://en.wikipedia.org/wiki/DICOM#Data_format
1275c30bd091SSascha Wildner# Note:		"dcm" is the official file name extension
1276c30bd091SSascha Wildner# 		XnView mention also "dc3" and "acr" as file name extension
1277327e51cbSPeter Avalos128	string	DICM			DICOM medical imaging data
127879343712SPeter Avalos!:mime	application/dicom
1279c30bd091SSascha Wildner!:ext dcm/dicom/dic
1280327e51cbSPeter Avalos
1281327e51cbSPeter Avalos# XWD - X Window Dump file.
1282*3b9cdfa3SAntonio Huete Jimenez# URL:		http://fileformats.archiveteam.org/wiki/XWD
1283*3b9cdfa3SAntonio Huete Jimenez# Reference:	https://wiki.multimedia.cx/index.php?title=XWD
1284*3b9cdfa3SAntonio Huete Jimenez#		http://mark0.net/download/triddefs_xml.7z/defs/x/xdm-x11.trid.xml
1285*3b9cdfa3SAntonio Huete Jimenez# Note:		called "X-Windows Screen Dump (X11)" by TrID and
1286*3b9cdfa3SAntonio Huete Jimenez#		"X-Windows Screen Dump" version X11 by DROID via PUID fmt/483
1287*3b9cdfa3SAntonio Huete Jimenez#		verfied by XnView `nconvert -in xwd -info *`
1288*3b9cdfa3SAntonio Huete Jimenez#		and ImageMagick 6.9.11 `identify -verbose *` as XWD X Windows system window dump
1289*3b9cdfa3SAntonio Huete Jimenez#		and `xwud -in fig41.wxd -dumpheader`
1290327e51cbSPeter Avalos#   As described in /usr/X11R6/include/X11/XWDFile.h
1291327e51cbSPeter Avalos#   used by the xwd program.
1292327e51cbSPeter Avalos#   Bradford Castalia, idaeim, 1/01
1293*3b9cdfa3SAntonio Huete Jimenez#   updated by Adam Buchbinder, 2/09 and Joerg Jenderek, May 2022
1294e4d4ce0cSPeter Avalos# The following assumes version 7 of the format; the first long is the length
1295e4d4ce0cSPeter Avalos# of the header, which is at least 25 4-byte longs, and the one at offset 8
1296e4d4ce0cSPeter Avalos# is a constant which is always either 1 or 2. Offset 12 is the pixmap depth,
1297e4d4ce0cSPeter Avalos# which is a maximum of 32.
1298*3b9cdfa3SAntonio Huete Jimenez# Size of the entire file header (bytes) like: 100 104 105 106 107 109 110 113 114 115 118 172
1299*3b9cdfa3SAntonio Huete Jimenez0	ubelong	>99
1300*3b9cdfa3SAntonio Huete Jimenez# pixmap_format; Pixmap format; 0~1-bit (XYBitmap) format 1~single-plane (XYPixmap) 2~bitmap with two or more planes (ZPixmap)
1301*3b9cdfa3SAntonio Huete Jimenez>8	ubelong	<3
1302*3b9cdfa3SAntonio Huete Jimenez# pixmap_depth; Pixmap depth; value 1 - 32
1303*3b9cdfa3SAntonio Huete Jimenez>>12	ubelong	<33
1304*3b9cdfa3SAntonio Huete Jimenez# file_version; XWD_FILE_VERSION=7
1305*3b9cdfa3SAntonio Huete Jimenez>>>4	ubelong	7
1306*3b9cdfa3SAntonio Huete Jimenez# skip DROID fmt-401-signature-id-618.xwd by test for existing border field
1307*3b9cdfa3SAntonio Huete Jimenez>>>>96	ubelong	x			X-Window screen dump image data, version X11
1308*3b9cdfa3SAntonio Huete Jimenez# ./images (version 1.205) labeled the above entry as "XWD X Window Dump image data"
1309*3b9cdfa3SAntonio Huete Jimenez# https://reposcope.com/mimetype/image/x-xwindowdump
1310e4d4ce0cSPeter Avalos!:mime	image/x-xwindowdump
1311*3b9cdfa3SAntonio Huete Jimenez#!:ext	xwd
1312*3b9cdfa3SAntonio Huete Jimenez!:ext	xwd/dmp
1313*3b9cdfa3SAntonio Huete Jimenez# https://www.xnview.com/en/image_formats/ NO example with x11 suffix FOUND!
1314*3b9cdfa3SAntonio Huete Jimenez#!:ext	xwd/dmp/x11
1315*3b9cdfa3SAntonio Huete Jimenez# https://www.nationalarchives.gov.uk/PRONOM/fmt/401 NO example with xdm suffix FOUND!
1316*3b9cdfa3SAntonio Huete Jimenez#!:ext	xwd/dmp/x11/xmd
1317*3b9cdfa3SAntonio Huete Jimenez# file comment if header > 100; so not in MARBLES.XWD and hardcopy-x-window-v11.xwd
1318*3b9cdfa3SAntonio Huete Jimenez>>>>>0	ubelong	>100
1319*3b9cdfa3SAntonio Huete Jimenez# comment or windows name
1320*3b9cdfa3SAntonio Huete Jimenez>>>>>>100 string	>\0			\b, "%s"
1321*3b9cdfa3SAntonio Huete Jimenez# pixmap_width;	pixmap width like: 576 800 1014 1280 1419 NOT -1414812757=abABabABh
1322*3b9cdfa3SAntonio Huete Jimenez>>>>>16	ubelong	x			\b, %dx
1323*3b9cdfa3SAntonio Huete Jimenez# pixmap_height; pixmap height like: 449 454 600 704 720 1001 1024 NOT -1414812757=abABabABh
1324*3b9cdfa3SAntonio Huete Jimenez>>>>>20	ubelong	x			\b%dx
1325*3b9cdfa3SAntonio Huete Jimenez# pixmap_depth;	pixmap depth
1326*3b9cdfa3SAntonio Huete Jimenez>>>>>12	ubelong	x			\b%d
1327*3b9cdfa3SAntonio Huete Jimenez# XOffset; Bitmap X offset; pixel numbers to ignore at the beginning of each scan-line
1328*3b9cdfa3SAntonio Huete Jimenez#>>>>>24	ubelong	x			\b, %u ignore
1329*3b9cdfa3SAntonio Huete Jimenez# ByteOrder; byte order of image data: 0~least significant byte first 1~most significant byte first
1330*3b9cdfa3SAntonio Huete Jimenez>>>>>28	ubelong	>0			\b, order %u
1331*3b9cdfa3SAntonio Huete Jimenez# BitmapUnit; bitmap base data size unit in each scan line like: 8 16 32
1332*3b9cdfa3SAntonio Huete Jimenez#>>>>>32	ubelong	x			\b, unit %u
1333*3b9cdfa3SAntonio Huete Jimenez# BitmapBitOrder; bit-order of image data; apparently same as ByteOrder
1334*3b9cdfa3SAntonio Huete Jimenez#>>>>>36	ubelong	x			\b, bit order %u
1335*3b9cdfa3SAntonio Huete Jimenez# BitmapPad; number of padding bits added to each scan line like: 8 16 32
1336*3b9cdfa3SAntonio Huete Jimenez#>>>>>40	ubelong	x			\b, pad %u
1337*3b9cdfa3SAntonio Huete Jimenez# BitsPerPixel; Bits per pixel: 1~StaticGray and GrayScale 2-15~StaticColor and PseudoColor 16,24,32~TrueColor and DirectColor
1338*3b9cdfa3SAntonio Huete Jimenez#>>>>>44	ubelong	x			\b, %u bits/pixel
1339*3b9cdfa3SAntonio Huete Jimenez# BytesPerLine; size of each scan line in bytes
1340*3b9cdfa3SAntonio Huete Jimenez#>>>>>48	ubelong	x			\b, %u bytes/line
1341*3b9cdfa3SAntonio Huete Jimenez# VisualClass; class of the image: 0~StaticGray 1~GrayScale 2~StaticColor 3~PseudoColor 4~TrueColor 5~DirectColor
1342*3b9cdfa3SAntonio Huete Jimenez#>>>>>52	ubelong	x			\b, %u Class
1343*3b9cdfa3SAntonio Huete Jimenez# RedMask; red RGB mask values used by ZPixmaps like: 0 0xff0000
1344*3b9cdfa3SAntonio Huete Jimenez#>>>>>56	ubelong	!0			\b, %#x red
1345*3b9cdfa3SAntonio Huete Jimenez# GreenMask; green mask like: 0
1346*3b9cdfa3SAntonio Huete Jimenez#>>>>>60	ubelong	!0			\b, %#x green
1347*3b9cdfa3SAntonio Huete Jimenez# BlueMask; blue mask like: 0 0xff
1348*3b9cdfa3SAntonio Huete Jimenez#>>>>>64	ubelong	!0			\b, %#x blue
1349*3b9cdfa3SAntonio Huete Jimenez# BitsPerRgb; Size of each color mask in bits like: 0 1 8 24
1350*3b9cdfa3SAntonio Huete Jimenez#>>>>>68	ubelong	x			\b, %u bits/RGB
1351*3b9cdfa3SAntonio Huete Jimenez# NumberOfColors; number of colors in image like: 256 4 2 0 (WHAT DOES THIS MEAN?)
1352*3b9cdfa3SAntonio Huete Jimenez>>>>>72	ubelong	x			\b, %u colors
1353*3b9cdfa3SAntonio Huete Jimenez# ColorMapEntries; number of entries in color map like: 256 16 2 0~no color map
1354*3b9cdfa3SAntonio Huete Jimenez>>>>>76	ubelong	x			%u entries
1355*3b9cdfa3SAntonio Huete Jimenez# WindowWidth; window width
1356*3b9cdfa3SAntonio Huete Jimenez#>>>>>80	ubelong	x			\b, %u width
1357*3b9cdfa3SAntonio Huete Jimenez# WindowHeight; window height
1358*3b9cdfa3SAntonio Huete Jimenez#>>>>>84	ubelong	x			\b, %u height
1359*3b9cdfa3SAntonio Huete Jimenez# WindowX; Window upper left X coordinate like: 0 24 32 80 237 290 422 466 568 (lenna.dmp)
1360*3b9cdfa3SAntonio Huete Jimenez>>>>>88	ubelong	!0			\b, x=%d
1361*3b9cdfa3SAntonio Huete Jimenez# WindowY; Window upper left Y coordinate like: 0 8 18 26 60 73 107 (fig41.xwd) 128
1362*3b9cdfa3SAntonio Huete Jimenez>>>>>92	ubelong	!0			\b, y=%d
1363*3b9cdfa3SAntonio Huete Jimenez# WindowBorderWidth; Window border width; apparently pixmap_width=WindowWidth+2*WindowBorderWidth
1364*3b9cdfa3SAntonio Huete Jimenez# like: 1 (fig41.xwd) 2 (maze.dmp) 3 (lenna.dmp mandrill.dmp)
1365*3b9cdfa3SAntonio Huete Jimenez>>>>>96	ubelong	>0			\b, %u border
1366*3b9cdfa3SAntonio Huete Jimenez# From:		Joerg Jenderek
1367*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/x/xdm-x10.trid.xml
1368*3b9cdfa3SAntonio Huete Jimenez# Note:		called "X-Windows Screen Dump (X10)" by TrID and
1369*3b9cdfa3SAntonio Huete Jimenez#		"X-Windows Screen Dump" version X10 by DROID via PUID x-fmt/300
1370*3b9cdfa3SAntonio Huete Jimenez#		verfied by XnView `nconvert -in xwd -info *`
1371*3b9cdfa3SAntonio Huete Jimenez# HeaderSize is the size of the header in bytes; always 40 for X10 variant
1372*3b9cdfa3SAntonio Huete Jimenez0	ubelong		=0x000000028
1373*3b9cdfa3SAntonio Huete Jimenez# FileVersion; always 6 for X10 variant
1374*3b9cdfa3SAntonio Huete Jimenez>4	ubelong		=6
1375*3b9cdfa3SAntonio Huete Jimenez# skip DROID x-fmt-300-signature-id-619.xdm by test existing border field
1376*3b9cdfa3SAntonio Huete Jimenez>>36	ubeshort	x		X-Window screen dump image data, version X10
1377*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-xwindowdump
1378*3b9cdfa3SAntonio Huete Jimenez!:ext	xwd
1379*3b9cdfa3SAntonio Huete Jimenez# http://www.nationalarchives.gov.uk/pronom/fmt/401 NO example with xdm suffix FOUND!
1380*3b9cdfa3SAntonio Huete Jimenez#!:ext	xwd/xdm
1381*3b9cdfa3SAntonio Huete Jimenez# PixmapWidth; pixmap width like: 127 1280
1382*3b9cdfa3SAntonio Huete Jimenez>>>20	ubelong		x		\b, %d
1383*3b9cdfa3SAntonio Huete Jimenez# PixmapHeight; pixmap height like: 64 1024
1384*3b9cdfa3SAntonio Huete Jimenez>>>24	ubelong		x		\bx%d
1385*3b9cdfa3SAntonio Huete Jimenez# DisplayPlanes; number of display planes like: 1 4 8
1386*3b9cdfa3SAntonio Huete Jimenez>>>12	ubelong		x		\bx%u
1387*3b9cdfa3SAntonio Huete Jimenez# DisplayType; display type like: 1 3
1388*3b9cdfa3SAntonio Huete Jimenez#>>>8	ubelong		x		\b, type %u
1389*3b9cdfa3SAntonio Huete Jimenez# PixmapFormat; pixmap format like: 1~bitmap with two or more planes (ZPixmap) 0~single-plane bitmap (XYBitmap)
1390*3b9cdfa3SAntonio Huete Jimenez#>>>16	ubelong	x			\b, %u format
1391*3b9cdfa3SAntonio Huete Jimenez# WindowWidth; window width; probably PixmapWidth=WindowWidth+2*WindowBorderWidth
1392*3b9cdfa3SAntonio Huete Jimenez#>>>28	ubeshort	x		\b, width %u
1393*3b9cdfa3SAntonio Huete Jimenez# WindowHeight;  window height; probably PixmapWidth=PixmapHeight+2*WindowBorderWidth
1394*3b9cdfa3SAntonio Huete Jimenez#>>>30	ubeshort	x		\b, height %u
1395*3b9cdfa3SAntonio Huete Jimenez# WindowX; window upper left X coordinate like: 0
1396*3b9cdfa3SAntonio Huete Jimenez>>>32	ubeshort		!0	\b, x=%d
1397*3b9cdfa3SAntonio Huete Jimenez# WindowY; window upper left Y coordinate like: 0
1398*3b9cdfa3SAntonio Huete Jimenez>>>34	ubeshort		!0	\b, y=%d
1399*3b9cdfa3SAntonio Huete Jimenez# WindowBorderWidth; window border width like: 0
1400*3b9cdfa3SAntonio Huete Jimenez>>>36	ubeshort	!0		\b, %u border
1401*3b9cdfa3SAntonio Huete Jimenez# WindowNumColors; Number of color entries in window like: 2 16 256
1402*3b9cdfa3SAntonio Huete Jimenez#>>>38	ubeshort	x		\b, %u colors
1403*3b9cdfa3SAntonio Huete Jimenez# if the image is a PseudoColor image, a color map immediately follows the header. X10COLORMAP[WindowNumColors];
1404*3b9cdfa3SAntonio Huete Jimenez# EntryNumber; number of the color-map entry like: 0
1405*3b9cdfa3SAntonio Huete Jimenez#>>>40	ubeshort	x		\b, colors #%u
1406*3b9cdfa3SAntonio Huete Jimenez# Red; red-channel value
1407*3b9cdfa3SAntonio Huete Jimenez#>>>42	ubeshort	!0		\b, red %#x
1408*3b9cdfa3SAntonio Huete Jimenez# Green; green-channel value
1409*3b9cdfa3SAntonio Huete Jimenez#>>>44	ubeshort	!0		\b, green %#x
1410*3b9cdfa3SAntonio Huete Jimenez# Blue; blue-channel value
1411*3b9cdfa3SAntonio Huete Jimenez#>>>46	ubeshort	!0		\b, blue %#x
1412*3b9cdfa3SAntonio Huete Jimenez# 2ND Entry like: 2
1413*3b9cdfa3SAntonio Huete Jimenez#>>>48	ubeshort	x		\b, colors #%u
1414327e51cbSPeter Avalos
1415327e51cbSPeter Avalos# PDS - Planetary Data System
1416327e51cbSPeter Avalos#   These files use Parameter Value Language in the header section.
1417327e51cbSPeter Avalos#   Unfortunately, there is no certain magic, but the following
1418327e51cbSPeter Avalos#   strings have been found to be most likely.
1419327e51cbSPeter Avalos0	string	NJPL1I00		PDS (JPL) image data
1420327e51cbSPeter Avalos2	string	NJPL1I			PDS (JPL) image data
1421327e51cbSPeter Avalos0	string	CCSD3ZF			PDS (CCSD) image data
1422327e51cbSPeter Avalos2	string	CCSD3Z			PDS (CCSD) image data
1423327e51cbSPeter Avalos0	string	PDS_			PDS image data
1424327e51cbSPeter Avalos0	string	LBLSIZE=		PDS (VICAR) image data
1425327e51cbSPeter Avalos
1426327e51cbSPeter Avalos# pM8x: ATARI STAD compressed bitmap format
1427327e51cbSPeter Avalos#
1428327e51cbSPeter Avalos# from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
1429327e51cbSPeter Avalos# p M 8 5/6 xx yy zz data...
1430327e51cbSPeter Avalos# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
1431327e51cbSPeter Avalos# bytes either run horizontally (pM85) or vertically (pM86). yy is the
1432327e51cbSPeter Avalos# most frequent byte, xx and zz are runlength escape codes, where xx is
1433327e51cbSPeter Avalos# used for runs of yy.
1434327e51cbSPeter Avalos#
1435327e51cbSPeter Avalos0	string	pM85		Atari ST STAD bitmap image data (hor)
1436*3b9cdfa3SAntonio Huete Jimenez>5	ubyte	0x00		(white background)
1437*3b9cdfa3SAntonio Huete Jimenez>5	ubyte	0xFF		(black background)
1438327e51cbSPeter Avalos0	string	pM86		Atari ST STAD bitmap image data (vert)
1439*3b9cdfa3SAntonio Huete Jimenez>5	ubyte	0x00		(white background)
1440*3b9cdfa3SAntonio Huete Jimenez>5	ubyte	0xFF		(black background)
1441327e51cbSPeter Avalos
14426fca56fbSSascha Wildner# From: Alex Myczko <alex@aiei.ch>
14436fca56fbSSascha Wildner# https://www.atarimax.com/jindroush.atari.org/afmtatr.html
1444*3b9cdfa3SAntonio Huete Jimenez0	uleshort	0x0296		Atari ATR image
1445*3b9cdfa3SAntonio Huete Jimenez
1446*3b9cdfa3SAntonio Huete Jimenez# URL:		http://fileformats.archiveteam.org/wiki/DEGAS_image
1447*3b9cdfa3SAntonio Huete Jimenez# Reference:	https://wiki.multimedia.cx/index.php?title=Degas
1448*3b9cdfa3SAntonio Huete Jimenez# From:		Joerg Jenderek
1449*3b9cdfa3SAntonio Huete Jimenez#		http://mark0.net/download/triddefs_xml.7z/defs/b
1450*3b9cdfa3SAntonio Huete Jimenez#		bitmap-pi2-degas.trid.xml bitmap-pi3-degas.trid.xml
1451*3b9cdfa3SAntonio Huete Jimenez#		bitmap-pc1-degas.trid.xml bitmap-pc2-degas.trid.xml bitmap-pc3-degas.trid.xml
1452*3b9cdfa3SAntonio Huete Jimenez# Note:		verified by NetPBM `pi3topbm sigirl1.pi3 | file`
1453*3b9cdfa3SAntonio Huete Jimenez# 		`deark -m degas -l -d2 ataribak.pi1`
1454*3b9cdfa3SAntonio Huete Jimenez#		XnView `nconvert -fullinfo *.p??`
1455*3b9cdfa3SAntonio Huete Jimenez# DEGAS low-res uncompressed bitmap *.pi1
1456*3b9cdfa3SAntonio Huete Jimenez0		beshort		0x0000
1457*3b9cdfa3SAntonio Huete Jimenez# skip some ISO 9660 CD-ROM filesystems like plpbt.iso by test for 4 non black colors in palette entries
1458*3b9cdfa3SAntonio Huete Jimenez>2		quad		!0
1459*3b9cdfa3SAntonio Huete Jimenez# skip g3test.g3 by test for unused bits of 2nd color entry
1460*3b9cdfa3SAntonio Huete Jimenez>>4		ubeshort&0xF000	0
1461*3b9cdfa3SAntonio Huete Jimenez#>>>0		beshort	x	1ST_VALUE=%x
1462*3b9cdfa3SAntonio Huete Jimenez>>>-0		offset	x	FILE_SIZE=%lld
1463*3b9cdfa3SAntonio Huete Jimenez# standard DEGAS low-res uncompressed bitmap *.pi1 with file size 32034
1464*3b9cdfa3SAntonio Huete Jimenez>>>-0		offset	=32034	VARIANT_STANDARD
1465*3b9cdfa3SAntonio Huete Jimenez#>>>>0		beshort	x	1st_VALUE=%x
1466*3b9cdfa3SAntonio Huete Jimenez# like: 8ball.pi1 teddy.pi1 sonic01.pi1
1467*3b9cdfa3SAntonio Huete Jimenez>>>>0		use		degas-bitmap
1468*3b9cdfa3SAntonio Huete Jimenez# about 61 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 32066
1469*3b9cdfa3SAntonio Huete Jimenez>>>-0		offset	=32066	VARIANT_ELITE
1470*3b9cdfa3SAntonio Huete Jimenez# like: spider.pi1 pinkgirl.pi1 frog3.pi1
1471*3b9cdfa3SAntonio Huete Jimenez>>>>0		use		degas-bitmap
1472*3b9cdfa3SAntonio Huete Jimenez# about 55 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 32128
1473*3b9cdfa3SAntonio Huete Jimenez>>>-0		offset	=32128	VARIANT_3
1474*3b9cdfa3SAntonio Huete Jimenez# like: mountain.pi1 bigspid.pi1 alf33.pi1
1475*3b9cdfa3SAntonio Huete Jimenez>>>>0		use		degas-bitmap
1476*3b9cdfa3SAntonio Huete Jimenez# 1 DEGAS Elite low-res uncompressed bitmap *.pi1 with file size 44834
1477*3b9cdfa3SAntonio Huete Jimenez>>>-0		offset	=44834	VARIANT_4
1478*3b9cdfa3SAntonio Huete Jimenez# like: kenshin.pi1
1479*3b9cdfa3SAntonio Huete Jimenez>>>>0		use		degas-bitmap
1480*3b9cdfa3SAntonio Huete Jimenez# DEGAS mid-res uncompressed bitmap *.pi2 (strength=50) after GEM Images like:
1481*3b9cdfa3SAntonio Huete Jimenez# BEETHVEN.IMG CHURCH.IMG GAMEOVR4.IMG TURKEY.IMG clinton.img
1482*3b9cdfa3SAntonio Huete Jimenez0		beshort		0x0001
1483*3b9cdfa3SAntonio Huete Jimenez#!:strength +0
1484*3b9cdfa3SAntonio Huete Jimenez# skip many control files like gnucash-4.8.setup.exe.aria2 by test for non black in 4 palette entries
1485*3b9cdfa3SAntonio Huete Jimenez>2		quad		!0
1486*3b9cdfa3SAntonio Huete Jimenez# skip control file load-v0001.aria2 by test for unused bits of 5th color palette entry
1487*3b9cdfa3SAntonio Huete Jimenez>>10		ubeshort&0xF000	0
1488*3b9cdfa3SAntonio Huete Jimenez# skip many GEM Image data like DANCER.IMG GAMEOVR4.IMG SHIP.IMG by test for unused bits of 8th color palette entry
1489*3b9cdfa3SAntonio Huete Jimenez>>>16		ubeshort&0xF000	0
1490*3b9cdfa3SAntonio Huete Jimenez# skip many GEM Image data like BEETHVEN.IMG CABINETS.IMG MEMO.IMG by test for unused bits of 14th color palette entry
1491*3b9cdfa3SAntonio Huete Jimenez>>>>28		ubeshort&0xF000	0
1492*3b9cdfa3SAntonio Huete Jimenez# skip few GEM Image data like CHURCH.IMG by test for unused bits of 15th color palette entry
1493*3b9cdfa3SAntonio Huete Jimenez>>>>>30		ubeshort&0xF000	0
1494*3b9cdfa3SAntonio Huete Jimenez# skip many GEM Image data like TIGER.IMG TURKEY.IMG XMAS.IMG by test for unused bits of 16th color palette entry
1495*3b9cdfa3SAntonio Huete Jimenez>>>>>>32	ubeshort&0xF000	0
1496*3b9cdfa3SAntonio Huete Jimenez# skip GEM Image data like clinton.img by test for existing bytes at the end
1497*3b9cdfa3SAntonio Huete Jimenez>>>>>>>32026	quad		x
1498*3b9cdfa3SAntonio Huete Jimenez>>>>>>>>0	use		degas-bitmap
1499*3b9cdfa3SAntonio Huete Jimenez# DEGAS high-res uncompressed bitmap *.pi3
1500*3b9cdfa3SAntonio Huete Jimenez0	beshort		0x0002
1501*3b9cdfa3SAntonio Huete Jimenez# skip Intel ia64 COFF msvcrt.lib by test for unused bits of 1st atari color palette entry
1502*3b9cdfa3SAntonio Huete Jimenez>2		ubeshort&0xF000	0
1503*3b9cdfa3SAntonio Huete Jimenez# skip few Adobe PhotoShop Brushes like Faux-Spitzen.abr by check
1504*3b9cdfa3SAntonio Huete Jimenez# for invalid Adobe PhotoShop Brush UTF16-LE string length
1505*3b9cdfa3SAntonio Huete Jimenez>>19		ubyte			=0
1506*3b9cdfa3SAntonio Huete Jimenez# many like: 4th_ofj2.pi3 GEMINI03.PI3 PEOPLE18.PI3 POWERFIX.PI3 abydos.pi3 highres.pi3 sigirl1.pi3 vanna5.pi3
1507*3b9cdfa3SAntonio Huete Jimenez>>>0		use		degas-bitmap
1508*3b9cdfa3SAntonio Huete Jimenez# Adobe PhotoShop Brush UTF16-LE string length 15 "Gitter - klein " 8 "Kreis 1 "
1509*3b9cdfa3SAntonio Huete Jimenez>>19		ubyte			!0
1510*3b9cdfa3SAntonio Huete Jimenez#>>19		ubyte			!0	\b, NOTE LENGTH %u
1511*3b9cdfa3SAntonio Huete Jimenez#>>>21		lestring16		x	\b, BRUSH NOTE "%s"
1512*3b9cdfa3SAntonio Huete Jimenez>>>(19.b*2)	ubequad			x
1513*3b9cdfa3SAntonio Huete Jimenez# maybe last character of Adobe PhotoShop Brush UTF16-LE string and terminating nul char like
1514*3b9cdfa3SAntonio Huete Jimenez# 006e0000 for n in "Faux-Spitzen.abr" 00310000 for 1 in "Verschiedene Spitzen.abr"
1515*3b9cdfa3SAntonio Huete Jimenez# 00000000 "LEREDACT.PI3" 03730773 "TBX_DEMO.PI3"
1516*3b9cdfa3SAntonio Huete Jimenez#>>>>&8		ubelong			x	\b, LAST CHAR+NIL %8.8x
1517*3b9cdfa3SAntonio Huete Jimenez>>>>&8		ubelong&0xff00ffFF	!0
1518*3b9cdfa3SAntonio Huete Jimenez# 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*3b9cdfa3SAntonio Huete Jimenez>>>>>0		use		degas-bitmap
1520*3b9cdfa3SAntonio Huete Jimenez# test for last character of Adobe PhotoShop Brush UTF16-LE string and terminating nul char
1521*3b9cdfa3SAntonio Huete Jimenez>>>>&8		ubelong&0xff00ffFF	=0
1522*3b9cdfa3SAntonio Huete Jimenez# select last DEGAS bitmaps by invalid last char of brush note like BASICNES.PI3 DB_HELP.PI3 DB_WRITR.PI3 LEREDACT.PI3
1523*3b9cdfa3SAntonio Huete Jimenez>>>>>&-4	ubelong&0x00FF0000	<0x00200000
1524*3b9cdfa3SAntonio Huete Jimenez>>>>>>0		use		degas-bitmap
1525*3b9cdfa3SAntonio Huete Jimenez# last character of Adobe PhotoShop Brush UTF16-LE note
1526*3b9cdfa3SAntonio Huete Jimenez#>>>>>&-4	ubelong&0x00FF0000	>0x001F0000	\b, THAT IS ABR
1527*3b9cdfa3SAntonio Huete Jimenez# DEGAS low-res compressed bitmap *.pc1 like: BATTLSHP.PC1 GNUCHESS.PC1 MEDUSABL.PC1 MOONLORD.PC1 WILDROSE.PC1
1528*3b9cdfa3SAntonio Huete Jimenez0		beshort			0x8000
1529*3b9cdfa3SAntonio Huete Jimenez# skip lif files handled via ./lif by test for unused bits of 1st palette entry
1530*3b9cdfa3SAntonio Huete Jimenez>2		ubeshort&0xF000		0
1531*3b9cdfa3SAntonio Huete Jimenez>>0		use		degas-bitmap
1532*3b9cdfa3SAntonio Huete Jimenez# DEGAS mid-res compressed bitmap *.pc2 like: abydos.pc2 ARTIS3.PC2 SMTHDRAW.PC2 STAR_2K.PC2 TX2_DEMO.PC2
1533*3b9cdfa3SAntonio Huete Jimenez0		beshort			0x8001
1534*3b9cdfa3SAntonio Huete Jimenez>0		use		degas-bitmap
1535*3b9cdfa3SAntonio Huete Jimenez# DEGAS high-res compressed bitmap *.pc3 like: abydos.pc3 COYOTE.PC3 ELEPHANT.PC3 TX2_DEMO.PC3 SMTHDRAW.PC3
1536*3b9cdfa3SAntonio Huete Jimenez0		beshort			0x8002
1537*3b9cdfa3SAntonio Huete Jimenez>0		use		degas-bitmap
1538*3b9cdfa3SAntonio Huete Jimenez# display information of Atari DEGAS and DEGAS Elite bitmap images
1539*3b9cdfa3SAntonio Huete Jimenez0	name		degas-bitmap
1540*3b9cdfa3SAntonio Huete Jimenez>0	ubyte		x		Atari DEGAS
1541*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/octet-stream
1542*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-atari-degas
1543*3b9cdfa3SAntonio Huete Jimenez# compressed
1544*3b9cdfa3SAntonio Huete Jimenez>0	ubyte		=0x80		Elite compressed
1545*3b9cdfa3SAntonio Huete Jimenez# uncompressed
1546*3b9cdfa3SAntonio Huete Jimenez#>0	ubyte		=0x00		uncompressed
1547*3b9cdfa3SAntonio Huete Jimenez#>0	ubyte		=0x00		un.
1548*3b9cdfa3SAntonio Huete Jimenez>0	ubyte		=0x00
1549*3b9cdfa3SAntonio Huete Jimenez# check for existence of footer for DEGAS Elite images
1550*3b9cdfa3SAntonio Huete Jimenez>>32042	ubequad		x		Elite
1551*3b9cdfa3SAntonio Huete Jimenez>0	beshort		0x0000		bitmap
1552*3b9cdfa3SAntonio Huete Jimenez!:ext	pi1
1553*3b9cdfa3SAntonio Huete Jimenez>0	beshort		0x0001		bitmap
1554*3b9cdfa3SAntonio Huete Jimenez!:ext	pi2
1555*3b9cdfa3SAntonio Huete Jimenez>0	beshort		0x0002		bitmap
1556*3b9cdfa3SAntonio Huete Jimenez# no example with SUH extension found
1557*3b9cdfa3SAntonio Huete Jimenez#!:ext	pi3/suh
1558*3b9cdfa3SAntonio Huete Jimenez!:ext	pi3
1559*3b9cdfa3SAntonio Huete Jimenez>0	beshort		0x8000		bitmap
1560*3b9cdfa3SAntonio Huete Jimenez!:ext	pc1
1561*3b9cdfa3SAntonio Huete Jimenez>0	beshort		0x8001		bitmap
1562*3b9cdfa3SAntonio Huete Jimenez!:ext	pc2
1563*3b9cdfa3SAntonio Huete Jimenez>0	beshort		0x8002		bitmap
1564*3b9cdfa3SAntonio Huete Jimenez!:ext	pc3
1565*3b9cdfa3SAntonio Huete Jimenez# low resolution; 320x200, 16 colors
1566*3b9cdfa3SAntonio Huete Jimenez>1	ubyte		=0		320 x 200 x 16
1567*3b9cdfa3SAntonio Huete Jimenez# medium resolution; 640x200, 4 colors
1568*3b9cdfa3SAntonio Huete Jimenez>1	ubyte		=1		640 x 200 x 4
1569*3b9cdfa3SAntonio Huete Jimenez# high resolution; 640x400, 2 colors
1570*3b9cdfa3SAntonio Huete Jimenez>1	ubyte		=2		640 x 400 x 2
1571*3b9cdfa3SAntonio Huete Jimenez# http://fileformats.archiveteam.org/wiki/Atari_ST_color_palette
1572*3b9cdfa3SAntonio Huete Jimenez# hardware_palette[16]; 9 bit ?????RRR?GGG?BBB; 12 bit ????RRRRGGGGBBBB for Atari STE
1573*3b9cdfa3SAntonio Huete Jimenez# for Atari DEGAS apparently no Spectrum 512 Enhanced 15 bit palette RGB?RRRRGGGGBBBB
1574*3b9cdfa3SAntonio Huete Jimenez# Red Green Blue unused bit ? often 0 but not bilboule.pi1; color_value (examples or numbers)
1575*3b9cdfa3SAntonio Huete Jimenez# 1st color palette entry like: 0777 (61) 0fff (LEREDACT.PI3) 0fcf (devgem7.pi3) 0001 (9)
1576*3b9cdfa3SAntonio Huete Jimenez>2	ubeshort	x		\b, color palette %4.4x
1577*3b9cdfa3SAntonio Huete Jimenez# 2nd palette entry like: 0000 (32) 0700 (38) 0f00 (LEREDACT.PI3 devgem7.pi3)
1578*3b9cdfa3SAntonio Huete Jimenez>4	ubeshort	x		%4.4x
1579*3b9cdfa3SAntonio Huete Jimenez# 3rd palette entry
1580*3b9cdfa3SAntonio Huete Jimenez>6	ubeshort	x		%4.4x
1581*3b9cdfa3SAntonio Huete Jimenez# 4th palette entry like: 0000 (72)
1582*3b9cdfa3SAntonio Huete Jimenez>8	ubeshort	x		%4.4x
1583*3b9cdfa3SAntonio Huete Jimenez# 5th palette entry
1584*3b9cdfa3SAntonio Huete Jimenez>10	ubeshort	x		%4.4x
1585*3b9cdfa3SAntonio Huete Jimenez>2	ubeshort	x		...
1586*3b9cdfa3SAntonio Huete Jimenez# 6th palette entry
1587*3b9cdfa3SAntonio Huete Jimenez#>12	ubeshort	x		%4.4x
1588*3b9cdfa3SAntonio Huete Jimenez# 7th palette entry like: 0000 (16) 0001 (ELMRSESN.PI3 elmrsesn.pi3) 0070 (51) 00f0 (BASICNES.PI3 LEREDACT.PI3) 00f8 (devgem7.pi3)
1589*3b9cdfa3SAntonio Huete Jimenez#>14	ubeshort	x		%4.4x
1590*3b9cdfa3SAntonio Huete Jimenez# 8th palette entry
1591*3b9cdfa3SAntonio Huete Jimenez#>16	ubeshort	x		%4.4x
1592*3b9cdfa3SAntonio Huete Jimenez# 9 palette entry
1593*3b9cdfa3SAntonio Huete Jimenez#>18	ubeshort	x		%4.4x
1594*3b9cdfa3SAntonio Huete Jimenez# 10 palette entry
1595*3b9cdfa3SAntonio Huete Jimenez#>20	ubeshort	x		%4.4x
1596*3b9cdfa3SAntonio Huete Jimenez# 11 palette entry
1597*3b9cdfa3SAntonio Huete Jimenez#>22	ubeshort	x		%4.4x
1598*3b9cdfa3SAntonio Huete Jimenez# 12 palette entry
1599*3b9cdfa3SAntonio Huete Jimenez#>24	ubeshort	x		%4.4x
1600*3b9cdfa3SAntonio Huete Jimenez# 13 palette entry
1601*3b9cdfa3SAntonio Huete Jimenez#>26	ubeshort	x		%4.4x
1602*3b9cdfa3SAntonio Huete Jimenez# 14th palette entry
1603*3b9cdfa3SAntonio Huete Jimenez#>28	ubeshort	x		%4.4x
1604*3b9cdfa3SAntonio Huete Jimenez# 15th palette entry
1605*3b9cdfa3SAntonio Huete Jimenez#>30	ubeshort	x		%4.4x
1606*3b9cdfa3SAntonio Huete Jimenez# 16th palette entry
1607*3b9cdfa3SAntonio Huete Jimenez#>32	ubeshort	x		%4.4x
1608*3b9cdfa3SAntonio Huete Jimenez# data[16000] for uncompressed images; pixel data
1609*3b9cdfa3SAntonio Huete Jimenez#>34	ubequad		x		\b, DATA %#16.16llx...
1610*3b9cdfa3SAntonio Huete Jimenez# footer for Elite variant images
1611*3b9cdfa3SAntonio Huete Jimenez# https://www.fileformat.info/format/atari/egff.htm
1612*3b9cdfa3SAntonio Huete Jimenez# https://pulkomandy.tk/projects/GrafX2/wiki/Develop/FileFormats/Atari
1613*3b9cdfa3SAntonio Huete Jimenez# left_color_animation[4]; like: 0000000000000000 0000000100020003 fffafff000000030 (bigspid.pi1)
1614*3b9cdfa3SAntonio Huete Jimenez#>32034  ubequad		!0		\b, color animations %16.16llx (left)
1615*3b9cdfa3SAntonio Huete Jimenez# right_color_animation[4]; like: 0000000000000000 0000000100020003
1616*3b9cdfa3SAntonio Huete Jimenez#>>32042  ubequad	!0		%16.16llx (right)
1617*3b9cdfa3SAntonio Huete Jimenez# channel_direction[4]; 0~left 1~none 2~right like: 0001000100010001 0002000000010001 (cycle2.pi1)
1618*3b9cdfa3SAntonio Huete Jimenez# sometimes unexpected like: feaafc0000000000 (bigspid.pi1)
1619*3b9cdfa3SAntonio Huete Jimenez#>32050  ubequad		!0		\b, channel directions %16.16llx
1620*3b9cdfa3SAntonio Huete Jimenez# channel_delay[4]; 128 - channel delay, timebase 1/60 s
1621*3b9cdfa3SAntonio Huete Jimenez#>32058  ubequad		!0		\b, channel delays %16.16llx
1622327e51cbSPeter Avalos
1623614728caSSascha Wildner# From:		Joerg Jenderek
1624614728caSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/ImageLab/PrintTechnic
1625614728caSSascha Wildner# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/b/bitmap-b_w.trid.xml
1626614728caSSascha Wildner# Note:		called "ImageLab bitmap" by TrID
1627614728caSSascha Wildner#		verfied by XnView `nconvert -fullinfo "MAEDCHEN.B&W"`
1628614728caSSascha Wildner0	string		B&W256	ImageLab bitmap
1629614728caSSascha Wildner!:mime	image/x-ilab
1630614728caSSascha Wildner#	https://www.xnview.com/de/image_formats/
1631614728caSSascha Wildner# GRR: add char & inside parse_ext in ../../src/apprentice.c to avoid in file version 5.40 error like:
1632614728caSSascha Wildner# Magdir\images, 1090: Warning: EXTENSION type `        b_w/b&w' has bad char '&'
1633614728caSSascha Wildner!:ext	b_w/b&w
1634614728caSSascha Wildner# Width
1635614728caSSascha Wildner>6	ubeshort	x	\b, %u
1636614728caSSascha Wildner# Height
1637614728caSSascha Wildner>8	ubeshort	x	x %u
1638614728caSSascha Wildner
1639327e51cbSPeter Avalos# XXX:
1640327e51cbSPeter Avalos# This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
1641327e51cbSPeter Avalos# magic.
1642327e51cbSPeter Avalos# SGI RICE image file <mpruett@sgi.com>
1643*3b9cdfa3SAntonio Huete Jimenez#0	ubeshort	0x5249		RICE image
1644*3b9cdfa3SAntonio Huete Jimenez#>2	ubeshort	x		v%d
1645*3b9cdfa3SAntonio Huete Jimenez#>4	ubeshort	x		(%d x
1646*3b9cdfa3SAntonio Huete Jimenez#>6	ubeshort	x		%d)
1647*3b9cdfa3SAntonio Huete Jimenez#>8	ubeshort	0		8 bit
1648*3b9cdfa3SAntonio Huete Jimenez#>8	ubeshort	1		10 bit
1649*3b9cdfa3SAntonio Huete Jimenez#>8	ubeshort	2		12 bit
1650*3b9cdfa3SAntonio Huete Jimenez#>8	ubeshort	3		13 bit
1651*3b9cdfa3SAntonio Huete Jimenez#>10	ubeshort	0		4:2:2
1652*3b9cdfa3SAntonio Huete Jimenez#>10	ubeshort	1		4:2:2:4
1653*3b9cdfa3SAntonio Huete Jimenez#>10	ubeshort	2		4:4:4
1654*3b9cdfa3SAntonio Huete Jimenez#>10	ubeshort	3		4:4:4:4
1655*3b9cdfa3SAntonio Huete Jimenez#>12	ubeshort	1		RGB
1656*3b9cdfa3SAntonio Huete Jimenez#>12	ubeshort	2		CCIR601
1657*3b9cdfa3SAntonio Huete Jimenez#>12	ubeshort	3		RP175
1658*3b9cdfa3SAntonio Huete Jimenez#>12	ubeshort	4		YUV
1659327e51cbSPeter Avalos
1660327e51cbSPeter Avalos# PCX image files
1661327e51cbSPeter Avalos# From: Dan Fandrich <dan@coneharvesters.com>
16626fca56fbSSascha Wildner# updated by Joerg Jenderek at Feb 2013 by https://de.wikipedia.org/wiki/PCX
16636fca56fbSSascha Wildner# https://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt
1664e8af9738SPeter Avalos# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000
1665e8af9738SPeter Avalos# 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
1666e8af9738SPeter Avalos0	ubelong&0xffF8fe00	0x0a000000
1667e8af9738SPeter Avalos# for PCX bit depth > 0
1668e8af9738SPeter Avalos>3	ubyte		>0
1669e8af9738SPeter Avalos# test for valid versions
1670e8af9738SPeter Avalos>>1	ubyte		<6
1671e8af9738SPeter Avalos>>>1	ubyte		!1	PCX
1672e8af9738SPeter Avalos!:mime	image/x-pcx
1673e8af9738SPeter Avalos#!:mime	image/pcx
1674e8af9738SPeter Avalos>>>>1	ubyte		0	ver. 2.5 image data
1675e8af9738SPeter Avalos>>>>1	ubyte		2	ver. 2.8 image data, with palette
1676e8af9738SPeter Avalos>>>>1	ubyte		3	ver. 2.8 image data, without palette
1677e8af9738SPeter Avalos>>>>1	ubyte		4	for Windows image data
1678e8af9738SPeter Avalos>>>>1	ubyte		5	ver. 3.0 image data
167982c5fa3eSPeter Avalos>>>>4	uleshort	x	bounding box [%d,
1680e8af9738SPeter Avalos>>>>6	uleshort	x	%d] -
1681e8af9738SPeter Avalos>>>>8	uleshort	x	[%d,
1682e8af9738SPeter Avalos>>>>10	uleshort	x	%d],
1683e8af9738SPeter Avalos>>>>65	ubyte		>1	%d planes each of
1684e8af9738SPeter Avalos>>>>3	ubyte		x	%d-bit
1685*3b9cdfa3SAntonio Huete Jimenez>>>>68	ubyte		1	colour,
1686*3b9cdfa3SAntonio Huete Jimenez>>>>68	ubyte		2	grayscale,
1687e8af9738SPeter Avalos# this should not happen
1688e8af9738SPeter Avalos>>>>68	default		x	image,
1689*3b9cdfa3SAntonio Huete Jimenez>>>>12	uleshort	>0	%d x
1690e8af9738SPeter Avalos>>>>>14	uleshort	x	%d dpi,
1691*3b9cdfa3SAntonio Huete Jimenez>>>>2	ubyte		0	uncompressed
1692*3b9cdfa3SAntonio Huete Jimenez>>>>2	ubyte		1	RLE compressed
1693327e51cbSPeter Avalos
1694327e51cbSPeter Avalos# Adobe Photoshop
1695f72f8299SJan Lentfer# From: Asbjoern Sloth Toennesen <asbjorn@lila.io>
1696614728caSSascha Wildner# URL: 		http://fileformats.archiveteam.org/wiki/PSD
1697614728caSSascha Wildner# Reference:	https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
1698614728caSSascha Wildner# Note:		verfied by XnView `nconvert -fullinfo *.psd *.psb *.pdd`
1699614728caSSascha Wildner#		and ImageMagick `identify -verbose *.pdd`
1700614728caSSascha Wildner0	string		8BPS
1701614728caSSascha Wildner# skip DROID x-fmt-92-signature-id-277.psd by checking valid width
1702*3b9cdfa3SAntonio Huete Jimenez>18	ubelong		>0	Adobe Photoshop
170379343712SPeter Avalos!:mime	image/vnd.adobe.photoshop
1704614728caSSascha Wildner!:apple	????8BPS
1705614728caSSascha Wildner# version: always equal to 1, but 2 for PSB
1706614728caSSascha Wildner>>4   beshort 1
1707614728caSSascha Wildner# URL: 		http://fileformats.archiveteam.org/wiki/PhotoDeluxe
1708614728caSSascha Wildner# EXTRAS/PHOTOS/DEMOPIX/ORIGINAL.PDD
1709614728caSSascha Wildner>>>34	search/0xC0d7	PHUT	Image (PhotoDeluxe)
1710614728caSSascha Wildner!:ext	pdd
1711614728caSSascha Wildner>>>34	default		x	Image
1712970935fdSSascha Wildner!:ext	psd
1713614728caSSascha Wildner# URL: 		http://fileformats.archiveteam.org/wiki/PSB
1714614728caSSascha Wildner>>4   beshort 2 Image (PSB)
1715614728caSSascha Wildner!:ext	psb
1716614728caSSascha Wildner# width in pixels: 1-30000 1-300000 for PSB
1717614728caSSascha Wildner>>18  belong  x \b, %d x
1718614728caSSascha Wildner>>14  belong  x %d,
1719614728caSSascha Wildner# The color mode; 0~Bitmap 1~Grayscale 2~Indexed 3~RGB 4~CMYK 7~Multichannel 9~Duotone 9~Lab
1720614728caSSascha Wildner>>24  beshort 0 bitmap
1721614728caSSascha Wildner>>24  beshort 1 grayscale
1722614728caSSascha Wildner# the number of channels; range is 1 to 56
1723614728caSSascha Wildner>>>12 beshort 2 with alpha
1724614728caSSascha Wildner>>24  beshort 2 indexed
1725614728caSSascha Wildner>>24  beshort 3 RGB
1726614728caSSascha Wildner>>>12 beshort 4 \bA
1727614728caSSascha Wildner>>24  beshort 4 CMYK
1728614728caSSascha Wildner>>>12 beshort 5 \bA
1729614728caSSascha Wildner>>24  beshort 7 multichannel
1730614728caSSascha Wildner>>24  beshort 8 duotone
1731614728caSSascha Wildner>>24  beshort 9 lab
1732614728caSSascha Wildner>>12  beshort > 1
1733614728caSSascha Wildner>>>12 beshort x \b, %dx
1734614728caSSascha Wildner>>12  beshort 1 \b,
1735614728caSSascha Wildner>>22  beshort x %d-bit channel
1736614728caSSascha Wildner>>12  beshort > 1 \bs
1737614728caSSascha Wildner# 6 reserved bytes; must be zero, but spaces inside ImageMagick input.psd
1738614728caSSascha Wildner# https://download.imagemagick.org/ImageMagick/download/ImageMagick-7.0.11-11.zip
1739614728caSSascha Wildner# ImageMagick-7.0.11-11\PerlMagick\t\input.psd
1740614728caSSascha Wildner>>6   bequad&0xFFffFFffFFff0000 !0 \b, at offset 6
1741614728caSSascha Wildner>>>6  belong  x	 0x%8.8x
1742614728caSSascha Wildner>>>6  beshort x   \b%4.4x
1743327e51cbSPeter Avalos
1744327e51cbSPeter Avalos# XV thumbnail indicator (ThMO)
1745970935fdSSascha Wildner# URL:		https://en.wikipedia.org/wiki/Xv_(software)
1746970935fdSSascha Wildner# Reference:	http://fileformats.archiveteam.org/wiki/XV_thumbnail
1747970935fdSSascha Wildner# Update:	Joerg Jenderek
1748327e51cbSPeter Avalos0	string		P7\ 332		XV thumbnail image data
1749970935fdSSascha Wildner#0	string		P7\ 332		XV "thumbnail file" (icon) data
1750970935fdSSascha Wildner!:mime	image/x-xv-thumbnail
1751970935fdSSascha Wildner# thumbnail .xvpic/foo.bar for graphic foo.bar
1752970935fdSSascha Wildner!:ext	p7/gif/tif/xpm/jpg
1753327e51cbSPeter Avalos
1754327e51cbSPeter Avalos# NITF is defined by United States MIL-STD-2500A
1755327e51cbSPeter Avalos0	string	NITF	National Imagery Transmission Format
1756327e51cbSPeter Avalos>25	string	>\0	dated %.14s
1757327e51cbSPeter Avalos
1758327e51cbSPeter Avalos# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
1759c30bd091SSascha Wildner# Format variations from: Bernd Nuernberger <bernd.nuernberger@web.de>
1760c30bd091SSascha Wildner# Update: Joerg Jenderek
1761c30bd091SSascha Wildner# See http://fileformats.archiveteam.org/wiki/GEM_Raster
1762c30bd091SSascha Wildner# For variations, also see:
17636fca56fbSSascha Wildner#    https://www.seasip.info/Gem/ff_img.html (Ventura)
1764c30bd091SSascha Wildner#    http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT)
1765c30bd091SSascha Wildner#    http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT)
1766c30bd091SSascha Wildner#    http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG)
1767c30bd091SSascha Wildner0       beshort     0x0001
1768c30bd091SSascha Wildner# header_size
1769c30bd091SSascha Wildner>2      beshort     0x0008
1770c30bd091SSascha Wildner>>0     use gem_info
1771c30bd091SSascha Wildner>2      beshort     0x0009
1772c30bd091SSascha Wildner>>0     use gem_info
1773c30bd091SSascha Wildner# no example for NOSIG
1774c30bd091SSascha Wildner>2      beshort     24
1775c30bd091SSascha Wildner>>0     use gem_info
1776c30bd091SSascha Wildner# no example for HYPERPAINT
1777c30bd091SSascha Wildner>2      beshort     25
1778c30bd091SSascha Wildner>>0     use gem_info
1779c30bd091SSascha Wildner16      string      XIMG\0
1780c30bd091SSascha Wildner>0      use gem_info
1781c30bd091SSascha Wildner# no example
1782c30bd091SSascha Wildner16      string      STTT\0\x10
1783c30bd091SSascha Wildner>0      use gem_info
1784c30bd091SSascha Wildner# no example or description
1785c30bd091SSascha Wildner16      string      TIMG\0
1786c30bd091SSascha Wildner>0      use gem_info
1787c30bd091SSascha Wildner
1788c30bd091SSascha Wildner0   name        gem_info
1789c30bd091SSascha Wildner# version is 2 for some XIMG and 1 for all others
1790*3b9cdfa3SAntonio Huete Jimenez>0	ubeshort		<0x0003		GEM
17916fca56fbSSascha Wildner# https://www.snowstone.org.uk/riscos/mimeman/mimemap.txt
1792c30bd091SSascha Wildner!:mime	image/x-gem
1793c30bd091SSascha Wildner# header_size 24 25 27 59 779 words for colored bitmaps
1794*3b9cdfa3SAntonio Huete Jimenez>>2	ubeshort	>9
1795c30bd091SSascha Wildner>>>16	string		STTT\0\x10	STTT
1796c30bd091SSascha Wildner>>>16	string		TIMG\0		TIMG
1797c30bd091SSascha Wildner# HYPERPAINT or NOSIG variant
1798c30bd091SSascha Wildner>>>16	string		\0\x80
1799*3b9cdfa3SAntonio Huete Jimenez>>>>2	ubeshort	=24		NOSIG
1800*3b9cdfa3SAntonio Huete Jimenez>>>>2	ubeshort	!24		HYPERPAINT
1801c30bd091SSascha Wildner# NOSIG or XIMG variant
1802c30bd091SSascha Wildner>>>16	default		x
1803c30bd091SSascha Wildner>>>>16	string		!XIMG\0		NOSIG
1804c30bd091SSascha Wildner>>16	string		=XIMG\0		XIMG Image data
1805c30bd091SSascha Wildner!:ext	img/ximg
1806c30bd091SSascha Wildner# to avoid Warning: Current entry does not yet have a description for adding a EXTENSION type
1807c30bd091SSascha Wildner>>16	string		!XIMG\0		Image data
1808c30bd091SSascha Wildner!:ext	img
1809c30bd091SSascha Wildner# header_size is 9 for Ventura files and 8 for other GEM Paint files
1810*3b9cdfa3SAntonio Huete Jimenez>>2	ubeshort	9		(Ventura)
1811*3b9cdfa3SAntonio Huete Jimenez#>>2	ubeshort	8		(Paint)
1812*3b9cdfa3SAntonio Huete Jimenez>>12	ubeshort	x		%d x
1813*3b9cdfa3SAntonio Huete Jimenez>>14	ubeshort	x		%d,
1814c30bd091SSascha Wildner# 1 4 8
1815*3b9cdfa3SAntonio Huete Jimenez>>4	ubeshort	x		%d planes,
1816c30bd091SSascha Wildner# in tenths of a millimetre
1817*3b9cdfa3SAntonio Huete Jimenez>>8	ubeshort	x		%d x
1818*3b9cdfa3SAntonio Huete Jimenez>>10	ubeshort	x		%d pixelsize
1819c30bd091SSascha Wildner# pattern_size 1-8. 2 for GEM Paint
1820*3b9cdfa3SAntonio Huete Jimenez>>6	ubeshort	!2		\b, pattern size %d
1821327e51cbSPeter Avalos
1822327e51cbSPeter Avalos# GEM Metafile (Wolfram Kleff)
1823*3b9cdfa3SAntonio Huete Jimenez0	ulelong		0x0018FFFF	GEM Metafile data
1824*3b9cdfa3SAntonio Huete Jimenez>4	uleshort	x		version %d
1825327e51cbSPeter Avalos
1826327e51cbSPeter Avalos#
1827327e51cbSPeter Avalos# SMJPEG. A custom Motion JPEG format used by Loki Entertainment
1828327e51cbSPeter Avalos# Software Torbjorn Andersson <d91tan@Update.UU.SE>.
1829327e51cbSPeter Avalos#
1830327e51cbSPeter Avalos0	string	\0\nSMJPEG	SMJPEG
1831*3b9cdfa3SAntonio Huete Jimenez>8	ubelong	x		%d.x data
1832327e51cbSPeter Avalos# According to the specification you could find any number of _TXT
1833327e51cbSPeter Avalos# headers here, but I can't think of any way of handling that. None of
1834327e51cbSPeter Avalos# the SMJPEG files I tried it on used this feature. Even if such a
1835327e51cbSPeter Avalos# file is encountered the output should still be reasonable.
1836327e51cbSPeter Avalos>16	string		_SND		\b,
1837*3b9cdfa3SAntonio Huete Jimenez>>24	ubeshort	>0		%d Hz
1838*3b9cdfa3SAntonio Huete Jimenez>>26	ubyte		8		8-bit
1839*3b9cdfa3SAntonio Huete Jimenez>>26	ubyte		16		16-bit
1840327e51cbSPeter Avalos>>28	string		NONE		uncompressed
1841327e51cbSPeter Avalos# >>28	string		APCM		ADPCM compressed
1842*3b9cdfa3SAntonio Huete Jimenez>>27	ubyte		1		mono
1843*3b9cdfa3SAntonio Huete Jimenez>>28	ubyte		2		stereo
1844327e51cbSPeter Avalos# Help! Isn't there any way to avoid writing this part twice?
1845*3b9cdfa3SAntonio Huete Jimenez# Yes, use a name/use
1846327e51cbSPeter Avalos>>32	string		_VID		\b,
1847327e51cbSPeter Avalos# >>>48	string		JFIF		JPEG
1848*3b9cdfa3SAntonio Huete Jimenez>>>40	ubelong		>0		%d frames
1849*3b9cdfa3SAntonio Huete Jimenez>>>44	ubeshort	>0		(%d x
1850*3b9cdfa3SAntonio Huete Jimenez>>>46	ubeshort	>0		%d)
1851327e51cbSPeter Avalos>16	string		_VID		\b,
1852327e51cbSPeter Avalos# >>32	string		JFIF		JPEG
1853*3b9cdfa3SAntonio Huete Jimenez>>24	ubelong		>0		%d frames
1854*3b9cdfa3SAntonio Huete Jimenez>>28	ubeshort	>0		(%d x
1855*3b9cdfa3SAntonio Huete Jimenez>>30	ubeshort	>0		%d)
1856327e51cbSPeter Avalos
1857327e51cbSPeter Avalos0	string	Paint\ Shop\ Pro\ Image\ File	Paint Shop Pro Image File
1858327e51cbSPeter Avalos
1859327e51cbSPeter Avalos# taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
1860327e51cbSPeter Avalos0	string		KiSS		KISS/GS
1861*3b9cdfa3SAntonio Huete Jimenez>4	ubyte		16		color
1862*3b9cdfa3SAntonio Huete Jimenez>>5	ubyte		x		%d bit
1863*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	x		%d colors
1864*3b9cdfa3SAntonio Huete Jimenez>>10	uleshort	x		%d groups
1865*3b9cdfa3SAntonio Huete Jimenez>4	ubyte		32		cell
1866*3b9cdfa3SAntonio Huete Jimenez>>5	ubyte		x		%d bit
1867*3b9cdfa3SAntonio Huete Jimenez>>8	uleshort	x		%d x
1868*3b9cdfa3SAntonio Huete Jimenez>>10	uleshort	x		%d
1869*3b9cdfa3SAntonio Huete Jimenez>>12	uleshort	x		+%d
1870*3b9cdfa3SAntonio Huete Jimenez>>14	uleshort	x		+%d
1871327e51cbSPeter Avalos
1872327e51cbSPeter Avalos# Webshots (www.webshots.com), by John Harrison
1873327e51cbSPeter Avalos0       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
1874327e51cbSPeter Avalos
1875327e51cbSPeter Avalos# Hercules DASD image files
1876*3b9cdfa3SAntonio Huete Jimenez# From Jan Jaeger <jj@septa.nl> and Jay Maynard <jaymaynard@gmail.com>
1877327e51cbSPeter Avalos0       string  CKD_P370        Hercules CKD DASD image file
1878*3b9cdfa3SAntonio Huete Jimenez>8      lelong  x               \b, %d heads per cylinder
1879*3b9cdfa3SAntonio Huete Jimenez>12     lelong  x               \b, track size %d bytes
1880327e51cbSPeter Avalos>16     byte    x               \b, device type 33%2.2X
1881327e51cbSPeter Avalos
1882327e51cbSPeter Avalos0       string  CKD_C370        Hercules compressed CKD DASD image file
1883*3b9cdfa3SAntonio Huete Jimenez>8      lelong  x               \b, %d heads per cylinder
1884*3b9cdfa3SAntonio Huete Jimenez>12     lelong  x               \b, track size %d bytes
1885327e51cbSPeter Avalos>16     byte    x               \b, device type 33%2.2X
1886*3b9cdfa3SAntonio Huete Jimenez>552    lelong  x               \b, %d total cylinders
1887*3b9cdfa3SAntonio Huete Jimenez>>557   byte    0               \b, no compression
1888*3b9cdfa3SAntonio Huete Jimenez>>557   byte    1               \b, ZLIB compression
1889*3b9cdfa3SAntonio Huete Jimenez>>557   byte    2               \b, BZ2 compression
1890327e51cbSPeter Avalos
1891327e51cbSPeter Avalos0       string  CKD_S370        Hercules CKD DASD shadow file
1892*3b9cdfa3SAntonio Huete Jimenez>8      lelong  x               \b, %d heads per cylinder
1893*3b9cdfa3SAntonio Huete Jimenez>12     lelong  x               \b, track size %d bytes
1894*3b9cdfa3SAntonio Huete Jimenez>16     byte    x               \b, device type 33%2.2X
1895*3b9cdfa3SAntonio Huete Jimenez
1896*3b9cdfa3SAntonio Huete Jimenez0       string  CKD_P064        Hercules CKD64 DASD image file
1897*3b9cdfa3SAntonio Huete Jimenez>8      lelong  x               \b, %d heads per cylinder
1898*3b9cdfa3SAntonio Huete Jimenez>12     lelong  x               \b, track size %d bytes
1899*3b9cdfa3SAntonio Huete Jimenez>16     byte    x               \b, device type 33%2.2X
1900*3b9cdfa3SAntonio Huete Jimenez
1901*3b9cdfa3SAntonio Huete Jimenez0       string  CKD_C064        Hercules compressed CKD64 DASD image file
1902*3b9cdfa3SAntonio Huete Jimenez>8      lelong  x               \b, %d heads per cylinder
1903*3b9cdfa3SAntonio Huete Jimenez>12     lelong  x               \b, track size %d bytes
1904*3b9cdfa3SAntonio Huete Jimenez>16     byte    x               \b, device type 33%2.2X
1905*3b9cdfa3SAntonio Huete Jimenez>524    lelong  x               \b, %d total cylinders
1906*3b9cdfa3SAntonio Huete Jimenez>>585   byte    0               \b, no compression
1907*3b9cdfa3SAntonio Huete Jimenez>>585   byte    1               \b, ZLIB compression
1908*3b9cdfa3SAntonio Huete Jimenez>>585   byte    2               \b, BZ2 compression
1909*3b9cdfa3SAntonio Huete Jimenez
1910*3b9cdfa3SAntonio Huete Jimenez0       string  CKD_S064        Hercules CKD64 DASD shadow file
1911*3b9cdfa3SAntonio Huete Jimenez>8      lelong  x               \b, %d heads per cylinder
1912*3b9cdfa3SAntonio Huete Jimenez>12     lelong  x               \b, track size %d bytes
1913327e51cbSPeter Avalos>16     byte    x               \b, device type 33%2.2X
1914327e51cbSPeter Avalos
191579343712SPeter Avalos# Squeak images and programs - etoffi@softhome.net
1916327e51cbSPeter Avalos0	string		\146\031\0\0	Squeak image data
191779343712SPeter Avalos0	search/1	'From\040Squeak	Squeak program text
1918327e51cbSPeter Avalos
1919327e51cbSPeter Avalos# partimage: file(1) magic for PartImage files (experimental, incomplete)
1920327e51cbSPeter Avalos# Author: Hans-Joachim Baader <hjb@pro-linux.de>
1921327e51cbSPeter Avalos0		string	PaRtImAgE-VoLuMe	PartImage
1922327e51cbSPeter Avalos>0x0020		string	0.6.1		file version %s
1923*3b9cdfa3SAntonio Huete Jimenez>>0x0060	ulelong	>-1		volume %d
1924327e51cbSPeter Avalos#>>0x0064 8 byte identifier
1925327e51cbSPeter Avalos#>>0x007c reserved
1926327e51cbSPeter Avalos>>0x0200	string	>\0		type %s
1927327e51cbSPeter Avalos>>0x1400	string	>\0		device %s,
1928327e51cbSPeter Avalos>>0x1600	string	>\0		original filename %s,
1929327e51cbSPeter Avalos# Some fields omitted
1930*3b9cdfa3SAntonio Huete Jimenez>>0x2744	ulelong	0		not compressed
1931*3b9cdfa3SAntonio Huete Jimenez>>0x2744	ulelong	1		gzip compressed
1932*3b9cdfa3SAntonio Huete Jimenez>>0x2744	ulelong	2		bzip2 compressed
1933*3b9cdfa3SAntonio Huete Jimenez>>0x2744	ulelong	>2		compressed with unknown algorithm
1934327e51cbSPeter Avalos>0x0020		string	>0.6.1		file version %s
1935327e51cbSPeter Avalos>0x0020		string	<0.6.1		file version %s
1936327e51cbSPeter Avalos
1937327e51cbSPeter Avalos# DCX is multi-page PCX, using a simple header of up to 1024
1938327e51cbSPeter Avalos# offsets for the respective PCX components.
1939327e51cbSPeter Avalos# From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
1940614728caSSascha Wildner# Update:	Joerg Jenderek
1941614728caSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/DCX
1942*3b9cdfa3SAntonio Huete Jimenez0	ulelong	987654321	DCX multi-page
1943614728caSSascha Wildner# http://www.nationalarchives.gov.uk/pronom/x-fmt/348
1944614728caSSascha Wildner!:mime	image/x-dcx
1945614728caSSascha Wildner!:ext	dcx
1946614728caSSascha Wildner# The first file offset usually starts at file offset 0x1004
1947614728caSSascha Wildner# print 1 space after 0x100? offset and then handles PCX images by ./images
1948*3b9cdfa3SAntonio Huete Jimenez>4	ulelong	x		\b, at %#x
1949614728caSSascha Wildner>(4.l)	indirect		x
1950614728caSSascha Wildner# possible 2nd PCX image
1951*3b9cdfa3SAntonio Huete Jimenez#>8	ulelong	!0		\b, at %#x
1952614728caSSascha Wildner#>>(8.l)	indirect		x
1953614728caSSascha Wildner# possible 3rd PCX image
1954*3b9cdfa3SAntonio Huete Jimenez#>12	ulelong	!0		\b, at %#x
1955614728caSSascha Wildner#>>(12.l)	indirect		x
1956327e51cbSPeter Avalos
1957327e51cbSPeter Avalos# Simon Walton <simonw@matteworld.com>
1958327e51cbSPeter Avalos# Kodak Cineon format for scanned negatives
1959327e51cbSPeter Avalos# http://www.kodak.com/US/en/motion/support/dlad/
1960*3b9cdfa3SAntonio Huete Jimenez0	ulelong  0xd75f2a80	Cineon image data
1961*3b9cdfa3SAntonio Huete Jimenez>200	ubelong  >0		\b, %d x
1962*3b9cdfa3SAntonio Huete Jimenez>204	ubelong  >0		%d
1963327e51cbSPeter Avalos
1964327e51cbSPeter Avalos
1965327e51cbSPeter Avalos# Bio-Rad .PIC is an image format used by microscope control systems
1966327e51cbSPeter Avalos# and related image processing software used by biologists.
1967327e51cbSPeter Avalos# From: Vebjorn Ljosa <vebjorn@ljosa.com>
1968e4d4ce0cSPeter Avalos# BOOL values are two-byte integers; use them to rule out false positives.
19696fca56fbSSascha Wildner# https://web.archive.org/web/20050317223257/www.cs.ubc.ca/spider/ladic/text/biorad.txt
19706fca56fbSSascha Wildner# Samples: https://www.loci.wisc.edu/software/sample-data
1971*3b9cdfa3SAntonio Huete Jimenez14	uleshort	<2
1972*3b9cdfa3SAntonio Huete Jimenez>62	uleshort	<2
1973*3b9cdfa3SAntonio Huete Jimenez>>54	uleshort	12345		Bio-Rad .PIC Image File
1974*3b9cdfa3SAntonio Huete Jimenez>>>0	uleshort	>0		%d x
1975*3b9cdfa3SAntonio Huete Jimenez>>>2	uleshort	>0		%d,
1976*3b9cdfa3SAntonio Huete Jimenez>>>4	uleshort	=1		1 image in file
1977*3b9cdfa3SAntonio Huete Jimenez>>>4	uleshort	>1		%d images in file
1978327e51cbSPeter Avalos
1979327e51cbSPeter Avalos# From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
1980327e51cbSPeter Avalos# The description of *.mrw format can be found at
1981327e51cbSPeter Avalos# http://www.dalibor.cz/minolta/raw_file_format.htm
1982327e51cbSPeter Avalos0	string	\000MRM			Minolta Dimage camera raw image data
1983327e51cbSPeter Avalos
198479343712SPeter Avalos# Summary: DjVu image / document
198579343712SPeter Avalos# Extension: .djvu
198679343712SPeter Avalos# Reference: http://djvu.org/docs/DjVu3Spec.djvu
198779343712SPeter Avalos# Submitted by: Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
198879343712SPeter Avalos# Modified by (1): Abel Cheung <abelcheung@gmail.com>
198979343712SPeter Avalos0	string	AT&TFORM
199079343712SPeter Avalos>12	string	DJVM		DjVu multiple page document
1991f72f8299SJan Lentfer!:mime	image/vnd.djvu
199279343712SPeter Avalos>12	string	DJVU		DjVu image or single page document
1993f72f8299SJan Lentfer!:mime	image/vnd.djvu
199479343712SPeter Avalos>12	string	DJVI		DjVu shared document
1995f72f8299SJan Lentfer!:mime	image/vnd.djvu
199679343712SPeter Avalos>12	string	THUM		DjVu page thumbnails
1997f72f8299SJan Lentfer!:mime	image/vnd.djvu
1998327e51cbSPeter Avalos
1999e8af9738SPeter Avalos# Originally by Marc Espie
2000e8af9738SPeter Avalos# Modified by Robert Minsk <robertminsk at yahoo.com>
20016fca56fbSSascha Wildner# https://www.openexr.com/openexrfilelayout.pdf
2002*3b9cdfa3SAntonio Huete Jimenez0	ulelong		20000630	OpenEXR image data,
2003e8af9738SPeter Avalos!:mime image/x-exr
2004*3b9cdfa3SAntonio Huete Jimenez>4	ulelong&0x000000ff x		version %d,
2005*3b9cdfa3SAntonio Huete Jimenez>4	ulelong		^0x00000200	storage: scanline
2006*3b9cdfa3SAntonio Huete Jimenez>4	ulelong		&0x00000200	storage: tiled
2007e8af9738SPeter Avalos>8	search/0x1000	compression\0	\b, compression:
2008*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		0		none
2009*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		1		rle
2010*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		2		zips
2011*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		3		zip
2012*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		4		piz
2013*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		5		pxr24
2014*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		6		b44
2015*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		7		b44a
2016*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		8		dwaa
2017*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		9		dwab
2018*3b9cdfa3SAntonio Huete Jimenez>>&16	ubyte		>9		unknown
2019e8af9738SPeter Avalos>8	 search/0x1000	dataWindow\0	\b, dataWindow:
2020*3b9cdfa3SAntonio Huete Jimenez>>&10	ulelong		x		(%d
2021*3b9cdfa3SAntonio Huete Jimenez>>&14	ulelong		x		%d)-
2022*3b9cdfa3SAntonio Huete Jimenez>>&18	ulelong		x		\b(%d
2023*3b9cdfa3SAntonio Huete Jimenez>>&22	ulelong		x		%d)
2024e8af9738SPeter Avalos>8	search/0x1000	displayWindow\0	\b, displayWindow:
2025*3b9cdfa3SAntonio Huete Jimenez>>&10	ulelong		x		(%d
2026*3b9cdfa3SAntonio Huete Jimenez>>&14	ulelong		x		%d)-
2027*3b9cdfa3SAntonio Huete Jimenez>>&18	ulelong		x		\b(%d
2028*3b9cdfa3SAntonio Huete Jimenez>>&22	ulelong		x		%d)
2029e8af9738SPeter Avalos>8	search/0x1000	lineOrder\0	 \b, lineOrder:
2030*3b9cdfa3SAntonio Huete Jimenez>>&14	ubyte		0		increasing y
2031*3b9cdfa3SAntonio Huete Jimenez>>&14	ubyte		1		decreasing y
2032*3b9cdfa3SAntonio Huete Jimenez>>&14	ubyte		2		random y
2033*3b9cdfa3SAntonio Huete Jimenez>>&14	ubyte		>2		unknown
2034327e51cbSPeter Avalos
2035e8af9738SPeter Avalos# SMPTE Digital Picture Exchange Format, SMPTE DPX
2036e8af9738SPeter Avalos#
2037e8af9738SPeter Avalos# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital
2038e8af9738SPeter Avalos# Moving-Picture Exchange (DPX), v1.0, 18 February 1994
2039e8af9738SPeter Avalos# Robert Minsk <robertminsk at yahoo.com>
20406fca56fbSSascha Wildner# Modified by Harry Mallon <hjmallon at gmail.com>
2041e8af9738SPeter Avalos0	string		SDPX	DPX image data, big-endian,
2042e8af9738SPeter Avalos!:mime image/x-dpx
20436fca56fbSSascha Wildner>0	use		dpx_info
20446fca56fbSSascha Wildner0	string		XPDS	DPX image data, little-endian,
20456fca56fbSSascha Wildner!:mime image/x-dpx
20466fca56fbSSascha Wildner>0	use		\^dpx_info
20476fca56fbSSascha Wildner
20486fca56fbSSascha Wildner0	name		dpx_info
2049*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	<4
2050*3b9cdfa3SAntonio Huete Jimenez>>772	ubelong		x	%dx
2051*3b9cdfa3SAntonio Huete Jimenez>>776	ubelong		x	\b%d,
2052*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	>3
2053*3b9cdfa3SAntonio Huete Jimenez>>776	ubelong		x	%dx
2054*3b9cdfa3SAntonio Huete Jimenez>>772	ubelong		x	\b%d,
2055*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	0	left to right/top to bottom
2056*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	1	right to left/top to bottom
2057*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	2	left to right/bottom to top
2058*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	3	right to left/bottom to top
2059*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	4	top to bottom/left to right
2060*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	5	top to bottom/right to left
2061*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	6	bottom to top/left to right
2062*3b9cdfa3SAntonio Huete Jimenez>768	ubeshort	7	bottom to top/right to left
2063327e51cbSPeter Avalos
2064327e51cbSPeter Avalos# From: Tom Hilinski <tom.hilinski@comcast.net>
2065*3b9cdfa3SAntonio Huete Jimenez# Update:	Joerg Jenderek
2066*3b9cdfa3SAntonio Huete Jimenez# URL: 		https://en.wikipedia.org/wiki/NetCDF
2067*3b9cdfa3SAntonio Huete Jimenez#		http://fileformats.archiveteam.org/wiki/NetCDF
2068*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/n/netcdf.trid.xml
2069*3b9cdfa3SAntonio Huete Jimenez#		https://www.loc.gov/preservation/digital/formats/fdd/fdd000330.shtml
2070*3b9cdfa3SAntonio Huete Jimenez# Note:		called "NetCDF Network Common Data Form" by TrID and
2071*3b9cdfa3SAntonio Huete Jimenez#		"netCDF-3 Classic" by DROID via PUID fmt/282
2072*3b9cdfa3SAntonio Huete Jimenez# https://www.unidata.ucar.edu/packages/netcdf/
2073*3b9cdfa3SAntonio Huete Jimenez0	string	CDF\001
2074*3b9cdfa3SAntonio Huete Jimenez# skip DROID fmt-282-signature-id-298.nc by test for more content bytes
2075*3b9cdfa3SAntonio Huete Jimenez>3	uleshort	>0		NetCDF Data Format data
2076*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/netcdf
2077*3b9cdfa3SAntonio Huete Jimenez# https://reposcope.com/mimetype/application/x-netcdf
2078*3b9cdfa3SAntonio Huete Jimenez!:mime	application/x-netcdf
2079*3b9cdfa3SAntonio Huete Jimenez!:ext	nc
2080*3b9cdfa3SAntonio Huete Jimenez# https://fileinfo.com/extension/cdf
2081*3b9cdfa3SAntonio Huete Jimenez# https://www.file-extensions.org/cdf-file-extension-unidata-network-common-data-form
2082*3b9cdfa3SAntonio Huete Jimenez# in 1994 changed from CDF to NC file extension avoid a clash with other file formats
2083*3b9cdfa3SAntonio Huete Jimenez#!:ext	nc/cdf
2084c990e5baSDaniel Fojt# 64-bit offset netcdf Classic https://www.unidata.ucar.edu/software/netcdf/docs/file_format_specifications
2085*3b9cdfa3SAntonio Huete Jimenez# Note:		called "netCDF-3 64-bit" by DROID via PUID fmt/283
2086*3b9cdfa3SAntonio Huete Jimenez0	string	CDF\002
2087*3b9cdfa3SAntonio Huete Jimenez# skip DROID fmt-283-signature-id-299.nc by test for more content bytes
2088*3b9cdfa3SAntonio Huete Jimenez>3	uleshort	>0		NetCDF Data Format data (64-bit offset)
2089*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/netcdf
2090*3b9cdfa3SAntonio Huete Jimenez!:mime	application/x-netcdf
2091*3b9cdfa3SAntonio Huete Jimenez!:ext	nc
2092327e51cbSPeter Avalos
2093614728caSSascha Wildner# From: Michael Liu
2094614728caSSascha Wildner# https://en.wikipedia.org/wiki/Common_Data_Format
2095*3b9cdfa3SAntonio Huete Jimenez0	ubelong	0xCDF30001	Common Data Format (Version 3 or later) data
2096614728caSSascha Wildner!:mime  application/x-cdf
2097614728caSSascha Wildner
2098*3b9cdfa3SAntonio Huete Jimenez0	ubelong	0xCDF26002	Common Data Format (Version 2.6 or 2.7) data
2099614728caSSascha Wildner!:mime  application/x-cdf
2100614728caSSascha Wildner
2101*3b9cdfa3SAntonio Huete Jimenez0	ubelong	0x0000FFFF	Common Data Format (Version 2.5 or earlier) data
2102614728caSSascha Wildner!:mime  application/x-cdf
2103614728caSSascha Wildner
2104327e51cbSPeter Avalos# Hierarchical Data Format, used to facilitate scientific data exchange
2105327e51cbSPeter Avalos# specifications at http://hdf.ncsa.uiuc.edu/
2106614728caSSascha Wildner# URL: 		http://fileformats.archiveteam.org/wiki/HDF
2107614728caSSascha Wildner#		https://en.wikipedia.org/wiki/Hierarchical_Data_Format
2108614728caSSascha Wildner# Reference:	https://portal.hdfgroup.org/download/attachments/52627880/HDF5_File_Format_Specification_Version-3.0.pdf
2109*3b9cdfa3SAntonio Huete Jimenez0	ubelong	0x0e031301	Hierarchical Data Format (version 4) data
211079343712SPeter Avalos!:mime	application/x-hdf
2111614728caSSascha Wildner!:ext	hdf/hdf4/h4
2112e4d4ce0cSPeter Avalos0	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) data
2113614728caSSascha Wildner#!:mime	application/x-hdf
2114614728caSSascha Wildner!:mime	application/x-hdf5
2115614728caSSascha Wildner!:ext	h5/hdf5/hdf/he5
2116614728caSSascha Wildner512	string	\211HDF\r\n\032\n
2117614728caSSascha Wildner# skip Matlab v5 mat-file testhdf5_7.4_GLNX86.mat handled by ./mathematica
2118614728caSSascha Wildner>0	string	!MATLAB			Hierarchical Data Format (version 5) with 512 bytes user block
2119614728caSSascha Wildner#!:mime	application/x-hdf
2120614728caSSascha Wildner!:mime	application/x-hdf5
2121614728caSSascha Wildner!:ext	h5/hdf5/hdf/he5
2122e8af9738SPeter Avalos1024	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 1k user block
2123614728caSSascha Wildner#!:mime	application/x-hdf
2124614728caSSascha Wildner!:mime	application/x-hdf5
2125614728caSSascha Wildner!:ext	h5/hdf5/hdf/he5
2126e8af9738SPeter Avalos2048	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 2k user block
2127614728caSSascha Wildner#!:mime	application/x-hdf
2128614728caSSascha Wildner!:mime	application/x-hdf5
2129614728caSSascha Wildner!:ext	h5/hdf5/hdf/he5
2130e8af9738SPeter Avalos4096	string	\211HDF\r\n\032\n	Hierarchical Data Format (version 5) with 4k user block
2131614728caSSascha Wildner#!:mime	application/x-hdf
2132614728caSSascha Wildner!:mime	application/x-hdf5
2133614728caSSascha Wildner!:ext	h5/hdf5/hdf/he5
2134327e51cbSPeter Avalos
2135327e51cbSPeter Avalos# From: Tobias Burnus <burnus@net-b.de>
2136327e51cbSPeter Avalos# Xara (for a while: Corel Xara) is a graphic package, see
213779343712SPeter Avalos# http://www.xara.com/ for Windows and as GPL application for Linux
2138327e51cbSPeter Avalos0	string	XARA\243\243	Xara graphics file
213979343712SPeter Avalos
2140970935fdSSascha Wildner# From:		Joerg Jenderek
2141970935fdSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/Corel_Gallery
2142970935fdSSascha Wildner# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/b/bmf-corel.trid.xml
2143970935fdSSascha Wildner# Note:		called "Corel Binary Material Format" by TrID and
2144970935fdSSascha Wildner# 		"Corel Flow" by XnView
2145970935fdSSascha Wildner0	string	@CorelBMF\n\rCorel\040Corporation 	Corel GALLERY Clipart
2146970935fdSSascha Wildner!:mime	image/x-corel-bmf
2147970935fdSSascha Wildner!:ext	bmf
2148970935fdSSascha Wildner
21496fca56fbSSascha Wildner# https://www.cartesianinc.com/Tech/
2150970935fdSSascha Wildner# Reference:	http://fileformats.archiveteam.org/wiki/Cartesian_Perceptual_Compression
215179343712SPeter Avalos0	string	CPC\262		Cartesian Perceptual Compression image
215279343712SPeter Avalos!:mime	image/x-cpi
2153970935fdSSascha Wildner!:ext	cpi/cpc
215479343712SPeter Avalos
215579343712SPeter Avalos# From Albert Cahalan <acahalan@gmail.com>
215679343712SPeter Avalos# puredigital used it for the CVS disposable camcorder
215779343712SPeter Avalos#8       lelong		4       ZBM bitmap image data
2158*3b9cdfa3SAntonio Huete Jimenez#>4      uleshort	x       %u x
2159*3b9cdfa3SAntonio Huete Jimenez#>6      uleshort	x       %u
216079343712SPeter Avalos
216179343712SPeter Avalos# From Albert Cahalan <acahalan@gmail.com>
216279343712SPeter Avalos# uncompressed 5:6:5 HighColor image for OLPC XO firmware icons
216379343712SPeter Avalos0       string		C565     OLPC firmware icon image data
2164*3b9cdfa3SAntonio Huete Jimenez>4      uleshort	x       %u x
2165*3b9cdfa3SAntonio Huete Jimenez>6      uleshort	x       %u
216679343712SPeter Avalos
216779343712SPeter Avalos# Applied Images - Image files from Cytovision
216879343712SPeter Avalos# Gustavo Junior Alves <gjalves@gjalves.com.br>
216979343712SPeter Avalos0	string	\xce\xda\xde\xfa	Cytovision Metaphases file
217079343712SPeter Avalos0	string	\xed\xad\xef\xac	Cytovision Karyotype file
217179343712SPeter Avalos0	string	\x0b\x00\x03\x00	Cytovision FISH Probe file
217279343712SPeter Avalos0	string	\xed\xfe\xda\xbe	Cytovision FLEX file
217379343712SPeter Avalos0	string	\xed\xab\xed\xfe	Cytovision FLEX file
217479343712SPeter Avalos0	string	\xad\xfd\xea\xad	Cytovision RATS file
217579343712SPeter Avalos
217679343712SPeter Avalos# Wavelet Scalar Quantization format used in gray-scale fingerprint images
217779343712SPeter Avalos# From Tano M Fotang <mfotang@quanteq.com>
217879343712SPeter Avalos0	string	\xff\xa0\xff\xa8\x00	Wavelet Scalar Quantization image data
217979343712SPeter Avalos
2180e8af9738SPeter Avalos# Type:		PCO B16 image files
2181e8af9738SPeter Avalos# URL:		http://www.pco.de/fileadmin/user_upload/db/download/MA_CWDCOPIE_0412b.pdf
2182e8af9738SPeter Avalos# From:		Florian Philipp <florian.philipp@binarywings.net>
2183e8af9738SPeter Avalos# Extension:	.b16
2184e8af9738SPeter Avalos# Description:	Pixel image format produced by PCO Camware, typically used
2185e8af9738SPeter Avalos#		together with PCO cameras.
2186e8af9738SPeter Avalos# Note:		Different versions exist for e.g. 8 bit and 16 bit images.
2187e8af9738SPeter Avalos#		Documentation is incomplete.
2188e8af9738SPeter Avalos0	string/b	PCO-	PCO B16 image data
2189*3b9cdfa3SAntonio Huete Jimenez>12	ulelong		x	\b, %dx
2190*3b9cdfa3SAntonio Huete Jimenez>16	ulelong		x	\b%d
2191*3b9cdfa3SAntonio Huete Jimenez>20	ulelong		0	\b, short header
2192*3b9cdfa3SAntonio Huete Jimenez>20	ulelong		-1	\b, extended header
2193*3b9cdfa3SAntonio Huete Jimenez>>24	ulelong		0	\b, grayscale
2194*3b9cdfa3SAntonio Huete Jimenez>>>36	ulelong		0	linear LUT
2195*3b9cdfa3SAntonio Huete Jimenez>>>36	ulelong		1	logarithmic LUT
2196*3b9cdfa3SAntonio Huete Jimenez>>>28	ulelong		x	[%d
2197*3b9cdfa3SAntonio Huete Jimenez>>>32	ulelong		x	\b,%d]
2198*3b9cdfa3SAntonio Huete Jimenez>>24	ulelong		1	\b, color
2199*3b9cdfa3SAntonio Huete Jimenez>>>64	ulelong		0	linear LUT
2200*3b9cdfa3SAntonio Huete Jimenez>>>64	ulelong		1	logarithmic LUT
2201*3b9cdfa3SAntonio Huete Jimenez>>>40	ulelong		x	r[%d
2202*3b9cdfa3SAntonio Huete Jimenez>>>44	ulelong		x	\b,%d]
2203*3b9cdfa3SAntonio Huete Jimenez>>>48	ulelong		x	g[%d
2204*3b9cdfa3SAntonio Huete Jimenez>>>52	ulelong		x	\b,%d]
2205*3b9cdfa3SAntonio Huete Jimenez>>>56	ulelong		x	b[%d
2206*3b9cdfa3SAntonio Huete Jimenez>>>60	ulelong		x	\b,%d]
2207e8af9738SPeter Avalos
2208e8af9738SPeter Avalos# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches
2209e8af9738SPeter Avalos# From: Markus Heidelberg <markus.heidelberg at web.de>
2210e8af9738SPeter Avalos0	string/t	[BitmapInfo2]	Polar Monitor Bitmap text
2211e8af9738SPeter Avalos!:mime	image/x-polar-monitor-bitmap
2212e4d4ce0cSPeter Avalos
221382c5fa3eSPeter Avalos# From: Rick Richardson <rickrich@gmail.com>
2214c30bd091SSascha Wildner# updated by: Joerg Jenderek
2215c30bd091SSascha Wildner# URL: http://techmods.net/nuvi/
2216e4d4ce0cSPeter Avalos0	string	GARMIN\ BITMAP\ 01	Garmin Bitmap file
2217c30bd091SSascha Wildner# extension is also used for
2218c30bd091SSascha Wildner# Sony SRF raw image (image/x-sony-srf)
2219c30bd091SSascha Wildner# SRF map
22206fca56fbSSascha Wildner# Terragen Surface Map (https://www.planetside.co.uk/terragen)
22216fca56fbSSascha Wildner# FileLocator Pro search criteria file (https://www.mythicsoft.com/filelocatorpro)
2222c30bd091SSascha Wildner!:ext srf
2223c30bd091SSascha Wildner#!:mime	image/x-garmin-srf
2224c30bd091SSascha Wildner# version 1.00,2.00,2.10,2.40,2.50
2225c30bd091SSascha Wildner>0x2f	string		>0		\b, version %4.4s
2226c30bd091SSascha Wildner# width (2880,2881,3240)
2227c30bd091SSascha Wildner>0x55	uleshort	>0		\b, %dx
2228c30bd091SSascha Wildner# height (80,90)
2229c30bd091SSascha Wildner>>0x53	uleshort	x		\b%d
2230e4d4ce0cSPeter Avalos
2231*3b9cdfa3SAntonio Huete Jimenez# From:		Joerg Jenderek
2232*3b9cdfa3SAntonio Huete Jimenez# URL:		http://fileformats.archiveteam.org/wiki/Imageiio/imaginfo_(Ulead)
2233*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/p/pe3.trid.xml
2234*3b9cdfa3SAntonio Huete Jimenez# Note:		called "Ulead Imageiio/Imaginfo thumbnail" by TrID
2235*3b9cdfa3SAntonio Huete Jimenez0	string	IIO1$			Ulead Photo Explorer 3
2236*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/octet-stream
2237*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-ulead-pe3
2238*3b9cdfa3SAntonio Huete Jimenez# IMAGEIIO.PE3
2239*3b9cdfa3SAntonio Huete Jimenez!:ext	pe3
2240*3b9cdfa3SAntonio Huete Jimenez# look for DOS/Windows drive letter
2241*3b9cdfa3SAntonio Huete Jimenez>5	search/192/s	:\\
2242*3b9cdfa3SAntonio Huete Jimenez# directory or full name of corresponding imaginfo.pe3 like: "T:\SAMPLES\TEXTURES\SKY_SNOW\IIOE371.TMP "S:\PI3\PIMPACT3\PROGRAMS\PATTERNS\imaginfo.pe3"
2243*3b9cdfa3SAntonio Huete Jimenez>>&-1	string	x			"%s"
2244*3b9cdfa3SAntonio Huete Jimenez# look for DOS/Windows network path if no drive letter part
2245*3b9cdfa3SAntonio Huete Jimenez>5	default		x
2246*3b9cdfa3SAntonio Huete Jimenez>>5	search/192/s	\x5c\x5c
2247*3b9cdfa3SAntonio Huete Jimenez# full name of corresponding imaginfo.pe3 like: "\\Lionking\upi\SAMPLES\IMAGES\ANIMALS\imaginfo.pe3"
2248*3b9cdfa3SAntonio Huete Jimenez>>>&0	string	x			"%s"
2249e4d4ce0cSPeter Avalos# Type:	Ulead Photo Explorer5 (.pe5)
2250*3b9cdfa3SAntonio Huete Jimenez# URL:		http://fileformats.archiveteam.org/wiki/Imageiio/imaginfo_(Ulead)
2251*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/p/pe4.trid.xml
2252e4d4ce0cSPeter Avalos# From:	Simon Horman <horms@debian.org>
2253*3b9cdfa3SAntonio Huete Jimenez# Update:	Joerg Jenderek
2254*3b9cdfa3SAntonio Huete Jimenez# Note:		some called "Ulead Imageiio/Imaginfo thumbnail" by TrID
2255*3b9cdfa3SAntonio Huete Jimenez#		and used in various Ulead applications
2256*3b9cdfa3SAntonio Huete Jimenez0	string	IIO2H			Ulead Photo Explorer 4 or 5
2257*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/octet-stream
2258*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-ulead-pe4
2259*3b9cdfa3SAntonio Huete Jimenez# IMAGEIIO.PE4
2260*3b9cdfa3SAntonio Huete Jimenez!:ext	pe4/pe5
2261*3b9cdfa3SAntonio Huete Jimenez# look in most samples for JPEG signature like: SAMPLES/IMAGES/SCENES/IMAGINFO.PE4
2262*3b9cdfa3SAntonio Huete Jimenez>0x4c2	search/0xE02/s	JFIF		with JPEG image data
2263*3b9cdfa3SAntonio Huete Jimenez>>&-6	use			jpeg
2264*3b9cdfa3SAntonio Huete Jimenez# near the end list of image names like: Img0001.pcd 1116012L.JPG NCARD4.TPL
2265*3b9cdfa3SAntonio Huete Jimenez#
2266*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/p/pe3-imaginfo.trid.xml
2267*3b9cdfa3SAntonio Huete Jimenez11	string	\001\0\0\0\0
2268*3b9cdfa3SAntonio Huete Jimenez# check for version 3 part
2269*3b9cdfa3SAntonio Huete Jimenez>19	string	\0\001\0\003\0
2270*3b9cdfa3SAntonio Huete Jimenez>>0	use	ulead-imaginfo
2271*3b9cdfa3SAntonio Huete Jimenez# From:		Joerg Jenderek
2272*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/p/pe4-imaginfo.trid.xml
2273*3b9cdfa3SAntonio Huete Jimenez11	string	\001\0\0\0\0
2274*3b9cdfa3SAntonio Huete Jimenez# check for version 4 part
2275*3b9cdfa3SAntonio Huete Jimenez>19	string	\0\0\0\004\0
2276*3b9cdfa3SAntonio Huete Jimenez>>0	use	ulead-imaginfo
2277*3b9cdfa3SAntonio Huete Jimenez# display information about Ulead Imaginfo thumbnail (version, directory, image extension)
2278*3b9cdfa3SAntonio Huete Jimenez0	name	ulead-imaginfo
2279*3b9cdfa3SAntonio Huete Jimenez>22	ubyte	x			Ulead Imaginfo thumbnail
2280*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/octet-stream
2281*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-ulead-imaginfo
2282*3b9cdfa3SAntonio Huete Jimenez>22	ubyte	=3			\b, version 3
2283*3b9cdfa3SAntonio Huete Jimenez# IMAGINFO.PE3
2284*3b9cdfa3SAntonio Huete Jimenez!:ext	pe3
2285*3b9cdfa3SAntonio Huete Jimenez>22	ubyte	=4			\b, version 4
2286*3b9cdfa3SAntonio Huete Jimenez# IMAGINFO.PE4
2287*3b9cdfa3SAntonio Huete Jimenez!:ext	pe4
2288*3b9cdfa3SAntonio Huete Jimenez# MAYBE ALSO VERSION 5 ?
2289*3b9cdfa3SAntonio Huete Jimenez#>22	ubyte	=5			\b, version 5
2290*3b9cdfa3SAntonio Huete Jimenez#!:ext	pe5
2291*3b9cdfa3SAntonio Huete Jimenez>22	ubyte	x
2292*3b9cdfa3SAntonio Huete Jimenez# look for DOS/Windows driver letter
2293*3b9cdfa3SAntonio Huete Jimenez>>4	search/192/s	:\x5c
2294*3b9cdfa3SAntonio Huete Jimenez# skip f:\Programme\iPhoto Plus 4\Template\Business Cards\IMAGINFO.PE4
2295*3b9cdfa3SAntonio Huete Jimenez# by looking for driver letter in range A-Z
2296*3b9cdfa3SAntonio Huete Jimenez>>>&-1	ubyte	>0x40
2297*3b9cdfa3SAntonio Huete Jimenez# directory path like: "E:\iPE\CDSample\Images\Scenes" "D:\XmasCard\Samples" "C:\TEMP\PLANTS"
2298*3b9cdfa3SAntonio Huete Jimenez>>>>&-5	pstring/l	>0		\b, "%s"
2299*3b9cdfa3SAntonio Huete Jimenez# look for DOS/Windows network path if no valid drive letter part
2300*3b9cdfa3SAntonio Huete Jimenez>>>&-1	default		x
2301*3b9cdfa3SAntonio Huete Jimenez>>>>4	search/192/s	\x5c\x5c
2302*3b9cdfa3SAntonio Huete Jimenez# directory path like: "\\FSX\SYS\OPPS\IPE.ENG\TEMPLATE\BUSINESS" "\\Lionking\upi\SAMPLES\IMAGES\ANIMALS"
2303*3b9cdfa3SAntonio Huete Jimenez>>>>>&-4 pstring/l	>0		\b, "%s"
2304*3b9cdfa3SAntonio Huete Jimenez# look for DOS/Windows network path if no drive letter part
2305*3b9cdfa3SAntonio Huete Jimenez>>4	default		x
2306*3b9cdfa3SAntonio Huete Jimenez>>>4	search/192/s	\x5c\x5c
2307*3b9cdfa3SAntonio Huete Jimenez# directory path like: "\\FSX\SYS\opps\ipe.eng\samples" "\\DANIEL\IPE_CD\IPE.ITA"
2308*3b9cdfa3SAntonio Huete Jimenez>>>>&-4 pstring/l	>0		\b, "%s"
2309*3b9cdfa3SAntonio Huete Jimenez# look for point character inside image names
2310*3b9cdfa3SAntonio Huete Jimenez>56	search/38/s	.
2311*3b9cdfa3SAntonio Huete Jimenez# image name extension like: bmp jpg pcd tpl
2312*3b9cdfa3SAntonio Huete Jimenez>>&1	string	x			with %-.3s images
2313*3b9cdfa3SAntonio Huete Jimenez# Summary:	Ulead Pattern image (Corel Corporation)
2314*3b9cdfa3SAntonio Huete Jimenez# URL:		https://en.wikipedia.org/wiki/Ulead_Systems
2315*3b9cdfa3SAntonio Huete Jimenez#		https://www.file-extensions.org/pst-file-extension-ulead-pattern-image-format
2316*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/p/pst-ulead.trid.xml
2317*3b9cdfa3SAntonio Huete Jimenez# From:		Joerg Jenderek
2318*3b9cdfa3SAntonio Huete Jimenez# Note:		used also by CorelDraw Essentials 3 version 13.0.0.800
2319*3b9cdfa3SAntonio Huete Jimenez#		there seems to exist other versions
2320*3b9cdfa3SAntonio Huete Jimenez0	ubelong		0xFFFF0100
2321*3b9cdfa3SAntonio Huete Jimenez>8	search/21	PresetInfo	Ulead pattern image
2322*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/octet-stream
2323*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-ulead-pst
2324*3b9cdfa3SAntonio Huete Jimenez!:ext	pst
2325*3b9cdfa3SAntonio Huete Jimenez# string length like: 16 18 19 21 24
2326*3b9cdfa3SAntonio Huete Jimenez#>>4	uleshort	x		n=%u
2327*3b9cdfa3SAntonio Huete Jimenez# like: BlendPresetInfo DropShadowPresetInfo FileNewPresetInfo VectorExtrudePresetInfo EnvelopePresetInfo ContourPresetInfo DistortionPresetInfo
2328*3b9cdfa3SAntonio Huete Jimenez>>4	pstring/h	x		"%s"
2329e4d4ce0cSPeter Avalos
2330e4d4ce0cSPeter Avalos# Type:	X11 cursor
2331e4d4ce0cSPeter Avalos# URL:	http://webcvs.freedesktop.org/mime/shared-mime-info/freedesktop.org.xml.in?view=markup
2332e4d4ce0cSPeter Avalos# From:	Mathias Brodala <info@noctus.net>
2333e4d4ce0cSPeter Avalos0	string	Xcur			X11 cursor
2334e4d4ce0cSPeter Avalos
2335e4d4ce0cSPeter Avalos# Type:	Olympus ORF raw images.
23366fca56fbSSascha Wildner# URL:	https://libopenraw.freedesktop.org/wiki/Olympus_ORF
2337e4d4ce0cSPeter Avalos# From:	Adam Buchbinder <adam.buchbinder@gmail.com>
2338e4d4ce0cSPeter Avalos0	string		MMOR		Olympus ORF raw image data, big-endian
2339e4d4ce0cSPeter Avalos!:mime	image/x-olympus-orf
2340e4d4ce0cSPeter Avalos0	string		IIRO		Olympus ORF raw image data, little-endian
2341e4d4ce0cSPeter Avalos!:mime	image/x-olympus-orf
2342e4d4ce0cSPeter Avalos0	string		IIRS		Olympus ORF raw image data, little-endian
2343e4d4ce0cSPeter Avalos!:mime	image/x-olympus-orf
2344e4d4ce0cSPeter Avalos
2345e4d4ce0cSPeter Avalos# Type: files used in modern AVCHD camcoders to store clip information
2346e4d4ce0cSPeter Avalos# Extension: .cpi
2347e4d4ce0cSPeter Avalos# From: Alexander Danilov <alexander.a.danilov@gmail.com>
2348e4d4ce0cSPeter Avalos0	string	HDMV0100	AVCHD Clip Information
2349e4d4ce0cSPeter Avalos
2350e4d4ce0cSPeter Avalos# From: Adam Buchbinder <adam.buchbinder@gmail.com>
2351e4d4ce0cSPeter Avalos# URL: http://local.wasp.uwa.edu.au/~pbourke/dataformats/pic/
2352e4d4ce0cSPeter Avalos# Radiance HDR; usually has .pic or .hdr extension.
2353e4d4ce0cSPeter Avalos0	string	#?RADIANCE\n	Radiance HDR image data
2354e4d4ce0cSPeter Avalos#!mime	image/vnd.radiance
2355e4d4ce0cSPeter Avalos
2356e4d4ce0cSPeter Avalos# From: Adam Buchbinder <adam.buchbinder@gmail.com>
23576fca56fbSSascha Wildner# URL: https://www.mpi-inf.mpg.de/resources/pfstools/pfs_format_spec.pdf
2358e4d4ce0cSPeter Avalos# Used by the pfstools packages. The regex matches for the image size could
2359e4d4ce0cSPeter Avalos# probably use some work. The MIME type is made up; if there's one in
2360e4d4ce0cSPeter Avalos# actual common use, it should replace the one below.
2361e4d4ce0cSPeter Avalos0	string	PFS1\x0a	PFS HDR image data
2362e4d4ce0cSPeter Avalos#!mime	image/x-pfs
2363e4d4ce0cSPeter Avalos>1	regex	[0-9]*\ 	\b, %s
2364e4d4ce0cSPeter Avalos>>1	regex	\ [0-9]{4}	\bx%s
2365e4d4ce0cSPeter Avalos
2366e4d4ce0cSPeter Avalos# Type: Foveon X3F
23676fca56fbSSascha Wildner# URL:  https://www.photofo.com/downloads/x3f-raw-format.pdf
2368e4d4ce0cSPeter Avalos# From: Adam Buchbinder <adam.buchbinder@gmail.com>
2369e4d4ce0cSPeter Avalos# Note that the MIME type isn't defined anywhere that I can find; if
2370e4d4ce0cSPeter Avalos# there's a canonical type for this format, it should replace this one.
2371e4d4ce0cSPeter Avalos0	string	FOVb	Foveon X3F raw image data
2372e4d4ce0cSPeter Avalos!:mime	image/x-x3f
2373*3b9cdfa3SAntonio Huete Jimenez>6	uleshort	x	\b, version %d.
2374*3b9cdfa3SAntonio Huete Jimenez>4	uleshort	x	\b%d
2375*3b9cdfa3SAntonio Huete Jimenez>28	ulelong		x	\b, %dx
2376*3b9cdfa3SAntonio Huete Jimenez>32	ulelong		x	\b%d
2377e4d4ce0cSPeter Avalos
2378e4d4ce0cSPeter Avalos# Paint.NET file
2379e4d4ce0cSPeter Avalos# From Adam Buchbinder <adam.buchbinder@gmail.com>
2380e4d4ce0cSPeter Avalos0	string	PDN3	Paint.NET image data
2381e4d4ce0cSPeter Avalos!:mime	image/x-paintnet
2382e4d4ce0cSPeter Avalos
2383e4d4ce0cSPeter Avalos# Not really an image.
2384e4d4ce0cSPeter Avalos# From: "Tano M. Fotang" <mfotang@quanteq.com>
2385e4d4ce0cSPeter Avalos0	string	\x46\x4d\x52\x00	ISO/IEC 19794-2 Format Minutiae Record (FMR)
2386e8af9738SPeter Avalos
23876fca56fbSSascha Wildner# doc: https://www.shikino.co.jp/eng/products/images/FLOWER.jpg.zip
23886fca56fbSSascha Wildner# example: https://www.shikino.co.jp/eng/products/images/FLOWER.wdp.zip
2389*3b9cdfa3SAntonio Huete Jimenez90	ubequad		0x574D50484F544F00	JPEG-XR Image
2390*3b9cdfa3SAntonio Huete Jimenez>98	ubyte&0x08	=0x08			\b, hard tiling
2391*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x80	=0x80			\b, tiling present
2392*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x40	=0x40			\b, codestream present
2393*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	x			\b, spatial xform=
2394*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	0x00			\bTL
2395*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	0x08			\bBL
2396*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	0x10			\bTR
2397*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	0x18			\bBR
2398*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	0x20			\bBT
2399*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	0x28			\bRB
2400*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	0x30			\bLT
2401*3b9cdfa3SAntonio Huete Jimenez>99	ubyte&0x38	0x38			\bLB
2402*3b9cdfa3SAntonio Huete Jimenez>100	ubyte&0x80	=0x80			\b, short header
2403*3b9cdfa3SAntonio Huete Jimenez>>102	ubeshort+1	x			\b, %d
2404*3b9cdfa3SAntonio Huete Jimenez>>104	ubeshort+1	x			\bx%d
2405*3b9cdfa3SAntonio Huete Jimenez>100	ubyte&0x80	=0x00			\b, long header
2406*3b9cdfa3SAntonio Huete Jimenez>>102	ubelong+1	x			\b, %x
2407*3b9cdfa3SAntonio Huete Jimenez>>106	ubelong+1	x			\bx%x
2408*3b9cdfa3SAntonio Huete Jimenez>101	ubeshort&0xf	x			\b, bitdepth=
2409*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x0			\b1-WHITE=1
2410*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x1			\b8
2411*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x2			\b16
2412*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x3			\b16-SIGNED
2413*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x4			\b16-FLOAT
2414*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x5			\b(reserved 5)
2415*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x6			\b32-SIGNED
2416*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x7			\b32-FLOAT
2417*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x8			\b5
2418*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0x9			\b10
2419*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0xa			\b5-6-5
2420*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0xb			\b(reserved %d)
2421*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0xc			\b(reserved %d)
2422*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0xd			\b(reserved %d)
2423*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0xe			\b(reserved %d)
2424*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf	0xf			\b1-BLACK=1
2425*3b9cdfa3SAntonio Huete Jimenez>101	ubeshort&0xf0	x			\b, colorfmt=
2426*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x00			\bYONLY
2427*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x10			\bYUV240
2428*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x20			\bYWV422
2429*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x30			\bYWV444
2430*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x40			\bCMYK
2431*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x50			\bCMYKDIRECT
2432*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x60			\bNCOMPONENT
2433*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x70			\bRGB
2434*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	0x80			\bRGBE
2435*3b9cdfa3SAntonio Huete Jimenez>>101	ubeshort&0xf0	>0x80			\b(reserved %#x)
243682c5fa3eSPeter Avalos
243782c5fa3eSPeter Avalos# From: Johan van der Knijff <johan.vanderknijff@kb.nl>
243882c5fa3eSPeter Avalos#
243982c5fa3eSPeter Avalos# BPG (Better Portable Graphics) format
24406fca56fbSSascha Wildner# https://bellard.org/bpg/
244182c5fa3eSPeter Avalos# http://fileformats.archiveteam.org/wiki/BPG
244282c5fa3eSPeter Avalos#
244382c5fa3eSPeter Avalos0	string	\x42\x50\x47\xFB	BPG (Better Portable Graphics)
244482c5fa3eSPeter Avalos!:mime  image/bpg
2445c30bd091SSascha Wildner
2446c30bd091SSascha Wildner# From: Joerg Jenderek
2447c30bd091SSascha Wildner# URL: https://en.wikipedia.org/wiki/Apple_Icon_Image_format
2448c30bd091SSascha Wildner0	string		icns		Mac OS X icon
2449c30bd091SSascha Wildner!:mime	image/x-icns
2450c30bd091SSascha Wildner!:apple	????icns
2451c30bd091SSascha Wildner!:ext icns
2452c30bd091SSascha Wildner>4	ubelong		>0
2453c30bd091SSascha Wildner# file size
2454c30bd091SSascha Wildner>>4	ubelong		x		\b, %d bytes
2455c30bd091SSascha Wildner# icon type
2456c30bd091SSascha Wildner>>8	string		x		\b, "%4.4s" type
2457c30bd091SSascha Wildner
2458c30bd091SSascha Wildner# TIM images
2459614728caSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/TIM_(PlayStation_graphics)
2460614728caSSascha Wildner# Reference:	https://mrclick.zophar.net/TilEd/download/timgfx.txt
2461614728caSSascha Wildner# Update:	Joerg Jenderek
2462614728caSSascha Wildner# Note:		called as "PSX TIM *bpp bitmap" by bitmap-tim-*.trid.xml
2463614728caSSascha Wildner#		verified as "TIM PSX" by XnView `nconvert -fullinfo *.tim` and
2464614728caSSascha Wildner#		by RECOIL `recoil2png -o TMP.PNG input.tim; file TMP.PNG` and often
2465614728caSSascha Wildner#		as "PSX TIM" by ImageMagick version 7.1.0-10 command `identify *.tim`
2466614728caSSascha Wildner#		here signed integers are used but according to Kaitai unsigned
2467*3b9cdfa3SAntonio Huete Jimenez0		ulelong		0x00000010
2468614728caSSascha Wildner# 32 Flag bits *cttt; c~CLUT flag t~type 000~4BPP 001~8BPP 010~16BPP 011~24BPP 100~Mixed
2469*3b9cdfa3SAntonio Huete Jimenez#>4		ulelong  	x		FLAGS=%#x
2470614728caSSascha Wildner# 12+Size of CLUT (2Ch for 4BPP; 20Ch 40Ch 60Ch 80Ch C0Ch for 8BPP) or
2471614728caSSascha Wildner# +image data size (800Ch 2000Ch 2580C for 16BPP) (02000003h for dBase memo test.dbt)
2472*3b9cdfa3SAntonio Huete Jimenez#>8		ulelong		x		\b, 12+CLUT or data size=%#8.8x
2473614728caSSascha Wildner# CLUT or data size remainder is 12 (Ch), but 03 for dBase memo test.dbt
2474614728caSSascha Wildner#>8		ubyte&0x0F	=0x0C		\b, SIZE REMAINDER IS 12
2475614728caSSascha Wildner# skip dBase III memo test.dbt with invalid flags 22D10189h
2476*3b9cdfa3SAntonio Huete Jimenez>4		ulelong&0xffFFffF0	=0	Sony PlayStation PSX image,
2477614728caSSascha Wildner# file (version 5.40) labeled the above entry as "TIM image"
2478614728caSSascha Wildner!:mime	image/x-sony-tim
2479614728caSSascha Wildner!:ext	tim
2480*3b9cdfa3SAntonio Huete Jimenez#>>4		ulelong&0x00000007	x	\b, BPP~%u
2481614728caSSascha Wildner# 4BPP and 8BPP examples exist with CLUT or without CLUT
2482*3b9cdfa3SAntonio Huete Jimenez>>4		ulelong&0x07	0x0		4-Bit,
2483*3b9cdfa3SAntonio Huete Jimenez>>4		ulelong&0x07	0x1		8-Bit,
2484614728caSSascha Wildner# 16BPP and 24BPP examples have no CLUT
2485*3b9cdfa3SAntonio Huete Jimenez>>4		ulelong  	0x2		15-Bit,
2486*3b9cdfa3SAntonio Huete Jimenez>>4		ulelong  	0x3		24-Bit,
2487614728caSSascha Wildner# no example
2488*3b9cdfa3SAntonio Huete Jimenez>>4		ulelong&0x07  	0x4		Mixed-Bit,
2489614728caSSascha Wildner# CLUT flag set
2490*3b9cdfa3SAntonio Huete Jimenez>>4		ulelong 	&8
2491614728caSSascha Wildner# 12 + size of CLUT like: 1000Ch 800Ch 400Ch 40Ch and 2FEh (KAGE.TIM)
2492*3b9cdfa3SAntonio Huete Jimenez#>>>(8.l+8)	ulelong		x		\b, 12+CLUT SIZE=%#8.8x
2493*3b9cdfa3SAntonio Huete Jimenez>>>(8.l+12)	uleshort	x		Pixel at (%d,
2494*3b9cdfa3SAntonio Huete Jimenez>>>(8.l+14)	uleshort	x		\b%d) Size=
2495614728caSSascha Wildner# image width (to get actual width multiply by 4 for 4BPP and by 2 for 8BPP)
2496*3b9cdfa3SAntonio Huete Jimenez>>>>4		ulelong  	0x8
2497*3b9cdfa3SAntonio Huete Jimenez>>>>>(8.l+16)	uleshort*4	x		\b%d
2498*3b9cdfa3SAntonio Huete Jimenez>>>>4		ulelong  	0x9
2499*3b9cdfa3SAntonio Huete Jimenez>>>>>(8.l+16)	uleshort*2	x		\b%d
2500614728caSSascha Wildner# image height like: 32 64 128 144 160 208 256
2501*3b9cdfa3SAntonio Huete Jimenez>>>(8.l+18)	uleshort	x		\bx%d,
2502*3b9cdfa3SAntonio Huete Jimenez>>>4		ulelong 	0x8		16 CLUT Entries at
2503*3b9cdfa3SAntonio Huete Jimenez>>>4		ulelong 	0x9		256 CLUT Entries at
2504*3b9cdfa3SAntonio Huete Jimenez>>>12		uleshort	x		(%d,
2505*3b9cdfa3SAntonio Huete Jimenez>>>14		uleshort	x		\b%d)
2506614728caSSascha Wildner# no Color LookUp Table (CLUT)
2507*3b9cdfa3SAntonio Huete Jimenez>>4		ulelong		^8
2508*3b9cdfa3SAntonio Huete Jimenez# image origin X Y
2509*3b9cdfa3SAntonio Huete Jimenez>>>12		uleshort	x		Pixel at (%d,
2510*3b9cdfa3SAntonio Huete Jimenez>>>14		uleshort	x		\b%d) Size=
2511614728caSSascha Wildner# real image width = multiply by 4 (4BPP) 2 (8BPP) 1 (16BPP) 2/3 (24BPP)
2512*3b9cdfa3SAntonio Huete Jimenez>>>>4		ulelong  	0x0
2513*3b9cdfa3SAntonio Huete Jimenez>>>>>16		uleshort*4	x		\b%d
2514*3b9cdfa3SAntonio Huete Jimenez>>>>4		ulelong  	0x1
2515*3b9cdfa3SAntonio Huete Jimenez>>>>>16		uleshort*2	x		\b%d
2516*3b9cdfa3SAntonio Huete Jimenez>>>>4		ulelong  	0x2
2517*3b9cdfa3SAntonio Huete Jimenez>>>>>16		uleshort		x		\b%d
2518*3b9cdfa3SAntonio Huete Jimenez>>>>4		ulelong  	0x3
2519614728caSSascha Wildner# GRR: NOT working
2520*3b9cdfa3SAntonio Huete Jimenez#>>>>>16		uleshort*2/3	x		\b%d
2521*3b9cdfa3SAntonio Huete Jimenez>>>>>16		uleshort		x		\b2/3*%d
2522614728caSSascha Wildner# mixed format width not explained!
2523*3b9cdfa3SAntonio Huete Jimenez>>>>4		ulelong  	0x4
2524*3b9cdfa3SAntonio Huete Jimenez>>>>>16		uleshort		x		\b%d
2525614728caSSascha Wildner# image height like: 64 240 256
2526*3b9cdfa3SAntonio Huete Jimenez>>>18		uleshort		x		\bx%d
2527614728caSSascha Wildner# TIM image data
2528c30bd091SSascha Wildner
2529c30bd091SSascha Wildner# MDEC streams
2530*3b9cdfa3SAntonio Huete Jimenez0		ulelong		0x80010160	MDEC video stream,
2531*3b9cdfa3SAntonio Huete Jimenez>16		uleshort	x		%dx
2532*3b9cdfa3SAntonio Huete Jimenez>18		uleshort	x		\b%d
2533*3b9cdfa3SAntonio Huete Jimenez#>8		ulelong		x		%d frames
2534*3b9cdfa3SAntonio Huete Jimenez#>4		uleshort	x		secCount=%d;
2535*3b9cdfa3SAntonio Huete Jimenez#>6		uleshort	x		nSectors=%d;
2536*3b9cdfa3SAntonio Huete Jimenez#>12		ulelong		x		frameSize=%d;
2537c30bd091SSascha Wildner
2538c30bd091SSascha Wildner# BS encoded bitstreams
2539*3b9cdfa3SAntonio Huete Jimenez2		uleshort	0x3800		BS image,
2540*3b9cdfa3SAntonio Huete Jimenez>6		uleshort	x		Version %d,
2541*3b9cdfa3SAntonio Huete Jimenez>4		uleshort	x		Quantization %d,
2542*3b9cdfa3SAntonio Huete Jimenez>0		uleshort	x		(Decompresses to %d words)
2543c30bd091SSascha Wildner
2544c30bd091SSascha Wildner# Type: farbfeld image.
2545c30bd091SSascha Wildner# Url: http://tools.suckless.org/farbfeld/
2546c30bd091SSascha Wildner# From: Ian D. Scott <ian@iandouglasscott.com>
2547c30bd091SSascha Wildner#
2548c30bd091SSascha Wildner0		string		farbfeld	farbfeld image data,
2549c30bd091SSascha Wildner>8		ubelong		x		%dx
2550c30bd091SSascha Wildner>12		ubelong		x		\b%d
2551c30bd091SSascha Wildner
2552*3b9cdfa3SAntonio Huete Jimenez# Type: Microsoft DirectDraw Surface (DXGI formats)
2553*3b9cdfa3SAntonio Huete Jimenez# URL:	https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp
2554*3b9cdfa3SAntonio Huete Jimenez# From: Morten Hustveit <morten@debian.org>
2555*3b9cdfa3SAntonio Huete Jimenez# Updated by: David Korth <gerbilsoft@gerbilsoft.com>
2556*3b9cdfa3SAntonio Huete Jimenez0	name	ms-directdraw-dx10
2557*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	x	\b, DXGI format:
2558*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1	R32G32B32A32_TYPELESS
2559*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	2	R32G32B32A32_FLOAT
2560*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	3	R32G32B32A32_UINT
2561*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	4	R32G32B32A32_SINT
2562*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	5	R32G32B32_TYPELESS
2563*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	6	R32G32B32_FLOAT
2564*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	7	R32G32B32_UINT
2565*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	8	R32G32B32_SINT
2566*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	9	R16G16B16A16_TYPELESS
2567*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	10	R16G16B16A16_FLOAT
2568*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	11	R16G16B16A16_UNORM
2569*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	12	R16G16B16A16_UINT
2570*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	13	R16G16B16A16_SNORM
2571*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	14	R16G16B16A16_SINT
2572*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	15	R32G32_TYPELESS
2573*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	16	R32G32_FLOAT
2574*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	17	R32G32_UINT
2575*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	18	R32G32_SINT
2576*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	19	R32G8X24_TYPELESS
2577*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	20	D32_FLOAT_S8X24_UINT
2578*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	21	R32_FLOAT_X8X24_TYPELESS
2579*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	22	X32_TYPELESS_G8X24_UINT
2580*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	23	R10G10B10A2_TYPELESS
2581*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	24	R10G10B10A2_UNORM
2582*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	25	R10G10B10A2_UINT
2583*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	26	R11G11B10_FLOAT
2584*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	27	R8G8B8A8_TYPELESS
2585*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	28	R8G8B8A8_UNORM
2586*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	29	R8G8B8A8_UNORM_SRGB
2587*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	30	R8G8B8A8_UINT
2588*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	31	R8G8B8A8_SNORM
2589*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	32	R8G8B8A8_SINT
2590*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	33	R16G16_TYPELESS
2591*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	34	R16G16_FLOAT
2592*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	35	R16G16_UNORM
2593*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	36	R16G16_UINT
2594*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	37	R16G16_SNORM
2595*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	38	R16G16_SINT
2596*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	39	R32_TYPELESS
2597*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	40	D32_FLOAT
2598*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	41	R32_FLOAT
2599*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	42	R32_UINT
2600*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	43	R32_SINT
2601*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	44	R24G8_TYPELESS
2602*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	45	D24_UNORM_S8_UINT
2603*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	46	R24_UNORM_X8_TYPELESS
2604*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	47	X24_TYPELESS_G8_UINT
2605*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	48	R8G8_TYPELESS
2606*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	49	R8G8_UNORM
2607*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	50	R8G8_UINT
2608*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	51	R8G8_SNORM
2609*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	52	R8G8_SINT
2610*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	53	R16_TYPELESS
2611*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	54	R16_FLOAT
2612*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	55	D16_UNORM
2613*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	56	R16_UNORM
2614*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	57	R16_UINT
2615*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	58	R16_SNORM
2616*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	59	R16_SINT
2617*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	60	R8_TYPELESS
2618*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	61	R8_UNORM
2619*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	62	R8_UINT
2620*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	63	R8_SNORM
2621*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	64	R8_SINT
2622*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	65	A8_UNORM
2623*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	66	R1_UNORM
2624*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	67	R9G9B9E5_SHAREDEXP
2625*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	68	R8G8_B8G8_UNORM
2626*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	69	G8R8_G8B8_UNORM
2627*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	70	BC1_TYPELESS
2628*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	71	BC1_UNORM
2629*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	72	BC1_UNORM_SRGB
2630*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	73	BC2_TYPELESS
2631*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	74	BC2_UNORM
2632*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	75	BC2_UNORM_SRGB
2633*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	76	BC3_TYPELESS
2634*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	77	BC3_UNORM
2635*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	78	BC3_UNORM_SRGB
2636*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	79	BC4_TYPELESS
2637*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	80	BC4_UNORM
2638*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	81	BC4_SNORM
2639*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	82	BC5_TYPELESS
2640*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	83	BC5_UNORM
2641*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	84	BC5_SNORM
2642*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	85	B5G6R5_UNORM
2643*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	86	B5G5R5A1_UNORM
2644*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	87	B8G8R8A8_UNORM
2645*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	88	B8G8R8X8_UNORM
2646*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	89	R10G10B10_XR_BIAS_A2_UNORM
2647*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	90	B8G8R8A8_TYPELESS
2648*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	91	B8G8R8A8_UNORM_SRGB
2649*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	92	B8G8R8X8_TYPELESS
2650*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	93	B8G8R8X8_UNORM_SRGB
2651*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	94	BC6H_TYPELESS
2652*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	95	BC6H_UF16
2653*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	96	BC6H_SF16
2654*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	97	BC7_TYPELESS
2655*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	98	BC7_UNORM
2656*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	99	BC7_UNORM_SRGB
2657*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	100	AYUV
2658*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	101	Y410
2659*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	102	Y416
2660*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	103	NV12
2661*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	104	P010
2662*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	105	P016
2663*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	106	420_OPAQUE
2664*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	107	YUY2
2665*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	108	Y210
2666*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	109	Y216
2667*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	110	NV11
2668*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	111	AI44
2669*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	112	IA44
2670*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	113	P8
2671*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	114	A8P8
2672*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	115	B4G4R4A4_UNORM
2673*3b9cdfa3SAntonio Huete Jimenez
2674*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	116	XBOX_R10G10B10_7E3_A2_FLOAT
2675*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	117	XBOX_R10G10B10_6E4_A2_FLOAT
2676*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	118	XBOX_D16_UNORM_S8_UINT
2677*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	119	XBOX_R16_UNORM_X8_TYPELESS
2678*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	120	XBOX_X16_TYPELESS_G8_UINT
2679*3b9cdfa3SAntonio Huete Jimenez
2680*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	130	DXGI_FORMAT_P208
2681*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	131	DXGI_FORMAT_V208
2682*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	132	DXGI_FORMAT_V408
2683*3b9cdfa3SAntonio Huete Jimenez
2684*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	133	ASTC_4X4_TYPELESS
2685*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	134	ASTC_4X4_UNORM
2686*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	135	ASTC_4X4_UNORM_SRGB
2687*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	137	ASTC_5X4_TYPELESS
2688*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	138	ASTC_5X4_UNORM
2689*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	139	ASTC_5X4_UNORM_SRGB
2690*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	141	ASTC_5X5_TYPELESS
2691*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	142	ASTC_5X5_UNORM
2692*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	143	ASTC_5X5_UNORM_SRGB
2693*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	145	ASTC_6X5_TYPELESS
2694*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	146	ASTC_6X5_UNORM
2695*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	147	ASTC_6X5_UNORM_SRGB
2696*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	149	ASTC_6X6_TYPELESS
2697*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	150	ASTC_6X6_UNORM
2698*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	151	ASTC_6X6_UNORM_SRGB
2699*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	153	ASTC_8X5_TYPELESS
2700*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	154	ASTC_8X5_UNORM
2701*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	155	ASTC_8X5_UNORM_SRGB
2702*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	157	ASTC_8X6_TYPELESS
2703*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	158	ASTC_8X6_UNORM
2704*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	159	ASTC_8X6_UNORM_SRGB
2705*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	161	ASTC_8X8_TYPELESS
2706*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	162	ASTC_8X8_UNORM
2707*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	163	ASTC_8X8_UNORM_SRGB
2708*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	165	ASTC_10X5_TYPELESS
2709*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	166	ASTC_10X5_UNORM
2710*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	167	ASTC_10X5_UNORM_SRGB
2711*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	169	ASTC_10X6_TYPELESS
2712*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	170	ASTC_10X6_UNORM
2713*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	171	ASTC_10X6_UNORM_SRGB
2714*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	173	ASTC_10X8_TYPELESS
2715*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	174	ASTC_10X8_UNORM
2716*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	175	ASTC_10X8_UNORM_SRGB
2717*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	177	ASTC_10X10_TYPELESS
2718*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	178	ASTC_10X10_UNORM
2719*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	179	ASTC_10X10_UNORM_SRGB
2720*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	181	ASTC_12X10_TYPELESS
2721*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	182	ASTC_12X10_UNORM
2722*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	183	ASTC_12X10_UNORM_SRGB
2723*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	185	ASTC_12X12_TYPELESS
2724*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	186	ASTC_12X12_UNORM
2725*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	187	ASTC_12X12_UNORM_SRGB
2726*3b9cdfa3SAntonio Huete Jimenez
2727*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	190	XBOX_R10G10B10_SNORM_A2_UNORM
2728*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	189	XBOX_R4G4_UNORM
2729*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0xFFFFFFFF	DXGI_FORMAT_FORCE_UINT
2730*3b9cdfa3SAntonio Huete Jimenez
27316fca56fbSSascha Wildner# Type: Microsoft DirectDraw Surface (common data)
27326fca56fbSSascha Wildner# URL:	https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp
27336fca56fbSSascha Wildner# From: Morten Hustveit <morten@debian.org>
27346fca56fbSSascha Wildner# Updated by: David Korth <gerbilsoft@gerbilsoft.com>
27356fca56fbSSascha Wildner0	name	ms-directdraw-surface
27366fca56fbSSascha Wildner>0x10	ulelong	x			%u x
27376fca56fbSSascha Wildner>0x0C	ulelong	x			%u
27386fca56fbSSascha Wildner# Color depth.
27396fca56fbSSascha Wildner>0x58	ulelong	>0			\b, %u-bit color
27406fca56fbSSascha Wildner# Determine the pixel format.
27416fca56fbSSascha Wildner>0x50	ulelong&0x4	4
27426fca56fbSSascha Wildner# FIXME: Handle DX10 and XBOX formats.
2743*3b9cdfa3SAntonio Huete Jimenez>>0x54	string	DX10
2744*3b9cdfa3SAntonio Huete Jimenez>>>0x80	use	ms-directdraw-dx10
2745*3b9cdfa3SAntonio Huete Jimenez>>0x54	string	!DX10			\b, compressed using %.4s
27466fca56fbSSascha Wildner>0x50	ulelong&0x2	0x2		\b, alpha only
27476fca56fbSSascha Wildner>0x50	ulelong&0x200	0x200		\b, YUV
27486fca56fbSSascha Wildner>0x50	ulelong&0x20000	0x20000		\b, luminance
27496fca56fbSSascha Wildner# RGB pixel format
27506fca56fbSSascha Wildner>0x50	ulelong&0x40	0x40
27516fca56fbSSascha Wildner
27526fca56fbSSascha Wildner# Determine the RGB format using the color masks.
27536fca56fbSSascha Wildner# ulequad order: 0xGGGGGGGGRRRRRRRR, 0xAAAAAAAABBBBBBBB
27546fca56fbSSascha Wildner
27556fca56fbSSascha Wildner>>0x58		ulelong	16
27566fca56fbSSascha Wildner
27576fca56fbSSascha Wildner# NOTE: 15-bit color formats usually have 16-bit listed as the color depth.
27586fca56fbSSascha Wildner>>>0x5C		ulequad	0x000003E000007C00
27596fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000000000001F	\b, RGB555
27606fca56fbSSascha Wildner>>>0x5C		ulequad	0x000003E000001F00
27616fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000000000007C	\b, BGR555
27626fca56fbSSascha Wildner
27636fca56fbSSascha Wildner>>>0x5C		ulequad	0x000007E00000F800
27646fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000000000001F	\b, RGB565
27656fca56fbSSascha Wildner>>>0x5C		ulequad	0x000007E000001F00
27666fca56fbSSascha Wildner>>>>0x64	ulequad 0x00000000000000F8	\b, BGR565
27676fca56fbSSascha Wildner
27686fca56fbSSascha Wildner>>>0x5C		ulequad	0x000000F000000F00
27696fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000F0000000000F	\b, ARGB4444
27706fca56fbSSascha Wildner>>>0x5C		ulequad	0x000000F00000000F
27716fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000F00000000F00	\b, ABGR4444
27726fca56fbSSascha Wildner
27736fca56fbSSascha Wildner>>>0x5C		ulequad	0x00000F000000F000
27746fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000000F000000F0	\b, RGBA4444
27756fca56fbSSascha Wildner>>>0x5C		ulequad	0x00000F00000000F0
27766fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000000F0000F000	\b, BGRA4444
27776fca56fbSSascha Wildner
27786fca56fbSSascha Wildner>>>0x5C		ulequad	0x000000F000000F00
27796fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000000000000F	\b, xRGB4444
27806fca56fbSSascha Wildner>>>0x5C		ulequad	0x000000F00000000F
27816fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000000000000F00	\b, xBGR4444
27826fca56fbSSascha Wildner
27836fca56fbSSascha Wildner>>>0x5C		ulequad	0x00000F000000F000
27846fca56fbSSascha Wildner>>>>0x64	ulequad 0x00000000000000F0	\b, RGBx4444
27856fca56fbSSascha Wildner>>>0x5C		ulequad	0x00000F00000000F0
27866fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000000000F000	\b, BGRx4444
27876fca56fbSSascha Wildner
27886fca56fbSSascha Wildner>>>0x5C		ulequad	0x000003E000007C00
27896fca56fbSSascha Wildner>>>>0x64	ulequad 0x000080000000001F	\b, ARGB1555
27906fca56fbSSascha Wildner>>>0x5C		ulequad	0x000003E000001F00
27916fca56fbSSascha Wildner>>>>0x64	ulequad 0x000080000000007C	\b, ABGR1555
27926fca56fbSSascha Wildner>>>0x5C		ulequad	0x000007C00000F800
27936fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000010000003E	\b, RGBA5551
27946fca56fbSSascha Wildner>>>0x5C		ulequad	0x000007C00000003E
27956fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000010000F800	\b, BGRA5551
27966fca56fbSSascha Wildner
27976fca56fbSSascha Wildner>>88		ulelong 24
27986fca56fbSSascha Wildner>>>0x5C		ulequad	0x0000FF0000FF0000
27996fca56fbSSascha Wildner>>>>0x64	ulequad 0x00000000000000FF	\b, RGB888
28006fca56fbSSascha Wildner>>>0x5C		ulequad	0x0000FF00000000FF
28016fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000000000FF0000	\b, BGR888
28026fca56fbSSascha Wildner
28036fca56fbSSascha Wildner>>88		ulelong 32
28046fca56fbSSascha Wildner>>>0x5C		ulequad	0x0000FF0000FF0000
28056fca56fbSSascha Wildner>>>>0x64	ulequad 0xFF000000000000FF	\b, ARGB8888
28066fca56fbSSascha Wildner>>>0x5C		ulequad	0x0000FF00000000FF
28076fca56fbSSascha Wildner>>>>0x64	ulequad 0xFF00000000FF0000	\b, ABGR8888
28086fca56fbSSascha Wildner
28096fca56fbSSascha Wildner>>>0x5C		ulequad	0x00FF0000FF000000
28106fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000FF0000FF00	\b, RGBA8888
28116fca56fbSSascha Wildner>>>0x5C		ulequad	0x00FF00000000FF00
28126fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000FFFF000000	\b, BGBA8888
28136fca56fbSSascha Wildner
28146fca56fbSSascha Wildner>>>0x5C		ulequad	0x0000FF0000FF0000
28156fca56fbSSascha Wildner>>>>0x64	ulequad 0x00000000000000FF	\b, xRGB8888
28166fca56fbSSascha Wildner>>>0x5C		ulequad	0x0000FF00000000FF
28176fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000000000FF0000	\b, xBGR8888
28186fca56fbSSascha Wildner
28196fca56fbSSascha Wildner>>>0x5C		ulequad	0x00FF0000FF000000
28206fca56fbSSascha Wildner>>>>0x64	ulequad 0x000000000000FF00	\b, RGBx8888
28216fca56fbSSascha Wildner>>>0x5C		ulequad	0x00FF00000000FF00
28226fca56fbSSascha Wildner>>>>0x64	ulequad 0x00000000FF000000	\b, BGBx8888
28236fca56fbSSascha Wildner
28246fca56fbSSascha Wildner# Less common 32-bit color formats.
28256fca56fbSSascha Wildner>>>0x5C		ulequad	0xFFFF00000000FFFF
28266fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000000000000000	\b, G16R16
28276fca56fbSSascha Wildner>>>0x5C		ulequad	0x0000FFFFFFFF0000
28286fca56fbSSascha Wildner>>>>0x64	ulequad 0x0000000000000000	\b, R16G16
28296fca56fbSSascha Wildner
28306fca56fbSSascha Wildner>>>0x5C		ulequad	0x000FFC003FF00000
28316fca56fbSSascha Wildner>>>>0x64	ulequad 0xC0000000000003FF	\b, A2R10G10B10
28326fca56fbSSascha Wildner>>>0x5C		ulequad	0x000FFC00000003FF
28336fca56fbSSascha Wildner>>>>0x64	ulequad 0xC00000003FF00000	\b, A2B10G10R10
28346fca56fbSSascha Wildner
28356fca56fbSSascha Wildner# Type: Microsoft DirectDraw Surface
28366fca56fbSSascha Wildner# URL:	https://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/graphics/reference/DDSFileReference/ddsfileformat.asp
28376fca56fbSSascha Wildner# From: Morten Hustveit <morten@debian.org>
28386fca56fbSSascha Wildner# Updated by: David Korth <gerbilsoft@gerbilsoft.com>
28396fca56fbSSascha Wildner0	string/b	DDS\040\174\000\000\000 Microsoft DirectDraw Surface (DDS):
28406fca56fbSSascha Wildner>0	use	ms-directdraw-surface
28416fca56fbSSascha Wildner
2842c30bd091SSascha Wildner# Type: Sega PVR image.
2843c30bd091SSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
2844c30bd091SSascha Wildner# References:
28456fca56fbSSascha Wildner# - https://fabiensanglard.net/Mykaruga/tools/segaPVRFormat.txt
2846c30bd091SSascha Wildner# - https://github.com/yazgoo/pvrx2png
2847c30bd091SSascha Wildner# - https://github.com/nickworonekin/puyotools
2848c30bd091SSascha Wildner
2849c30bd091SSascha Wildner# Sega PVR header.
2850c30bd091SSascha Wildner0	name	sega-pvr-image-header
2851*3b9cdfa3SAntonio Huete Jimenez>0x0C	uleshort	x	%u x
2852*3b9cdfa3SAntonio Huete Jimenez>0x0E	uleshort	x	%u
2853c30bd091SSascha Wildner# Image format.
2854*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte	0	\b, ARGB1555
2855*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte	1	\b, RGB565
2856*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte	2	\b, ARGB4444
2857*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte	3	\b, YUV442
2858*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte	4	\b, Bump
2859*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte	5	\b, 4bpp
2860*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte	6	\b, 8bpp
2861c30bd091SSascha Wildner# Image data type.
2862*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x01	\b, square twiddled
2863*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x02	\b, square twiddled & mipmap
2864*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x03	\b, VQ
2865*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x04	\b, VQ & mipmap
2866*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x05	\b, 8-bit CLUT twiddled
2867*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x06	\b, 4-bit CLUT twiddled
2868*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x07	\b, 8-bit direct twiddled
2869*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x08	\b, 4-bit direct twiddled
2870*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x09	\b, rectangle
2871*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x0B	\b, rectangular stride
2872*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x0D	\b, rectangular twiddled
2873*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x10	\b, small VQ
2874*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x11	\b, small VQ & mipmap
2875*3b9cdfa3SAntonio Huete Jimenez>0x09	ubyte	0x12	\b, square twiddled & mipmap
2876c30bd091SSascha Wildner
2877c30bd091SSascha Wildner# Sega PVR image.
2878c30bd091SSascha Wildner0	string	PVRT
2879c30bd091SSascha Wildner>0x10	string	DDS\040\174\000\000\000 Sega PVR (Xbox) image:
28806fca56fbSSascha Wildner>>0x20	use	ms-directdraw-surface
2881*3b9cdfa3SAntonio Huete Jimenez>0x10	ubelong	!0x44445320		Sega PVR image:
2882c30bd091SSascha Wildner>>0	use	sega-pvr-image-header
2883c30bd091SSascha Wildner
2884c30bd091SSascha Wildner# Sega PVR image with GBIX.
2885c30bd091SSascha Wildner0	string	GBIX
2886c30bd091SSascha Wildner>0x10	string	PVRT
2887c30bd091SSascha Wildner>>0x10	string	DDS\040\174\000\000\000 Sega PVR (Xbox) image:
28886fca56fbSSascha Wildner>>>0x20	use	ms-directdraw-surface
2889*3b9cdfa3SAntonio Huete Jimenez>>0x10	ubelong	!0x44445320		Sega PVR image:
2890c30bd091SSascha Wildner>>>0x10	use	sega-pvr-image-header
2891*3b9cdfa3SAntonio Huete Jimenez>>0x08	ulelong	x	\b, global index = %u
2892c30bd091SSascha Wildner
2893c30bd091SSascha Wildner# Sega GVR header.
2894c30bd091SSascha Wildner0	name	sega-gvr-image-header
2895*3b9cdfa3SAntonio Huete Jimenez>0x0C	ubeshort	x	%u x
2896*3b9cdfa3SAntonio Huete Jimenez>0x0E	ubeshort	x	%u
2897c30bd091SSascha Wildner# Image data format.
2898*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	0	\b, I4
2899*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	1	\b, I8
2900*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	2	\b, IA4
2901*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	3	\b, IA8
2902*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	4	\b, RGB565
2903*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	5	\b, RGB5A3
2904*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	6	\b, ARGB8888
2905*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	8	\b, CI4
2906*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	9	\b, CI8
2907*3b9cdfa3SAntonio Huete Jimenez>0x0B	ubyte	14	\b, DXT1
2908c30bd091SSascha Wildner
2909c30bd091SSascha Wildner# Sega GVR image.
2910c30bd091SSascha Wildner0	string	GVRT	Sega GVR image:
2911c30bd091SSascha Wildner>0x10	use	sega-gvr-image-header
2912c30bd091SSascha Wildner
2913c30bd091SSascha Wildner# Sega GVR image with GBIX.
2914c30bd091SSascha Wildner0	string	GBIX
2915c30bd091SSascha Wildner>0x10	string	GVRT	Sega GVR image:
2916c30bd091SSascha Wildner>>0x10	use	sega-gvr-image-header
2917*3b9cdfa3SAntonio Huete Jimenez>>0x08	ubelong	x	\b, global index = %u
2918c30bd091SSascha Wildner
29196fca56fbSSascha Wildner# Sega GVR image with GCIX. (Wii)
29206fca56fbSSascha Wildner0	string	GCIX
29216fca56fbSSascha Wildner>0x10	string	GVRT	Sega GVR image:
29226fca56fbSSascha Wildner>>0x10	use	sega-gvr-image-header
2923*3b9cdfa3SAntonio Huete Jimenez>>0x08	ubelong	x	\b, global index = %u
29246fca56fbSSascha Wildner
2925c30bd091SSascha Wildner# Light Field Picture
2926c30bd091SSascha Wildner# Documentation: http://optics.miloush.net/lytro/TheFileFormat.aspx
2927c30bd091SSascha Wildner# Typical file extensions: .lfp .lfr .lfx
2928c30bd091SSascha Wildner
2929*3b9cdfa3SAntonio Huete Jimenez0	ubelong	0x894C4650
2930*3b9cdfa3SAntonio Huete Jimenez>4	ubelong	0x0D0A1A0A
2931*3b9cdfa3SAntonio Huete Jimenez>12	ubelong	0x00000000	Lytro Light Field Picture
2932*3b9cdfa3SAntonio Huete Jimenez>8	ubelong	x		\b, version %d
29336fca56fbSSascha Wildner
29346fca56fbSSascha Wildner# Type: Vision Research Phantom CINE Format
29356fca56fbSSascha Wildner# URL: https://www.phantomhighspeed.com/
29366fca56fbSSascha Wildner# URL2: http://phantomhighspeed.force.com/vriknowledge/servlet/fileField?id=0BEU0000000Cfyk
29376fca56fbSSascha Wildner# From: Harry Mallon <hjmallon at gmail.com>
29386fca56fbSSascha Wildner#
29396fca56fbSSascha Wildner# This has a short "CI" code but the 44 is the size of the struct which is
29406fca56fbSSascha Wildner# stable
29416fca56fbSSascha Wildner0	string	CI
2942*3b9cdfa3SAntonio Huete Jimenez>2	uleshort 44		Vision Research CINE Video,
2943*3b9cdfa3SAntonio Huete Jimenez>>4	uleshort	0		Grayscale,
2944*3b9cdfa3SAntonio Huete Jimenez>>4	uleshort 1		JPEG Compressed,
2945*3b9cdfa3SAntonio Huete Jimenez>>4	uleshort 2		RAW,
2946*3b9cdfa3SAntonio Huete Jimenez>>6	uleshort x		version %d,
2947*3b9cdfa3SAntonio Huete Jimenez>>20	ulelong	x		%d frames,
2948*3b9cdfa3SAntonio Huete Jimenez>>48	ulelong	x		%dx
2949*3b9cdfa3SAntonio Huete Jimenez>>52	ulelong	x		\b%d
29506fca56fbSSascha Wildner
29516fca56fbSSascha Wildner# Type: ARRI Raw Image
29526fca56fbSSascha Wildner# Info: SMPTE RDD30:2014
29536fca56fbSSascha Wildner# From: Harry Mallon <hjmallon at gmail.com>
29546fca56fbSSascha Wildner0	string ARRI		ARRI ARI image data,
2955*3b9cdfa3SAntonio Huete Jimenez>4	ulelong 0x78563412	little-endian,
2956*3b9cdfa3SAntonio Huete Jimenez>4 	ulelong 0x12345678	big-endian,
2957*3b9cdfa3SAntonio Huete Jimenez>12	ulelong x		version %d,
2958*3b9cdfa3SAntonio Huete Jimenez>20	ulelong x 		%dx
2959*3b9cdfa3SAntonio Huete Jimenez>24	ulelong x		\b%d
29606fca56fbSSascha Wildner
29616fca56fbSSascha Wildner# Type: Khronos KTX texture.
29626fca56fbSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
2963c990e5baSDaniel Fojt# Reference: https://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/
29646fca56fbSSascha Wildner
29656fca56fbSSascha Wildner# glEnum decoding.
29666fca56fbSSascha Wildner# NOTE: Only the most common formats are listed here.
29676fca56fbSSascha Wildner0	name	khronos-ktx-glEnum
2968*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x1907	\b, RGB
2969*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x1908	\b, RGBA
2970*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x1909	\b, LUMINANCE
2971*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x190A	\b, LUMINANCE_ALPHA
2972*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x80E1	\b, BGR
2973*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x80E2	\b, BGRA
2974*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83A0	\b, RGB_S3TC
2975*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83A1	\b, RGB4_S3TC
2976*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83A2	\b, RGBA_S3TC
2977*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83A3	\b, RGBA4_S3TC
2978*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83A4	\b, RGBA_DXT5_S3TC
2979*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83A5	\b, RGBA4_DXT5_S3TC
2980*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83F0	\b, COMPRESSED_RGB_S3TC_DXT1_EXT
2981*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83F1	\b, COMPRESSED_RGBA_S3TC_DXT1_EXT
2982*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83F2	\b, COMPRESSED_RGBA_S3TC_DXT3_EXT
2983*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x83F3	\b, COMPRESSED_RGBA_S3TC_DXT5_EXT
2984*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x8D64	\b, ETC1_RGB8_OES
2985*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9270	\b, COMPRESSED_R11_EAC
2986*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9271	\b, COMPRESSED_SIGNED_R11_EAC
2987*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9272	\b, COMPRESSED_RG11_EAC
2988*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9273	\b, COMPRESSED_SIGNED_RG11_EAC
2989*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9274	\b, COMPRESSED_RGB8_ETC2
2990*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9275	\b, COMPRESSED_SRGB8_ETC2
2991*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9276	\b, COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
2992*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9277	\b, COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
2993*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9278	\b, COMPRESSED_RGBA2_ETC2_EAC
2994*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x9279	\b, COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
2995*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B0	\b, COMPRESSED_RGBA_ASTC_4x4_KHR
2996*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B1	\b, COMPRESSED_RGBA_ASTC_5x4_KHR
2997*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B2	\b, COMPRESSED_RGBA_ASTC_5x5_KHR
2998*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B3	\b, COMPRESSED_RGBA_ASTC_6x5_KHR
2999*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B4	\b, COMPRESSED_RGBA_ASTC_6x6_KHR
3000*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B5	\b, COMPRESSED_RGBA_ASTC_8x5_KHR
3001*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B6	\b, COMPRESSED_RGBA_ASTC_8x6_KHR
3002*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B7	\b, COMPRESSED_RGBA_ASTC_8x8_KHR
3003*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B8	\b, COMPRESSED_RGBA_ASTC_10x5_KHR
3004*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93B9	\b, COMPRESSED_RGBA_ASTC_10x6_KHR
3005*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93BA	\b, COMPRESSED_RGBA_ASTC_10x8_KHR
3006*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93BB	\b, COMPRESSED_RGBA_ASTC_10x10_KHR
3007*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93BC	\b, COMPRESSED_RGBA_ASTC_12x10_KHR
3008*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93BD	\b, COMPRESSED_RGBA_ASTC_12x12_KHR
3009*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D0	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
3010*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D1	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR
3011*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D2	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR
3012*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D3	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR
3013*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D4	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR
3014*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D5	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR
3015*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D6	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR
3016*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D7	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
3017*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D8	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR
3018*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93D9	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
3019*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93DA	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR
3020*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93DB	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR
3021*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93DC	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR
3022*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0x93DD	\b, COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
30236fca56fbSSascha Wildner
30246fca56fbSSascha Wildner# Endian-specific KTX header.
30256fca56fbSSascha Wildner# TODO: glType (all textures I've seen so far are GL_UNSIGNED_BYTE)
30266fca56fbSSascha Wildner0	name	khronos-ktx-endian-header
3027*3b9cdfa3SAntonio Huete Jimenez>20	ulelong	x	\b, %u
3028*3b9cdfa3SAntonio Huete Jimenez>24	ulelong	>1	x %u
3029*3b9cdfa3SAntonio Huete Jimenez>28	ulelong	>1	x %u
3030*3b9cdfa3SAntonio Huete Jimenez>8	ulelong	>0
30316fca56fbSSascha Wildner>>8	use	khronos-ktx-glEnum
3032*3b9cdfa3SAntonio Huete Jimenez>8	ulelong	0
30336fca56fbSSascha Wildner>>12	use	khronos-ktx-glEnum
30346fca56fbSSascha Wildner
30356fca56fbSSascha Wildner# Main KTX header.
30366fca56fbSSascha Wildner# Determine endianness, then check the rest of the header.
30376fca56fbSSascha Wildner0	string	\xABKTX\ 11\xBB\r\n\x1A\n	Khronos KTX texture
3038*3b9cdfa3SAntonio Huete Jimenez>12	ulelong	0x04030201			(little-endian)
30396fca56fbSSascha Wildner>>16	use	khronos-ktx-endian-header
3040*3b9cdfa3SAntonio Huete Jimenez>12	ubelong	0x04030201			(big-endian)
30416fca56fbSSascha Wildner>>16	use	\^khronos-ktx-endian-header
30426fca56fbSSascha Wildner
3043c990e5baSDaniel Fojt# Type: Khronos KTX2 texture.
3044c990e5baSDaniel Fojt# From: David Korth <gerbilsoft@gerbilsoft.com>
3045c990e5baSDaniel Fojt# Based on draft19.
3046c990e5baSDaniel Fojt# Reference: http://github.khronos.org/KTX-Specification/
3047c990e5baSDaniel Fojt
3048c990e5baSDaniel Fojt# Supercompression enum.
3049c990e5baSDaniel Fojt0	name	khronos-ktx2-supercompression
3050*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1	BasisLZ
3051*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	2	Zstandard
3052*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	3	ZLIB
3053c990e5baSDaniel Fojt
3054c990e5baSDaniel Fojt# Vulkan format identifier.
3055c990e5baSDaniel Fojt# NOTE: Formats prohibited from KTX2 are commented out.
3056c990e5baSDaniel Fojt0	name	khronos-ktx2-vkFormat
3057*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0	UNDEFINED
3058*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1	R4G4_UNORM_PACK8
3059*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	2	R4G4B4A4_UNORM_PACK16
3060*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	3	B4G4R4A4_UNORM_PACK16
3061*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	4	R5G6B5_UNORM_PACK16
3062*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	5	B5G6R5_UNORM_PACK16
3063*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	6	R5G5B5A1_UNORM_PACK16
3064*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	7	B5G5R5A1_UNORM_PACK16
3065*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	8	A1R5G5B5_UNORM_PACK16
3066*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	9	R8_UNORM
3067*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	10	R8_SNORM
3068*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	11	R8_USCALED
3069*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	12	R8_SSCALED
3070*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	13	R8_UINT
3071*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	14	R8_SINT
3072*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	15	R8_SRGB
3073*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	16	R8G8_UNORM
3074*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	17	R8G8_SNORM
3075*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	18	R8G8_USCALED
3076*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	19	R8G8_SSCALED
3077*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	20	R8G8_UINT
3078*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	21	R8G8_SINT
3079*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	22	R8G8_SRGB
3080*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	23	R8G8B8_UNORM
3081*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	24	R8G8B8_SNORM
3082*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	25	R8G8B8_USCALED
3083*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	26	R8G8B8_SSCALED
3084*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	27	R8G8B8_UINT
3085*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	28	R8G8B8_SINT
3086*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	29	R8G8B8_SRGB
3087*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	30	B8G8R8_UNORM
3088*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	31	B8G8R8_SNORM
3089*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	32	B8G8R8_USCALED
3090*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	33	B8G8R8_SSCALED
3091*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	34	B8G8R8_UINT
3092*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	35	B8G8R8_SINT
3093*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	36	B8G8R8_SRGB
3094*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	37	R8G8B8A8_UNORM
3095*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	38	R8G8B8A8_SNORM
3096*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	39	R8G8B8A8_USCALED
3097*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	40	R8G8B8A8_SSCALED
3098*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	41	R8G8B8A8_UINT
3099*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	42	R8G8B8A8_SINT
3100*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	43	R8G8B8A8_SRGB
3101*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	44	B8G8R8A8_UNORM
3102*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	45	B8G8R8A8_SNORM
3103*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	46	B8G8R8A8_USCALED
3104*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	47	B8G8R8A8_SSCALED
3105*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	48	B8G8R8A8_UINT
3106*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	49	B8G8R8A8_SINT
3107*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	50	B8G8R8A8_SRGB
3108*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	51	A8B8G8R8_UNORM_PACK32
3109*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	52	A8B8G8R8_SNORM_PACK32
3110*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	53	A8B8G8R8_USCALED_PACK32
3111*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	54	A8B8G8R8_SSCALED_PACK32
3112*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	55	A8B8G8R8_UINT_PACK32
3113*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	56	A8B8G8R8_SINT_PACK32
3114*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	57	A8B8G8R8_SRGB_PACK32
3115*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	58	A2R10G10B10_UNORM_PACK32
3116*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	59	A2R10G10B10_SNORM_PACK32
3117*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	60	A2R10G10B10_USCALED_PACK32
3118*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	61	A2R10G10B10_SSCALED_PACK32
3119*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	62	A2R10G10B10_UINT_PACK32
3120*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	63	A2R10G10B10_SINT_PACK32
3121*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	64	A2B10G10R10_UNORM_PACK32
3122*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	65	A2B10G10R10_SNORM_PACK32
3123*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	66	A2B10G10R10_USCALED_PACK32
3124*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	67	A2B10G10R10_SSCALED_PACK32
3125*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	68	A2B10G10R10_UINT_PACK32
3126*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	69	A2B10G10R10_SINT_PACK32
3127*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	70	R16_UNORM
3128*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	71	R16_SNORM
3129*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	72	R16_USCALED
3130*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	73	R16_SSCALED
3131*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	74	R16_UINT
3132*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	75	R16_SINT
3133*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	76	R16_SFLOAT
3134*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	77	R16G16_UNORM
3135*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	78	R16G16_SNORM
3136*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	79	R16G16_USCALED
3137*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	80	R16G16_SSCALED
3138*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	81	R16G16_UINT
3139*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	82	R16G16_SINT
3140*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	83	R16G16_SFLOAT
3141*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	84	R16G16B16_UNORM
3142*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	85	R16G16B16_SNORM
3143*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	86	R16G16B16_USCALED
3144*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	87	R16G16B16_SSCALED
3145*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	88	R16G16B16_UINT
3146*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	89	R16G16B16_SINT
3147*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	90	R16G16B16_SFLOAT
3148*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	91	R16G16B16A16_UNORM
3149*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	92	R16G16B16A16_SNORM
3150*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	93	R16G16B16A16_USCALED
3151*3b9cdfa3SAntonio Huete Jimenez#>0	ulelong	94	R16G16B16A16_SSCALED
3152*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	95	R16G16B16A16_UINT
3153*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	96	R16G16B16A16_SINT
3154*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	97	R16G16B16A16_SFLOAT
3155*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	98	R32_UINT
3156*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	99	R32_SINT
3157*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	100	R32_SFLOAT
3158*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	101	R32G32_UINT
3159*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	102	R32G32_SINT
3160*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	103	R32G32_SFLOAT
3161*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	104	R32G32B32_UINT
3162*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	105	R32G32B32_SINT
3163*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	106	R32G32B32_SFLOAT
3164*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	107	R32G32B32A32_UINT
3165*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	108	R32G32B32A32_SINT
3166*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	109	R32G32B32A32_SFLOAT
3167*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	110	R64_UINT
3168*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	111	R64_SINT
3169*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	112	R64_SFLOAT
3170*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	113	R64G64_UINT
3171*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	114	R64G64_SINT
3172*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	115	R64G64_SFLOAT
3173*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	116	R64G64B64_UINT
3174*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	117	R64G64B64_SINT
3175*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	118	R64G64B64_SFLOAT
3176*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	119	R64G64B64A64_UINT
3177*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	120	R64G64B64A64_SINT
3178*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	121	R64G64B64A64_SFLOAT
3179*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	122	B10G11R11_UFLOAT_PACK32
3180*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	123	E5B9G9R9_UFLOAT_PACK32
3181*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	124	D16_UNORM
3182*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	125	X8_D24_UNORM_PACK32
3183*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	126	D32_SFLOAT
3184*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	127	S8_UINT
3185*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	128	D16_UNORM_S8_UINT
3186*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	129	D24_UNORM_S8_UINT
3187*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	130	D32_SFLOAT_S8_UINT
3188c990e5baSDaniel Fojt
3189*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	131	BC1_RGB_UNORM_BLOCK
3190*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	132	BC1_RGB_SRGB_BLOCK
3191*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	133	BC1_RGBA_UNORM_BLOCK
3192*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	134	BC1_RGBA_SRGB_BLOCK
3193*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	135	BC2_UNORM_BLOCK
3194*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	136	BC2_SRGB_BLOCK
3195*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	137	BC3_UNORM_BLOCK
3196*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	138	BC3_SRGB_BLOCK
3197*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	139	BC4_UNORM_BLOCK
3198*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	140	BC4_SNORM_BLOCK
3199*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	141	BC5_UNORM_BLOCK
3200*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	142	BC5_SNORM_BLOCK
3201*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	143	BC6H_UFLOAT_BLOCK
3202*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	144	BC6H_SFLOAT_BLOCK
3203*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	145	BC7_UNORM_BLOCK
3204*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	146	BC7_SRGB_BLOCK
3205c990e5baSDaniel Fojt
3206*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	147	ETC2_R8G8B8_UNORM_BLOCK
3207*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	148	ETC2_R8G8B8_SRGB_BLOCK
3208*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	149	ETC2_R8G8B8A1_UNORM_BLOCK
3209*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	150	ETC2_R8G8B8A1_SRGB_BLOCK
3210*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	151	ETC2_R8G8B8A8_UNORM_BLOCK
3211*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	152	ETC2_R8G8B8A8_SRGB_BLOCK
3212c990e5baSDaniel Fojt
3213*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	153	EAC_R11_UNORM_BLOCK
3214*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	154	EAC_R11_SNORM_BLOCK
3215*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	155	EAC_R11G11_UNORM_BLOCK
3216*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	156	EAC_R11G11_SNORM_BLOCK
3217c990e5baSDaniel Fojt
3218*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	157	ASTC_4x4_UNORM_BLOCK
3219*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	158	ASTC_4x4_SRGB_BLOCK
3220*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	159	ASTC_5x4_UNORM_BLOCK
3221*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	160	ASTC_5x4_SRGB_BLOCK
3222*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	161	ASTC_5x5_UNORM_BLOCK
3223*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	162	ASTC_5x5_SRGB_BLOCK
3224*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	163	ASTC_6x5_UNORM_BLOCK
3225*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	164	ASTC_6x5_SRGB_BLOCK
3226*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	165	ASTC_6x6_UNORM_BLOCK
3227*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	166	ASTC_6x6_SRGB_BLOCK
3228*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	167	ASTC_8x5_UNORM_BLOCK
3229*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	168	ASTC_8x5_SRGB_BLOCK
3230*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	169	ASTC_8x6_UNORM_BLOCK
3231*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	170	ASTC_8x6_SRGB_BLOCK
3232*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	171	ASTC_8x8_UNORM_BLOCK
3233*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	172	ASTC_8x8_SRGB_BLOCK
3234*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	173	ASTC_10x5_UNORM_BLOCK
3235*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	174	ASTC_10x5_SRGB_BLOCK
3236*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	175	ASTC_10x6_UNORM_BLOCK
3237*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	176	ASTC_10x6_SRGB_BLOCK
3238*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	177	ASTC_10x8_UNORM_BLOCK
3239*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	178	ASTC_10x8_SRGB_BLOCK
3240*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	179	ASTC_10x10_UNORM_BLOCK
3241*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	180	ASTC_10x10_SRGB_BLOCK
3242*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	181	ASTC_12x10_UNORM_BLOCK
3243*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	182	ASTC_12x10_SRGB_BLOCK
3244*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	183	ASTC_12x12_UNORM_BLOCK
3245*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	184	ASTC_12x12_SRGB_BLOCK
3246c990e5baSDaniel Fojt
3247*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156000	G8B8G8R8_422_UNORM
3248*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156001	B8G8R8G8_422_UNORM
3249*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156002	G8_B8_R8_3PLANE_420_UNORM
3250*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156003	G8_B8R8_2PLANE_420_UNORM
3251*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156004	G8_B8_R8_3PLANE_422_UNORM
3252*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156005	G8_B8R8_2PLANE_422_UNORM
3253*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156006	G8_B8_R8_3PLANE_444_UNORM
3254*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156007	R10X6_UNORM_PACK16
3255*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156008	R10X6G10X6_UNORM_2PACK16
3256*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156009	R10X6G10X6B10X6A10X6_UNORM_4PACK16
3257*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156010	G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
3258*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156011	B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
3259*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156012	G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
3260*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156013	G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
3261*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156014	G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
3262*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156015	G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
3263*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156016	G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
3264*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156017	R12X4_UNORM_PACK16
3265*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156018	R12X4G12X4_UNORM_2PACK16
3266*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156019	R12X4G12X4B12X4A12X4_UNORM_4PACK16
3267*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156020	G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
3268*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156021	B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
3269*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156022	G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
3270*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156023	G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
3271*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156024	G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
3272*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156025	G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
3273*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156026	G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
3274*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156027	G16B16G16R16_422_UNORM
3275*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156028	B16G16R16G16_422_UNORM
3276*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156029	G16_B16_R16_3PLANE_420_UNORM
3277*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156030	G16_B16R16_2PLANE_420_UNORM
3278*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156031	G16_B16_R16_3PLANE_422_UNORM
3279*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156032	G16_B16R16_2PLANE_422_UNORM
3280*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000156033	G16_B16_R16_3PLANE_444_UNORM
3281c990e5baSDaniel Fojt
3282*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000054000	PVRTC1_2BPP_UNORM_BLOCK_IMG
3283*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000054001	PVRTC1_4BPP_UNORM_BLOCK_IMG
3284*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000054002	PVRTC2_2BPP_UNORM_BLOCK_IMG
3285*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000054003	PVRTC2_4BPP_UNORM_BLOCK_IMG
3286*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000054004	PVRTC1_2BPP_SRGB_BLOCK_IMG
3287*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000054005	PVRTC1_4BPP_SRGB_BLOCK_IMG
3288*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000054006	PVRTC2_2BPP_SRGB_BLOCK_IMG
3289*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000054007	PVRTC2_4BPP_SRGB_BLOCK_IMG
3290c990e5baSDaniel Fojt
3291*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066000	ASTC_4x4_SFLOAT_BLOCK_EXT
3292*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066001	ASTC_5x4_SFLOAT_BLOCK_EXT
3293*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066002	ASTC_5x5_SFLOAT_BLOCK_EXT
3294*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066003	ASTC_6x5_SFLOAT_BLOCK_EXT
3295*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066004	ASTC_6x6_SFLOAT_BLOCK_EXT
3296*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066005	ASTC_8x5_SFLOAT_BLOCK_EXT
3297*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066006	ASTC_8x6_SFLOAT_BLOCK_EXT
3298*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066007	ASTC_8x8_SFLOAT_BLOCK_EXT
3299*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066008	ASTC_10x5_SFLOAT_BLOCK_EXT
3300*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066009	ASTC_10x6_SFLOAT_BLOCK_EXT
3301*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066010	ASTC_10x8_SFLOAT_BLOCK_EXT
3302*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066011	ASTC_10x10_SFLOAT_BLOCK_EXT
3303*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066012	ASTC_12x10_SFLOAT_BLOCK_EXT
3304*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1000066013	ASTC_12x12_SFLOAT_BLOCK_EXT
3305c990e5baSDaniel Fojt
3306c990e5baSDaniel Fojt# Main KTX2 header.
3307c990e5baSDaniel Fojt0	string	\xABKTX\ 20\xBB\r\n\x1A\n	Khronos KTX2 texture
3308*3b9cdfa3SAntonio Huete Jimenez>20	ulelong	x	\b, %u
3309*3b9cdfa3SAntonio Huete Jimenez>24	ulelong	>1	x %u
3310*3b9cdfa3SAntonio Huete Jimenez>28	ulelong	>1	x %u
3311*3b9cdfa3SAntonio Huete Jimenez>32	ulelong	>1	\b, %u layers
3312*3b9cdfa3SAntonio Huete Jimenez>36	ulelong	>1	\b, %u faces
3313*3b9cdfa3SAntonio Huete Jimenez>40	ulelong	>1	\b, %u mipmaps
3314*3b9cdfa3SAntonio Huete Jimenez>44	ulelong	>0	\b,
3315c990e5baSDaniel Fojt>>44	use	khronos-ktx2-supercompression
3316*3b9cdfa3SAntonio Huete Jimenez>12	ulelong	>0	\b,
3317c990e5baSDaniel Fojt>>12	use	khronos-ktx2-vkFormat
3318c990e5baSDaniel Fojt
33196fca56fbSSascha Wildner# Type: Valve VTF texture.
33206fca56fbSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
33216fca56fbSSascha Wildner# References:
33226fca56fbSSascha Wildner# - https://developer.valvesoftware.com/wiki/Valve_Texture_Format
33236fca56fbSSascha Wildner
33246fca56fbSSascha Wildner# VTF image formats.
33256fca56fbSSascha Wildner0	name	vtf-image-format
3326*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	0	RGBA8888
3327*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	1	ABGR8888
3328*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	2	RGB888
3329*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	3	BGR888
3330*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	4	RGB565
3331*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	5	I8
3332*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	6	IA88
3333*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	7	P8
3334*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	8	A8
3335*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	9	RGB888 (bluescreen)
3336*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	10	BGR888 (bluescreen)
3337*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	11	ARGB8888
3338*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	12	BGRA8888
3339*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	13	DXT1
3340*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	14	DXT3
3341*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	15	DXT5
3342*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	16	BGRx8888
3343*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	17	BGR565
3344*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	18	BGRx5551
3345*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	19	BGRA4444
3346*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	20	DXT1+A1
3347*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	21	BGRA5551
3348*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	22	UV88
3349*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	23	UVWQ8888
3350*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	24	RGBA16161616F
3351*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	25	RGBA16161616
3352*3b9cdfa3SAntonio Huete Jimenez>0	ulelong	26	UVLX8888
33536fca56fbSSascha Wildner
33546fca56fbSSascha Wildner# Main VTF header.
33556fca56fbSSascha Wildner0	string	VTF\0				Valve Texture Format
3356*3b9cdfa3SAntonio Huete Jimenez>4	ulelong	x				v%u
3357*3b9cdfa3SAntonio Huete Jimenez>8	ulelong	x				\b.%u
3358*3b9cdfa3SAntonio Huete Jimenez>0x10	uleshort	x				\b, %u
3359*3b9cdfa3SAntonio Huete Jimenez>0x12	uleshort	>1				x %u
33606fca56fbSSascha Wildner>4	lequad	0x0000000700000002
3361*3b9cdfa3SAntonio Huete Jimenez>>0x3F	uleshort	>1				x %u
3362*3b9cdfa3SAntonio Huete Jimenez>0x18	uleshort	>1				\b, %u frames
3363*3b9cdfa3SAntonio Huete Jimenez>0x38	ubyte	x				\b, mipmaps: %u
3364*3b9cdfa3SAntonio Huete Jimenez>0x34	ulelong	>-1				\b,
33656fca56fbSSascha Wildner>>0x34	use	vtf-image-format
33666fca56fbSSascha Wildner
33676fca56fbSSascha Wildner# Type: Valve VTF3 (PS3) texture.
33686fca56fbSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
33696fca56fbSSascha Wildner0	string		VTF3	Valve Texture Format (PS3)
3370*3b9cdfa3SAntonio Huete Jimenez>0x14	ubeshort		x	\b, %u
3371*3b9cdfa3SAntonio Huete Jimenez>0x16	ubeshort		x	\b x %u
3372*3b9cdfa3SAntonio Huete Jimenez>0x10	ubelong&0x2000	0	\b, DXT1
3373*3b9cdfa3SAntonio Huete Jimenez>0x10	ubelong&0x2000	0x2000	\b, DXT5
33746fca56fbSSascha Wildner
33756fca56fbSSascha Wildner# Type: ASTC texture.
33766fca56fbSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
33776fca56fbSSascha Wildner# References:
33786fca56fbSSascha Wildner# - https://stackoverflow.com/questions/22600678/determine-internal-format-of-given-astc-compressed-image-through-its-header
33796fca56fbSSascha Wildner# - https://stackoverflow.com/a/22682244
3380*3b9cdfa3SAntonio Huete Jimenez0	ulelong	0x5ca1ab13			ASTC
3381*3b9cdfa3SAntonio Huete Jimenez>4	ubyte	x				%u
3382*3b9cdfa3SAntonio Huete Jimenez>5	ubyte	x				\bx%u
3383*3b9cdfa3SAntonio Huete Jimenez>6	ubyte	>1				\bx%u
33846fca56fbSSascha Wildner# X, Y, and Z dimensions are stored as 24-bit LE.
33856fca56fbSSascha Wildner# Pretend it's 32-bit and mask off the high byte.
3386*3b9cdfa3SAntonio Huete Jimenez>7	ulelong&0x00FFFFFF	x		texture, %u
3387*3b9cdfa3SAntonio Huete Jimenez>10	ulelong&0x00FFFFFF	x		x %u
3388*3b9cdfa3SAntonio Huete Jimenez>13	ulelong&0x00FFFFFF	>1		x %u
33896fca56fbSSascha Wildner
33906fca56fbSSascha Wildner# Zebra Metafile graphic
33916fca56fbSSascha Wildner# http://www.fileformat.info/format/zbr/egff.htm
3392*3b9cdfa3SAntonio Huete Jimenez0	ubeshort	0x9a02	Zebra Metafile graphic
3393*3b9cdfa3SAntonio Huete Jimenez>2	uleshort 1	(version 1.x)
3394*3b9cdfa3SAntonio Huete Jimenez>2	uleshort	2	(version 1.1x or 1.2x)
3395*3b9cdfa3SAntonio Huete Jimenez>2	uleshort	3	(version 1.49)
3396*3b9cdfa3SAntonio Huete Jimenez>2	uleshort	4	(version 1.50)
33976fca56fbSSascha Wildner>4	string	x	(comment = %s)
33986fca56fbSSascha Wildner
33996fca56fbSSascha Wildner# Microsoft Paint graphic
34006fca56fbSSascha Wildner# http://www.fileformat.info/format/mspaint/egff.htm
34016fca56fbSSascha Wildner0	string	DanM 	icrosoft Paint image data (version 1.x)
3402*3b9cdfa3SAntonio Huete Jimenez>4	uleshort	x	(%d
3403*3b9cdfa3SAntonio Huete Jimenez>>6	uleshort	x	x %d)
34046fca56fbSSascha Wildner0	string	LinS 	Microsoft Paint image data (version 2.0)
3405*3b9cdfa3SAntonio Huete Jimenez>4	uleshort	x	(%d
3406*3b9cdfa3SAntonio Huete Jimenez>>6	uleshort	x	x %d)
34076fca56fbSSascha Wildner
34086fca56fbSSascha Wildner# reMarkable tablet internal file format (https://www.remarkable.com/)
34096fca56fbSSascha Wildner# https://github.com/ax3l/lines-are-beautiful
34106fca56fbSSascha Wildner# https://plasma.ninja/blog/devices/remarkable/binary/format/2017/12/26/\
34116fca56fbSSascha Wildner#	reMarkable-lines-file-format.html#what-to-do-next
34126fca56fbSSascha Wildner# from Axel Huebl
34136fca56fbSSascha Wildner0		string	reMarkable
34146fca56fbSSascha Wildner>11		string	lines
34156fca56fbSSascha Wildner>>17		string	with
34166fca56fbSSascha Wildner>>>22		string	selections
34176fca56fbSSascha Wildner>>>>33		string	and
34186fca56fbSSascha Wildner>>>>>37		string	layers
3419*3b9cdfa3SAntonio Huete Jimenez>>>>>>43	ulelong	x	reMarkable tablet notebook lines, 1404 x 1872, %x page(s)
34206fca56fbSSascha Wildner
34216fca56fbSSascha Wildner# newer per-page files for the reMarkable
34226fca56fbSSascha Wildner0		string	reMarkable
34236fca56fbSSascha Wildner>11		string	.lines
34246fca56fbSSascha Wildner>>18		string	file,
34256fca56fbSSascha Wildner>>>24		string	version=
3426*3b9cdfa3SAntonio Huete Jimenez>>>>32		ubyte	x	reMarkable tablet page (v%c), 1404 x 1872,
3427*3b9cdfa3SAntonio Huete Jimenez>>>>>43		ulelong	x	%d layer(s)
34286fca56fbSSascha Wildner
34296fca56fbSSascha Wildner# Type: PVR3 texture.
34306fca56fbSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
34316fca56fbSSascha Wildner# References:
34326fca56fbSSascha Wildner# - http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf
34336fca56fbSSascha Wildner
34346fca56fbSSascha Wildner# PVR3 pixel formats.
34356fca56fbSSascha Wildner0	name		pvr3-pixel-format
3436c990e5baSDaniel Fojt>0	ulelong	0	PVRTC 2bpp RGB
3437c990e5baSDaniel Fojt>0	ulelong	1	PVRTC 2bpp RGBA
3438c990e5baSDaniel Fojt>0	ulelong	2	PVRTC 4bpp RGB
3439c990e5baSDaniel Fojt>0	ulelong	3	PVRTC 4bpp RGBA
3440c990e5baSDaniel Fojt>0	ulelong	4	PVRTC-II 2bpp
3441c990e5baSDaniel Fojt>0	ulelong	5	PVRTC-II 4bpp
3442c990e5baSDaniel Fojt>0	ulelong	6	ETC1
3443c990e5baSDaniel Fojt>0	ulelong	7	DXT1
3444c990e5baSDaniel Fojt>0	ulelong	8	DXT2
3445c990e5baSDaniel Fojt>0	ulelong	9	DXT3
3446c990e5baSDaniel Fojt>0	ulelong	10	DXT4
3447c990e5baSDaniel Fojt>0	ulelong	11	DXT5
3448c990e5baSDaniel Fojt>0	ulelong	12	BC4
3449c990e5baSDaniel Fojt>0	ulelong	13	BC5
3450c990e5baSDaniel Fojt>0	ulelong	14	BC6
3451c990e5baSDaniel Fojt>0	ulelong	15	BC7
3452c990e5baSDaniel Fojt>0	ulelong	16	UYVY
3453c990e5baSDaniel Fojt>0	ulelong	17	YUY2
3454c990e5baSDaniel Fojt>0	ulelong	18	BW1bpp
3455c990e5baSDaniel Fojt>0	ulelong	19	R9G9B9E5 Shared Exponent
3456c990e5baSDaniel Fojt>0	ulelong	20	RGBG8888
3457c990e5baSDaniel Fojt>0	ulelong	21	GRGB8888
3458c990e5baSDaniel Fojt>0	ulelong	22	ETC2 RGB
3459c990e5baSDaniel Fojt>0	ulelong	23	ETC2 RGBA
3460c990e5baSDaniel Fojt>0	ulelong	24	ETC2 RGB A1
3461c990e5baSDaniel Fojt>0	ulelong	25	EAC R11
3462c990e5baSDaniel Fojt>0	ulelong	26	EAC RG11
3463c990e5baSDaniel Fojt>0	ulelong	27	ASTC_4x4
3464c990e5baSDaniel Fojt>0	ulelong	28	ASTC_5x4
3465c990e5baSDaniel Fojt>0	ulelong	29	ASTC_5x5
3466c990e5baSDaniel Fojt>0	ulelong	30	ASTC_6x5
3467c990e5baSDaniel Fojt>0	ulelong	31	ASTC_6x6
3468c990e5baSDaniel Fojt>0	ulelong	32	ASTC_8x5
3469c990e5baSDaniel Fojt>0	ulelong	33	ASTC_8x6
3470c990e5baSDaniel Fojt>0	ulelong	34	ASTC_8x8
3471c990e5baSDaniel Fojt>0	ulelong	35	ASTC_10x5
3472c990e5baSDaniel Fojt>0	ulelong	36	ASTC_10x6
3473c990e5baSDaniel Fojt>0	ulelong	37	ASTC_10x8
3474c990e5baSDaniel Fojt>0	ulelong	38	ASTC_10x10
3475c990e5baSDaniel Fojt>0	ulelong	39	ASTC_12x10
3476c990e5baSDaniel Fojt>0	ulelong	40	ASTC_12x12
3477c990e5baSDaniel Fojt>0	ulelong	41	ASTC_3x3x3
3478c990e5baSDaniel Fojt>0	ulelong	42	ASTC_4x3x3
3479c990e5baSDaniel Fojt>0	ulelong	43	ASTC_4x4x3
3480c990e5baSDaniel Fojt>0	ulelong	44	ASTC_4x4x4
3481c990e5baSDaniel Fojt>0	ulelong	45	ASTC_5x4x4
3482c990e5baSDaniel Fojt>0	ulelong	46	ASTC_5x5x4
3483c990e5baSDaniel Fojt>0	ulelong	47	ASTC_5x5x5
3484c990e5baSDaniel Fojt>0	ulelong	48	ASTC_6x5x5
3485c990e5baSDaniel Fojt>0	ulelong	49	ASTC_6x6x5
3486c990e5baSDaniel Fojt>0	ulelong	50	ASTC_6x6x6
34876fca56fbSSascha Wildner
3488c990e5baSDaniel Fojt0	string		PVR\x03			PowerVR 3.0 texture:
34896fca56fbSSascha Wildner>0x18	ulelong		x	%u x
34906fca56fbSSascha Wildner>0x1C	ulelong		x	%u
34916fca56fbSSascha Wildner>0x20	ulelong		>1	x %u
3492*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte		x	\b,
3493c990e5baSDaniel Fojt>0x0C	ulelong		0
3494c990e5baSDaniel Fojt>>0x08	use	pvr3-pixel-format
3495c990e5baSDaniel Fojt>0x0C	ulelong		!0
3496*3b9cdfa3SAntonio Huete Jimenez>>0x08	ubyte	!0	%c
3497*3b9cdfa3SAntonio Huete Jimenez>>>0x0C	ubyte	!0	\b%u
3498*3b9cdfa3SAntonio Huete Jimenez>>0x09	ubyte	!0	\b%c
3499*3b9cdfa3SAntonio Huete Jimenez>>>0x0D	ubyte	!0	\b%u
3500*3b9cdfa3SAntonio Huete Jimenez>>0x0A	ubyte	!0	\b%c
3501*3b9cdfa3SAntonio Huete Jimenez>>>0x0E	ubyte	!0	\b%u
3502*3b9cdfa3SAntonio Huete Jimenez>>0x0B	ubyte	!0	\b%c
3503*3b9cdfa3SAntonio Huete Jimenez>>>0x0F	ubyte	!0	\b%u
35046fca56fbSSascha Wildner>0x10	ulelong		1	\b, sRGB
35056fca56fbSSascha Wildner>0x04	ulelong&0x02	0x02	\b, premultiplied alpha
35066fca56fbSSascha Wildner
3507c990e5baSDaniel Fojt0	string		\x03RVP			PowerVR 3.0 texture: BE,
3508c990e5baSDaniel Fojt>0x18	ubelong		x	%u x
3509c990e5baSDaniel Fojt>0x1C	ubelong		x	%u
3510c990e5baSDaniel Fojt>0x20	ubelong		>1	x %u
3511*3b9cdfa3SAntonio Huete Jimenez>0x08	ubyte		x	\b,
3512c990e5baSDaniel Fojt>0x0C	ubelong		0
3513c990e5baSDaniel Fojt>>0x08	use	pvr3-pixel-format
3514c990e5baSDaniel Fojt>0x0C	ubelong		!0
3515*3b9cdfa3SAntonio Huete Jimenez>>0x0B	ubyte	!0	%c
3516*3b9cdfa3SAntonio Huete Jimenez>>>0x0F	ubyte	!0	\b%u
3517*3b9cdfa3SAntonio Huete Jimenez>>0x0A	ubyte	!0	\b%c
3518*3b9cdfa3SAntonio Huete Jimenez>>>0x0E	ubyte	!0	\b%u
3519*3b9cdfa3SAntonio Huete Jimenez>>0x09	ubyte	!0	\b%c
3520*3b9cdfa3SAntonio Huete Jimenez>>>0x0D	ubyte	!0	\b%u
3521*3b9cdfa3SAntonio Huete Jimenez>>0x08	ubyte	!0	\b%c
3522*3b9cdfa3SAntonio Huete Jimenez>>>0x0C	ubyte	!0	\b%u
3523c990e5baSDaniel Fojt>0x10	ubelong		1	\b, sRGB
3524c990e5baSDaniel Fojt>0x04	ubelong&0x02	0x02	\b, premultiplied alpha
3525c990e5baSDaniel Fojt
35266fca56fbSSascha Wildner# Type: Microsoft Xbox XPR0 texture.
35276fca56fbSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
35286fca56fbSSascha Wildner# References:
35296fca56fbSSascha Wildner# - https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/blob/develop/src/core/hle/D3D8/XbD3D8Types.h
35306fca56fbSSascha Wildner
35316fca56fbSSascha Wildner# XPR pixel formats.
35326fca56fbSSascha Wildner0	name	xbox-xpr-pixel-format
3533*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x00	L8
3534*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x01	AL8
3535*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x02	ARGB1555
3536*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x03	RGB555
3537*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x04	ARGB4444
3538*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x05	RGB565
3539*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x06	ARGB8888
3540*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x07	xRGB8888
3541*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x0B	P8
3542*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x0C	DXT1
3543*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x0E	DXT2
3544*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x0F	DXT4
3545*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x10	Linear ARGB1555
3546*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x11	Linear RGB565
3547*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x12	Linear ARGB8888
3548*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x13	Linear L8
3549*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x16	Linear R8B8
3550*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x17	Linear G8B8
3551*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x19	A8
3552*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x1A	A8L8
3553*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x1B	Linear AL8
3554*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x1C	Linear RGB555
3555*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x1D	Linear ARGB4444
3556*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x1E	Linear xRGB8888
3557*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x1F	Linear A8
3558*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x20	Linear A8L8
3559*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x24	YUY2
3560*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x25	UYVY
3561*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x27	L6V5U5
3562*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x28	V8U8
3563*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x29	R8B8
3564*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x2A	D24S8
3565*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x2B	F24S8
3566*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x2C	D16
3567*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x2D	F16
3568*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x2E	Linear D24S8
3569*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x2F	Linear F24S8
3570*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x30	Linear D16
3571*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x31	Linear F16
3572*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x32	L16
3573*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x33	V16U16
3574*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x35	Linear L16
3575*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x36	Linear V16U16
3576*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x37	Linear L6V5U5
3577*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x38	RGBA5551
3578*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x39	RGBA4444
3579*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x3A	QWVU8888
3580*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x3B	BGRA8888
3581*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x3C	RGBA8888
3582*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x3D	Linear RGBA5551
3583*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x3E	Linear RGBA4444
3584*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x3F	Linear ABGR8888
3585*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x40	Linear BGRA8888
3586*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x41	Linear RGBA8888
3587*3b9cdfa3SAntonio Huete Jimenez>0	ubyte	0x64	Vertex Data
35886fca56fbSSascha Wildner
35896fca56fbSSascha Wildner0	string		XPR0	Microsoft Xbox XPR0 texture
3590*3b9cdfa3SAntonio Huete Jimenez>0x19	ubyte	x	\b, format:
35916fca56fbSSascha Wildner>>0x19	use	xbox-xpr-pixel-format
35926fca56fbSSascha Wildner
35936fca56fbSSascha Wildner# ILDA Image Data Transfer Format
35946fca56fbSSascha Wildner# https://www.ilda.com/resources/StandardsDocs/ILDA_IDTF14_rev011.pdf
35956fca56fbSSascha Wildner#
35966fca56fbSSascha Wildner# Updated by Chuck Hein (laser@geekdude.com)
35976fca56fbSSascha Wildner#
35986fca56fbSSascha Wildner0	string		ILDA	ILDA Image Data Transfer Format
3599*3b9cdfa3SAntonio Huete Jimenez>7	ubyte		0x00	3D Coordinates with Indexed Color
3600*3b9cdfa3SAntonio Huete Jimenez>7	ubyte		0x01	2D Coordinates with Indexed Color
3601*3b9cdfa3SAntonio Huete Jimenez>7	ubyte		0x02	Color Palette
3602*3b9cdfa3SAntonio Huete Jimenez>7	ubyte		0x04	3D Coordinates with True Color
3603*3b9cdfa3SAntonio Huete Jimenez>7	ubyte		0x05	2D Coordinates with True Color
36046fca56fbSSascha Wildner>8	string		>0	\b, palette %s
36056fca56fbSSascha Wildner>16	string		>0	\b, company %s
3606*3b9cdfa3SAntonio Huete Jimenez>24	ubeshort	>0	\b, number of records %d
3607*3b9cdfa3SAntonio Huete Jimenez>>26	ubeshort	x	\b, palette number %d
3608*3b9cdfa3SAntonio Huete Jimenez>>28	ubeshort	>0	\b, number of frames %d
3609*3b9cdfa3SAntonio Huete Jimenez>>30	ubyte		>0	\b, projector number %d
36106fca56fbSSascha Wildner
36116fca56fbSSascha Wildner# Dropbox "lepton" compressed jpeg format
36126fca56fbSSascha Wildner# https://github.com/dropbox/lepton
3613*3b9cdfa3SAntonio Huete Jimenez0	ubelong&0xfffff0ff	0xcf84005a	Lepton image file
3614*3b9cdfa3SAntonio Huete Jimenez>2	ubyte			x		(version %d)
3615c990e5baSDaniel Fojt
3616c990e5baSDaniel Fojt# Apple QuickTake camera raw images
3617c990e5baSDaniel Fojt# https://en.wikipedia.org/wiki/Apple_QuickTake
3618c990e5baSDaniel Fojt# dcraw can decode them
3619c990e5baSDaniel Fojt0	name quicktake
3620*3b9cdfa3SAntonio Huete Jimenez>4	ubelong		8
3621*3b9cdfa3SAntonio Huete Jimenez>>544	ubeshort	x	\b, %dx
3622*3b9cdfa3SAntonio Huete Jimenez>>546	ubeshort	x	\b%d
3623*3b9cdfa3SAntonio Huete Jimenez>4	ubelong		4
3624*3b9cdfa3SAntonio Huete Jimenez>>546	ubeshort	x	\b, %dx
3625*3b9cdfa3SAntonio Huete Jimenez>>544	ubeshort	x	\b%d
3626c990e5baSDaniel Fojt
3627c990e5baSDaniel Fojt0	string	qktk	Apple QuickTake 100 Raw Image
3628c990e5baSDaniel Fojt>0	use quicktake
3629c990e5baSDaniel Fojt
3630c990e5baSDaniel Fojt0	string	qktn
3631*3b9cdfa3SAntonio Huete Jimenez>4	ubyte	0	Apple QuickTake 150 Raw Image
3632*3b9cdfa3SAntonio Huete Jimenez>4	ubyte	>0	Apple QuickTake 200 Raw Image
3633c990e5baSDaniel Fojt>0	use quicktake
3634970935fdSSascha Wildner
3635970935fdSSascha Wildner# From:		Joerg Jenderek
3636970935fdSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/Corel_Photo-Paint_image
3637970935fdSSascha Wildner# Reference:	http://blog.argasinski.eu/wp-content/uploads/2011/08/cpt-specification-0.01.pdf
3638970935fdSSascha Wildner0	string	CPT
3639970935fdSSascha Wildner>4	string	FILE		Corel Photo-Paint image, version
3640970935fdSSascha Wildner# version like 7, 9 or 8
3641970935fdSSascha Wildner>>3	ubyte	x		%c,
3642970935fdSSascha Wildner!:mime	image/x-corel-cpt
3643970935fdSSascha Wildner!:ext	cpt
3644970935fdSSascha Wildner# if blocks_array_offset available jump blockNumber*8 bytes
3645970935fdSSascha Wildner>>0x34	ulelong		>0
3646970935fdSSascha Wildner>>>(0x28.l*8)	ubyte	x
3647970935fdSSascha Wildner# jump additional stored blocks_array_offset bytes forward to object block
3648970935fdSSascha Wildner>>>>&(0x34.l-1) ulelong x	%u
3649970935fdSSascha Wildner# object height in pixels
3650970935fdSSascha Wildner>>>>>&0		ulelong	x	x %u
3651970935fdSSascha Wildner# if no blocks_array_offset available jump blockNumber*8 bytes
3652970935fdSSascha Wildner>>0x34	ulelong		=0
3653970935fdSSascha Wildner>>>(0x28.l*8)	ubyte	x
3654970935fdSSascha Wildner# jump additional 0x13C bytes forward to object block
3655970935fdSSascha Wildner>>>>&0x13B	ulelong x	%u
3656970935fdSSascha Wildner>>>>>&0	ulelong		x	x %u
3657970935fdSSascha Wildner# image color model used
3658970935fdSSascha Wildner>>0x8	ulelong	x
3659970935fdSSascha Wildner>>>0x8	ulelong	0x1		RGB 24 bits
3660970935fdSSascha Wildner>>>0x8	ulelong	0x3		CMYK 24 bits
3661970935fdSSascha Wildner>>>0x8	ulelong	0x5		greyscale 8 bits
3662970935fdSSascha Wildner>>>0x8	ulelong	0x6		black and white 1 bit
3663970935fdSSascha Wildner>>>0x8	ulelong	0xA		RGB 8 bits
3664970935fdSSascha Wildner# palette_length  number of colors * 3 in case of 8-bit RGB paletted image
3665970935fdSSascha Wildner# 0 otherwise. Allowed values: 0 or [1..256] * 3
3666970935fdSSascha Wildner#>>0xC	ulelong	>0		\b, palette length %u
3667970935fdSSascha Wildner>>>>0xC	ulelong/3	<256	\b, %u colors
3668970935fdSSascha Wildner>>>0x8	ulelong	0xB		LAB
3669970935fdSSascha Wildner>>>0x8	ulelong	0xC		RGB 48 bits
3670970935fdSSascha Wildner>>>0x8	ulelong	0xE		greyscale 16 bits
3671970935fdSSascha Wildner# this should not happen
3672970935fdSSascha Wildner>>>0x8	default	x		color model
3673614728caSSascha Wildner>>>>0x8	ulelong	x		%#x
3674970935fdSSascha Wildner# bit 1 in CPT file flags: UCS-2 file comment present
3675970935fdSSascha Wildner>>0x31	ubyte		&0x02
3676970935fdSSascha Wildner# look for comment marker
3677970935fdSSascha Wildner>>>0x100	search/0xc9d	\4\2\0\0
3678970935fdSSascha Wildner# UCS-2 file comment
3679970935fdSSascha Wildner>>>>&0		lestring16	x	"%s"
3680970935fdSSascha Wildner# if no UCS-2 is present show ANSI file comment[112] if available
3681970935fdSSascha Wildner>>0x31	ubyte&0x02	=0
3682970935fdSSascha Wildner>>>0x3C string		>\0	"%-.112s"
3683970935fdSSascha Wildner# reserved seems to be always 0
3684970935fdSSascha Wildner#>>0x10	ulelong		>0	\b, reserved1 %u
3685970935fdSSascha Wildner# horizontal real dpi = dpi_h * 25.4 / 10**6
3686970935fdSSascha Wildner>>0x18	ulelong	x		\b, %u micro dots/mm
3687970935fdSSascha Wildner# image vertical DPI in CPT DPI unit
3688970935fdSSascha Wildner#>>0x1C	ulelong	x		\b, %u micro dots/mm
3689970935fdSSascha Wildner# reserved seems to be always 0
3690970935fdSSascha Wildner#>>0x20	ulelong		>0	\b, reserved2 %u
3691970935fdSSascha Wildner#>>0x24	ulelong		>0	\b, reserved3 %u
3692970935fdSSascha Wildner# blocks_count; number of CPT_Block blocks. Allowed values: > 0
3693970935fdSSascha Wildner>>0x28	ulelong		x	\b, %u block
3694970935fdSSascha Wildner# plural s
3695970935fdSSascha Wildner>>0x28	ulelong		!1	\bs
3696970935fdSSascha Wildner# CPT file flags
3697970935fdSSascha Wildner# lower byte of CPT file flags: 0x94~CPT9FILE 0x01~often CPT7FILE 0x8C~CPT8FILE
3698614728caSSascha Wildner#>>0x30	ubyte		x	\b, lower flags %#x
3699970935fdSSascha Wildner# upper byte of CPT file flags:
3700614728caSSascha Wildner#>>0x31	ubyte		>0	\b, upper flags %#x
3701970935fdSSascha Wildner# bit 2 in CPT file flags: unknown
3702970935fdSSascha Wildner#>>0x31	ubyte		&0x04	\b, with UNKNOWN
3703970935fdSSascha Wildner# bits 3-7 in CPT file flags: unknown, seem to be often 0
3704970935fdSSascha Wildner# show unusual flag combinations
3705970935fdSSascha Wildner>>0x31	ubyte&0xFC	>0
3706614728caSSascha Wildner>>>0x30	uleshort	x	\b, flags %#4.4x
3707970935fdSSascha Wildner# reserved seems to be always 0
3708614728caSSascha Wildner#>>0x32	uleshort	>0	\b, reserved4 %#x
3709970935fdSSascha Wildner# blocks_array_offset is always 0 for CPT7 and CPT8 files created by PP7-PP8
3710970935fdSSascha Wildner# typical values like: 13Ch 154h 43Ch 4F0h DA8h
3711614728caSSascha Wildner>>0x34	ulelong	x		\b, array offset %#x
3712970935fdSSascha Wildner# reserved seems to be often 0
3713614728caSSascha Wildner>>0x38	ulelong		>0	\b, reserved5 %#x
3714970935fdSSascha Wildner# possible next master block
3715614728caSSascha Wildner#>>0x100	ubequad		!0	\b, next block=%#llx...
3716970935fdSSascha Wildner# bit 0: ICC profile block present
3717970935fdSSascha Wildner>>0x31	ubyte		&0x01	\b, with ICC profile
3718970935fdSSascha Wildner# check for characteristic string acsp of color profile for DEBUGGING
3719970935fdSSascha Wildner#>>>0x178	string	x	icc=%.4s
3720970935fdSSascha Wildner#	display ICC/ICM color profile by ./icc
3721970935fdSSascha Wildner#>>>0x154	use		color-profile
3722970935fdSSascha Wildner
3723970935fdSSascha Wildner# Type: Crunch compressed texture.
3724970935fdSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
3725970935fdSSascha Wildner# References:
3726970935fdSSascha Wildner# - https://github.com/BinomialLLC/crunch/blob/44c8402e24441c7524ca364941fd224ab3b971e9/inc/crn_decomp.h#L267
3727970935fdSSascha Wildner0	ubelong		0x4878004A	Crunch compressed texture:
3728970935fdSSascha Wildner>0x0C	ubeshort	x	%u x
3729970935fdSSascha Wildner>0x0E	ubeshort	x	%u
3730970935fdSSascha Wildner>0x12	ubyte		0	\b, DXT1
3731970935fdSSascha Wildner>0x12	ubyte		1	\b, DXT3
3732970935fdSSascha Wildner>0x12	ubyte		2	\b, DXT5
3733970935fdSSascha Wildner>0x12	ubyte		3	\b, DXT5 CCxY
3734970935fdSSascha Wildner>0x12	ubyte		4	\b, DXT5 xGxR
3735970935fdSSascha Wildner>0x12	ubyte		5	\b, DXT5 xGBR
3736970935fdSSascha Wildner>0x12	ubyte		6	\b, DXT5 AGBR
3737970935fdSSascha Wildner>0x12	ubyte		7	\b, DXn XY
3738970935fdSSascha Wildner>0x12	ubyte		8	\b, DXn YX
3739970935fdSSascha Wildner>0x12	ubyte		9	\b, DXT5 Alpha
3740970935fdSSascha Wildner>0x12	ubyte		10	\b, ETC1
3741970935fdSSascha Wildner>0x10	ubyte		>1	\b, %u images
3742970935fdSSascha Wildner>0x11	ubyte		>1	\b, %u faces
3743970935fdSSascha Wildner# TODO: Flags at 0x13? (ubeshort)
3744970935fdSSascha Wildner
3745970935fdSSascha Wildner# Type: BasisLZ compressed texture.
3746970935fdSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
3747970935fdSSascha Wildner# References:
3748970935fdSSascha Wildner# - https://github.com/BinomialLLC/basis_universal/blob/master/spec/basis_spec.txt
3749970935fdSSascha Wildner0	uleshort		0x4273
3750970935fdSSascha Wildner>0x04	uleshort		0x4D	BasisLZ
3751970935fdSSascha Wildner>>0x02	uleshort		x	v%x compressed texture:
3752970935fdSSascha Wildner>>0x14	ubyte			0	ETC1S
3753970935fdSSascha Wildner>>0x14	ubyte			1	UASTC 4x4
3754970935fdSSascha Wildner>>0x0E	ulelong&0xFFFFFF	>1	\b, %u slices
3755970935fdSSascha Wildner>>0x11	ulelong&0xFFFFFF	>1	\b, %u images
3756970935fdSSascha Wildner>>0x15	uleshort&0x02		2	\b, Y-flipped
3757970935fdSSascha Wildner
3758970935fdSSascha Wildner# MIME registration: https://www.iana.org/assignments/media-types/model/e57
3759970935fdSSascha Wildner# Sample files: http://www.libe57.org/data.html
3760970935fdSSascha Wildner# Reference implementation: http://www.libe57.org/
3761970935fdSSascha Wildner# https://www.ri.cmu.edu/pub_files/2011/1/2011-huber-e57-v3.pdf
3762970935fdSSascha Wildner0	string		ASTM-E57	ASTM E57 three-dimensional model
3763970935fdSSascha Wildner!:mime model/e57
3764970935fdSSascha Wildner!:ext e57
3765*3b9cdfa3SAntonio Huete Jimenez
3766*3b9cdfa3SAntonio Huete Jimenez# QOI [Quite OK Image Format] images
3767*3b9cdfa3SAntonio Huete Jimenez# (Horia Mihai David, mihaidavid@posteo.net)
3768*3b9cdfa3SAntonio Huete Jimenez#
3769*3b9cdfa3SAntonio Huete Jimenez# QOI format by Dominic Szablewski <http://phoboslab.org/>
3770*3b9cdfa3SAntonio Huete Jimenez#           <https://qoiformat.org/>
3771*3b9cdfa3SAntonio Huete Jimenez#
3772*3b9cdfa3SAntonio Huete Jimenez# Based on spec v1.0 (2022.01.05) <https://qoiformat.org/qoi-specification.pdf>
3773*3b9cdfa3SAntonio Huete Jimenez
3774*3b9cdfa3SAntonio Huete Jimenez0	string		qoif	QOI image data
3775*3b9cdfa3SAntonio Huete Jimenez!:ext qoi
3776*3b9cdfa3SAntonio Huete Jimenez!:mime image/x-qoi
3777*3b9cdfa3SAntonio Huete Jimenez# See <https://github.com/phoboslab/qoi/issues/167>
3778*3b9cdfa3SAntonio Huete Jimenez>4      ubelong		x       %ux
3779*3b9cdfa3SAntonio Huete Jimenez>8      ubelong		x       \b%u,
3780*3b9cdfa3SAntonio Huete Jimenez>>13	ubyte		0	s
3781*3b9cdfa3SAntonio Huete Jimenez>>>12	ubyte		3	\bRGB
3782*3b9cdfa3SAntonio Huete Jimenez>>>12	ubyte		4	\bRGBA
3783*3b9cdfa3SAntonio Huete Jimenez>>>12	default		x
3784*3b9cdfa3SAntonio Huete Jimenez>>>>12	ubyte		x	\b*bad channels %u*
3785*3b9cdfa3SAntonio Huete Jimenez>>>13	ubyte		0	(linear alpha)
3786*3b9cdfa3SAntonio Huete Jimenez>>13	ubyte		1
3787*3b9cdfa3SAntonio Huete Jimenez>>>12	ubyte		3	RGB
3788*3b9cdfa3SAntonio Huete Jimenez>>>12	ubyte		4	RGBA
3789*3b9cdfa3SAntonio Huete Jimenez>>>13	ubyte		1	(all channels linear)
3790*3b9cdfa3SAntonio Huete Jimenez>>13	default		x
3791*3b9cdfa3SAntonio Huete Jimenez>>>13	ubyte		x	*bad colorspace %u*
3792*3b9cdfa3SAntonio Huete Jimenez
3793*3b9cdfa3SAntonio Huete Jimenez
3794*3b9cdfa3SAntonio Huete Jimenez# Type: Godot 3, 4 texture (pixel format)
3795*3b9cdfa3SAntonio Huete Jimenez# From: David Korth <gerbilsoft@gerbilsoft.com>
3796*3b9cdfa3SAntonio Huete Jimenez0	name	godot-pixel-format
3797*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	0	L8
3798*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	1	LA8
3799*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	2	R8
3800*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	3	RG8
3801*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	4	RGB8
3802*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	5	RGBA8
3803*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	6	RGBA4444
3804*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	7	RGB565
3805*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	8	RF
3806*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	9	RGF
3807*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	10	RGBF
3808*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	11	RGBAF
3809*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	12	RH
3810*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	13	RGH
3811*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	14	RGBH
3812*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	15	RGBAH
3813*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	16	RGBE9995
3814*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	17	DXT1
3815*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	18	DXT3
3816*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	19	DXT5
3817*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	20	RGTC_R
3818*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	21	RGTC_RG
3819*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	22	BPTC_RGBA
3820*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	23	BPTC_RGBF
3821*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	24	BPTC_RGBFU
3822*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	25	PVRTC1_2
3823*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	26	PVRTC1_2A
3824*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	27	PVRTC1_4
3825*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	28	PVRTC1_4A
3826*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	29	ETC
3827*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	30	ETC2_R11
3828*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	31	ETC2_R11S
3829*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	32	ETC2_RG11
3830*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	33	ETC2_RG11S
3831*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	34	ETC2_RGB8
3832*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	35	ETC2_RGBA8
3833*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	36	ETC2_RGB8A1
3834*3b9cdfa3SAntonio Huete Jimenez>0	ulelong&0xFFFFF	37	ASTC_8x8
3835*3b9cdfa3SAntonio Huete Jimenez
3836*3b9cdfa3SAntonio Huete Jimenez# Type: Godot 3, 4 texture (rescale display, width)
3837*3b9cdfa3SAntonio Huete Jimenez# From: David Korth <gerbilsoft@gerbilsoft.com>
3838*3b9cdfa3SAntonio Huete Jimenez# Shows rescale value if it's not a power of 2.
3839*3b9cdfa3SAntonio Huete Jimenez0	name	godot-rescale-display-w
3840*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0
3841*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	1
3842*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	2
3843*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	4
3844*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	8
3845*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	16
3846*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	32
3847*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	64
3848*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	128
3849*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	256
3850*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	512
3851*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	1024
3852*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	2048
3853*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	4096
3854*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	8192
3855*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	16384
3856*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	32768
3857*3b9cdfa3SAntonio Huete Jimenez>0	default		x
3858*3b9cdfa3SAntonio Huete Jimenez>>0	uleshort	x	(rescale to %u x
3859*3b9cdfa3SAntonio Huete Jimenez
3860*3b9cdfa3SAntonio Huete Jimenez# Type: Godot 3, 4 texture (rescale display, height)
3861*3b9cdfa3SAntonio Huete Jimenez# From: David Korth <gerbilsoft@gerbilsoft.com>
3862*3b9cdfa3SAntonio Huete Jimenez# Shows rescale value if it's not a power of 2.
3863*3b9cdfa3SAntonio Huete Jimenez0	name	godot-rescale-display-h
3864*3b9cdfa3SAntonio Huete Jimenez>0	clear	x
3865*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	0
3866*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	1
3867*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	2
3868*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	4
3869*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	8
3870*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	16
3871*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	32
3872*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	64
3873*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	128
3874*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	256
3875*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	512
3876*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	1024
3877*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	2048
3878*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	4096
3879*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	8192
3880*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	16384
3881*3b9cdfa3SAntonio Huete Jimenez>0	uleshort	32768
3882*3b9cdfa3SAntonio Huete Jimenez>0	default		x
3883*3b9cdfa3SAntonio Huete Jimenez>>0	uleshort	x	%u)
3884*3b9cdfa3SAntonio Huete Jimenez
3885*3b9cdfa3SAntonio Huete Jimenez# Type: Godot 3 texture
3886*3b9cdfa3SAntonio Huete Jimenez# From: David Korth <gerbilsoft@gerbilsoft.com>
3887*3b9cdfa3SAntonio Huete Jimenez# References:
3888*3b9cdfa3SAntonio Huete Jimenez# - https://github.com/godotengine/godot/blob/3.3/core/image.h
3889*3b9cdfa3SAntonio Huete Jimenez# - https://github.com/godotengine/godot/blob/3.3/scene/resources/texture.cpp
3890*3b9cdfa3SAntonio Huete Jimenez# - https://github.com/godotengine/godot/blob/3.3/scene/resources/texture.h
3891*3b9cdfa3SAntonio Huete Jimenez# TODO: Don't show "rescale to" if it matches the image size.
3892*3b9cdfa3SAntonio Huete Jimenez0	string	GDST	Godot 3 texture:
3893*3b9cdfa3SAntonio Huete Jimenez!:ext	stex
3894*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-godot-stex
3895*3b9cdfa3SAntonio Huete Jimenez>4	uleshort	x	%u x
3896*3b9cdfa3SAntonio Huete Jimenez>8	uleshort	x	%u
3897*3b9cdfa3SAntonio Huete Jimenez>6	uleshort	0	\b,
3898*3b9cdfa3SAntonio Huete Jimenez>6	uleshort	!0
3899*3b9cdfa3SAntonio Huete Jimenez>>6	use	godot-rescale-display-w
3900*3b9cdfa3SAntonio Huete Jimenez>>10	use	godot-rescale-display-h
3901*3b9cdfa3SAntonio Huete Jimenez>>10	uleshort	x	\b,
3902*3b9cdfa3SAntonio Huete Jimenez>16	ulelong&0x800000	!0		has mipmaps,
3903*3b9cdfa3SAntonio Huete Jimenez>16	ulelong&0x100000	0x100000	lossless encoding
3904*3b9cdfa3SAntonio Huete Jimenez>16	ulelong&0x200000	0x200000	lossy encoding
3905*3b9cdfa3SAntonio Huete Jimenez>16	ulelong&0x300000	0
3906*3b9cdfa3SAntonio Huete Jimenez>>16	use	godot-pixel-format
3907*3b9cdfa3SAntonio Huete Jimenez
3908*3b9cdfa3SAntonio Huete Jimenez# Type: Godot 4 texture
3909*3b9cdfa3SAntonio Huete Jimenez# From: David Korth <gerbilsoft@gerbilsoft.com>
3910*3b9cdfa3SAntonio Huete Jimenez# References:
3911*3b9cdfa3SAntonio Huete Jimenez# - https://github.com/godotengine/godot/blob/master/core/io/image.h
3912*3b9cdfa3SAntonio Huete Jimenez# - https://github.com/godotengine/godot/blob/master/scene/resources/texture.cpp
3913*3b9cdfa3SAntonio Huete Jimenez# - https://github.com/godotengine/godot/blob/master/scene/resources/texture.h
3914*3b9cdfa3SAntonio Huete Jimenez# TODO: Don't show "rescale to" if it matches the image size.
3915*3b9cdfa3SAntonio Huete Jimenez0	string	GST2	Godot 4 texture
3916*3b9cdfa3SAntonio Huete Jimenez!:ext	stex
3917*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-godot-stex
3918*3b9cdfa3SAntonio Huete Jimenez>4	ulelong		x	v%u:
3919*3b9cdfa3SAntonio Huete Jimenez>0x28	uleshort	x	%u x
3920*3b9cdfa3SAntonio Huete Jimenez>0x2A	uleshort	x	%u
3921*3b9cdfa3SAntonio Huete Jimenez>8	use	godot-rescale-display-w
3922*3b9cdfa3SAntonio Huete Jimenez>12	use	godot-rescale-display-h
3923*3b9cdfa3SAntonio Huete Jimenez>12	uleshort	x	\b,
3924*3b9cdfa3SAntonio Huete Jimenez>0x2C	ulelong		>1	%u mipmaps,
3925*3b9cdfa3SAntonio Huete Jimenez>0x30	use	godot-pixel-format
3926*3b9cdfa3SAntonio Huete Jimenez>0x24	ulelong		1	\b, embedded PNG image
3927*3b9cdfa3SAntonio Huete Jimenez>0x24	ulelong		2	\b, embedded WebP image
3928*3b9cdfa3SAntonio Huete Jimenez>0x24	ulelong		3	\b, Basis Universal
3929*3b9cdfa3SAntonio Huete Jimenez
3930*3b9cdfa3SAntonio Huete Jimenez# Summary:	iCEDraw graphic *.IDF
3931*3b9cdfa3SAntonio Huete Jimenez# URL:		http://fileformats.archiveteam.org/wiki/ICEDraw
3932*3b9cdfa3SAntonio Huete Jimenez# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/i/idf-icedraw.trid.xml
3933*3b9cdfa3SAntonio Huete Jimenez# From:		Joerg Jenderek
3934*3b9cdfa3SAntonio Huete Jimenez# Note:		called "iCEDraw graphic" by TrID, "iCEDraw text" by FFmpeg and "iCE Draw" by Ansilove
3935*3b9cdfa3SAntonio Huete Jimenez#		verified by FFmpeg command `ffprobe ICE-9605.IDF` and `ansilove -s SQ-FORCE.IDF`
3936*3b9cdfa3SAntonio Huete Jimenez0	string		\0041.4\0\0\0\0O\0	iCEDraw graphic
3937*3b9cdfa3SAntonio Huete Jimenez#!:mime	application/octet-stream
3938*3b9cdfa3SAntonio Huete Jimenez!:mime	image/x-idf
3939*3b9cdfa3SAntonio Huete Jimenez!:ext	idf
3940