summaryrefslogtreecommitdiffstats
path: root/contrib/file/Magdir/animation
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/file/Magdir/animation')
-rw-r--r--contrib/file/Magdir/animation142
1 files changed, 142 insertions, 0 deletions
diff --git a/contrib/file/Magdir/animation b/contrib/file/Magdir/animation
new file mode 100644
index 0000000..de0bf51
--- /dev/null
+++ b/contrib/file/Magdir/animation
@@ -0,0 +1,142 @@
+
+#------------------------------------------------------------------------------
+# animation: file(1) magic for animation/movie formats
+#
+# animation formats
+# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8)
+# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com)
+
+# MPEG animation format
+0 belong 0x000001b3 MPEG video stream data
+#>4 beshort&0xfff0 x (%d x
+#>5 beshort&0x0fff x %d)
+0 belong 0x000001ba MPEG system stream data
+
+# MPEG Audio (*.mpx)
+# from dreesen@math.fu-berlin.de
+
+# XXX
+# This conflicts with the FF FE signature for UTF-16-encoded Unicode
+# text, which will be identified as an MP3 file. I don't have any MP3s
+# so I don't know how to (or even if it's possible to) change this to
+# tell the two apart. enf@pobox.com
+
+0 beshort &0xfff0 MP
+# MPEG 1.0
+>1 byte&0x08 =0x08 \b
+# Layer 3
+>>1 byte &0x02 \b3
+>>>2 byte&0xf0 =0x10 \b, 32 kBits
+>>>2 byte&0xf0 =0x20 \b, 40 kBits
+>>>2 byte&0xf0 =0x30 \b, 48 kBits
+>>>2 byte&0xf0 =0x40 \b, 56 kBits
+>>>2 byte&0xf0 =0x50 \b, 64 kBits
+>>>2 byte&0xf0 =0x60 \b, 80 kBits
+>>>2 byte&0xf0 =0x70 \b, 96 kBits
+>>>2 byte&0xf0 =0x80 \b, 112 kBits
+>>>2 byte&0xf0 =0x90 \b, 128 kBits
+>>>2 byte&0xf0 =0xA0 \b, 160 kBits
+>>>2 byte&0xf0 =0xB0 \b, 192 kBits
+>>>2 byte&0xf0 =0xC0 \b, 224 kBits
+>>>2 byte&0xf0 =0xD0 \b, 256 kBits
+>>>2 byte&0xf0 =0xE0 \b, 320 kBits
+# Layer 2
+>>1 byte &0x04 \b2
+>>>2 byte&0xf0 =0x10 \b, 32 kBits
+>>>2 byte&0xf0 =0x20 \b, 48 kBits
+>>>2 byte&0xf0 =0x30 \b, 56 kBits
+>>>2 byte&0xf0 =0x40 \b, 64 kBits
+>>>2 byte&0xf0 =0x50 \b, 80 kBits
+>>>2 byte&0xf0 =0x60 \b, 96 kBits
+>>>2 byte&0xf0 =0x70 \b, 112 kBits
+>>>2 byte&0xf0 =0x80 \b, 128 kBits
+>>>2 byte&0xf0 =0x90 \b, 160 kBits
+>>>2 byte&0xf0 =0xA0 \b, 192 kBits
+>>>2 byte&0xf0 =0xB0 \b, 224 kBits
+>>>2 byte&0xf0 =0xC0 \b, 256 kBits
+>>>2 byte&0xf0 =0xD0 \b, 320 kBits
+>>>2 byte&0xf0 =0xE0 \b, 384 kBits
+# freq
+>>2 byte&0x0C =0x00 \b, 44.1 kHz
+>>2 byte&0x0C =0x04 \b, 48 kHz
+>>2 byte&0x0C =0x08 \b, 32 kHz
+# MPEG 2.0
+>1 byte&0x08 =0x00 \b
+# Layer 3
+>>1 byte &0x02 \b3
+# Layer 2
+>>1 byte &0x04 \b2
+>>2 byte&0xf0 =0x10 \b, 8 kBits
+>>2 byte&0xf0 =0x20 \b, 16 kBits
+>>2 byte&0xf0 =0x30 \b, 24 kBits
+>>2 byte&0xf0 =0x40 \b, 32 kBits
+>>2 byte&0xf0 =0x50 \b, 40 kBits
+>>2 byte&0xf0 =0x60 \b, 48 kBits
+>>2 byte&0xf0 =0x70 \b, 56 kBits
+>>2 byte&0xf0 =0x80 \b, 64 kBits
+>>2 byte&0xf0 =0x90 \b, 80 kBits
+>>2 byte&0xf0 =0xA0 \b, 96 kBits
+>>2 byte&0xf0 =0xB0 \b, 112 kBits
+>>2 byte&0xf0 =0xC0 \b, 128 kBits
+>>2 byte&0xf0 =0xD0 \b, 144 kBits
+>>2 byte&0xf0 =0xE0 \b, 160 kBits
+# freq
+>>2 byte&0x0C =0x00 \b, 22.05 kHz
+>>2 byte&0x0C =0x04 \b, 24 kHz
+>>2 byte&0x0C =0x08 \b, 16 kHz
+# misc
+>3 byte&0xC0 =0x00 \b, Stereo
+>3 byte&0xC0 =0x40 \b, JStereo
+>3 byte&0xC0 =0x80 \b, Dual-Ch
+>3 byte&0xC0 =0xC0 \b, Mono
+#>1 byte&0x01 =0x00 \b, Error Protection
+#>2 byte&0x02 =0x02 \b, Padding
+#>2 byte&0x01 =0x01 \b, Private
+#>3 byte&0x08 =0x08 \b, Copyright
+#>3 byte&0x04 =0x04 \b, Original
+#>3 byte&0x03 1 \b, Emphasis 5
+#>3 byte&0x03 3 \b, Emphasis c
+
+# FLI animation format
+4 leshort 0xAF11 FLI file
+>6 leshort x - %d frames,
+>8 leshort x width=%d pixels,
+>10 leshort x height=%d pixels,
+>12 leshort x depth=%d,
+>16 leshort x ticks/frame=%d
+# FLC animation format
+4 leshort 0xAF12 FLC file
+>6 leshort x - %d frames
+>8 leshort x width=%d pixels,
+>10 leshort x height=%d pixels,
+>12 leshort x depth=%d,
+>16 leshort x ticks/frame=%d
+
+# DL animation format
+# XXX - collision with most `mips' magic
+#
+# I couldn't find a real magic number for these, however, this
+# -appears- to work. Note that it might catch other files, too, so be
+# careful!
+#
+# Note that title and author appear in the two 20-byte chunks
+# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
+# 255 (hex FF)! The DL format is really bad.
+#
+#0 byte 1 DL version 1, medium format (160x100, 4 images/screen)
+#>42 byte x - %d screens,
+#>43 byte x %d commands
+#0 byte 2 DL version 2
+#>1 byte 1 - large format (320x200,1 image/screen),
+#>1 byte 2 - medium format (160x100,4 images/screen),
+#>1 byte >2 - unknown format,
+#>42 byte x %d screens,
+#>43 byte x %d commands
+# Based on empirical evidence, DL version 3 have several nulls following the
+# \003. Most of them start with non-null values at hex offset 0x34 or so.
+#0 string \3\0\0\0\0\0\0\0\0\0\0\0 DL version 3
+
+# SGI and Apple formats
+0 string MOVI Silicon Graphics movie file
+4 string moov Apple QuickTime movie file (moov)
+4 string mdat Apple QuickTime movie file (mdat)
OpenPOWER on IntegriCloud