xref: /minix3/external/bsd/file/dist/magic/magdir/animation (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1ef01931fSBen Gras
2ef01931fSBen Gras#------------------------------------------------------------------------------
3*0a6a1f1dSLionel Sambuc# $File: animation,v 1.56 2014/10/23 23:12:51 christos Exp $
4ef01931fSBen Gras# animation:  file(1) magic for animation/movie formats
5ef01931fSBen Gras#
6ef01931fSBen Gras# animation formats
7ef01931fSBen Gras# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8)
8ef01931fSBen Gras# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com)
9ef01931fSBen Gras
10ef01931fSBen Gras# SGI and Apple formats
11ef01931fSBen Gras0	string		MOVI		Silicon Graphics movie file
12ef01931fSBen Gras!:mime	video/x-sgi-movie
13ef01931fSBen Gras4       string          moov            Apple QuickTime
14ef01931fSBen Gras!:mime	video/quicktime
15ef01931fSBen Gras>12     string          mvhd            \b movie (fast start)
16ef01931fSBen Gras>12     string          mdra            \b URL
17ef01931fSBen Gras>12     string          cmov            \b movie (fast start, compressed header)
18ef01931fSBen Gras>12     string          rmra            \b multiple URLs
19ef01931fSBen Gras4       string          mdat            Apple QuickTime movie (unoptimized)
20ef01931fSBen Gras!:mime	video/quicktime
21ef01931fSBen Gras#4       string          wide            Apple QuickTime movie (unoptimized)
22ef01931fSBen Gras#!:mime	video/quicktime
23ef01931fSBen Gras#4       string          skip            Apple QuickTime movie (modified)
24ef01931fSBen Gras#!:mime	video/quicktime
25ef01931fSBen Gras#4       string          free            Apple QuickTime movie (modified)
26ef01931fSBen Gras#!:mime	video/quicktime
27ef01931fSBen Gras4       string          idsc            Apple QuickTime image (fast start)
28ef01931fSBen Gras!:mime	image/x-quicktime
29ef01931fSBen Gras#4       string          idat            Apple QuickTime image (unoptimized)
30ef01931fSBen Gras#!:mime	image/x-quicktime
31ef01931fSBen Gras4       string          pckg            Apple QuickTime compressed archive
32ef01931fSBen Gras!:mime	application/x-quicktime-player
33835f6802SDirk Vogt4	string/W	jP		JPEG 2000 image
34ef01931fSBen Gras!:mime	image/jp2
35*0a6a1f1dSLionel Sambuc# http://www.ftyps.com/ with local additions
36ef01931fSBen Gras4	string		ftyp		ISO Media
37835f6802SDirk Vogt>8	string		3g2		\b, MPEG v4 system, 3GPP2
38835f6802SDirk Vogt!:mime	video/3gpp2
39ef01931fSBen Gras>>11	byte		4		\b v4 (H.263/AMR GSM 6.10)
40ef01931fSBen Gras>>11	byte		5		\b v5 (H.263/AMR GSM 6.10)
41ef01931fSBen Gras>>11	byte		6		\b v6 (ITU H.264/AMR GSM 6.10)
42*0a6a1f1dSLionel Sambuc>>11	byte		a		\b C.S0050-0 V1.0
43*0a6a1f1dSLionel Sambuc>>11	byte		b		\b C.S0050-0-A V1.0.0
44*0a6a1f1dSLionel Sambuc>>11	byte		c		\b C.S0050-0-B V1.0
45*0a6a1f1dSLionel Sambuc>8	string		3ge		\b, MPEG v4 system, 3GPP
46ef01931fSBen Gras!:mime	video/3gpp
47*0a6a1f1dSLionel Sambuc>>11	byte		6		\b, Release 6 MBMS Extended Presentations
48*0a6a1f1dSLionel Sambuc>>11	byte		7		\b, Release 7 MBMS Extended Presentations
49*0a6a1f1dSLionel Sambuc>8	string		3gg		\b, MPEG v4 system, 3GPP
50*0a6a1f1dSLionel Sambuc>11	byte		6		\b, Release 6 General Profile
51*0a6a1f1dSLionel Sambuc!:mime	video/3gpp
52*0a6a1f1dSLionel Sambuc>8	string		3gp		\b, MPEG v4 system, 3GPP
53*0a6a1f1dSLionel Sambuc>11	byte		1		\b, Release %d (non existent)
54*0a6a1f1dSLionel Sambuc>11	byte		2		\b, Release %d (non existent)
55*0a6a1f1dSLionel Sambuc>11	byte		3		\b, Release %d (non existent)
56*0a6a1f1dSLionel Sambuc>11	byte		4		\b, Release %d
57*0a6a1f1dSLionel Sambuc>11	byte		5		\b, Release %d
58*0a6a1f1dSLionel Sambuc>11	byte		6		\b, Release %d
59*0a6a1f1dSLionel Sambuc>11	byte		7		\b, Release %d Streaming Servers
60*0a6a1f1dSLionel Sambuc!:mime	video/3gpp
61*0a6a1f1dSLionel Sambuc>8	string		3gs		\b, MPEG v4 system, 3GPP
62*0a6a1f1dSLionel Sambuc>11	byte		7		\b, Release %d Streaming Servers
63*0a6a1f1dSLionel Sambuc!:mime	video/3gpp
64*0a6a1f1dSLionel Sambuc>8	string		avc1		\b, MPEG v4 system, 3GPP JVT AVC [ISO 14496-12:2005]
65ef01931fSBen Gras!:mime	video/mp4
66835f6802SDirk Vogt>8	string/W	qt		\b, Apple QuickTime movie
67ef01931fSBen Gras!:mime	video/quicktime
68*0a6a1f1dSLionel Sambuc>8	string		CAEP		\b, Canon Digital Camera
69*0a6a1f1dSLionel Sambuc>8	string		caqv		\b, Casio Digital Camera
70*0a6a1f1dSLionel Sambuc>8	string		CDes		\b, Convergent Design
71*0a6a1f1dSLionel Sambuc>8	string		da0a		\b, DMB MAF w/ MPEG Layer II aud, MOT slides, DLS, JPG/PNG/MNG
72*0a6a1f1dSLionel Sambuc>8	string		da0b		\b, DMB MAF, ext DA0A, with 3GPP timed text, DID, TVA, REL, IPMP
73*0a6a1f1dSLionel Sambuc>8	string		da1a		\b, DMB MAF audio with ER-BSAC audio, JPG/PNG/MNG images
74*0a6a1f1dSLionel Sambuc>8	string		da1b		\b, DMB MAF, ext da1a, with 3GPP timed text, DID, TVA, REL, IPMP
75*0a6a1f1dSLionel Sambuc>8	string		da2a		\b, DMB MAF aud w/ HE-AAC v2 aud, MOT slides, DLS, JPG/PNG/MNG
76*0a6a1f1dSLionel Sambuc>8	string		da2b		\b, DMB MAF, ext da2a, with 3GPP timed text, DID, TVA, REL, IPMP
77*0a6a1f1dSLionel Sambuc>8	string		da3a		\b, DMB MAF aud with HE-AAC aud, JPG/PNG/MNG images
78*0a6a1f1dSLionel Sambuc>8	string		da3b		\b, DMB MAF, ext da3a w/ BIFS, 3GPP, DID, TVA, REL, IPMP
79*0a6a1f1dSLionel Sambuc>8	string		dmb1		\b, DMB MAF supporting all the components defined in the spec
80*0a6a1f1dSLionel Sambuc>8	string		dmpf		\b, Digital Media Project
81*0a6a1f1dSLionel Sambuc>8	string		drc1		\b, Dirac (wavelet compression), encap in ISO base media (MP4)
82*0a6a1f1dSLionel Sambuc>8	string		dv1a		\b, DMB MAF vid w/ AVC vid, ER-BSAC aud, BIFS, JPG/PNG/MNG, TS
83*0a6a1f1dSLionel Sambuc>8	string		dv1b		\b, DMB MAF, ext dv1a, with 3GPP timed text, DID, TVA, REL, IPMP
84*0a6a1f1dSLionel Sambuc>8	string		dv2a		\b, DMB MAF vid w/ AVC vid, HE-AAC v2 aud, BIFS, JPG/PNG/MNG, TS
85*0a6a1f1dSLionel Sambuc>8	string		dv2b		\b, DMB MAF, ext dv2a, with 3GPP timed text, DID, TVA, REL, IPMP
86*0a6a1f1dSLionel Sambuc>8	string		dv3a		\b, DMB MAF vid w/ AVC vid, HE-AAC aud, BIFS, JPG/PNG/MNG, TS
87*0a6a1f1dSLionel Sambuc>8	string		dv3b		\b, DMB MAF, ext dv3a, with 3GPP timed text, DID, TVA, REL, IPMP
88*0a6a1f1dSLionel Sambuc>8	string		dvr1		\b, DVB (.DVB) over RTP
89*0a6a1f1dSLionel Sambuc!:mime	video/vnd.dvb.file
90*0a6a1f1dSLionel Sambuc>8	string		dvt1		\b, DVB (.DVB) over MPEG-2 Transport Stream
91*0a6a1f1dSLionel Sambuc!:mime	video/vnd.dvb.file
92*0a6a1f1dSLionel Sambuc>8	string		F4V		\b, Video for Adobe Flash Player 9+ (.F4V)
93*0a6a1f1dSLionel Sambuc!:mime	video/mp4
94*0a6a1f1dSLionel Sambuc>8	string		F4P		\b, Protected Video for Adobe Flash Player 9+ (.F4P)
95*0a6a1f1dSLionel Sambuc!:mime	video/mp4
96*0a6a1f1dSLionel Sambuc>8	string		F4A		\b, Audio for Adobe Flash Player 9+ (.F4A)
97*0a6a1f1dSLionel Sambuc!:mime	audio/mp4
98*0a6a1f1dSLionel Sambuc>8	string		F4B		\b, Audio Book for Adobe Flash Player 9+ (.F4B)
99*0a6a1f1dSLionel Sambuc!:mime	audio/mp4
100*0a6a1f1dSLionel Sambuc>8	string		isc2		\b, ISMACryp 2.0 Encrypted File
101*0a6a1f1dSLionel Sambuc#	?/enc-isoff-generic
102*0a6a1f1dSLionel Sambuc>8	string		iso2		\b, MP4 Base Media v2 [ISO 14496-12:2005]
103*0a6a1f1dSLionel Sambuc!:mime	video/mp4
104*0a6a1f1dSLionel Sambuc>8	string		isom		\b, MP4 Base Media v1 [IS0 14496-12:2003]
105*0a6a1f1dSLionel Sambuc!:mime	video/mp4
106*0a6a1f1dSLionel Sambuc>8	string/W	jp2		\b, JPEG 2000
107*0a6a1f1dSLionel Sambuc!:mime	image/jp2
108*0a6a1f1dSLionel Sambuc>8	string		JP2		\b, JPEG 2000 Image (.JP2) [ISO 15444-1 ?]
109*0a6a1f1dSLionel Sambuc!:mime	image/jp2
110*0a6a1f1dSLionel Sambuc>8	string		JP20		\b, Unknown, from GPAC samples (prob non-existent)
111*0a6a1f1dSLionel Sambuc>8	string		jpm		\b, JPEG 2000 Compound Image (.JPM) [ISO 15444-6]
112*0a6a1f1dSLionel Sambuc!:mime	image/jpm
113*0a6a1f1dSLionel Sambuc>8	string		jpx		\b, JPEG 2000 w/ extensions (.JPX) [ISO 15444-2]
114*0a6a1f1dSLionel Sambuc!:mime	image/jpx
115*0a6a1f1dSLionel Sambuc>8	string		KDDI		\b, 3GPP2 EZmovie for KDDI 3G cellphones
116*0a6a1f1dSLionel Sambuc!:mime	video/3gpp2
117*0a6a1f1dSLionel Sambuc>8	string		M4A 		\b, Apple iTunes ALAC/AAC-LC (.M4A) Audio
118*0a6a1f1dSLionel Sambuc!:mime	audio/x-m4a
119*0a6a1f1dSLionel Sambuc>8	string		M4B 		\b, Apple iTunes ALAC/AAC-LC (.M4B) Audio Book
120*0a6a1f1dSLionel Sambuc!:mime	audio/mp4
121*0a6a1f1dSLionel Sambuc>8	string		M4P 		\b, Apple iTunes ALAC/AAC-LC (.M4P) AES Protected Audio
122*0a6a1f1dSLionel Sambuc!:mime	video/mp4
123*0a6a1f1dSLionel Sambuc>8	string		M4V 		\b, Apple iTunes Video (.M4V) Video
124*0a6a1f1dSLionel Sambuc!:mime	video/x-m4v
125*0a6a1f1dSLionel Sambuc>8	string		M4VH		\b, Apple TV (.M4V)
126*0a6a1f1dSLionel Sambuc!:mime	video/x-m4v
127*0a6a1f1dSLionel Sambuc>8	string		M4VP		\b, Apple iPhone (.M4V)
128*0a6a1f1dSLionel Sambuc!:mime	video/x-m4v
129*0a6a1f1dSLionel Sambuc>8	string		mj2s		\b, Motion JPEG 2000 [ISO 15444-3] Simple Profile
130*0a6a1f1dSLionel Sambuc!:mime	video/mj2
131*0a6a1f1dSLionel Sambuc>8	string		mjp2		\b, Motion JPEG 2000 [ISO 15444-3] General Profile
132*0a6a1f1dSLionel Sambuc!:mime	video/mj2
133*0a6a1f1dSLionel Sambuc>8	string		mmp4		\b, MPEG-4/3GPP Mobile Profile (.MP4 / .3GP) (for NTT)
134*0a6a1f1dSLionel Sambuc!:mime	video/mp4
135*0a6a1f1dSLionel Sambuc>8	string		mobi		\b, MPEG-4, MOBI format
136*0a6a1f1dSLionel Sambuc!:mime	video/mp4
137*0a6a1f1dSLionel Sambuc>8	string		mp21		\b, MPEG-21 [ISO/IEC 21000-9]
138*0a6a1f1dSLionel Sambuc>8	string		mp41		\b, MP4 v1 [ISO 14496-1:ch13]
139*0a6a1f1dSLionel Sambuc!:mime	video/mp4
140*0a6a1f1dSLionel Sambuc>8	string		mp42		\b, MP4 v2 [ISO 14496-14]
141*0a6a1f1dSLionel Sambuc!:mime	video/mp4
142*0a6a1f1dSLionel Sambuc>8	string		mp71		\b, MP4 w/ MPEG-7 Metadata [per ISO 14496-12]
143*0a6a1f1dSLionel Sambuc>8	string		mp7t		\b, MPEG v4 system, MPEG v7 XML
144*0a6a1f1dSLionel Sambuc>8	string		mp7b		\b, MPEG v4 system, MPEG v7 binary XML
145*0a6a1f1dSLionel Sambuc>8	string		mmp4		\b, MPEG v4 system, 3GPP Mobile
146*0a6a1f1dSLionel Sambuc!:mime	video/mp4
147*0a6a1f1dSLionel Sambuc>8	string		MPPI		\b, Photo Player, MAF [ISO/IEC 23000-3]
148*0a6a1f1dSLionel Sambuc>8	string		mqt		\b, Sony / Mobile QuickTime (.MQV) US Pat 7,477,830
149*0a6a1f1dSLionel Sambuc!:mime	video/quicktime
150*0a6a1f1dSLionel Sambuc>8	string		MSNV		\b, MPEG-4 (.MP4) for SonyPSP
151*0a6a1f1dSLionel Sambuc!:mime	audio/mp4
152*0a6a1f1dSLionel Sambuc>8	string		NDAS		\b, MP4 v2 [ISO 14496-14] Nero Digital AAC Audio
153*0a6a1f1dSLionel Sambuc!:mime	audio/mp4
154*0a6a1f1dSLionel Sambuc>8	string		NDSC		\b, MPEG-4 (.MP4) Nero Cinema Profile
155*0a6a1f1dSLionel Sambuc!:mime	video/mp4
156*0a6a1f1dSLionel Sambuc>8	string		NDSH		\b, MPEG-4 (.MP4) Nero HDTV Profile
157*0a6a1f1dSLionel Sambuc!:mime	video/mp4
158*0a6a1f1dSLionel Sambuc>8	string		NDSM		\b, MPEG-4 (.MP4) Nero Mobile Profile
159*0a6a1f1dSLionel Sambuc!:mime	video/mp4
160*0a6a1f1dSLionel Sambuc>8	string		NDSP		\b, MPEG-4 (.MP4) Nero Portable Profile
161*0a6a1f1dSLionel Sambuc!:mime	video/mp4
162*0a6a1f1dSLionel Sambuc>8	string		NDSS		\b, MPEG-4 (.MP4) Nero Standard Profile
163*0a6a1f1dSLionel Sambuc!:mime	video/mp4
164*0a6a1f1dSLionel Sambuc>8	string		NDXC		\b, H.264/MPEG-4 AVC (.MP4) Nero Cinema Profile
165*0a6a1f1dSLionel Sambuc!:mime	video/mp4
166*0a6a1f1dSLionel Sambuc>8	string		NDXH		\b, H.264/MPEG-4 AVC (.MP4) Nero HDTV Profile
167*0a6a1f1dSLionel Sambuc!:mime	video/mp4
168*0a6a1f1dSLionel Sambuc>8	string		NDXM		\b, H.264/MPEG-4 AVC (.MP4) Nero Mobile Profile
169*0a6a1f1dSLionel Sambuc!:mime	video/mp4
170*0a6a1f1dSLionel Sambuc>8	string		NDXP		\b, H.264/MPEG-4 AVC (.MP4) Nero Portable Profile
171*0a6a1f1dSLionel Sambuc!:mime	video/mp4
172*0a6a1f1dSLionel Sambuc>8	string		NDXS		\b, H.264/MPEG-4 AVC (.MP4) Nero Standard Profile
173*0a6a1f1dSLionel Sambuc!:mime	video/mp4
174*0a6a1f1dSLionel Sambuc>8	string		odcf  		\b, OMA DCF DRM Format 2.0 (OMA-TS-DRM-DCF-V2_0-20060303-A)
175*0a6a1f1dSLionel Sambuc>8	string		opf2 		\b, OMA PDCF DRM Format 2.1 (OMA-TS-DRM-DCF-V2_1-20070724-C)
176*0a6a1f1dSLionel Sambuc>8	string		opx2  		\b, OMA PDCF DRM + XBS ext (OMA-TS-DRM_XBS-V1_0-20070529-C)
177*0a6a1f1dSLionel Sambuc>8	string		pana		\b, Panasonic Digital Camera
178*0a6a1f1dSLionel Sambuc>8	string		qt  		\b, Apple QuickTime (.MOV/QT)
179*0a6a1f1dSLionel Sambuc!:mime	video/quicktime
180*0a6a1f1dSLionel Sambuc>8	string		ROSS		\b, Ross Video
181*0a6a1f1dSLionel Sambuc>8	string		sdv		\b, SD Memory Card Video
182*0a6a1f1dSLionel Sambuc>8	string		ssc1		\b, Samsung stereo, single stream (patent pending)
183*0a6a1f1dSLionel Sambuc>8	string		ssc2		\b, Samsung stereo, dual stream (patent pending)
184ef01931fSBen Gras
185ef01931fSBen Gras# MPEG sequences
186ef01931fSBen Gras# Scans for all common MPEG header start codes
187ef01931fSBen Gras0	 belong		    0x00000001
188ef01931fSBen Gras>4	 byte&0x1F	    0x07	   JVT NAL sequence, H.264 video
189ef01931fSBen Gras>>5      byte               66             \b, baseline
190ef01931fSBen Gras>>5      byte               77             \b, main
191ef01931fSBen Gras>>5      byte               88             \b, extended
192ef01931fSBen Gras>>7      byte               x              \b @ L %u
193ef01931fSBen Gras0        belong&0xFFFFFF00  0x00000100
194ef01931fSBen Gras>3       byte               0xBA           MPEG sequence
195835f6802SDirk Vogt!:mime  video/mpeg
196ef01931fSBen Gras>>4      byte               &0x40          \b, v2, program multiplex
197ef01931fSBen Gras>>4      byte               ^0x40          \b, v1, system multiplex
198ef01931fSBen Gras>3       byte               0xBB           MPEG sequence, v1/2, multiplex (missing pack header)
199ef01931fSBen Gras>3       byte&0x1F          0x07           MPEG sequence, H.264 video
200ef01931fSBen Gras>>4      byte               66             \b, baseline
201ef01931fSBen Gras>>4      byte               77             \b, main
202ef01931fSBen Gras>>4      byte               88             \b, extended
203ef01931fSBen Gras>>6      byte               x              \b @ L %u
20484d9c625SLionel Sambuc# GRR too general as it catches also FoxPro Memo example NG.FPT
205ef01931fSBen Gras>3       byte               0xB0           MPEG sequence, v4
20684d9c625SLionel Sambuc# TODO: maybe this extra line exclude FoxPro Memo example NG.FPT starting with 000001b0 00000100 00000000
20784d9c625SLionel Sambuc#>>4      byte               !0             MPEG sequence, v4
208835f6802SDirk Vogt!:mime  video/mpeg4-generic
209ef01931fSBen Gras>>5      belong             0x000001B5
210ef01931fSBen Gras>>>9     byte               &0x80
211ef01931fSBen Gras>>>>10   byte&0xF0          16             \b, video
212ef01931fSBen Gras>>>>10   byte&0xF0          32             \b, still texture
213ef01931fSBen Gras>>>>10   byte&0xF0          48             \b, mesh
214ef01931fSBen Gras>>>>10   byte&0xF0          64             \b, face
215ef01931fSBen Gras>>>9     byte&0xF8          8              \b, video
216ef01931fSBen Gras>>>9     byte&0xF8          16             \b, still texture
217ef01931fSBen Gras>>>9     byte&0xF8          24             \b, mesh
218ef01931fSBen Gras>>>9     byte&0xF8          32             \b, face
219ef01931fSBen Gras>>4      byte               1              \b, simple @ L1
220ef01931fSBen Gras>>4      byte               2              \b, simple @ L2
221ef01931fSBen Gras>>4      byte               3              \b, simple @ L3
222ef01931fSBen Gras>>4      byte               4              \b, simple @ L0
223ef01931fSBen Gras>>4      byte               17             \b, simple scalable @ L1
224ef01931fSBen Gras>>4      byte               18             \b, simple scalable @ L2
225ef01931fSBen Gras>>4      byte               33             \b, core @ L1
226ef01931fSBen Gras>>4      byte               34             \b, core @ L2
227ef01931fSBen Gras>>4      byte               50             \b, main @ L2
228ef01931fSBen Gras>>4      byte               51             \b, main @ L3
229ef01931fSBen Gras>>4      byte               53             \b, main @ L4
230ef01931fSBen Gras>>4      byte               66             \b, n-bit @ L2
231ef01931fSBen Gras>>4      byte               81             \b, scalable texture @ L1
232ef01931fSBen Gras>>4      byte               97             \b, simple face animation @ L1
233ef01931fSBen Gras>>4      byte               98             \b, simple face animation @ L2
234ef01931fSBen Gras>>4      byte               99             \b, simple face basic animation @ L1
235ef01931fSBen Gras>>4      byte               100            \b, simple face basic animation @ L2
236ef01931fSBen Gras>>4      byte               113            \b, basic animation text @ L1
237ef01931fSBen Gras>>4      byte               114            \b, basic animation text @ L2
238ef01931fSBen Gras>>4      byte               129            \b, hybrid @ L1
239ef01931fSBen Gras>>4      byte               130            \b, hybrid @ L2
240ef01931fSBen Gras>>4      byte               145            \b, advanced RT simple @ L!
241ef01931fSBen Gras>>4      byte               146            \b, advanced RT simple @ L2
242ef01931fSBen Gras>>4      byte               147            \b, advanced RT simple @ L3
243ef01931fSBen Gras>>4      byte               148            \b, advanced RT simple @ L4
244ef01931fSBen Gras>>4      byte               161            \b, core scalable @ L1
245ef01931fSBen Gras>>4      byte               162            \b, core scalable @ L2
246ef01931fSBen Gras>>4      byte               163            \b, core scalable @ L3
247ef01931fSBen Gras>>4      byte               177            \b, advanced coding efficiency @ L1
248ef01931fSBen Gras>>4      byte               178            \b, advanced coding efficiency @ L2
249ef01931fSBen Gras>>4      byte               179            \b, advanced coding efficiency @ L3
250ef01931fSBen Gras>>4      byte               180            \b, advanced coding efficiency @ L4
251ef01931fSBen Gras>>4      byte               193            \b, advanced core @ L1
252ef01931fSBen Gras>>4      byte               194            \b, advanced core @ L2
253ef01931fSBen Gras>>4      byte               209            \b, advanced scalable texture @ L1
254ef01931fSBen Gras>>4      byte               210            \b, advanced scalable texture @ L2
255ef01931fSBen Gras>>4      byte               211            \b, advanced scalable texture @ L3
256ef01931fSBen Gras>>4      byte               225            \b, simple studio @ L1
257ef01931fSBen Gras>>4      byte               226            \b, simple studio @ L2
258ef01931fSBen Gras>>4      byte               227            \b, simple studio @ L3
259ef01931fSBen Gras>>4      byte               228            \b, simple studio @ L4
260ef01931fSBen Gras>>4      byte               229            \b, core studio @ L1
261ef01931fSBen Gras>>4      byte               230            \b, core studio @ L2
262ef01931fSBen Gras>>4      byte               231            \b, core studio @ L3
263ef01931fSBen Gras>>4      byte               232            \b, core studio @ L4
264ef01931fSBen Gras>>4      byte               240            \b, advanced simple @ L0
265ef01931fSBen Gras>>4      byte               241            \b, advanced simple @ L1
266ef01931fSBen Gras>>4      byte               242            \b, advanced simple @ L2
267ef01931fSBen Gras>>4      byte               243            \b, advanced simple @ L3
268ef01931fSBen Gras>>4      byte               244            \b, advanced simple @ L4
269ef01931fSBen Gras>>4      byte               245            \b, advanced simple @ L5
270ef01931fSBen Gras>>4      byte               247            \b, advanced simple @ L3b
271ef01931fSBen Gras>>4      byte               248            \b, FGS @ L0
272ef01931fSBen Gras>>4      byte               249            \b, FGS @ L1
273ef01931fSBen Gras>>4      byte               250            \b, FGS @ L2
274ef01931fSBen Gras>>4      byte               251            \b, FGS @ L3
275ef01931fSBen Gras>>4      byte               252            \b, FGS @ L4
276ef01931fSBen Gras>>4      byte               253            \b, FGS @ L5
277ef01931fSBen Gras>3       byte               0xB5           MPEG sequence, v4
278835f6802SDirk Vogt!:mime  video/mpeg4-generic
279ef01931fSBen Gras>>4      byte               &0x80
280ef01931fSBen Gras>>>5     byte&0xF0          16             \b, video (missing profile header)
281ef01931fSBen Gras>>>5     byte&0xF0          32             \b, still texture (missing profile header)
282ef01931fSBen Gras>>>5     byte&0xF0          48             \b, mesh (missing profile header)
283ef01931fSBen Gras>>>5     byte&0xF0          64             \b, face (missing profile header)
284ef01931fSBen Gras>>4      byte&0xF8          8              \b, video (missing profile header)
285ef01931fSBen Gras>>4      byte&0xF8          16             \b, still texture (missing profile header)
286ef01931fSBen Gras>>4      byte&0xF8          24             \b, mesh (missing profile header)
287ef01931fSBen Gras>>4      byte&0xF8          32             \b, face (missing profile header)
288ef01931fSBen Gras>3       byte               0xB3           MPEG sequence
289835f6802SDirk Vogt!:mime  video/mpeg
290ef01931fSBen Gras>>12     belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
291ef01931fSBen Gras>>12     belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
292ef01931fSBen Gras>>12     belong             0x000001B5     \b, v2,
293ef01931fSBen Gras>>>16    byte&0x0F          1              \b HP
294ef01931fSBen Gras>>>16    byte&0x0F          2              \b Spt
295ef01931fSBen Gras>>>16    byte&0x0F          3              \b SNR
296ef01931fSBen Gras>>>16    byte&0x0F          4              \b MP
297ef01931fSBen Gras>>>16    byte&0x0F          5              \b SP
298ef01931fSBen Gras>>>17    byte&0xF0          64             \b@HL
299ef01931fSBen Gras>>>17    byte&0xF0          96             \b@H-14
300ef01931fSBen Gras>>>17    byte&0xF0          128            \b@ML
301ef01931fSBen Gras>>>17    byte&0xF0          160            \b@LL
302ef01931fSBen Gras>>>17    byte               &0x08          \b progressive
303ef01931fSBen Gras>>>17    byte               ^0x08          \b interlaced
304ef01931fSBen Gras>>>17    byte&0x06          2              \b Y'CbCr 4:2:0 video
305ef01931fSBen Gras>>>17    byte&0x06          4              \b Y'CbCr 4:2:2 video
306ef01931fSBen Gras>>>17    byte&0x06          6              \b Y'CbCr 4:4:4 video
307ef01931fSBen Gras>>11     byte               &0x02
308ef01931fSBen Gras>>>75    byte               &0x01
309ef01931fSBen Gras>>>>140  belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
310ef01931fSBen Gras>>>>140  belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
311ef01931fSBen Gras>>>>140  belong             0x000001B5     \b, v2,
312ef01931fSBen Gras>>>>>144 byte&0x0F          1              \b HP
313ef01931fSBen Gras>>>>>144 byte&0x0F          2              \b Spt
314ef01931fSBen Gras>>>>>144 byte&0x0F          3              \b SNR
315ef01931fSBen Gras>>>>>144 byte&0x0F          4              \b MP
316ef01931fSBen Gras>>>>>144 byte&0x0F          5              \b SP
317ef01931fSBen Gras>>>>>145 byte&0xF0          64             \b@HL
318ef01931fSBen Gras>>>>>145 byte&0xF0          96             \b@H-14
319ef01931fSBen Gras>>>>>145 byte&0xF0          128            \b@ML
320ef01931fSBen Gras>>>>>145 byte&0xF0          160            \b@LL
321ef01931fSBen Gras>>>>>145 byte               &0x08          \b progressive
322ef01931fSBen Gras>>>>>145 byte               ^0x08          \b interlaced
323ef01931fSBen Gras>>>>>145 byte&0x06          2              \b Y'CbCr 4:2:0 video
324ef01931fSBen Gras>>>>>145 byte&0x06          4              \b Y'CbCr 4:2:2 video
325ef01931fSBen Gras>>>>>145 byte&0x06          6              \b Y'CbCr 4:4:4 video
326ef01931fSBen Gras>>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
327ef01931fSBen Gras>>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
328ef01931fSBen Gras>>76    belong             0x000001B5     \b, v2,
329ef01931fSBen Gras>>>80   byte&0x0F          1              \b HP
330ef01931fSBen Gras>>>80   byte&0x0F          2              \b Spt
331ef01931fSBen Gras>>>80   byte&0x0F          3              \b SNR
332ef01931fSBen Gras>>>80   byte&0x0F          4              \b MP
333ef01931fSBen Gras>>>80   byte&0x0F          5              \b SP
334ef01931fSBen Gras>>>81   byte&0xF0          64             \b@HL
335ef01931fSBen Gras>>>81   byte&0xF0          96             \b@H-14
336ef01931fSBen Gras>>>81   byte&0xF0          128            \b@ML
337ef01931fSBen Gras>>>81   byte&0xF0          160            \b@LL
338ef01931fSBen Gras>>>81   byte               &0x08          \b progressive
339ef01931fSBen Gras>>>81   byte               ^0x08          \b interlaced
340ef01931fSBen Gras>>>81   byte&0x06          2              \b Y'CbCr 4:2:0 video
341ef01931fSBen Gras>>>81   byte&0x06          4              \b Y'CbCr 4:2:2 video
342ef01931fSBen Gras>>>81   byte&0x06          6              \b Y'CbCr 4:4:4 video
343ef01931fSBen Gras>>4      belong&0xFFFFFF00  0x78043800     \b, HD-TV 1920P
344ef01931fSBen Gras>>>7     byte&0xF0          0x10           \b, 16:9
345ef01931fSBen Gras>>4      belong&0xFFFFFF00  0x50002D00     \b, SD-TV 1280I
346ef01931fSBen Gras>>>7     byte&0xF0          0x10           \b, 16:9
347ef01931fSBen Gras>>4      belong&0xFFFFFF00  0x30024000     \b, PAL Capture
348ef01931fSBen Gras>>>7     byte&0xF0          0x10           \b, 4:3
349ef01931fSBen Gras>>4      beshort&0xFFF0     0x2C00         \b, 4CIF
350ef01931fSBen Gras>>>5     beshort&0x0FFF     0x01E0         \b NTSC
351ef01931fSBen Gras>>>5     beshort&0x0FFF     0x0240         \b PAL
352ef01931fSBen Gras>>>7     byte&0xF0          0x20           \b, 4:3
353ef01931fSBen Gras>>>7     byte&0xF0          0x30           \b, 16:9
354ef01931fSBen Gras>>>7     byte&0xF0          0x40           \b, 11:5
355ef01931fSBen Gras>>>7     byte&0xF0          0x80           \b, PAL 4:3
356ef01931fSBen Gras>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
357ef01931fSBen Gras>>4      belong&0xFFFFFF00  0x2801E000     \b, LD-TV 640P
358ef01931fSBen Gras>>>7     byte&0xF0          0x10           \b, 4:3
359ef01931fSBen Gras>>4      belong&0xFFFFFF00  0x1400F000     \b, 320x240
360ef01931fSBen Gras>>>7     byte&0xF0          0x10           \b, 4:3
361ef01931fSBen Gras>>4      belong&0xFFFFFF00  0x0F00A000     \b, 240x160
362ef01931fSBen Gras>>>7     byte&0xF0          0x10           \b, 4:3
363ef01931fSBen Gras>>4      belong&0xFFFFFF00  0x0A007800     \b, 160x120
364ef01931fSBen Gras>>>7     byte&0xF0          0x10           \b, 4:3
365ef01931fSBen Gras>>4      beshort&0xFFF0     0x1600         \b, CIF
366ef01931fSBen Gras>>>5     beshort&0x0FFF     0x00F0         \b NTSC
367ef01931fSBen Gras>>>5     beshort&0x0FFF     0x0120         \b PAL
368ef01931fSBen Gras>>>7     byte&0xF0          0x20           \b, 4:3
369ef01931fSBen Gras>>>7     byte&0xF0          0x30           \b, 16:9
370ef01931fSBen Gras>>>7     byte&0xF0          0x40           \b, 11:5
371ef01931fSBen Gras>>>7     byte&0xF0          0x80           \b, PAL 4:3
372ef01931fSBen Gras>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
373ef01931fSBen Gras>>>5     beshort&0x0FFF     0x0240         \b PAL 625
374ef01931fSBen Gras>>>>7    byte&0xF0          0x20           \b, 4:3
375ef01931fSBen Gras>>>>7    byte&0xF0          0x30           \b, 16:9
376ef01931fSBen Gras>>>>7    byte&0xF0          0x40           \b, 11:5
377ef01931fSBen Gras>>4      beshort&0xFFF0     0x2D00         \b, CCIR/ITU
378ef01931fSBen Gras>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
379ef01931fSBen Gras>>>5     beshort&0x0FFF     0x0240         \b PAL 625
380ef01931fSBen Gras>>>7     byte&0xF0          0x20           \b, 4:3
381ef01931fSBen Gras>>>7     byte&0xF0          0x30           \b, 16:9
382ef01931fSBen Gras>>>7     byte&0xF0          0x40           \b, 11:5
383ef01931fSBen Gras>>4      beshort&0xFFF0     0x1E00         \b, SVCD
384ef01931fSBen Gras>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
385ef01931fSBen Gras>>>5     beshort&0x0FFF     0x0240         \b PAL 625
386ef01931fSBen Gras>>>7     byte&0xF0          0x20           \b, 4:3
387ef01931fSBen Gras>>>7     byte&0xF0          0x30           \b, 16:9
388ef01931fSBen Gras>>>7     byte&0xF0          0x40           \b, 11:5
389ef01931fSBen Gras>>7      byte&0x0F          1              \b, 23.976 fps
390ef01931fSBen Gras>>7      byte&0x0F          2              \b, 24 fps
391ef01931fSBen Gras>>7      byte&0x0F          3              \b, 25 fps
392ef01931fSBen Gras>>7      byte&0x0F          4              \b, 29.97 fps
393ef01931fSBen Gras>>7      byte&0x0F          5              \b, 30 fps
394ef01931fSBen Gras>>7      byte&0x0F          6              \b, 50 fps
395ef01931fSBen Gras>>7      byte&0x0F          7              \b, 59.94 fps
396ef01931fSBen Gras>>7      byte&0x0F          8              \b, 60 fps
397ef01931fSBen Gras>>11     byte               &0x04          \b, Constrained
398ef01931fSBen Gras
399ef01931fSBen Gras# MPEG ADTS Audio (*.mpx/mxa/aac)
400ef01931fSBen Gras# from dreesen@math.fu-berlin.de
401ef01931fSBen Gras# modified to fully support MPEG ADTS
402ef01931fSBen Gras
403ef01931fSBen Gras# MP3, M1A
404ef01931fSBen Gras# modified by Joerg Jenderek
405ef01931fSBen Gras# GRR the original test are too common for many DOS files
406ef01931fSBen Gras# so don't accept as MP3 until we've tested the rate
407ef01931fSBen Gras0       beshort&0xFFFE  0xFFFA
408ef01931fSBen Gras# rates
409ef01931fSBen Gras>2      byte&0xF0       0x10           MPEG ADTS, layer III, v1,  32 kbps
410ef01931fSBen Gras!:mime	audio/mpeg
411ef01931fSBen Gras>2      byte&0xF0       0x20           MPEG ADTS, layer III, v1,  40 kbps
412ef01931fSBen Gras!:mime	audio/mpeg
413ef01931fSBen Gras>2      byte&0xF0       0x30           MPEG ADTS, layer III, v1,  48 kbps
414ef01931fSBen Gras!:mime	audio/mpeg
415ef01931fSBen Gras>2      byte&0xF0       0x40           MPEG ADTS, layer III, v1,  56 kbps
416ef01931fSBen Gras!:mime	audio/mpeg
417ef01931fSBen Gras>2      byte&0xF0       0x50           MPEG ADTS, layer III, v1,  64 kbps
418ef01931fSBen Gras!:mime	audio/mpeg
419ef01931fSBen Gras>2      byte&0xF0       0x60           MPEG ADTS, layer III, v1,  80 kbps
420ef01931fSBen Gras!:mime	audio/mpeg
421ef01931fSBen Gras>2      byte&0xF0       0x70           MPEG ADTS, layer III, v1,  96 kbps
422ef01931fSBen Gras!:mime	audio/mpeg
423ef01931fSBen Gras>2      byte&0xF0       0x80           MPEG ADTS, layer III, v1, 112 kbps
424ef01931fSBen Gras!:mime	audio/mpeg
425ef01931fSBen Gras>2      byte&0xF0       0x90           MPEG ADTS, layer III, v1, 128 kbps
426ef01931fSBen Gras!:mime	audio/mpeg
427ef01931fSBen Gras>2      byte&0xF0       0xA0           MPEG ADTS, layer III, v1, 160 kbps
428ef01931fSBen Gras!:mime	audio/mpeg
429ef01931fSBen Gras>2      byte&0xF0       0xB0           MPEG ADTS, layer III, v1, 192 kbps
430ef01931fSBen Gras!:mime	audio/mpeg
431ef01931fSBen Gras>2      byte&0xF0       0xC0           MPEG ADTS, layer III, v1, 224 kbps
432ef01931fSBen Gras!:mime	audio/mpeg
433ef01931fSBen Gras>2      byte&0xF0       0xD0           MPEG ADTS, layer III, v1, 256 kbps
434ef01931fSBen Gras!:mime	audio/mpeg
435ef01931fSBen Gras>2      byte&0xF0       0xE0           MPEG ADTS, layer III, v1, 320 kbps
436ef01931fSBen Gras!:mime	audio/mpeg
437ef01931fSBen Gras# timing
438ef01931fSBen Gras>2      byte&0x0C       0x00           \b, 44.1 kHz
439ef01931fSBen Gras>2      byte&0x0C       0x04           \b, 48 kHz
440ef01931fSBen Gras>2      byte&0x0C       0x08           \b, 32 kHz
441ef01931fSBen Gras# channels/options
442ef01931fSBen Gras>3      byte&0xC0       0x00           \b, Stereo
443ef01931fSBen Gras>3      byte&0xC0       0x40           \b, JntStereo
444ef01931fSBen Gras>3      byte&0xC0       0x80           \b, 2x Monaural
445ef01931fSBen Gras>3      byte&0xC0       0xC0           \b, Monaural
446ef01931fSBen Gras#>1     byte            ^0x01          \b, Data Verify
447ef01931fSBen Gras#>2     byte            &0x02          \b, Packet Pad
448ef01931fSBen Gras#>2     byte            &0x01          \b, Custom Flag
449ef01931fSBen Gras#>3     byte            &0x08          \b, Copyrighted
450ef01931fSBen Gras#>3     byte            &0x04          \b, Original Source
451ef01931fSBen Gras#>3     byte&0x03       1              \b, NR: 50/15 ms
452ef01931fSBen Gras#>3     byte&0x03       3              \b, NR: CCIT J.17
453ef01931fSBen Gras
454ef01931fSBen Gras# MP2, M1A
455ef01931fSBen Gras0       beshort&0xFFFE  0xFFFC         MPEG ADTS, layer II, v1
456ef01931fSBen Gras!:mime	audio/mpeg
457ef01931fSBen Gras# rates
458ef01931fSBen Gras>2      byte&0xF0       0x10           \b,  32 kbps
459ef01931fSBen Gras>2      byte&0xF0       0x20           \b,  48 kbps
460ef01931fSBen Gras>2      byte&0xF0       0x30           \b,  56 kbps
461ef01931fSBen Gras>2      byte&0xF0       0x40           \b,  64 kbps
462ef01931fSBen Gras>2      byte&0xF0       0x50           \b,  80 kbps
463ef01931fSBen Gras>2      byte&0xF0       0x60           \b,  96 kbps
464ef01931fSBen Gras>2      byte&0xF0       0x70           \b, 112 kbps
465ef01931fSBen Gras>2      byte&0xF0       0x80           \b, 128 kbps
466ef01931fSBen Gras>2      byte&0xF0       0x90           \b, 160 kbps
467ef01931fSBen Gras>2      byte&0xF0       0xA0           \b, 192 kbps
468ef01931fSBen Gras>2      byte&0xF0       0xB0           \b, 224 kbps
469ef01931fSBen Gras>2      byte&0xF0       0xC0           \b, 256 kbps
470ef01931fSBen Gras>2      byte&0xF0       0xD0           \b, 320 kbps
471ef01931fSBen Gras>2      byte&0xF0       0xE0           \b, 384 kbps
472ef01931fSBen Gras# timing
473ef01931fSBen Gras>2      byte&0x0C       0x00           \b, 44.1 kHz
474ef01931fSBen Gras>2      byte&0x0C       0x04           \b, 48 kHz
475ef01931fSBen Gras>2      byte&0x0C       0x08           \b, 32 kHz
476ef01931fSBen Gras# channels/options
477ef01931fSBen Gras>3      byte&0xC0       0x00           \b, Stereo
478ef01931fSBen Gras>3      byte&0xC0       0x40           \b, JntStereo
479ef01931fSBen Gras>3      byte&0xC0       0x80           \b, 2x Monaural
480ef01931fSBen Gras>3      byte&0xC0       0xC0           \b, Monaural
481ef01931fSBen Gras#>1     byte            ^0x01          \b, Data Verify
482ef01931fSBen Gras#>2     byte            &0x02          \b, Packet Pad
483ef01931fSBen Gras#>2     byte            &0x01          \b, Custom Flag
484ef01931fSBen Gras#>3     byte            &0x08          \b, Copyrighted
485ef01931fSBen Gras#>3     byte            &0x04          \b, Original Source
486ef01931fSBen Gras#>3     byte&0x03       1              \b, NR: 50/15 ms
487ef01931fSBen Gras#>3     byte&0x03       3              \b, NR: CCIT J.17
488ef01931fSBen Gras
489ef01931fSBen Gras# MPA, M1A
490ef01931fSBen Gras# updated by Joerg Jenderek
491ef01931fSBen Gras# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
492ef01931fSBen Gras# GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE)
493ef01931fSBen Gras# FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries
494ef01931fSBen Gras#0	beshort&0xFFFE		0xFFFE
495ef01931fSBen Gras#>2	ubyte&0xF0	>0x0F
496ef01931fSBen Gras#>>2	ubyte&0xF0	<0xE1		MPEG ADTS, layer I, v1
497ef01931fSBen Gras## rate
498ef01931fSBen Gras#>>>2      byte&0xF0       0x10           \b,  32 kbps
499ef01931fSBen Gras#>>>2      byte&0xF0       0x20           \b,  64 kbps
500ef01931fSBen Gras#>>>2      byte&0xF0       0x30           \b,  96 kbps
501ef01931fSBen Gras#>>>2      byte&0xF0       0x40           \b, 128 kbps
502ef01931fSBen Gras#>>>2      byte&0xF0       0x50           \b, 160 kbps
503ef01931fSBen Gras#>>>2      byte&0xF0       0x60           \b, 192 kbps
504ef01931fSBen Gras#>>>2      byte&0xF0       0x70           \b, 224 kbps
505ef01931fSBen Gras#>>>2      byte&0xF0       0x80           \b, 256 kbps
506ef01931fSBen Gras#>>>2      byte&0xF0       0x90           \b, 288 kbps
507ef01931fSBen Gras#>>>2      byte&0xF0       0xA0           \b, 320 kbps
508ef01931fSBen Gras#>>>2      byte&0xF0       0xB0           \b, 352 kbps
509ef01931fSBen Gras#>>>2      byte&0xF0       0xC0           \b, 384 kbps
510ef01931fSBen Gras#>>>2      byte&0xF0       0xD0           \b, 416 kbps
511ef01931fSBen Gras#>>>2      byte&0xF0       0xE0           \b, 448 kbps
512ef01931fSBen Gras## timing
513ef01931fSBen Gras#>>>2      byte&0x0C       0x00           \b, 44.1 kHz
514ef01931fSBen Gras#>>>2      byte&0x0C       0x04           \b, 48 kHz
515ef01931fSBen Gras#>>>2      byte&0x0C       0x08           \b, 32 kHz
516ef01931fSBen Gras## channels/options
517ef01931fSBen Gras#>>>3      byte&0xC0       0x00           \b, Stereo
518ef01931fSBen Gras#>>>3      byte&0xC0       0x40           \b, JntStereo
519ef01931fSBen Gras#>>>3      byte&0xC0       0x80           \b, 2x Monaural
520ef01931fSBen Gras#>>>3      byte&0xC0       0xC0           \b, Monaural
521ef01931fSBen Gras##>1     byte            ^0x01          \b, Data Verify
522ef01931fSBen Gras##>2     byte            &0x02          \b, Packet Pad
523ef01931fSBen Gras##>2     byte            &0x01          \b, Custom Flag
524ef01931fSBen Gras##>3     byte            &0x08          \b, Copyrighted
525ef01931fSBen Gras##>3     byte            &0x04          \b, Original Source
526ef01931fSBen Gras##>3     byte&0x03       1              \b, NR: 50/15 ms
527ef01931fSBen Gras##>3     byte&0x03       3              \b, NR: CCIT J.17
528ef01931fSBen Gras
529ef01931fSBen Gras# MP3, M2A
530ef01931fSBen Gras0       beshort&0xFFFE  0xFFF2         MPEG ADTS, layer III, v2
531ef01931fSBen Gras!:mime	audio/mpeg
532ef01931fSBen Gras# rate
533ef01931fSBen Gras>2      byte&0xF0       0x10           \b,   8 kbps
534ef01931fSBen Gras>2      byte&0xF0       0x20           \b,  16 kbps
535ef01931fSBen Gras>2      byte&0xF0       0x30           \b,  24 kbps
536ef01931fSBen Gras>2      byte&0xF0       0x40           \b,  32 kbps
537ef01931fSBen Gras>2      byte&0xF0       0x50           \b,  40 kbps
538ef01931fSBen Gras>2      byte&0xF0       0x60           \b,  48 kbps
539ef01931fSBen Gras>2      byte&0xF0       0x70           \b,  56 kbps
540ef01931fSBen Gras>2      byte&0xF0       0x80           \b,  64 kbps
541ef01931fSBen Gras>2      byte&0xF0       0x90           \b,  80 kbps
542ef01931fSBen Gras>2      byte&0xF0       0xA0           \b,  96 kbps
543ef01931fSBen Gras>2      byte&0xF0       0xB0           \b, 112 kbps
544ef01931fSBen Gras>2      byte&0xF0       0xC0           \b, 128 kbps
545ef01931fSBen Gras>2      byte&0xF0       0xD0           \b, 144 kbps
546ef01931fSBen Gras>2      byte&0xF0       0xE0           \b, 160 kbps
547ef01931fSBen Gras# timing
548ef01931fSBen Gras>2      byte&0x0C       0x00           \b, 22.05 kHz
549ef01931fSBen Gras>2      byte&0x0C       0x04           \b, 24 kHz
550ef01931fSBen Gras>2      byte&0x0C       0x08           \b, 16 kHz
551ef01931fSBen Gras# channels/options
552ef01931fSBen Gras>3      byte&0xC0       0x00           \b, Stereo
553ef01931fSBen Gras>3      byte&0xC0       0x40           \b, JntStereo
554ef01931fSBen Gras>3      byte&0xC0       0x80           \b, 2x Monaural
555ef01931fSBen Gras>3      byte&0xC0       0xC0           \b, Monaural
556ef01931fSBen Gras#>1     byte            ^0x01          \b, Data Verify
557ef01931fSBen Gras#>2     byte            &0x02          \b, Packet Pad
558ef01931fSBen Gras#>2     byte            &0x01          \b, Custom Flag
559ef01931fSBen Gras#>3     byte            &0x08          \b, Copyrighted
560ef01931fSBen Gras#>3     byte            &0x04          \b, Original Source
561ef01931fSBen Gras#>3     byte&0x03       1              \b, NR: 50/15 ms
562ef01931fSBen Gras#>3     byte&0x03       3              \b, NR: CCIT J.17
563ef01931fSBen Gras
564ef01931fSBen Gras# MP2, M2A
565ef01931fSBen Gras0       beshort&0xFFFE  0xFFF4         MPEG ADTS, layer II, v2
566*0a6a1f1dSLionel Sambuc!:mime	audio/mpeg
567ef01931fSBen Gras# rate
568ef01931fSBen Gras>2      byte&0xF0       0x10           \b,   8 kbps
569ef01931fSBen Gras>2      byte&0xF0       0x20           \b,  16 kbps
570ef01931fSBen Gras>2      byte&0xF0       0x30           \b,  24 kbps
571ef01931fSBen Gras>2      byte&0xF0       0x40           \b,  32 kbps
572ef01931fSBen Gras>2      byte&0xF0       0x50           \b,  40 kbps
573ef01931fSBen Gras>2      byte&0xF0       0x60           \b,  48 kbps
574ef01931fSBen Gras>2      byte&0xF0       0x70           \b,  56 kbps
575ef01931fSBen Gras>2      byte&0xF0       0x80           \b,  64 kbps
576ef01931fSBen Gras>2      byte&0xF0       0x90           \b,  80 kbps
577ef01931fSBen Gras>2      byte&0xF0       0xA0           \b,  96 kbps
578ef01931fSBen Gras>2      byte&0xF0       0xB0           \b, 112 kbps
579ef01931fSBen Gras>2      byte&0xF0       0xC0           \b, 128 kbps
580ef01931fSBen Gras>2      byte&0xF0       0xD0           \b, 144 kbps
581ef01931fSBen Gras>2      byte&0xF0       0xE0           \b, 160 kbps
582ef01931fSBen Gras# timing
583ef01931fSBen Gras>2      byte&0x0C       0x00           \b, 22.05 kHz
584ef01931fSBen Gras>2      byte&0x0C       0x04           \b, 24 kHz
585ef01931fSBen Gras>2      byte&0x0C       0x08           \b, 16 kHz
586ef01931fSBen Gras# channels/options
587ef01931fSBen Gras>3      byte&0xC0       0x00           \b, Stereo
588ef01931fSBen Gras>3      byte&0xC0       0x40           \b, JntStereo
589ef01931fSBen Gras>3      byte&0xC0       0x80           \b, 2x Monaural
590ef01931fSBen Gras>3      byte&0xC0       0xC0           \b, Monaural
591ef01931fSBen Gras#>1     byte            ^0x01          \b, Data Verify
592ef01931fSBen Gras#>2     byte            &0x02          \b, Packet Pad
593ef01931fSBen Gras#>2     byte            &0x01          \b, Custom Flag
594ef01931fSBen Gras#>3     byte            &0x08          \b, Copyrighted
595ef01931fSBen Gras#>3     byte            &0x04          \b, Original Source
596ef01931fSBen Gras#>3     byte&0x03       1              \b, NR: 50/15 ms
597ef01931fSBen Gras#>3     byte&0x03       3              \b, NR: CCIT J.17
598ef01931fSBen Gras
599ef01931fSBen Gras# MPA, M2A
600ef01931fSBen Gras0       beshort&0xFFFE  0xFFF6         MPEG ADTS, layer I, v2
601835f6802SDirk Vogt!:mime	audio/mpeg
602ef01931fSBen Gras# rate
603ef01931fSBen Gras>2      byte&0xF0       0x10           \b,  32 kbps
604ef01931fSBen Gras>2      byte&0xF0       0x20           \b,  48 kbps
605ef01931fSBen Gras>2      byte&0xF0       0x30           \b,  56 kbps
606ef01931fSBen Gras>2      byte&0xF0       0x40           \b,  64 kbps
607ef01931fSBen Gras>2      byte&0xF0       0x50           \b,  80 kbps
608ef01931fSBen Gras>2      byte&0xF0       0x60           \b,  96 kbps
609ef01931fSBen Gras>2      byte&0xF0       0x70           \b, 112 kbps
610ef01931fSBen Gras>2      byte&0xF0       0x80           \b, 128 kbps
611ef01931fSBen Gras>2      byte&0xF0       0x90           \b, 144 kbps
612ef01931fSBen Gras>2      byte&0xF0       0xA0           \b, 160 kbps
613ef01931fSBen Gras>2      byte&0xF0       0xB0           \b, 176 kbps
614ef01931fSBen Gras>2      byte&0xF0       0xC0           \b, 192 kbps
615ef01931fSBen Gras>2      byte&0xF0       0xD0           \b, 224 kbps
616ef01931fSBen Gras>2      byte&0xF0       0xE0           \b, 256 kbps
617ef01931fSBen Gras# timing
618ef01931fSBen Gras>2      byte&0x0C       0x00           \b, 22.05 kHz
619ef01931fSBen Gras>2      byte&0x0C       0x04           \b, 24 kHz
620ef01931fSBen Gras>2      byte&0x0C       0x08           \b, 16 kHz
621ef01931fSBen Gras# channels/options
622ef01931fSBen Gras>3      byte&0xC0       0x00           \b, Stereo
623ef01931fSBen Gras>3      byte&0xC0       0x40           \b, JntStereo
624ef01931fSBen Gras>3      byte&0xC0       0x80           \b, 2x Monaural
625ef01931fSBen Gras>3      byte&0xC0       0xC0           \b, Monaural
626ef01931fSBen Gras#>1     byte            ^0x01          \b, Data Verify
627ef01931fSBen Gras#>2     byte            &0x02          \b, Packet Pad
628ef01931fSBen Gras#>2     byte            &0x01          \b, Custom Flag
629ef01931fSBen Gras#>3     byte            &0x08          \b, Copyrighted
630ef01931fSBen Gras#>3     byte            &0x04          \b, Original Source
631ef01931fSBen Gras#>3     byte&0x03       1              \b, NR: 50/15 ms
632ef01931fSBen Gras#>3     byte&0x03       3              \b, NR: CCIT J.17
633ef01931fSBen Gras
634ef01931fSBen Gras# MP3, M25A
635ef01931fSBen Gras0       beshort&0xFFFE  0xFFE2         MPEG ADTS, layer III,  v2.5
636835f6802SDirk Vogt!:mime	audio/mpeg
637ef01931fSBen Gras# rate
638ef01931fSBen Gras>2      byte&0xF0       0x10           \b,   8 kbps
639ef01931fSBen Gras>2      byte&0xF0       0x20           \b,  16 kbps
640ef01931fSBen Gras>2      byte&0xF0       0x30           \b,  24 kbps
641ef01931fSBen Gras>2      byte&0xF0       0x40           \b,  32 kbps
642ef01931fSBen Gras>2      byte&0xF0       0x50           \b,  40 kbps
643ef01931fSBen Gras>2      byte&0xF0       0x60           \b,  48 kbps
644ef01931fSBen Gras>2      byte&0xF0       0x70           \b,  56 kbps
645ef01931fSBen Gras>2      byte&0xF0       0x80           \b,  64 kbps
646ef01931fSBen Gras>2      byte&0xF0       0x90           \b,  80 kbps
647ef01931fSBen Gras>2      byte&0xF0       0xA0           \b,  96 kbps
648ef01931fSBen Gras>2      byte&0xF0       0xB0           \b, 112 kbps
649ef01931fSBen Gras>2      byte&0xF0       0xC0           \b, 128 kbps
650ef01931fSBen Gras>2      byte&0xF0       0xD0           \b, 144 kbps
651ef01931fSBen Gras>2      byte&0xF0       0xE0           \b, 160 kbps
652ef01931fSBen Gras# timing
653ef01931fSBen Gras>2      byte&0x0C       0x00           \b, 11.025 kHz
654ef01931fSBen Gras>2      byte&0x0C       0x04           \b, 12 kHz
655ef01931fSBen Gras>2      byte&0x0C       0x08           \b, 8 kHz
656ef01931fSBen Gras# channels/options
657ef01931fSBen Gras>3      byte&0xC0       0x00           \b, Stereo
658ef01931fSBen Gras>3      byte&0xC0       0x40           \b, JntStereo
659ef01931fSBen Gras>3      byte&0xC0       0x80           \b, 2x Monaural
660ef01931fSBen Gras>3      byte&0xC0       0xC0           \b, Monaural
661ef01931fSBen Gras#>1     byte            ^0x01          \b, Data Verify
662ef01931fSBen Gras#>2     byte            &0x02          \b, Packet Pad
663ef01931fSBen Gras#>2     byte            &0x01          \b, Custom Flag
664ef01931fSBen Gras#>3     byte            &0x08          \b, Copyrighted
665ef01931fSBen Gras#>3     byte            &0x04          \b, Original Source
666ef01931fSBen Gras#>3     byte&0x03       1              \b, NR: 50/15 ms
667ef01931fSBen Gras#>3     byte&0x03       3              \b, NR: CCIT J.17
668ef01931fSBen Gras
669ef01931fSBen Gras# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio
670ef01931fSBen Gras
671ef01931fSBen Gras# Stored AAC streams (instead of the MP4 format)
672ef01931fSBen Gras0       string          ADIF           MPEG ADIF, AAC
673ef01931fSBen Gras!:mime	audio/x-hx-aac-adif
674ef01931fSBen Gras>4      byte            &0x80
675ef01931fSBen Gras>>13    byte            &0x10          \b, VBR
676ef01931fSBen Gras>>13    byte            ^0x10          \b, CBR
677ef01931fSBen Gras>>16    byte&0x1E       0x02           \b, single stream
678ef01931fSBen Gras>>16    byte&0x1E       0x04           \b, 2 streams
679ef01931fSBen Gras>>16    byte&0x1E       0x06           \b, 3 streams
680ef01931fSBen Gras>>16    byte            &0x08          \b, 4 or more streams
681ef01931fSBen Gras>>16    byte            &0x10          \b, 8 or more streams
682ef01931fSBen Gras>>4    byte            &0x80          \b, Copyrighted
683ef01931fSBen Gras>>13   byte            &0x40          \b, Original Source
684ef01931fSBen Gras>>13   byte            &0x20          \b, Home Flag
685ef01931fSBen Gras>4      byte            ^0x80
686ef01931fSBen Gras>>4     byte            &0x10          \b, VBR
687ef01931fSBen Gras>>4     byte            ^0x10          \b, CBR
688ef01931fSBen Gras>>7     byte&0x1E       0x02           \b, single stream
689ef01931fSBen Gras>>7     byte&0x1E       0x04           \b, 2 streams
690ef01931fSBen Gras>>7     byte&0x1E       0x06           \b, 3 streams
691ef01931fSBen Gras>>7     byte            &0x08          \b, 4 or more streams
692ef01931fSBen Gras>>7     byte            &0x10          \b, 8 or more streams
693ef01931fSBen Gras>>4    byte            &0x40          \b, Original Stream(s)
694ef01931fSBen Gras>>4    byte            &0x20          \b, Home Source
695ef01931fSBen Gras
696ef01931fSBen Gras# Live or stored single AAC stream (used with MPEG-2 systems)
697ef01931fSBen Gras0       beshort&0xFFF6  0xFFF0         MPEG ADTS, AAC
698ef01931fSBen Gras!:mime	audio/x-hx-aac-adts
699ef01931fSBen Gras>1      byte            &0x08          \b, v2
700ef01931fSBen Gras>1      byte            ^0x08          \b, v4
701ef01931fSBen Gras# profile
702ef01931fSBen Gras>>2     byte            &0xC0          \b LTP
703ef01931fSBen Gras>2      byte&0xc0       0x00           \b Main
704ef01931fSBen Gras>2      byte&0xc0       0x40           \b LC
705ef01931fSBen Gras>2      byte&0xc0       0x80           \b SSR
706ef01931fSBen Gras# timing
707ef01931fSBen Gras>2      byte&0x3c       0x00           \b, 96 kHz
708ef01931fSBen Gras>2      byte&0x3c       0x04           \b, 88.2 kHz
709ef01931fSBen Gras>2      byte&0x3c       0x08           \b, 64 kHz
710ef01931fSBen Gras>2      byte&0x3c       0x0c           \b, 48 kHz
711ef01931fSBen Gras>2      byte&0x3c       0x10           \b, 44.1 kHz
712ef01931fSBen Gras>2      byte&0x3c       0x14           \b, 32 kHz
713ef01931fSBen Gras>2      byte&0x3c       0x18           \b, 24 kHz
714ef01931fSBen Gras>2      byte&0x3c       0x1c           \b, 22.05 kHz
715ef01931fSBen Gras>2      byte&0x3c       0x20           \b, 16 kHz
716ef01931fSBen Gras>2      byte&0x3c       0x24           \b, 12 kHz
717ef01931fSBen Gras>2      byte&0x3c       0x28           \b, 11.025 kHz
718ef01931fSBen Gras>2      byte&0x3c       0x2c           \b, 8 kHz
719ef01931fSBen Gras# channels
720ef01931fSBen Gras>2      beshort&0x01c0  0x0040         \b, monaural
721ef01931fSBen Gras>2      beshort&0x01c0  0x0080         \b, stereo
722ef01931fSBen Gras>2      beshort&0x01c0  0x00c0         \b, stereo + center
723ef01931fSBen Gras>2      beshort&0x01c0  0x0100         \b, stereo+center+LFE
724ef01931fSBen Gras>2      beshort&0x01c0  0x0140         \b, surround
725ef01931fSBen Gras>2      beshort&0x01c0  0x0180         \b, surround + LFE
726ef01931fSBen Gras>2      beshort         &0x01C0        \b, surround + side
727ef01931fSBen Gras#>1     byte            ^0x01           \b, Data Verify
728ef01931fSBen Gras#>2     byte            &0x02           \b, Custom Flag
729ef01931fSBen Gras#>3     byte            &0x20           \b, Original Stream
730ef01931fSBen Gras#>3     byte            &0x10           \b, Home Source
731ef01931fSBen Gras#>3     byte            &0x08           \b, Copyrighted
732ef01931fSBen Gras
733ef01931fSBen Gras# Live MPEG-4 audio streams (instead of RTP FlexMux)
734ef01931fSBen Gras0       beshort&0xFFE0  0x56E0         MPEG-4 LOAS
735ef01931fSBen Gras!:mime	audio/x-mp4a-latm
736*0a6a1f1dSLionel Sambuc#>1     beshort&0x1FFF  x              \b, %hu byte packet
737ef01931fSBen Gras>3      byte&0xE0       0x40
738ef01931fSBen Gras>>4     byte&0x3C       0x04           \b, single stream
739ef01931fSBen Gras>>4     byte&0x3C       0x08           \b, 2 streams
740ef01931fSBen Gras>>4     byte&0x3C       0x0C           \b, 3 streams
741ef01931fSBen Gras>>4     byte            &0x08          \b, 4 or more streams
742ef01931fSBen Gras>>4     byte            &0x20          \b, 8 or more streams
743ef01931fSBen Gras>3      byte&0xC0       0
744ef01931fSBen Gras>>4     byte&0x78       0x08           \b, single stream
745ef01931fSBen Gras>>4     byte&0x78       0x10           \b, 2 streams
746ef01931fSBen Gras>>4     byte&0x78       0x18           \b, 3 streams
747ef01931fSBen Gras>>4     byte            &0x20          \b, 4 or more streams
748ef01931fSBen Gras>>4     byte            &0x40          \b, 8 or more streams
749ef01931fSBen Gras# This magic isn't strong enough (matches plausible ISO-8859-1 text)
750ef01931fSBen Gras#0       beshort         0x4DE1         MPEG-4 LO-EP audio stream
751ef01931fSBen Gras#!:mime	audio/x-mp4a-latm
752ef01931fSBen Gras
753ef01931fSBen Gras# Summary: FLI animation format
754ef01931fSBen Gras# Created by: Daniel Quinlan <quinlan@yggdrasil.com>
755ef01931fSBen Gras# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
756ef01931fSBen Gras4	leshort		0xAF11
757ef01931fSBen Gras# standard FLI always has 320x200 resolution and 8 bit color
758ef01931fSBen Gras>8	leshort		320
759ef01931fSBen Gras>>10	leshort		200
760ef01931fSBen Gras>>>12	leshort		8			FLI animation, 320x200x8
761ef01931fSBen Gras!:mime	video/x-fli
762ef01931fSBen Gras>>>>6	leshort		x			\b, %d frames
763ef01931fSBen Gras# frame speed is multiple of 1/70s
764ef01931fSBen Gras>>>>16	leshort		x			\b, %d/70s per frame
765ef01931fSBen Gras
766ef01931fSBen Gras# Summary: FLC animation format
767ef01931fSBen Gras# Created by: Daniel Quinlan <quinlan@yggdrasil.com>
768ef01931fSBen Gras# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
769ef01931fSBen Gras4	leshort		0xAF12
770ef01931fSBen Gras# standard FLC always use 8 bit color
771ef01931fSBen Gras>12	leshort		8			FLC animation
772ef01931fSBen Gras!:mime	video/x-flc
773ef01931fSBen Gras>>8	leshort		x			\b, %d
774ef01931fSBen Gras>>10	leshort		x			\bx%dx8
775ef01931fSBen Gras>>6	uleshort	x			\b, %d frames
776ef01931fSBen Gras>>16	uleshort	x			\b, %dms per frame
777ef01931fSBen Gras
778ef01931fSBen Gras# DL animation format
779ef01931fSBen Gras# XXX - collision with most `mips' magic
780ef01931fSBen Gras#
781ef01931fSBen Gras# I couldn't find a real magic number for these, however, this
782ef01931fSBen Gras# -appears- to work.  Note that it might catch other files, too, so be
783ef01931fSBen Gras# careful!
784ef01931fSBen Gras#
785ef01931fSBen Gras# Note that title and author appear in the two 20-byte chunks
786ef01931fSBen Gras# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
787ef01931fSBen Gras# 255 (hex FF)!  The DL format is really bad.
788ef01931fSBen Gras#
789ef01931fSBen Gras#0	byte	1	DL version 1, medium format (160x100, 4 images/screen)
790ef01931fSBen Gras#!:mime	video/x-unknown
791ef01931fSBen Gras#>42	byte	x	- %d screens,
792ef01931fSBen Gras#>43	byte	x	%d commands
793ef01931fSBen Gras#0	byte	2	DL version 2
794ef01931fSBen Gras#!:mime	video/x-unknown
795ef01931fSBen Gras#>1	byte	1	- large format (320x200,1 image/screen),
796ef01931fSBen Gras#>1	byte	2	- medium format (160x100,4 images/screen),
797ef01931fSBen Gras#>1	byte	>2	- unknown format,
798ef01931fSBen Gras#>42	byte	x	%d screens,
799ef01931fSBen Gras#>43	byte	x	%d commands
800ef01931fSBen Gras# Based on empirical evidence, DL version 3 have several nulls following the
801ef01931fSBen Gras# \003.  Most of them start with non-null values at hex offset 0x34 or so.
802ef01931fSBen Gras#0	string	\3\0\0\0\0\0\0\0\0\0\0\0	DL version 3
803ef01931fSBen Gras
804ef01931fSBen Gras# iso 13818 transport stream
805ef01931fSBen Gras#
806ef01931fSBen Gras# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 (ISO 13818.1)
807ef01931fSBen Gras# syncbyte      8 bit	0x47
808ef01931fSBen Gras# error_ind     1 bit	-
809ef01931fSBen Gras# payload_start 1 bit	1
810ef01931fSBen Gras# priority      1 bit	-
811ef01931fSBen Gras# PID          13 bit	0x0000
812ef01931fSBen Gras# scrambling    2 bit	-
813ef01931fSBen Gras# adaptfld_ctrl 2 bit	1 or 3
81484d9c625SLionel Sambuc# conti_count   4 bit	-
81584d9c625SLionel Sambuc0	belong&0xFF5FFF10	0x47400010
81684d9c625SLionel Sambuc>188	byte			0x47		MPEG transport stream data
817ef01931fSBen Gras
818ef01931fSBen Gras# DIF digital video file format <mpruett@sgi.com>
819ef01931fSBen Gras0	belong&0xffffff00	0x1f070000      DIF
820ef01931fSBen Gras>4	byte			&0x01		(DVCPRO) movie file
821ef01931fSBen Gras>4	byte			^0x01		(DV) movie file
822ef01931fSBen Gras>3	byte			&0x80		(PAL)
823ef01931fSBen Gras>3	byte			^0x80		(NTSC)
824ef01931fSBen Gras
825ef01931fSBen Gras# Microsoft Advanced Streaming Format (ASF) <mpruett@sgi.com>
826ef01931fSBen Gras0	belong			0x3026b275	Microsoft ASF
827835f6802SDirk Vogt!:mime  video/x-ms-asf
828ef01931fSBen Gras
829ef01931fSBen Gras# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
830ef01931fSBen Gras0	string			\x8aMNG		MNG video data,
831ef01931fSBen Gras!:mime	video/x-mng
832ef01931fSBen Gras>4	belong			!0x0d0a1a0a	CORRUPTED,
833ef01931fSBen Gras>4	belong			0x0d0a1a0a
834*0a6a1f1dSLionel Sambuc>>16    belong	x				%d x
835*0a6a1f1dSLionel Sambuc>>20    belong	x				%d
836ef01931fSBen Gras
837ef01931fSBen Gras# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
838ef01931fSBen Gras0	string			\x8bJNG		JNG video data,
839ef01931fSBen Gras!:mime	video/x-jng
840ef01931fSBen Gras>4	belong			!0x0d0a1a0a	CORRUPTED,
841ef01931fSBen Gras>4	belong			0x0d0a1a0a
842*0a6a1f1dSLionel Sambuc>>16    belong	x				%d x
843*0a6a1f1dSLionel Sambuc>>20    belong	x				%d
844ef01931fSBen Gras
845ef01931fSBen Gras# Vivo video (Wolfram Kleff)
846ef01931fSBen Gras3	string		\x0D\x0AVersion:Vivo	Vivo video data
847ef01931fSBen Gras
848ef01931fSBen Gras# VRML (Virtual Reality Modelling Language)
849835f6802SDirk Vogt0       string/w        #VRML\ V1.0\ ascii	VRML 1 file
850ef01931fSBen Gras!:mime	model/vrml
851835f6802SDirk Vogt0	string/w	#VRML\ V2.0\ utf8	ISO/IEC 14772 VRML 97 file
852ef01931fSBen Gras!:mime	model/vrml
853ef01931fSBen Gras
854ef01931fSBen Gras# X3D (Extensible 3D) [http://www.web3d.org/specifications/x3d-3.0.dtd]
855ef01931fSBen Gras# From Michel Briand <michelbriand@free.fr>
856835f6802SDirk Vogt0	string/t		\<?xml\ version="
857ef01931fSBen Gras!:strength +1
858835f6802SDirk Vogt>20	search/1000/cw  \<!DOCTYPE\ X3D		X3D (Extensible 3D) model xml text
859ef01931fSBen Gras!:mime model/x3d
860ef01931fSBen Gras
861ef01931fSBen Gras#---------------------------------------------------------------------------
862ef01931fSBen Gras# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
863ef01931fSBen Gras# From Mark Sheppard <msheppard@climax.co.uk>, 2002-10-03
864ef01931fSBen Gras#
865ef01931fSBen Gras0	string		HVQM4		%s
866ef01931fSBen Gras>6	string		>\0		v%s
867ef01931fSBen Gras>0	byte		x		GameCube movie,
868ef01931fSBen Gras>0x34	ubeshort	x		%d x
869ef01931fSBen Gras>0x36	ubeshort	x		%d,
87084d9c625SLionel Sambuc>0x26	ubeshort	x		%dus,
871ef01931fSBen Gras>0x42	ubeshort	0		no audio
872ef01931fSBen Gras>0x42	ubeshort	>0		%dHz audio
873ef01931fSBen Gras
874ef01931fSBen Gras# From: "Stefan A. Haubenthal" <polluks@web.de>
875ef01931fSBen Gras0	string		DVDVIDEO-VTS	Video title set,
876ef01931fSBen Gras>0x21	byte		x		v%x
877ef01931fSBen Gras0	string		DVDVIDEO-VMG	Video manager,
878ef01931fSBen Gras>0x21	byte		x		v%x
879ef01931fSBen Gras
880ef01931fSBen Gras# From: Behan Webster <behanw@websterwood.com>
881ef01931fSBen Gras# NuppelVideo used by Mythtv (*.nuv)
882ef01931fSBen Gras# Note: there are two identical stanzas here differing only in the
883ef01931fSBen Gras# initial string matched. It used to be done with a regex, but we're
884ef01931fSBen Gras# trying to get rid of those.
885ef01931fSBen Gras0	string		NuppelVideo	MythTV NuppelVideo
886ef01931fSBen Gras>12	string		x		v%s
887ef01931fSBen Gras>20	lelong		x		(%d
888ef01931fSBen Gras>24	lelong		x		\bx%d),
889ef01931fSBen Gras>36	string		P		\bprogressive,
890ef01931fSBen Gras>36	string		I		\binterlaced,
891ef01931fSBen Gras>40	ledouble	x		\baspect:%.2f,
892ef01931fSBen Gras>48	ledouble	x		\bfps:%.2f
893ef01931fSBen Gras0	string		MythTV		MythTV NuppelVideo
894ef01931fSBen Gras>12	string		x		v%s
895ef01931fSBen Gras>20	lelong		x		(%d
896ef01931fSBen Gras>24	lelong		x		\bx%d),
897ef01931fSBen Gras>36	string		P		\bprogressive,
898ef01931fSBen Gras>36	string		I		\binterlaced,
899ef01931fSBen Gras>40	ledouble	x		\baspect:%.2f,
900ef01931fSBen Gras>48	ledouble	x		\bfps:%.2f
901ef01931fSBen Gras
902ef01931fSBen Gras#						MPEG file
903ef01931fSBen Gras# MPEG sequences
904*0a6a1f1dSLionel Sambuc# FIXME: This section is from the old magic.mime file and needs
905*0a6a1f1dSLionel Sambuc# integrating with the rest
906*0a6a1f1dSLionel Sambuc#0       belong             0x000001BA
907*0a6a1f1dSLionel Sambuc#>4      byte               &0x40
908*0a6a1f1dSLionel Sambuc#!:mime	video/mp2p
909*0a6a1f1dSLionel Sambuc#>4      byte               ^0x40
910*0a6a1f1dSLionel Sambuc#!:mime	video/mpeg
911*0a6a1f1dSLionel Sambuc#0       belong             0x000001BB
912*0a6a1f1dSLionel Sambuc#!:mime	video/mpeg
913*0a6a1f1dSLionel Sambuc#0       belong             0x000001B0
914*0a6a1f1dSLionel Sambuc#!:mime	video/mp4v-es
915*0a6a1f1dSLionel Sambuc#0       belong             0x000001B5
916*0a6a1f1dSLionel Sambuc#!:mime	video/mp4v-es
917*0a6a1f1dSLionel Sambuc#0       belong             0x000001B3
918*0a6a1f1dSLionel Sambuc#!:mime	video/mpv
919*0a6a1f1dSLionel Sambuc#0       belong&0xFF5FFF10  0x47400010
920*0a6a1f1dSLionel Sambuc#!:mime	video/mp2t
921*0a6a1f1dSLionel Sambuc#0       belong             0x00000001
922*0a6a1f1dSLionel Sambuc#>4      byte&0x1F	   0x07
923*0a6a1f1dSLionel Sambuc#!:mime	video/h264
924ef01931fSBen Gras
925ef01931fSBen Gras# Type: Bink Video
926835f6802SDirk Vogt# Extension: .bik
927835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=Bink_Container
928ef01931fSBen Gras# From: <hoehle@users.sourceforge.net>  2008-07-18
929ef01931fSBen Gras0	string		BIK	Bink Video
930ef01931fSBen Gras>3	regex		=[a-z]	rev.%s
931ef01931fSBen Gras#>4	ulelong		x	size %d
932ef01931fSBen Gras>20	ulelong		x	\b, %d
933ef01931fSBen Gras>24	ulelong		x	\bx%d
934ef01931fSBen Gras>8	ulelong		x	\b, %d frames
935ef01931fSBen Gras>32	ulelong		x	at rate %d/
936ef01931fSBen Gras>28	ulelong		>1	\b%d
937ef01931fSBen Gras>40	ulelong		=0	\b, no audio
938ef01931fSBen Gras>40	ulelong		!0	\b, %d audio track
939ef01931fSBen Gras>>40	ulelong		!1	\bs
940ef01931fSBen Gras# follow properties of the first audio track only
941ef01931fSBen Gras>>48	uleshort	x	%dHz
942ef01931fSBen Gras>>51	byte&0x20	0	mono
943ef01931fSBen Gras>>51	byte&0x20	!0	stereo
944ef01931fSBen Gras#>>51	byte&0x10	0	FFT
945ef01931fSBen Gras#>>51	byte&0x10	!0	DCT
946835f6802SDirk Vogt
947835f6802SDirk Vogt# Type:	NUT Container
948835f6802SDirk Vogt# URL:	http://wiki.multimedia.cx/index.php?title=NUT
949835f6802SDirk Vogt# From:	Adam Buchbinder <adam.buchbinder@gmail.com>
950835f6802SDirk Vogt0	string	nut/multimedia\ container\0	NUT multimedia container
951835f6802SDirk Vogt
952835f6802SDirk Vogt# Type: Nullsoft Video (NSV)
953835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=Nullsoft_Video
954835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
955835f6802SDirk Vogt0	string	NSVf	Nullsoft Video
956835f6802SDirk Vogt
957835f6802SDirk Vogt# Type: REDCode Video
958835f6802SDirk Vogt# URL:  http://www.red.com/ ; http://wiki.multimedia.cx/index.php?title=REDCode
959835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
960835f6802SDirk Vogt4	string	RED1	REDCode Video
961835f6802SDirk Vogt
962835f6802SDirk Vogt# Type: MTV Multimedia File
963835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=MTV
964835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
965835f6802SDirk Vogt0	string	AMVS	MTV Multimedia File
966835f6802SDirk Vogt
967835f6802SDirk Vogt# Type: ARMovie
968835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=ARMovie
969835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
970835f6802SDirk Vogt0	string	ARMovie\012	ARMovie
971835f6802SDirk Vogt
972835f6802SDirk Vogt# Type: Interplay MVE Movie
973835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=Interplay_MVE
974835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
975835f6802SDirk Vogt0	string	Interplay\040MVE\040File\032	Interplay MVE Movie
976835f6802SDirk Vogt
977835f6802SDirk Vogt# Type: Windows Television DVR File
978835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=WTV
979835f6802SDirk Vogt# From: Mike Melanson <mike@mutlimedia.cx>
980835f6802SDirk Vogt# This takes the form of a Windows-style GUID
981835f6802SDirk Vogt0	bequad	0xB7D800203749DA11
982835f6802SDirk Vogt>8	bequad	0xA64E0007E95EAD8D	Windows Television DVR Media
983835f6802SDirk Vogt
984835f6802SDirk Vogt# Type: Sega FILM/CPK Multimedia
985835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=Sega_FILM
986835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
987835f6802SDirk Vogt0	string	FILM	Sega FILM/CPK Multimedia,
988835f6802SDirk Vogt>32	belong	x	%d x
989835f6802SDirk Vogt>28	belong	x	%d
990835f6802SDirk Vogt
991835f6802SDirk Vogt# Type: Nintendo THP Multimedia
992835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=THP
993835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
994835f6802SDirk Vogt0	string	THP\0	Nintendo THP Multimedia
995835f6802SDirk Vogt
996835f6802SDirk Vogt# Type: BBC Dirac Video
997835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=Dirac
998835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
999835f6802SDirk Vogt0	string	BBCD	BBC Dirac Video
1000835f6802SDirk Vogt
1001835f6802SDirk Vogt# Type: RAD Game Tools Smacker Multimedia
1002835f6802SDirk Vogt# URL:  http://wiki.multimedia.cx/index.php?title=Smacker
1003835f6802SDirk Vogt# From: Mike Melanson <mike@multimedia.cx>
1004835f6802SDirk Vogt0	string	SMK	RAD Game Tools Smacker Multimedia
1005835f6802SDirk Vogt>3	byte	x	version %c,
1006835f6802SDirk Vogt>4	lelong	x	%d x
1007835f6802SDirk Vogt>8	lelong	x	%d,
1008835f6802SDirk Vogt>12	lelong	x	%d frames
1009