Upgrade to file-4.18.
[dragonfly.git] / contrib / file-4 / magic / 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 >12     leshort                 >0              %hd x
21 >14     leshort                 >0              %hd
22 1       belong&0xfff7ffff       0x00020000      Targa image data - RGB
23 >2      byte&8                  8               - RLE
24 >12     leshort                 >0              %hd x
25 >14     leshort                 >0              %hd
26 1       belong&0xfff7ffff       0x00030000      Targa image data - Mono
27 >2      byte&8                  8               - RLE
28 >12     leshort                 >0              %hd x
29 >14     leshort                 >0              %hd
30
31 # PBMPLUS images
32 # The next byte following the magic is always whitespace.
33 0       string          P1              Netpbm PBM image text
34 0       string          P2              Netpbm PGM image text
35 0       string          P3              Netpbm PPM image text
36 0       string          P4              Netpbm PBM "rawbits" image data
37 0       string          P5              Netpbm PGM "rawbits" image data
38 0       string          P6              Netpbm PPM "rawbits" image data
39 0       string          P7              Netpbm PAM image file
40
41 # From: bryanh@giraffe-data.com (Bryan Henderson)
42 0       string          \117\072        Solitaire Image Recorder format
43 >4      string          \013            MGI Type 11
44 >4      string          \021            MGI Type 17
45 0       string          .MDA            MicroDesign data
46 >21     byte            48              version 2
47 >21     byte            51              version 3
48 0       string          .MDP            MicroDesign page data
49 >21     byte            48              version 2
50 >21     byte            51              version 3
51
52 # NIFF (Navy Interchange File Format, a modification of TIFF) images
53 0       string          IIN1            NIFF image data
54
55 # Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)
56 # The second word of TIFF files is the TIFF version number, 42, which has
57 # never changed.  The TIFF specification recommends testing for it.
58 0       string          MM\x00\x2a      TIFF image data, big-endian
59 0       string          II\x2a\x00      TIFF image data, little-endian
60
61 # PNG [Portable Network Graphics, or "PNG's Not GIF"] images
62 # (Greg Roelofs, newt@uchicago.edu)
63 # (Albert Cahalan, acahalan@cs.uml.edu)
64 #
65 # 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
66 #
67 0       string          \x89PNG         PNG image data,
68 >4      belong          !0x0d0a1a0a     CORRUPTED,
69 >4      belong          0x0d0a1a0a
70 >>16    belong          x               %ld x
71 >>20    belong          x               %ld,
72 >>24    byte            x               %d-bit
73 >>25    byte            0               grayscale,
74 >>25    byte            2               \b/color RGB,
75 >>25    byte            3               colormap,
76 >>25    byte            4               gray+alpha,
77 >>25    byte            6               \b/color RGBA,
78 #>>26   byte            0               deflate/32K,
79 >>28    byte            0               non-interlaced
80 >>28    byte            1               interlaced
81 1       string          PNG             PNG image data, CORRUPTED
82
83 # GIF
84 0       string          GIF8            GIF image data
85 >4      string          7a              \b, version 8%s,
86 >4      string          9a              \b, version 8%s,
87 >6      leshort         >0              %hd x
88 >8      leshort         >0              %hd
89 #>10    byte            &0x80           color mapped,
90 #>10    byte&0x07       =0x00           2 colors
91 #>10    byte&0x07       =0x01           4 colors
92 #>10    byte&0x07       =0x02           8 colors
93 #>10    byte&0x07       =0x03           16 colors
94 #>10    byte&0x07       =0x04           32 colors
95 #>10    byte&0x07       =0x05           64 colors
96 #>10    byte&0x07       =0x06           128 colors
97 #>10    byte&0x07       =0x07           256 colors
98
99 # ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,
100 # 1 plane, no encoding.
101 0       string          \361\0\100\273  CMU window manager raster image data
102 >4      lelong          >0              %d x
103 >8      lelong          >0              %d,
104 >12     lelong          >0              %d-bit
105
106 # Magick Image File Format
107 0       string          id=ImageMagick  MIFF image data
108
109 # Artisan
110 0       long            1123028772      Artisan image data
111 >4      long            1               \b, rectangular 24-bit
112 >4      long            2               \b, rectangular 8-bit with colormap
113 >4      long            3               \b, rectangular 32-bit (24-bit with matte)
114
115 # FIG (Facility for Interactive Generation of figures), an object-based format
116 0       string          #FIG            FIG image text
117 >5      string          x               \b, version %.3s
118
119 # PHIGS
120 0       string          ARF_BEGARF              PHIGS clear text archive
121 0       string          @(#)SunPHIGS            SunPHIGS
122 # version number follows, in the form m.n
123 >40     string          SunBin                  binary
124 >32     string          archive                 archive
125
126 # GKS (Graphics Kernel System)
127 0       string          GKSM            GKS Metafile
128 >24     string          SunGKS          \b, SunGKS
129
130 # CGM image files
131 0       string          BEGMF           clear text Computer Graphics Metafile
132 # XXX - questionable magic
133 0       beshort&0xffe0  0x0020          binary Computer Graphics Metafile
134 0       beshort         0x3020          character Computer Graphics Metafile
135
136 # MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)
137 0       string  yz      MGR bitmap, modern format, 8-bit aligned
138 0       string  zz      MGR bitmap, old format, 1-bit deep, 16-bit aligned
139 0       string  xz      MGR bitmap, old format, 1-bit deep, 32-bit aligned
140 0       string  yx      MGR bitmap, modern format, squeezed
141
142 # Fuzzy Bitmap (FBM) images
143 0       string          %bitmap\0       FBM image data
144 >30     long            0x31            \b, mono
145 >30     long            0x33            \b, color
146
147 # facsimile data
148 1       string          PC\ Research,\ Inc      group 3 fax data
149 >29     byte            0               \b, normal resolution (204x98 DPI)
150 >29     byte            1               \b, fine resolution (204x196 DPI)
151 # From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
152 0       string          Sfff            structured fax file
153
154
155 # PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)
156 0       string          BM              PC bitmap data
157 >14     leshort         12              \b, OS/2 1.x format
158 >>18    leshort         x               \b, %d x
159 >>20    leshort         x               %d
160 >14     leshort         64              \b, OS/2 2.x format
161 >>18    leshort         x               \b, %d x
162 >>20    leshort         x               %d
163 >14     leshort         40              \b, Windows 3.x format
164 >>18    lelong          x               \b, %d x
165 >>22    lelong          x               %d x
166 >>28    leshort         x               %d
167 # Too simple - MPi
168 #0      string          IC              PC icon data
169 #0      string          PI              PC pointer image data
170 #0      string          CI              PC color icon data
171 #0      string          CP              PC color pointer image data
172 # Conflicts with other entries [BABYL]
173 #0      string          BA              PC bitmap array data
174
175 # XPM icons (Greg Roelofs, newt@uchicago.edu)
176 # note possible collision with C/REXX entry in c-lang; currently commented out
177 0       string          /*\ XPM\ */     X pixmap image text
178
179 # Utah Raster Toolkit RLE images (janl@ifi.uio.no)
180 0       leshort         0xcc52          RLE image data,
181 >6      leshort         x               %d x
182 >8      leshort         x               %d
183 >2      leshort         >0              \b, lower left corner: %d
184 >4      leshort         >0              \b, lower right corner: %d
185 >10     byte&0x1        =0x1            \b, clear first
186 >10     byte&0x2        =0x2            \b, no background
187 >10     byte&0x4        =0x4            \b, alpha channel
188 >10     byte&0x8        =0x8            \b, comment
189 >11     byte            >0              \b, %d color channels
190 >12     byte            >0              \b, %d bits per pixel
191 >13     byte            >0              \b, %d color map channels
192
193 # image file format (Robert Potter, potter@cs.rochester.edu)
194 0       string          Imagefile\ version-     iff image data
195 # this adds the whole header (inc. version number), informative but longish
196 >10     string          >\0             %s
197
198 # Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)
199 0       belong          0x59a66a95      Sun raster image data
200 >4      belong          >0              \b, %d x
201 >8      belong          >0              %d,
202 >12     belong          >0              %d-bit,
203 #>16    belong          >0              %d bytes long,
204 >20     belong          0               old format,
205 #>20    belong          1               standard,
206 >20     belong          2               compressed,
207 >20     belong          3               RGB,
208 >20     belong          4               TIFF,
209 >20     belong          5               IFF,
210 >20     belong          0xffff          reserved for testing,
211 >24     belong          0               no colormap
212 >24     belong          1               RGB colormap
213 >24     belong          2               raw colormap
214 #>28    belong          >0              colormap is %d bytes long
215
216 # SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)
217 #
218 # See
219 #       http://reality.sgi.com/grafica/sgiimage.html
220 #
221 0       beshort         474             SGI image data
222 #>2     byte            0               \b, verbatim
223 >2      byte            1               \b, RLE
224 #>3     byte            1               \b, normal precision
225 >3      byte            2               \b, high precision
226 >4      beshort         x               \b, %d-D
227 >6      beshort         x               \b, %d x
228 >8      beshort         x               %d
229 >10     beshort         x               \b, %d channel
230 >10     beshort         !1              \bs
231 >80     string          >0              \b, "%s"
232
233 0       string          IT01            FIT image data
234 >4      belong          x               \b, %d x
235 >8      belong          x               %d x
236 >12     belong          x               %d
237 #
238 0       string          IT02            FIT image data
239 >4      belong          x               \b, %d x
240 >8      belong          x               %d x
241 >12     belong          x               %d
242 #
243 2048    string          PCD_IPI         Kodak Photo CD image pack file
244 >0xe02  byte&0x03       0x00            , landscape mode
245 >0xe02  byte&0x03       0x01            , portrait mode
246 >0xe02  byte&0x03       0x02            , landscape mode
247 >0xe02  byte&0x03       0x03            , portrait mode
248 0       string          PCD_OPA         Kodak Photo CD overview pack file
249
250 # FITS format.  Jeff Uphoff <juphoff@tarsier.cv.nrao.edu>
251 # FITS is the Flexible Image Transport System, the de facto standard for
252 # data and image transfer, storage, etc., for the astronomical community.
253 # (FITS floating point formats are big-endian.)
254 0       string  SIMPLE\ \ =     FITS image data
255 >109    string  8               \b, 8-bit, character or unsigned binary integer
256 >108    string  16              \b, 16-bit, two's complement binary integer
257 >107    string  \ 32            \b, 32-bit, two's complement binary integer
258 >107    string  -32             \b, 32-bit, floating point, single precision
259 >107    string  -64             \b, 64-bit, floating point, double precision
260
261 # other images
262 0       string  This\ is\ a\ BitMap\ file       Lisp Machine bit-array-file
263 0       string          =!!             Bennet Yee's "face" format
264
265 # From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image
266 # stuff.
267 #
268 0       beshort         0x1010          PEX Binary Archive
269
270 # Tgif files
271 0       string  \%TGIF\ x               Tgif file version %s
272
273 # DICOM medical imaging data
274 128     string  DICM                    DICOM medical imaging data
275
276 # XWD - X Window Dump file.
277 #   As described in /usr/X11R6/include/X11/XWDFile.h
278 #   used by the xwd program.
279 #   Bradford Castalia, idaeim, 1/01
280 4       belong  7                       XWD X Window Dump image data
281 >100    string  >\0                     \b, "%s"
282 >16     belong  x                       \b, %dx
283 >20     belong  x                       \b%dx
284 >12     belong  x                       \b%d
285
286 # PDS - Planetary Data System
287 #   These files use Parameter Value Language in the header section.
288 #   Unfortunately, there is no certain magic, but the following
289 #   strings have been found to be most likely.
290 0       string  NJPL1I00                PDS (JPL) image data
291 2       string  NJPL1I                  PDS (JPL) image data
292 0       string  CCSD3ZF                 PDS (CCSD) image data
293 2       string  CCSD3Z                  PDS (CCSD) image data
294 0       string  PDS_                    PDS image data
295 0       string  LBLSIZE=                PDS (VICAR) image data
296
297 # pM8x: ATARI STAD compressed bitmap format
298 #
299 # from Oskar Schirmer <schirmer@scara.com> Feb 2, 2001
300 # p M 8 5/6 xx yy zz data...
301 # Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.
302 # bytes either run horizontally (pM85) or vertically (pM86). yy is the
303 # most frequent byte, xx and zz are runlength escape codes, where xx is
304 # used for runs of yy.
305 #
306 0       string  pM85            Atari ST STAD bitmap image data (hor)
307 >5      byte    0x00            (white background)
308 >5      byte    0xFF            (black background)
309 0       string  pM86            Atari ST STAD bitmap image data (vert)
310 >5      byte    0x00            (white background)
311 >5      byte    0xFF            (black background)
312
313 # XXX:
314 # This is bad magic 0x5249 == 'RI' conflicts with RIFF and other
315 # magic.
316 # SGI RICE image file <mpruett@sgi.com>
317 #0      beshort 0x5249          RICE image
318 #>2     beshort x               v%d
319 #>4     beshort x               (%d x
320 #>6     beshort x               %d)
321 #>8     beshort 0               8 bit
322 #>8     beshort 1               10 bit
323 #>8     beshort 2               12 bit
324 #>8     beshort 3               13 bit
325 #>10    beshort 0               4:2:2
326 #>10    beshort 1               4:2:2:4
327 #>10    beshort 2               4:4:4
328 #>10    beshort 3               4:4:4:4
329 #>12    beshort 1               RGB
330 #>12    beshort 2               CCIR601
331 #>12    beshort 3               RP175
332 #>12    beshort 4               YUV
333
334 #------------------------------------------------------------------------------
335 #
336 # Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image  file format
337 # for the EPOC operating system, which is used with PDAs like those from Psion
338 #
339 # see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description
340 # of various EPOC file formats
341
342 0       string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
343
344 # PCX image files
345 # From: Dan Fandrich <dan@coneharvesters.com>
346 0       beshort         0x0a00  PCX ver. 2.5 image data
347 0       beshort         0x0a02  PCX ver. 2.8 image data, with palette
348 0       beshort         0x0a03  PCX ver. 2.8 image data, without palette
349 0       beshort         0x0a04  PCX for Windows image data
350 0       beshort         0x0a05  PCX ver. 3.0 image data
351 >4      leshort         x      bounding box [%hd,
352 >6      leshort         x      %hd] -
353 >8      leshort         x      [%hd,
354 >10     leshort         x      %hd],
355 >65     byte            >1      %d planes each of
356 >3      byte            x       %hhd-bit
357 >68     byte            0       image,
358 >68     byte            1       colour,
359 >68     byte            2       grayscale,
360 >68     byte            >2      image,
361 >68     byte            <0      image,
362 >12     leshort         >0      %hd x
363 >>14    leshort         x      %hd dpi,
364 >2      byte            0       uncompressed
365 >2      byte            1       RLE compressed
366
367 # Adobe Photoshop
368 0       string          8BPS Adobe Photoshop Image
369
370 # XV thumbnail indicator (ThMO)
371 0       string          P7\ 332         XV thumbnail image data
372
373 # NITF is defined by United States MIL-STD-2500A
374 0       string  NITF    National Imagery Transmission Format
375 >25     string  >\0     dated %.14s
376
377 # GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
378 0       belong          0x00010008      GEM Image data
379 >12     beshort         x               %d x
380 >14     beshort         x               %d,
381 >4      beshort         x               %d planes,
382 >8      beshort         x               %d x
383 >10     beshort         x               %d pixelsize
384
385 # GEM Metafile (Wolfram Kleff)
386 0       lelong          0x0018FFFF      GEM Metafile data
387 >4      leshort         x               version %d
388
389 #
390 # SMJPEG. A custom Motion JPEG format used by Loki Entertainment
391 # Software Torbjorn Andersson <d91tan@Update.UU.SE>.
392 #
393 0       string  \0\nSMJPEG      SMJPEG
394 >8      belong  x               %d.x data
395 # According to the specification you could find any number of _TXT
396 # headers here, but I can't think of any way of handling that. None of
397 # the SMJPEG files I tried it on used this feature. Even if such a
398 # file is encountered the output should still be reasonable.
399 >16     string  _SND            \b,
400 >>24    beshort >0              %d Hz
401 >>26    byte    8               8-bit
402 >>26    byte    16              16-bit
403 >>28    string  NONE            uncompressed
404 # >>28  string  APCM            ADPCM compressed
405 >>27    byte    1               mono
406 >>28    byte    2               stereo
407 # Help! Isn't there any way to avoid writing this part twice?
408 >>32    string  _VID            \b,
409 # >>>48 string  JFIF            JPEG
410 >>>40   belong  >0              %d frames
411 >>>44   beshort >0              (%d x
412 >>>46   beshort >0              %d)
413 >16     string  _VID            \b,
414 # >>32  string  JFIF            JPEG
415 >>24    belong  >0              %d frames
416 >>28    beshort >0              (%d x
417 >>30    beshort >0              %d)
418
419 0       string  Paint\ Shop\ Pro\ Image\ File   Paint Shop Pro Image File
420
421 # "thumbnail file" (icon)
422 # descended from "xv", but in use by other applications as well (Wolfram Kleff)
423 0       string          P7\ 332         XV "thumbnail file" (icon) data
424
425 # taken from fkiss: (<yav@mte.biglobe.ne.jp> ?)
426 0       string          KiSS            KISS/GS
427 >4      byte            16              color
428 >>5     byte            x               %d bit
429 >>8     leshort         x               %d colors
430 >>10    leshort         x               %d groups
431 >4      byte            32              cell
432 >>5     byte            x               %d bit
433 >>8     leshort         x               %d x
434 >>10    leshort         x               %d
435 >>12    leshort         x               +%d
436 >>14    leshort         x               +%d
437
438 # Webshots (www.webshots.com), by John Harrison
439 0       string          C\253\221g\230\0\0\0 Webshots Desktop .wbz file
440
441 # Hercules DASD image files
442 # From Jan Jaeger <jj@septa.nl>
443 0       string  CKD_P370        Hercules CKD DASD image file
444 >8      long    x               \b, %d heads per cylinder
445 >12     long    x               \b, track size %d bytes
446 >16     byte    x               \b, device type 33%2.2X
447
448 0       string  CKD_C370        Hercules compressed CKD DASD image file
449 >8      long    x               \b, %d heads per cylinder
450 >12     long    x               \b, track size %d bytes
451 >16     byte    x               \b, device type 33%2.2X
452
453 0       string  CKD_S370        Hercules CKD DASD shadow file
454 >8      long    x               \b, %d heads per cylinder
455 >12     long    x               \b, track size %d bytes
456 >16     byte    x               \b, device type 33%2.2X
457
458 # Squeak images and - etoffi@softhome.net
459 0 string \146\031\0\0  Squeak image data
460 0 string 'From\040Squeak  Squeak program text
461
462 # partimage: file(1) magic for PartImage files (experimental, incomplete)
463 # Author: Hans-Joachim Baader <hjb@pro-linux.de>
464 0               string  PaRtImAgE-VoLuMe        PartImage
465 >0x0020         string  0.6.1           file version %s
466 >>0x0060        lelong  >-1             volume %ld
467 #>>0x0064 8 byte identifier
468 #>>0x007c reserved
469 >>0x0200        string  >\0             type %s
470 >>0x1400        string  >\0             device %s,
471 >>0x1600        string  >\0             original filename %s,
472 # Some fields omitted
473 >>0x2744        lelong  0               not compressed
474 >>0x2744        lelong  1               gzip compressed
475 >>0x2744        lelong  2               bzip2 compressed
476 >>0x2744        lelong  >2              compressed with unknown algorithm
477 >0x0020         string  >0.6.1          file version %s
478 >0x0020         string  <0.6.1          file version %s
479
480 # DCX is multi-page PCX, using a simple header of up to 1024
481 # offsets for the respective PCX components.
482 # From: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
483 0       lelong  987654321       DCX multi-page PCX image data
484
485 # Simon Walton <simonw@matteworld.com>
486 # Kodak Cineon format for scanned negatives
487 # http://www.kodak.com/US/en/motion/support/dlad/
488 0       lelong  0xd75f2a80      Cineon image data
489 >200    belong  >0              \b, %ld x
490 >204    belong  >0              %ld
491
492
493 # Bio-Rad .PIC is an image format used by microscope control systems
494 # and related image processing software used by biologists.
495 # From: Vebjorn Ljosa <vebjorn@ljosa.com>
496 54      leshort 12345           Bio-Rad .PIC Image File
497 >0      leshort >0              %hd x
498 >2      leshort >0              %hd,
499 >4      leshort =1              1 image in file
500 >4      leshort >1              %hd images in file
501
502 # From Jan "Yenya" Kasprzak <kas@fi.muni.cz>
503 # The description of *.mrw format can be found at
504 # http://www.dalibor.cz/minolta/raw_file_format.htm
505 0       string  \000MRM                 Minolta Dimage camera raw image data
506
507 # From: stephane.loeuillet@tiscali.f
508 # http://www.djvuzone.org/
509 0       string  AT&TFORM                DjVu Image file
510
511 # From: Jason Bacon <bacon@smithers.neuro.mcw.edu>
512 0       beshort 0x3020                  character Computer Graphics Metafile
513
514 # From Marc Espie
515 0       lelong  20000630                OpenEXR image data
516
517 # From: Tom Hilinski <tom.hilinski@comcast.net>
518 # http://www.unidata.ucar.edu/packages/netcdf/
519 0       string  CDF\001                 NetCDF Data Format data
520
521 #-----------------------------------------------------------------------
522 # Hierarchical Data Format, used to facilitate scientific data exchange
523 # specifications at http://hdf.ncsa.uiuc.edu/
524 0       belong  0x0e031301      Hierarchical Data Format (version 4) data
525 0       string  \211HDF\r\n\032 Hierarchical Data Format (version 5) data
526
527 # From: Tobias Burnus <burnus@net-b.de>
528 # Xara (for a while: Corel Xara) is a graphic package, see
529 # http://www.xara.com/ for Windows and as GPL application for
530 0       string  XARA\243\243    Xara graphics file