Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / file / Magdir / images
1
2 #------------------------------------------------------------------------------
3 # images:  file(1) magic for image formats (see also "iff")
4 #
5 # originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
6 # additions by janl@ifi.uio.no as well as others. Jan also suggested
7 # merging several one- and two-line files into here.
8 #
9 # little magic: PCX (first byte is 0x0a)
10
11 # Targa - matches `povray', `ppmtotga' and `xv' outputs
12 # by Philippe De Muyter <phdm@macqel.be>
13 # at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
14 # at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
15 # at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
16 # `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
17 # `tgatoppm' recognizes a superset (Index may be anything)
18 1       belong&0xfff7ffff       0x01010000      Targa image data - Map
19 >2      byte&8                  8               - RLE
20 1       belong&0xfff7ffff       0x00020000      Targa image data - RGB
21 >2      byte&8                  8               - RLE
22 1       belong&0xfff7ffff       0x00030000      Targa image data - Mono
23 >2      byte&8                  8               - RLE
24
25 # PBMPLUS images
26 # The next byte following the magic is always whitespace.
27 0       string          P1              Netpbm PBM image text
28 0       string          P2              Netpbm PGM image text
29 0       string          P3              Netpbm PPM image text
30 0       string          P4              Netpbm PBM "rawbits" image data
31 0       string          P5              Netpbm PGM "rawbits" image data
32 0       string          P6              Netpbm PPM "rawbits" image data
33 0       string          P7              Netpbm PAM image file
34
35 # From: bryanh@giraffe-data.com (Bryan Henderson)
36 0       string          \117\072        Solitaire Image Recorder format
37 >4      string          \013            MGI Type 11
38 >4      string          \021            MGI Type 17
39 0       string          .MDA            MicroDesign data
40 >21     byte            48              version 2
41 >21     byte            51              version 3
42 0       string          .MDP            MicroDesign page data
43 >21     byte            48              version 2
44 >21     byte            51              version 3
45
46 # NIFF (Navy Interchange File Format, a modification of TIFF) images
47 0       string          IIN1            NIFF image data
48
49 # Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
50 # The second word of TIFF files is the TIFF version number, 42, which has
51 # never changed.  The TIFF specification recommends testing for it.
52 0       string          MM\x00\x2a      TIFF image data, big-endian
53 0       string          II\x2a\x00      TIFF image data, little-endian
54
55 # PNG [Portable Network Graphics, or "PNG's Not GIF"] images
56 # (Greg Roelofs, newt@uchicago.edu)
57 # (Albert Cahalan, acahalan@cs.uml.edu)
58 #
59 # 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
60 #
61 0       string          \x89PNG         PNG image data,
62 >4      belong          !0x0d0a1a0a     CORRUPTED,
63 >4      belong          0x0d0a1a0a
64 >>16    belong          x               %ld x
65 >>20    belong          x               %ld,
66 >>24    byte            x               %d-bit
67 >>25    byte            0               grayscale,
68 >>25    byte            2               \b/color RGB,
69 >>25    byte            3               colormap,
70 >>25    byte            4               gray+alpha,
71 >>25    byte            6               \b/color RGBA,
72 #>>26   byte            0               deflate/32K,
73 >>28    byte            0               non-interlaced
74 >>28    byte            1               interlaced
75 1       string          PNG             PNG image data, CORRUPTED
76
77 # GIF
78 0       string          GIF8            GIF image data
79 >4      string          7a              \b, version 8%s,
80 >4      string          9a              \b, version 8%s,
81 >6      leshort         >0              %hd x
82 >8      leshort         >0              %hd
83 #>10    byte            &0x80           color mapped,
84 #>10    byte&0x07       =0x00           2 colors
85 #>10    byte&0x07       =0x01           4 colors
86 #>10    byte&0x07       =0x02           8 colors
87 #>10    byte&0x07       =0x03           16 colors
88 #>10    byte&0x07       =0x04           32 colors
89 #>10    byte&0x07       =0x05           64 colors
90 #>10    byte&0x07       =0x06           128 colors
91 #>10    byte&0x07       =0x07           256 colors
92
93 # ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
94 # 1 plane, no encoding.
95 0       string          \361\0\100\273  CMU window manager raster image data
96 >4      lelong          >0              %d x
97 >8      lelong          >0              %d,
98 >12     lelong          >0              %d-bit
99
100 # Magick Image File Format
101 0       string          id=ImageMagick  MIFF image data
102
103 # Artisan
104 0       long            1123028772      Artisan image data
105 >4      long            1               \b, rectangular 24-bit
106 >4      long            2               \b, rectangular 8-bit with colormap
107 >4      long            3               \b, rectangular 32-bit (24-bit with matte)
108
109 # FIG (Facility for Interactive Generation of figures), an object-based format
110 0       string          #FIG            FIG image text
111 >5      string          x               \b, version %.3s
112
113 # PHIGS
114 0       string          ARF_BEGARF              PHIGS clear text archive
115 0       string          @(#)SunPHIGS            SunPHIGS
116 # version number follows, in the form m.n
117 >40     string          SunBin                  binary
118 >32     string          archive                 archive
119
120 # GKS (Graphics Kernel System)
121 0       string          GKSM            GKS Metafile
122 >24     string          SunGKS          \b, SunGKS
123
124 # CGM image files
125 0       string          BEGMF           clear text Computer Graphics Metafile
126 # XXX - questionable magic
127 0       beshort&0xffe0  0x0020          binary Computer Graphics Metafile
128 0       beshort         0x3020          character Computer Graphics Metafile
129
130 # MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
131 0       string  yz      MGR bitmap, modern format, 8-bit aligned
132 0       string  zz      MGR bitmap, old format, 1-bit deep, 16-bit aligned
133 0       string  xz      MGR bitmap, old format, 1-bit deep, 32-bit aligned
134 0       string  yx      MGR bitmap, modern format, squeezed
135
136 # Fuzzy Bitmap (FBM) images
137 0       string          %bitmap\0       FBM image data
138 >30     long            0x31            \b, mono
139 >30     long            0x33            \b, color
140
141 # facsimile data
142 1       string          PC\ Research,\ Inc      group 3 fax data
143 >29     byte            0               \b, normal resolution (204x98 DPI)
144 >29     byte            1               \b, fine resolution (204x196 DPI)
145 # From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
146 0       string          Sfff            structured fax file
147
148
149 # PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)
150 0       string          BM              PC bitmap data
151 >14     leshort         12              \b, OS/2 1.x format
152 >>18    leshort         x               \b, %d x
153 >>20    leshort         x               %d
154 >14     leshort         64              \b, OS/2 2.x format
155 >>18    leshort         x               \b, %d x
156 >>20    leshort         x               %d
157 >14     leshort         40              \b, Windows 3.x format
158 >>18    lelong          x               \b, %d x
159 >>22    lelong          x               %d x
160 >>28    leshort         x               %d
161 0       string          IC              PC icon data
162 0       string          PI              PC pointer image data
163 0       string          CI              PC color icon data
164 0       string          CP              PC color pointer image data
165 # Conflicts with other entries [BABYL]
166 #0      string          BA              PC bitmap array data
167
168 # XPM icons (Greg Roelofs, newt@uchicago.edu)
169 # note possible collision with C/REXX entry in c-lang; currently commented out
170 0       string          /*\ XPM\ */     X pixmap image text
171
172 # Utah Raster Toolkit RLE images (janl@ifi.uio.no)
173 0       leshort         0xcc52          RLE image data,
174 >6      leshort         x               %d x
175 >8      leshort         x               %d
176 >2      leshort         >0              \b, lower left corner: %d
177 >4      leshort         >0              \b, lower right corner: %d
178 >10     byte&0x1        =0x1            \b, clear first
179 >10     byte&0x2        =0x2            \b, no background
180 >10     byte&0x4        =0x4            \b, alpha channel
181 >10     byte&0x8        =0x8            \b, comment
182 >11     byte            >0              \b, %d color channels
183 >12     byte            >0              \b, %d bits per pixel
184 >13     byte            >0              \b, %d color map channels
185
186 # image file format (Robert Potter, potter@cs.rochester.edu)
187 0       string          Imagefile\ version-     iff image data
188 # this adds the whole header (inc. version number), informative but longish
189 >10     string          >\0             %s
190
191 # Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
192 0       belong          0x59a66a95      Sun raster image data
193 >4      belong          >0              \b, %d x
194 >8      belong          >0              %d,
195 >12     belong          >0              %d-bit,
196 #>16    belong          >0              %d bytes long,
197 >20     belong          0               old format,
198 #>20    belong          1               standard,
199 >20     belong          2               compressed,
200 >20     belong          3               RGB,
201 >20     belong          4               TIFF,
202 >20     belong          5               IFF,
203 >20     belong          0xffff          reserved for testing,
204 >24     belong          0               no colormap
205 >24     belong          1               RGB colormap
206 >24     belong          2               raw colormap
207 #>28    belong          >0              colormap is %d bytes long
208
209 # SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
210 #
211 # See
212 #       http://reality.sgi.com/grafica/sgiimage.html
213 #
214 0       beshort         474             SGI image data
215 #>2     byte            0               \b, verbatim
216 >2      byte            1               \b, RLE
217 #>3     byte            1               \b, normal precision
218 >3      byte            2               \b, high precision
219 >4      beshort         x               \b, %d-D
220 >6      beshort         x               \b, %d x
221 >8      beshort         x               %d
222 >10     beshort         x               \b, %d channel
223 >10     beshort         !1              \bs
224 >80     string          >0              \b, "%s"
225
226 0       string          IT01            FIT image data
227 >4      belong          x               \b, %d x
228 >8      belong          x               %d x
229 >12     belong          x               %d
230 #
231 0       string          IT02            FIT image data
232 >4      belong          x               \b, %d x
233 >8      belong          x               %d x
234 >12     belong          x               %d
235 #
236 2048    string          PCD_IPI         Kodak Photo CD image pack file
237 >0xe02  byte&0x03       0x00            , landscape mode
238 >0xe02  byte&0x03       0x01            , portrait mode
239 >0xe02  byte&0x03       0x02            , landscape mode
240 >0xe02  byte&0x03       0x03            , portrait mode
241 0       string          PCD_OPA         Kodak Photo CD overview pack file
242
243 # FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
244 # FITS is the Flexible Image Transport System, the de facto standard for
245 # data and image transfer, storage, etc., for the astronomical community.
246 # (FITS floating point formats are big-endian.)
247 0       string  SIMPLE\ \ =     FITS image data
248 >109    string  8               \b, 8-bit, character or unsigned binary integer
249 >108    string  16              \b, 16-bit, two's complement binary integer
250 >107    string  \ 32            \b, 32-bit, two's complement binary integer
251 >107    string  -32             \b, 32-bit, floating point, single precision
252 >107    string  -64             \b, 64-bit, floating point, double precision
253
254 # other images
255 0       string  This\ is\ a\ BitMap\ file       Lisp Machine bit-array-file
256 0       string          !!              Bennet Yee's "face" format
257
258 # From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
259 # stuff.
260 #
261 0       beshort         0x1010          PEX Binary Archive
262
263 # Visio drawings
264 03000   string  Visio\ (TM)\ Drawing    %s
265
266 # Tgif files
267 0       string  \%TGIF\ x               Tgif file version %s
268
269 # DICOM medical imaging data
270 128     string  DICM                    DICOM medical imaging data
271
272 # XWD - X-Windows Dump file.
273 #   As described in /usr/X11R6/include/X11/XWDFile.h
274 #   used by the xwd program.
275 #   Bradford Castalia, idaeim, 1/01
276 4       belong  7                       XWD X-Windows Dump image data
277 >100    string  >\0                     \b, "%s"
278 >16     belong  x                       \b, %dx
279 >20     belong  x                       \b%dx
280 >12     belong  x                       \b%d
281
282 # PDS - Planetary Data System
283 #   These files use Parameter Value Language in the header section.
284 #   Unfortunately, there is no certain magic, but the following
285 #   strings have been found to be most likely.
286 0       string  NJPL1I00                PDS (JPL) image data
287 2       string  NJPL1I                  PDS (JPL) image data
288 0       string  CCSD3ZF                 PDS (CCSD) image data
289 2       string  CCSD3Z                  PDS (CCSD) image data
290 0       string  PDS_                    PDS image data
291 0       string  LBLSIZE=                PDS (VICAR) image data
292
293 # pM8x: ATARI STAD compressed bitmap format
294 #
295 # from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
296 # p M 8 5/6 xx yy zz data...
297 # Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
298 # bytes either run horizontally (pM85) or vertically (pM86). yy is the
299 # most frequent byte, xx and zz are runlength escape codes, where xx is
300 # used for runs of yy.
301 #
302 0       string  pM85            Atari ST STAD bitmap image data (hor)
303 >5      byte    0x00            (white background)
304 >5      byte    0xFF            (black background)
305 0       string  pM86            Atari ST STAD bitmap image data (vert)
306 >5      byte    0x00            (white background)
307 >5      byte    0xFF            (black background)
308
309 # XXX:
310 # This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
311 # magic.
312 # SGI RICE image file <mpruett@sgi.com>
313 #0      beshort 0x5249          RICE image
314 #>2     beshort x               v%d
315 #>4     beshort x               (%d x
316 #>6     beshort x               %d)
317 #>8     beshort 0               8 bit
318 #>8     beshort 1               10 bit
319 #>8     beshort 2               12 bit
320 #>8     beshort 3               13 bit
321 #>10    beshort 0               4:2:2
322 #>10    beshort 1               4:2:2:4
323 #>10    beshort 2               4:4:4
324 #>10    beshort 3               4:4:4:4
325 #>12    beshort 1               RGB
326 #>12    beshort 2               CCIR601
327 #>12    beshort 3               RP175
328 #>12    beshort 4               YUV
329
330 #------------------------------------------------------------------------------
331 #
332 # Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
333 # for the EPOC operating system, which is used with PDAs like those from Psion
334 #
335 # see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
336 # of various EPOC file formats
337
338 0       string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
339
340 # PCX image files
341 # From: Dan Fandrich <dan@coneharvesters.com>
342 0       beshort         0x0a00  PCX ver. 2.5 image data
343 0       beshort         0x0a02  PCX ver. 2.8 image data, with palette
344 0       beshort         0x0a03  PCX ver. 2.8 image data, without palette
345 0       beshort         0x0a04  PCX for Windows image data
346 0       beshort         0x0a05  PCX ver. 3.0 image data
347 >4      leshort         x      bounding box [%hd,
348 >6      leshort         x      %hd] -
349 >8      leshort         x      [%hd,
350 >10     leshort         x      %hd],
351 >65     byte            >1      %d planes each of
352 >3      byte            x       %hhd-bit
353 >68     byte            0       image,
354 >68     byte            1       colour,
355 >68     byte            2       grayscale,
356 >68     byte            >2      image,
357 >68     byte            <0      image,
358 >12     leshort         >0      %hd x
359 >>14    leshort         x      %hd dpi,
360 >2      byte            0       uncompressed
361 >2      byte            1       RLE compressed