xref: /dflybsd-src/contrib/file/magic/Magdir/animation (revision 739f0ef867128a933e021db3d831e906fcafd825)
1327e51cbSPeter Avalos
2327e51cbSPeter Avalos#------------------------------------------------------------------------------
3*3b9cdfa3SAntonio Huete Jimenez# $File: animation,v 1.90 2022/08/16 11:16:39 christos Exp $
4327e51cbSPeter Avalos# animation:  file(1) magic for animation/movie formats
5327e51cbSPeter Avalos#
6327e51cbSPeter Avalos# animation formats
7327e51cbSPeter Avalos# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8)
8327e51cbSPeter Avalos# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com)
9327e51cbSPeter Avalos
10327e51cbSPeter Avalos# SGI and Apple formats
11327e51cbSPeter Avalos0	string		MOVI		Silicon Graphics movie file
1279343712SPeter Avalos!:mime	video/x-sgi-movie
13327e51cbSPeter Avalos4       string          moov            Apple QuickTime
1479343712SPeter Avalos!:mime	video/quicktime
15327e51cbSPeter Avalos>12     string          mvhd            \b movie (fast start)
16327e51cbSPeter Avalos>12     string          mdra            \b URL
17327e51cbSPeter Avalos>12     string          cmov            \b movie (fast start, compressed header)
18327e51cbSPeter Avalos>12     string          rmra            \b multiple URLs
19327e51cbSPeter Avalos4       string          mdat            Apple QuickTime movie (unoptimized)
2079343712SPeter Avalos!:mime	video/quicktime
2179343712SPeter Avalos#4       string          wide            Apple QuickTime movie (unoptimized)
2279343712SPeter Avalos#!:mime	video/quicktime
2379343712SPeter Avalos#4       string          skip            Apple QuickTime movie (modified)
2479343712SPeter Avalos#!:mime	video/quicktime
2579343712SPeter Avalos#4       string          free            Apple QuickTime movie (modified)
2679343712SPeter Avalos#!:mime	video/quicktime
27327e51cbSPeter Avalos4       string          idsc            Apple QuickTime image (fast start)
2879343712SPeter Avalos!:mime	image/x-quicktime
2979343712SPeter Avalos#4       string          idat            Apple QuickTime image (unoptimized)
3079343712SPeter Avalos#!:mime	image/x-quicktime
31327e51cbSPeter Avalos4       string          pckg            Apple QuickTime compressed archive
3279343712SPeter Avalos!:mime	application/x-quicktime-player
33970935fdSSascha Wildner
34970935fdSSascha Wildner#### MP4 ####
356fca56fbSSascha Wildner# https://www.ftyps.com/ with local additions
36970935fdSSascha Wildner# https://cconcolato.github.io/mp4ra/filetype.html
37327e51cbSPeter Avalos4	string		ftyp		ISO Media
386fca56fbSSascha Wildner# https://aeroquartet.com/wordpress/2016/03/05/3-xavc-s/
39c30bd091SSascha Wildner>8	string		XAVC		\b, MPEG v4 system, Sony XAVC Codec
40c30bd091SSascha Wildner>>96	string		x		\b, Audio "%.4s"
41c30bd091SSascha Wildner>>118	beshort		x		at %dHz
42c30bd091SSascha Wildner>>140	string		x		\b, Video "%.4s"
43c30bd091SSascha Wildner>>168	beshort		x		%d
44c30bd091SSascha Wildner>>170	beshort		x		\bx%d
45e4d4ce0cSPeter Avalos>8	string		3g2		\b, MPEG v4 system, 3GPP2
46e4d4ce0cSPeter Avalos!:mime	video/3gpp2
47327e51cbSPeter Avalos>>11	byte		4		\b v4 (H.263/AMR GSM 6.10)
48327e51cbSPeter Avalos>>11	byte		5		\b v5 (H.263/AMR GSM 6.10)
49327e51cbSPeter Avalos>>11	byte		6		\b v6 (ITU H.264/AMR GSM 6.10)
506fca56fbSSascha Wildner# https://www.3gpp2.org/Public_html/Specs/C.S0050-B_v1.0_070521.pdf
51c30bd091SSascha Wildner# Section 8.1.1, corresponds to a, b, c
52c30bd091SSascha Wildner>>11	byte		0x61		\b C.S0050-0 V1.0
53c30bd091SSascha Wildner>>11	byte		0x62		\b C.S0050-0-A V1.0.0
54c30bd091SSascha Wildner>>11	byte		0x63		\b C.S0050-0-B V1.0
5582c5fa3eSPeter Avalos>8	string		3ge		\b, MPEG v4 system, 3GPP
5679343712SPeter Avalos!:mime	video/3gpp
57970935fdSSascha Wildner>>11	byte		6		\b, Release %d MBMS Extended Presentations
58970935fdSSascha Wildner>>11	byte		7		\b, Release %d MBMS Extended Presentations
59970935fdSSascha Wildner>>11	byte		9		\b, Release %d MBMS Extended Presentations
60970935fdSSascha Wildner>8	string		3gf		\b, MPEG v4 system, 3GPP
61970935fdSSascha Wildner>>11	byte		9		\b, Release %d File-delivery profile
6282c5fa3eSPeter Avalos>8	string		3gg		\b, MPEG v4 system, 3GPP
6382c5fa3eSPeter Avalos!:mime	video/3gpp
64970935fdSSascha Wildner>>11	byte		6		\b, Release %d General Profile
65970935fdSSascha Wildner>>11	byte		9		\b, Release %d General Profile
66970935fdSSascha Wildner>8	string		3gh		\b, MPEG v4 system, 3GPP
67970935fdSSascha Wildner!:mime	video/3gpp
68970935fdSSascha Wildner>>11	byte		9		\b, Release %d Adaptive Streaming Profile
69970935fdSSascha Wildner>8	string		3gm		\b, MPEG v4 system, 3GPP
70970935fdSSascha Wildner!:mime	video/3gpp
71970935fdSSascha Wildner>>11	byte		9		\b, Release %d Media Segment Profile
7282c5fa3eSPeter Avalos>8	string		3gp		\b, MPEG v4 system, 3GPP
7382c5fa3eSPeter Avalos!:mime	video/3gpp
746fca56fbSSascha Wildner>>11	byte		1		\b, Release %d (non existent)
756fca56fbSSascha Wildner>>11	byte		2		\b, Release %d (non existent)
766fca56fbSSascha Wildner>>11	byte		3		\b, Release %d (non existent)
776fca56fbSSascha Wildner>>11	byte		4		\b, Release %d
786fca56fbSSascha Wildner>>11	byte		5		\b, Release %d
796fca56fbSSascha Wildner>>11	byte		6		\b, Release %d
806fca56fbSSascha Wildner>>11	byte		7		\b, Release %d Streaming Servers
81970935fdSSascha Wildner>8	string		3gr		\b, MPEG v4 system, 3GPP
82970935fdSSascha Wildner!:mime	video/3gpp
83970935fdSSascha Wildner>>11	byte		6		\b, Release %d Progressive Download Profile
84970935fdSSascha Wildner>>11	byte		9		\b, Release %d Progressive Download Profile
8582c5fa3eSPeter Avalos>8	string		3gs		\b, MPEG v4 system, 3GPP
8682c5fa3eSPeter Avalos!:mime	video/3gpp
87970935fdSSascha Wildner>>11	byte		6		\b, Release %d Streaming Servers
886fca56fbSSascha Wildner>>11	byte		7		\b, Release %d Streaming Servers
89970935fdSSascha Wildner>>11	byte		9		\b, Release %d Streaming Servers
90970935fdSSascha Wildner>8	string		3gt		\b, MPEG v4 system, 3GPP
91970935fdSSascha Wildner!:mime	video/3gpp
92970935fdSSascha Wildner>>11	byte		8		\b, Release %d Media Stream Recording Profile
93970935fdSSascha Wildner>>11	byte		9		\b, Release %d Media Stream Recording Profile
94970935fdSSascha Wildner>8	string		ARRI		\b, MPEG v4 system, ARRI Digital Camera
95970935fdSSascha Wildner!:mime	video/mp4
9682c5fa3eSPeter Avalos>8	string		avc1		\b, MPEG v4 system, 3GPP JVT AVC [ISO 14496-12:2005]
9779343712SPeter Avalos!:mime	video/mp4
98970935fdSSascha Wildner>8	string		bbxm		\b, Blinkbox Master File: H.264 video/16-bit LE LPCM audio
99970935fdSSascha Wildner!:mime	video/mp4
100f72f8299SJan Lentfer>8	string/W	qt		\b, Apple QuickTime movie
10179343712SPeter Avalos!:mime	video/quicktime
10282c5fa3eSPeter Avalos>8	string		CAEP		\b, Canon Digital Camera
10382c5fa3eSPeter Avalos>8	string		caqv		\b, Casio Digital Camera
10482c5fa3eSPeter Avalos>8	string		CDes		\b, Convergent Design
105970935fdSSascha Wildner>8	string		caaa		\b, CMAF Media Profile - AAC Adaptive Audio
106970935fdSSascha Wildner>8	string		caac		\b, CMAF Media Profile - AAC Core
107970935fdSSascha Wildner>8	string		caqv		\b, Casio Digital Camera	Casio
108970935fdSSascha Wildner>8	string		ccea		\b, CMAF Supplemental Data - CEA-608/708
109970935fdSSascha Wildner>8	string		ccff		\b, Common container file format
110970935fdSSascha Wildner>8	string		cfhd		\b, CMAF Media Profile - AVC HD
111970935fdSSascha Wildner>8	string		cfsd		\b, CMAF Media Profile - AVC SD
112970935fdSSascha Wildner>8	string		chd1		\b, CMAF Media Profile - HEVC HDR10
113970935fdSSascha Wildner>8	string		chdf		\b, CMAF Media Profile - AVC HDHF
114970935fdSSascha Wildner>8	string		chhd		\b, CMAF Media Profile - HEVC HHD8
115970935fdSSascha Wildner>8	string		chh1		\b, CMAF Media Profile - HEVC HHD10
116970935fdSSascha Wildner>8	string		clg1		\b, CMAF Media Profile - HEVC HLG10
117970935fdSSascha Wildner>8	string		cmfc		\b, CMAF Track Format
118970935fdSSascha Wildner>8	string		cmff		\b, CMAF Fragment Format
119970935fdSSascha Wildner>8	string		cmfl		\b, CMAF Chunk Format
120970935fdSSascha Wildner>8	string		cmfs		\b, CMAF Segment Format
121970935fdSSascha Wildner>8	string		cud1		\b, CMAF Media Profile - HEVC UHD10
122970935fdSSascha Wildner>8	string		cud8		\b, CMAF Media Profile - HEVC UHD8
123970935fdSSascha Wildner>8	string		cwvt		\b, CMAF Media Profile - WebVTT
12482c5fa3eSPeter Avalos>8	string		da0a		\b, DMB MAF w/ MPEG Layer II aud, MOT slides, DLS, JPG/PNG/MNG
12582c5fa3eSPeter Avalos>8	string		da0b		\b, DMB MAF, ext DA0A, with 3GPP timed text, DID, TVA, REL, IPMP
12682c5fa3eSPeter Avalos>8	string		da1a		\b, DMB MAF audio with ER-BSAC audio, JPG/PNG/MNG images
12782c5fa3eSPeter Avalos>8	string		da1b		\b, DMB MAF, ext da1a, with 3GPP timed text, DID, TVA, REL, IPMP
12882c5fa3eSPeter Avalos>8	string		da2a		\b, DMB MAF aud w/ HE-AAC v2 aud, MOT slides, DLS, JPG/PNG/MNG
12982c5fa3eSPeter Avalos>8	string		da2b		\b, DMB MAF, ext da2a, with 3GPP timed text, DID, TVA, REL, IPMP
13082c5fa3eSPeter Avalos>8	string		da3a		\b, DMB MAF aud with HE-AAC aud, JPG/PNG/MNG images
13182c5fa3eSPeter Avalos>8	string		da3b		\b, DMB MAF, ext da3a w/ BIFS, 3GPP, DID, TVA, REL, IPMP
132c30bd091SSascha Wildner>8	string		dash		\b, MPEG v4 system, Dynamic Adaptive Streaming over HTTP
133c30bd091SSascha Wildner!:mime	video/mp4
134970935fdSSascha Wildner>8	string		dby1		\b, MP4 files with Dolby content
135970935fdSSascha Wildner>8	string		dsms		\b, Media Segment DASH conformant
136970935fdSSascha Wildner>8	string		dts1		\b, MP4 track file with audio codecs dtsc dtsh or dtse
137970935fdSSascha Wildner>8	string		dts2		\b, MP4 track file with audio codec dtsx
138970935fdSSascha Wildner>8	string		dts3		\b, MP4 track file with audio codec dtsy
139970935fdSSascha Wildner>8	string		dxo$20		\b, DxO ONE camera
14082c5fa3eSPeter Avalos>8	string		dmb1		\b, DMB MAF supporting all the components defined in the spec
14182c5fa3eSPeter Avalos>8	string		dmpf		\b, Digital Media Project
14282c5fa3eSPeter Avalos>8	string		drc1		\b, Dirac (wavelet compression), encap in ISO base media (MP4)
14382c5fa3eSPeter Avalos>8	string		dv1a		\b, DMB MAF vid w/ AVC vid, ER-BSAC aud, BIFS, JPG/PNG/MNG, TS
14482c5fa3eSPeter Avalos>8	string		dv1b		\b, DMB MAF, ext dv1a, with 3GPP timed text, DID, TVA, REL, IPMP
14582c5fa3eSPeter Avalos>8	string		dv2a		\b, DMB MAF vid w/ AVC vid, HE-AAC v2 aud, BIFS, JPG/PNG/MNG, TS
14682c5fa3eSPeter Avalos>8	string		dv2b		\b, DMB MAF, ext dv2a, with 3GPP timed text, DID, TVA, REL, IPMP
14782c5fa3eSPeter Avalos>8	string		dv3a		\b, DMB MAF vid w/ AVC vid, HE-AAC aud, BIFS, JPG/PNG/MNG, TS
14882c5fa3eSPeter Avalos>8	string		dv3b		\b, DMB MAF, ext dv3a, with 3GPP timed text, DID, TVA, REL, IPMP
14982c5fa3eSPeter Avalos>8	string		dvr1		\b, DVB (.DVB) over RTP
15082c5fa3eSPeter Avalos!:mime	video/vnd.dvb.file
15182c5fa3eSPeter Avalos>8	string		dvt1		\b, DVB (.DVB) over MPEG-2 Transport Stream
152970935fdSSascha Wildner>8	string		emsg		\b, Event message box present
15382c5fa3eSPeter Avalos!:mime	video/vnd.dvb.file
15482c5fa3eSPeter Avalos>8	string		F4V		\b, Video for Adobe Flash Player 9+ (.F4V)
15582c5fa3eSPeter Avalos!:mime	video/mp4
15682c5fa3eSPeter Avalos>8	string		F4P		\b, Protected Video for Adobe Flash Player 9+ (.F4P)
15782c5fa3eSPeter Avalos!:mime	video/mp4
15882c5fa3eSPeter Avalos>8	string		F4A		\b, Audio for Adobe Flash Player 9+ (.F4A)
15982c5fa3eSPeter Avalos!:mime	audio/mp4
16082c5fa3eSPeter Avalos>8	string		F4B		\b, Audio Book for Adobe Flash Player 9+ (.F4B)
16182c5fa3eSPeter Avalos!:mime	audio/mp4
162970935fdSSascha Wildner>8	string		ifrm		\b, Apple iFrame Specification, Version 8.1 Jan 2013
163970935fdSSascha Wildner>8	string		im1i		\b, CMAF Media Profile - IMSC1 Image
164970935fdSSascha Wildner>8	string		im1t		\b, CMAF Media Profile - IMSC1 Text
16582c5fa3eSPeter Avalos>8	string		isc2		\b, ISMACryp 2.0 Encrypted File
16682c5fa3eSPeter Avalos#	?/enc-isoff-generic
167970935fdSSascha Wildner>8	string		iso		\b, MP4 Base Media
16882c5fa3eSPeter Avalos!:mime	video/mp4
169*3b9cdfa3SAntonio Huete Jimenez!:ext	mp4
170970935fdSSascha Wildner>>11	string		m 		v1 [ISO 14496-12:2003]
171970935fdSSascha Wildner>>11	string		2		v2 [ISO 14496-12:2005]
172970935fdSSascha Wildner>>11	string		4		v4
173970935fdSSascha Wildner>>11	string		5		v5
174970935fdSSascha Wildner>>11	string		6		v6
175970935fdSSascha Wildner>8	string		isml		\b, MP4 Base Media v2 [ISO 14496-12:2005]
17682c5fa3eSPeter Avalos!:mime	video/mp4
177970935fdSSascha Wildner>8	string		J2P0		\b, JPEG2000 Profile 0
178970935fdSSascha Wildner>8	string		J2P1		\b, JPEG2000 Profile 1
17982c5fa3eSPeter Avalos>8	string/W	jp2		\b, JPEG 2000
18082c5fa3eSPeter Avalos!:mime	image/jp2
18182c5fa3eSPeter Avalos>8	string		JP2		\b, JPEG 2000 Image (.JP2) [ISO 15444-1 ?]
18282c5fa3eSPeter Avalos!:mime	image/jp2
18382c5fa3eSPeter Avalos>8	string		JP20		\b, Unknown, from GPAC samples (prob non-existent)
18482c5fa3eSPeter Avalos>8	string		jpm		\b, JPEG 2000 Compound Image (.JPM) [ISO 15444-6]
18582c5fa3eSPeter Avalos!:mime	image/jpm
186970935fdSSascha Wildner>8	string		jpsi		\b, The JPSearch data interchange format
18782c5fa3eSPeter Avalos>8	string		jpx		\b, JPEG 2000 w/ extensions (.JPX) [ISO 15444-2]
18882c5fa3eSPeter Avalos!:mime	image/jpx
18982c5fa3eSPeter Avalos>8	string		KDDI		\b, 3GPP2 EZmovie for KDDI 3G cellphones
19082c5fa3eSPeter Avalos!:mime	video/3gpp2
191970935fdSSascha Wildner>8	string		LCAG		\b,  Leica digital camera
192970935fdSSascha Wildner>8	string		lmsg		\b, Last Media Segment indicator for ISO base media file format.
19382c5fa3eSPeter Avalos>8	string		M4A 		\b, Apple iTunes ALAC/AAC-LC (.M4A) Audio
19482c5fa3eSPeter Avalos!:mime	audio/x-m4a
19582c5fa3eSPeter Avalos>8	string		M4B 		\b, Apple iTunes ALAC/AAC-LC (.M4B) Audio Book
19682c5fa3eSPeter Avalos!:mime	audio/mp4
19782c5fa3eSPeter Avalos>8	string		M4P 		\b, Apple iTunes ALAC/AAC-LC (.M4P) AES Protected Audio
19882c5fa3eSPeter Avalos!:mime	video/mp4
19982c5fa3eSPeter Avalos>8	string		M4V 		\b, Apple iTunes Video (.M4V) Video
20082c5fa3eSPeter Avalos!:mime	video/x-m4v
20182c5fa3eSPeter Avalos>8	string		M4VH		\b, Apple TV (.M4V)
20282c5fa3eSPeter Avalos!:mime	video/x-m4v
20382c5fa3eSPeter Avalos>8	string		M4VP		\b, Apple iPhone (.M4V)
20482c5fa3eSPeter Avalos!:mime	video/x-m4v
20582c5fa3eSPeter Avalos>8	string		mj2s		\b, Motion JPEG 2000 [ISO 15444-3] Simple Profile
20682c5fa3eSPeter Avalos!:mime	video/mj2
20782c5fa3eSPeter Avalos>8	string		mjp2		\b, Motion JPEG 2000 [ISO 15444-3] General Profile
208970935fdSSascha Wildner>8	string		MFSM		\b, Media File for Samsung video Metadata
209970935fdSSascha Wildner>8	string		MGSV		\b, Sony Home and Mobile Multimedia Platform (HMMP)
21082c5fa3eSPeter Avalos!:mime	video/mj2
21182c5fa3eSPeter Avalos>8	string		mmp4		\b, MPEG-4/3GPP Mobile Profile (.MP4 / .3GP) (for NTT)
21282c5fa3eSPeter Avalos!:mime	video/mp4
21382c5fa3eSPeter Avalos>8	string		mobi		\b, MPEG-4, MOBI format
21482c5fa3eSPeter Avalos!:mime	video/mp4
21582c5fa3eSPeter Avalos>8	string		mp21		\b, MPEG-21 [ISO/IEC 21000-9]
21682c5fa3eSPeter Avalos>8	string		mp41		\b, MP4 v1 [ISO 14496-1:ch13]
21782c5fa3eSPeter Avalos!:mime	video/mp4
21882c5fa3eSPeter Avalos>8	string		mp42		\b, MP4 v2 [ISO 14496-14]
21982c5fa3eSPeter Avalos!:mime	video/mp4
22082c5fa3eSPeter Avalos>8	string		mp71		\b, MP4 w/ MPEG-7 Metadata [per ISO 14496-12]
22182c5fa3eSPeter Avalos>8	string		mp7t		\b, MPEG v4 system, MPEG v7 XML
22282c5fa3eSPeter Avalos>8	string		mp7b		\b, MPEG v4 system, MPEG v7 binary XML
223970935fdSSascha Wildner>8	string		mpuf		\b, Compliance with the MMT Processing Unit format
224970935fdSSascha Wildner>8	string		msdh		\b, Media Segment conforming to ISO base media file format.
225970935fdSSascha Wildner>8	string		msix		\b, Media Segment conforming to ISO base media file format.
22682c5fa3eSPeter Avalos>8	string		mmp4		\b, MPEG v4 system, 3GPP Mobile
22782c5fa3eSPeter Avalos!:mime	video/mp4
22882c5fa3eSPeter Avalos>8	string		MPPI		\b, Photo Player, MAF [ISO/IEC 23000-3]
22982c5fa3eSPeter Avalos>8	string		mqt		\b, Sony / Mobile QuickTime (.MQV) US Pat 7,477,830
23082c5fa3eSPeter Avalos!:mime	video/quicktime
23182c5fa3eSPeter Avalos>8	string		MSNV		\b, MPEG-4 (.MP4) for SonyPSP
232970935fdSSascha Wildner!:mime	audio/mp4
23382c5fa3eSPeter Avalos>8	string		NDAS		\b, MP4 v2 [ISO 14496-14] Nero Digital AAC Audio
23482c5fa3eSPeter Avalos!:mime	audio/mp4
23582c5fa3eSPeter Avalos>8	string		NDSC		\b, MPEG-4 (.MP4) Nero Cinema Profile
23682c5fa3eSPeter Avalos!:mime	video/mp4
23782c5fa3eSPeter Avalos>8	string		NDSH		\b, MPEG-4 (.MP4) Nero HDTV Profile
23882c5fa3eSPeter Avalos!:mime	video/mp4
23982c5fa3eSPeter Avalos>8	string		NDSM		\b, MPEG-4 (.MP4) Nero Mobile Profile
24082c5fa3eSPeter Avalos!:mime	video/mp4
24182c5fa3eSPeter Avalos>8	string		NDSP		\b, MPEG-4 (.MP4) Nero Portable Profile
24282c5fa3eSPeter Avalos!:mime	video/mp4
24382c5fa3eSPeter Avalos>8	string		NDSS		\b, MPEG-4 (.MP4) Nero Standard Profile
24482c5fa3eSPeter Avalos!:mime	video/mp4
24582c5fa3eSPeter Avalos>8	string		NDXC		\b, H.264/MPEG-4 AVC (.MP4) Nero Cinema Profile
24682c5fa3eSPeter Avalos!:mime	video/mp4
24782c5fa3eSPeter Avalos>8	string		NDXH		\b, H.264/MPEG-4 AVC (.MP4) Nero HDTV Profile
24882c5fa3eSPeter Avalos!:mime	video/mp4
24982c5fa3eSPeter Avalos>8	string		NDXM		\b, H.264/MPEG-4 AVC (.MP4) Nero Mobile Profile
25082c5fa3eSPeter Avalos!:mime	video/mp4
25182c5fa3eSPeter Avalos>8	string		NDXP		\b, H.264/MPEG-4 AVC (.MP4) Nero Portable Profile
25282c5fa3eSPeter Avalos!:mime	video/mp4
25382c5fa3eSPeter Avalos>8	string		NDXS		\b, H.264/MPEG-4 AVC (.MP4) Nero Standard Profile
254970935fdSSascha Wildner>8	string		niko		\b, Nikon Digital Camera
25582c5fa3eSPeter Avalos!:mime	video/mp4
25682c5fa3eSPeter Avalos>8	string		odcf  		\b, OMA DCF DRM Format 2.0 (OMA-TS-DRM-DCF-V2_0-20060303-A)
25782c5fa3eSPeter Avalos>8	string		opf2 		\b, OMA PDCF DRM Format 2.1 (OMA-TS-DRM-DCF-V2_1-20070724-C)
25882c5fa3eSPeter Avalos>8	string		opx2  		\b, OMA PDCF DRM + XBS ext (OMA-TS-DRM_XBS-V1_0-20070529-C)
25982c5fa3eSPeter Avalos>8	string		pana		\b, Panasonic Digital Camera
260970935fdSSascha Wildner>8	string		piff		\b, Protected Interoperable File Format
261970935fdSSascha Wildner>8	string		pnvi		]b, Panasonic Video Intercom
26282c5fa3eSPeter Avalos>8	string		qt  		\b, Apple QuickTime (.MOV/QT)
26382c5fa3eSPeter Avalos!:mime	video/quicktime
2646fca56fbSSascha Wildner# HEIF image format
2656fca56fbSSascha Wildner# see https://nokiatech.github.io/heif/technical.html
2666fca56fbSSascha Wildner>8	string		mif1		\b, HEIF Image
2676fca56fbSSascha Wildner!:mime image/heif
2686fca56fbSSascha Wildner>8	string		msf1		\b, HEIF Image Sequence
2696fca56fbSSascha Wildner!:mime image/heif-sequence
2706fca56fbSSascha Wildner>8	string		heic		\b, HEIF Image HEVC Main or Main Still Picture Profile
2716fca56fbSSascha Wildner!:mime image/heic
2726fca56fbSSascha Wildner>8	string		heix		\b, HEIF Image HEVC Main 10 Profile
2736fca56fbSSascha Wildner!:mime image/heic
2746fca56fbSSascha Wildner>8	string		hevc		\b, HEIF Image Sequenz HEVC Main or Main Still Picture Profile
2756fca56fbSSascha Wildner!:mime image/heic-sequence
2766fca56fbSSascha Wildner>8	string		hevx		\b, HEIF Image Sequence HEVC Main 10 Profile
2776fca56fbSSascha Wildner!:mime image/heic-sequence
2786fca56fbSSascha Wildner# following HEIF brands are not mentioned in the heif technical info currently (Oct 2017)
2796fca56fbSSascha Wildner# but used in the reference implementation:
2806fca56fbSSascha Wildner# https://github.com/nokiatech/heif/blob/d5e9a21c8ba8df712bdf643021dd9f6518134776/Srcs/reader/hevcimagefilereader.cpp
2816fca56fbSSascha Wildner>8	string		heim		\b, HEIF Image L-HEVC
2826fca56fbSSascha Wildner!:mime image/heif
2836fca56fbSSascha Wildner>8	string		heis		\b, HEIF Image L-HEVC
2846fca56fbSSascha Wildner!:mime image/heif
2856fca56fbSSascha Wildner>8	string		avic		\b, HEIF Image AVC
2866fca56fbSSascha Wildner!:mime image/heif
2876fca56fbSSascha Wildner>8	string		hevm		\b, HEIF Image Sequence L-HEVC
2886fca56fbSSascha Wildner!:mime image/heif-sequence
2896fca56fbSSascha Wildner>8	string		hevs		\b, HEIF Image Sequence L-HEVC
2906fca56fbSSascha Wildner!:mime image/heif-sequence
2916fca56fbSSascha Wildner>8	string		avcs		\b, HEIF Image Sequence AVC
2926fca56fbSSascha Wildner!:mime image/heif-sequence
293970935fdSSascha Wildner# AVIF image format
294970935fdSSascha Wildner# see https://aomediacodec.github.io/av1-avif/
295970935fdSSascha Wildner>8	string		avif		\b, AVIF Image
296970935fdSSascha Wildner!:mime image/avif
297970935fdSSascha Wildner>8	string		avis		\b, AVIF Image Sequence
298970935fdSSascha Wildner!:mime image/avif
299970935fdSSascha Wildner>8	string		risx		\b, Representation Index Segment for MPEG-2 TS Segments
30082c5fa3eSPeter Avalos>8	string		ROSS		\b, Ross Video
30182c5fa3eSPeter Avalos>8	string		sdv		\b, SD Memory Card Video
30282c5fa3eSPeter Avalos>8	string		ssc1		\b, Samsung stereo, single stream (patent pending)
30382c5fa3eSPeter Avalos>8	string		ssc2		\b, Samsung stereo, dual stream (patent pending)
304970935fdSSascha Wildner>8	string		SEAU		\b, Sony Home and Mobile Multimedia Platform (HMMP)
305970935fdSSascha Wildner>8	string		SEBK		\b, Sony Home and Mobile Multimedia Platform (HMMP)
306970935fdSSascha Wildner>8	string		senv		\b, Video contents Sony Entertainment Network
307970935fdSSascha Wildner>8	string		sims		\b, Media Segment for Sub-Indexed Media Segment format
308970935fdSSascha Wildner>8	string		sisx		\b, Single Index Segment forindex MPEG-2 TS
309970935fdSSascha Wildner>8	string		ssss		\b, Subsegment Index Segment used to index MPEG-2 Segments
310970935fdSSascha Wildner>8	string		uvvu		\b, UltraViolet file brand for DECE Common Format
311327e51cbSPeter Avalos
312327e51cbSPeter Avalos# MPEG sequences
313327e51cbSPeter Avalos# Scans for all common MPEG header start codes
31479343712SPeter Avalos0	 belong		    0x00000001
31579343712SPeter Avalos>4	 byte&0x1F	    0x07	   JVT NAL sequence, H.264 video
316327e51cbSPeter Avalos>>5      byte               66             \b, baseline
317327e51cbSPeter Avalos>>5      byte               77             \b, main
318327e51cbSPeter Avalos>>5      byte               88             \b, extended
319327e51cbSPeter Avalos>>7      byte               x              \b @ L %u
32079343712SPeter Avalos0        belong&0xFFFFFF00  0x00000100
32179343712SPeter Avalos>3       byte               0xBA           MPEG sequence
322f72f8299SJan Lentfer!:mime  video/mpeg
323970935fdSSascha Wildner# http://fileformats.archiveteam.org/wiki/Enhanced_VOB
324970935fdSSascha Wildner# https://reposcope.com/mimetype/video/mpeg
325970935fdSSascha Wildner!:ext	vob/evo/mpg/mpeg
326327e51cbSPeter Avalos>>4      byte               &0x40          \b, v2, program multiplex
327327e51cbSPeter Avalos>>4      byte               ^0x40          \b, v1, system multiplex
32879343712SPeter Avalos>3       byte               0xBB           MPEG sequence, v1/2, multiplex (missing pack header)
32979343712SPeter Avalos>3       byte&0x1F          0x07           MPEG sequence, H.264 video
330327e51cbSPeter Avalos>>4      byte               66             \b, baseline
331327e51cbSPeter Avalos>>4      byte               77             \b, main
332327e51cbSPeter Avalos>>4      byte               88             \b, extended
333327e51cbSPeter Avalos>>6      byte               x              \b @ L %u
334e8af9738SPeter Avalos# GRR too general as it catches also FoxPro Memo example NG.FPT
33579343712SPeter Avalos>3       byte               0xB0           MPEG sequence, v4
336e8af9738SPeter Avalos# TODO: maybe this extra line exclude FoxPro Memo example NG.FPT starting with 000001b0 00000100 00000000
337e8af9738SPeter Avalos#>>4      byte               !0             MPEG sequence, v4
338f72f8299SJan Lentfer!:mime  video/mpeg4-generic
339327e51cbSPeter Avalos>>5      belong             0x000001B5
340327e51cbSPeter Avalos>>>9     byte               &0x80
341327e51cbSPeter Avalos>>>>10   byte&0xF0          16             \b, video
342327e51cbSPeter Avalos>>>>10   byte&0xF0          32             \b, still texture
343327e51cbSPeter Avalos>>>>10   byte&0xF0          48             \b, mesh
344327e51cbSPeter Avalos>>>>10   byte&0xF0          64             \b, face
345327e51cbSPeter Avalos>>>9     byte&0xF8          8              \b, video
346327e51cbSPeter Avalos>>>9     byte&0xF8          16             \b, still texture
347327e51cbSPeter Avalos>>>9     byte&0xF8          24             \b, mesh
348327e51cbSPeter Avalos>>>9     byte&0xF8          32             \b, face
349327e51cbSPeter Avalos>>4      byte               1              \b, simple @ L1
350327e51cbSPeter Avalos>>4      byte               2              \b, simple @ L2
351327e51cbSPeter Avalos>>4      byte               3              \b, simple @ L3
352327e51cbSPeter Avalos>>4      byte               4              \b, simple @ L0
353327e51cbSPeter Avalos>>4      byte               17             \b, simple scalable @ L1
354327e51cbSPeter Avalos>>4      byte               18             \b, simple scalable @ L2
355327e51cbSPeter Avalos>>4      byte               33             \b, core @ L1
356327e51cbSPeter Avalos>>4      byte               34             \b, core @ L2
357327e51cbSPeter Avalos>>4      byte               50             \b, main @ L2
358327e51cbSPeter Avalos>>4      byte               51             \b, main @ L3
359327e51cbSPeter Avalos>>4      byte               53             \b, main @ L4
360327e51cbSPeter Avalos>>4      byte               66             \b, n-bit @ L2
361327e51cbSPeter Avalos>>4      byte               81             \b, scalable texture @ L1
362327e51cbSPeter Avalos>>4      byte               97             \b, simple face animation @ L1
363327e51cbSPeter Avalos>>4      byte               98             \b, simple face animation @ L2
364327e51cbSPeter Avalos>>4      byte               99             \b, simple face basic animation @ L1
365327e51cbSPeter Avalos>>4      byte               100            \b, simple face basic animation @ L2
366327e51cbSPeter Avalos>>4      byte               113            \b, basic animation text @ L1
367327e51cbSPeter Avalos>>4      byte               114            \b, basic animation text @ L2
368327e51cbSPeter Avalos>>4      byte               129            \b, hybrid @ L1
369327e51cbSPeter Avalos>>4      byte               130            \b, hybrid @ L2
370327e51cbSPeter Avalos>>4      byte               145            \b, advanced RT simple @ L!
371327e51cbSPeter Avalos>>4      byte               146            \b, advanced RT simple @ L2
372327e51cbSPeter Avalos>>4      byte               147            \b, advanced RT simple @ L3
373327e51cbSPeter Avalos>>4      byte               148            \b, advanced RT simple @ L4
374327e51cbSPeter Avalos>>4      byte               161            \b, core scalable @ L1
375327e51cbSPeter Avalos>>4      byte               162            \b, core scalable @ L2
376327e51cbSPeter Avalos>>4      byte               163            \b, core scalable @ L3
377327e51cbSPeter Avalos>>4      byte               177            \b, advanced coding efficiency @ L1
378327e51cbSPeter Avalos>>4      byte               178            \b, advanced coding efficiency @ L2
379327e51cbSPeter Avalos>>4      byte               179            \b, advanced coding efficiency @ L3
380327e51cbSPeter Avalos>>4      byte               180            \b, advanced coding efficiency @ L4
381327e51cbSPeter Avalos>>4      byte               193            \b, advanced core @ L1
382327e51cbSPeter Avalos>>4      byte               194            \b, advanced core @ L2
383327e51cbSPeter Avalos>>4      byte               209            \b, advanced scalable texture @ L1
384327e51cbSPeter Avalos>>4      byte               210            \b, advanced scalable texture @ L2
385327e51cbSPeter Avalos>>4      byte               211            \b, advanced scalable texture @ L3
386327e51cbSPeter Avalos>>4      byte               225            \b, simple studio @ L1
387327e51cbSPeter Avalos>>4      byte               226            \b, simple studio @ L2
388327e51cbSPeter Avalos>>4      byte               227            \b, simple studio @ L3
389327e51cbSPeter Avalos>>4      byte               228            \b, simple studio @ L4
390327e51cbSPeter Avalos>>4      byte               229            \b, core studio @ L1
391327e51cbSPeter Avalos>>4      byte               230            \b, core studio @ L2
392327e51cbSPeter Avalos>>4      byte               231            \b, core studio @ L3
393327e51cbSPeter Avalos>>4      byte               232            \b, core studio @ L4
394327e51cbSPeter Avalos>>4      byte               240            \b, advanced simple @ L0
395327e51cbSPeter Avalos>>4      byte               241            \b, advanced simple @ L1
396327e51cbSPeter Avalos>>4      byte               242            \b, advanced simple @ L2
397327e51cbSPeter Avalos>>4      byte               243            \b, advanced simple @ L3
398327e51cbSPeter Avalos>>4      byte               244            \b, advanced simple @ L4
399327e51cbSPeter Avalos>>4      byte               245            \b, advanced simple @ L5
400327e51cbSPeter Avalos>>4      byte               247            \b, advanced simple @ L3b
401327e51cbSPeter Avalos>>4      byte               248            \b, FGS @ L0
402327e51cbSPeter Avalos>>4      byte               249            \b, FGS @ L1
403327e51cbSPeter Avalos>>4      byte               250            \b, FGS @ L2
404327e51cbSPeter Avalos>>4      byte               251            \b, FGS @ L3
405327e51cbSPeter Avalos>>4      byte               252            \b, FGS @ L4
406327e51cbSPeter Avalos>>4      byte               253            \b, FGS @ L5
40779343712SPeter Avalos>3       byte               0xB5           MPEG sequence, v4
408e4d4ce0cSPeter Avalos!:mime  video/mpeg4-generic
409327e51cbSPeter Avalos>>4      byte               &0x80
410327e51cbSPeter Avalos>>>5     byte&0xF0          16             \b, video (missing profile header)
411327e51cbSPeter Avalos>>>5     byte&0xF0          32             \b, still texture (missing profile header)
412327e51cbSPeter Avalos>>>5     byte&0xF0          48             \b, mesh (missing profile header)
413327e51cbSPeter Avalos>>>5     byte&0xF0          64             \b, face (missing profile header)
414327e51cbSPeter Avalos>>4      byte&0xF8          8              \b, video (missing profile header)
415327e51cbSPeter Avalos>>4      byte&0xF8          16             \b, still texture (missing profile header)
416327e51cbSPeter Avalos>>4      byte&0xF8          24             \b, mesh (missing profile header)
417327e51cbSPeter Avalos>>4      byte&0xF8          32             \b, face (missing profile header)
41879343712SPeter Avalos>3       byte               0xB3           MPEG sequence
419e4d4ce0cSPeter Avalos!:mime  video/mpeg
420327e51cbSPeter Avalos>>12     belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
421327e51cbSPeter Avalos>>12     belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
422327e51cbSPeter Avalos>>12     belong             0x000001B5     \b, v2,
423327e51cbSPeter Avalos>>>16    byte&0x0F          1              \b HP
424327e51cbSPeter Avalos>>>16    byte&0x0F          2              \b Spt
425327e51cbSPeter Avalos>>>16    byte&0x0F          3              \b SNR
426327e51cbSPeter Avalos>>>16    byte&0x0F          4              \b MP
427327e51cbSPeter Avalos>>>16    byte&0x0F          5              \b SP
428327e51cbSPeter Avalos>>>17    byte&0xF0          64             \b@HL
429327e51cbSPeter Avalos>>>17    byte&0xF0          96             \b@H-14
430327e51cbSPeter Avalos>>>17    byte&0xF0          128            \b@ML
431327e51cbSPeter Avalos>>>17    byte&0xF0          160            \b@LL
432327e51cbSPeter Avalos>>>17    byte               &0x08          \b progressive
433327e51cbSPeter Avalos>>>17    byte               ^0x08          \b interlaced
434327e51cbSPeter Avalos>>>17    byte&0x06          2              \b Y'CbCr 4:2:0 video
435327e51cbSPeter Avalos>>>17    byte&0x06          4              \b Y'CbCr 4:2:2 video
436327e51cbSPeter Avalos>>>17    byte&0x06          6              \b Y'CbCr 4:4:4 video
437327e51cbSPeter Avalos>>11     byte               &0x02
438327e51cbSPeter Avalos>>>75    byte               &0x01
439327e51cbSPeter Avalos>>>>140  belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
440327e51cbSPeter Avalos>>>>140  belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
441327e51cbSPeter Avalos>>>>140  belong             0x000001B5     \b, v2,
442327e51cbSPeter Avalos>>>>>144 byte&0x0F          1              \b HP
443327e51cbSPeter Avalos>>>>>144 byte&0x0F          2              \b Spt
444327e51cbSPeter Avalos>>>>>144 byte&0x0F          3              \b SNR
445327e51cbSPeter Avalos>>>>>144 byte&0x0F          4              \b MP
446327e51cbSPeter Avalos>>>>>144 byte&0x0F          5              \b SP
447327e51cbSPeter Avalos>>>>>145 byte&0xF0          64             \b@HL
448327e51cbSPeter Avalos>>>>>145 byte&0xF0          96             \b@H-14
449327e51cbSPeter Avalos>>>>>145 byte&0xF0          128            \b@ML
450327e51cbSPeter Avalos>>>>>145 byte&0xF0          160            \b@LL
451327e51cbSPeter Avalos>>>>>145 byte               &0x08          \b progressive
452327e51cbSPeter Avalos>>>>>145 byte               ^0x08          \b interlaced
453327e51cbSPeter Avalos>>>>>145 byte&0x06          2              \b Y'CbCr 4:2:0 video
454327e51cbSPeter Avalos>>>>>145 byte&0x06          4              \b Y'CbCr 4:2:2 video
455327e51cbSPeter Avalos>>>>>145 byte&0x06          6              \b Y'CbCr 4:4:4 video
456327e51cbSPeter Avalos>>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
457327e51cbSPeter Avalos>>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
458327e51cbSPeter Avalos>>76    belong             0x000001B5     \b, v2,
459327e51cbSPeter Avalos>>>80   byte&0x0F          1              \b HP
460327e51cbSPeter Avalos>>>80   byte&0x0F          2              \b Spt
461327e51cbSPeter Avalos>>>80   byte&0x0F          3              \b SNR
462327e51cbSPeter Avalos>>>80   byte&0x0F          4              \b MP
463327e51cbSPeter Avalos>>>80   byte&0x0F          5              \b SP
464327e51cbSPeter Avalos>>>81   byte&0xF0          64             \b@HL
465327e51cbSPeter Avalos>>>81   byte&0xF0          96             \b@H-14
466327e51cbSPeter Avalos>>>81   byte&0xF0          128            \b@ML
467327e51cbSPeter Avalos>>>81   byte&0xF0          160            \b@LL
468327e51cbSPeter Avalos>>>81   byte               &0x08          \b progressive
469327e51cbSPeter Avalos>>>81   byte               ^0x08          \b interlaced
470327e51cbSPeter Avalos>>>81   byte&0x06          2              \b Y'CbCr 4:2:0 video
471327e51cbSPeter Avalos>>>81   byte&0x06          4              \b Y'CbCr 4:2:2 video
472327e51cbSPeter Avalos>>>81   byte&0x06          6              \b Y'CbCr 4:4:4 video
473327e51cbSPeter Avalos>>4      belong&0xFFFFFF00  0x78043800     \b, HD-TV 1920P
474327e51cbSPeter Avalos>>>7     byte&0xF0          0x10           \b, 16:9
475327e51cbSPeter Avalos>>4      belong&0xFFFFFF00  0x50002D00     \b, SD-TV 1280I
476327e51cbSPeter Avalos>>>7     byte&0xF0          0x10           \b, 16:9
477327e51cbSPeter Avalos>>4      belong&0xFFFFFF00  0x30024000     \b, PAL Capture
478327e51cbSPeter Avalos>>>7     byte&0xF0          0x10           \b, 4:3
479327e51cbSPeter Avalos>>4      beshort&0xFFF0     0x2C00         \b, 4CIF
480327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x01E0         \b NTSC
481327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x0240         \b PAL
482327e51cbSPeter Avalos>>>7     byte&0xF0          0x20           \b, 4:3
483327e51cbSPeter Avalos>>>7     byte&0xF0          0x30           \b, 16:9
484327e51cbSPeter Avalos>>>7     byte&0xF0          0x40           \b, 11:5
485327e51cbSPeter Avalos>>>7     byte&0xF0          0x80           \b, PAL 4:3
486327e51cbSPeter Avalos>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
487327e51cbSPeter Avalos>>4      belong&0xFFFFFF00  0x2801E000     \b, LD-TV 640P
488327e51cbSPeter Avalos>>>7     byte&0xF0          0x10           \b, 4:3
489327e51cbSPeter Avalos>>4      belong&0xFFFFFF00  0x1400F000     \b, 320x240
490327e51cbSPeter Avalos>>>7     byte&0xF0          0x10           \b, 4:3
491327e51cbSPeter Avalos>>4      belong&0xFFFFFF00  0x0F00A000     \b, 240x160
492327e51cbSPeter Avalos>>>7     byte&0xF0          0x10           \b, 4:3
493327e51cbSPeter Avalos>>4      belong&0xFFFFFF00  0x0A007800     \b, 160x120
494327e51cbSPeter Avalos>>>7     byte&0xF0          0x10           \b, 4:3
495327e51cbSPeter Avalos>>4      beshort&0xFFF0     0x1600         \b, CIF
496327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x00F0         \b NTSC
497327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x0120         \b PAL
498327e51cbSPeter Avalos>>>7     byte&0xF0          0x20           \b, 4:3
499327e51cbSPeter Avalos>>>7     byte&0xF0          0x30           \b, 16:9
500327e51cbSPeter Avalos>>>7     byte&0xF0          0x40           \b, 11:5
501327e51cbSPeter Avalos>>>7     byte&0xF0          0x80           \b, PAL 4:3
502327e51cbSPeter Avalos>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
503327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x0240         \b PAL 625
504327e51cbSPeter Avalos>>>>7    byte&0xF0          0x20           \b, 4:3
505327e51cbSPeter Avalos>>>>7    byte&0xF0          0x30           \b, 16:9
506327e51cbSPeter Avalos>>>>7    byte&0xF0          0x40           \b, 11:5
507327e51cbSPeter Avalos>>4      beshort&0xFFF0     0x2D00         \b, CCIR/ITU
508327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
509327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x0240         \b PAL 625
510327e51cbSPeter Avalos>>>7     byte&0xF0          0x20           \b, 4:3
511327e51cbSPeter Avalos>>>7     byte&0xF0          0x30           \b, 16:9
512327e51cbSPeter Avalos>>>7     byte&0xF0          0x40           \b, 11:5
513327e51cbSPeter Avalos>>4      beshort&0xFFF0     0x1E00         \b, SVCD
514327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
515327e51cbSPeter Avalos>>>5     beshort&0x0FFF     0x0240         \b PAL 625
516327e51cbSPeter Avalos>>>7     byte&0xF0          0x20           \b, 4:3
517327e51cbSPeter Avalos>>>7     byte&0xF0          0x30           \b, 16:9
518327e51cbSPeter Avalos>>>7     byte&0xF0          0x40           \b, 11:5
519327e51cbSPeter Avalos>>7      byte&0x0F          1              \b, 23.976 fps
520327e51cbSPeter Avalos>>7      byte&0x0F          2              \b, 24 fps
521327e51cbSPeter Avalos>>7      byte&0x0F          3              \b, 25 fps
522327e51cbSPeter Avalos>>7      byte&0x0F          4              \b, 29.97 fps
523327e51cbSPeter Avalos>>7      byte&0x0F          5              \b, 30 fps
524327e51cbSPeter Avalos>>7      byte&0x0F          6              \b, 50 fps
525327e51cbSPeter Avalos>>7      byte&0x0F          7              \b, 59.94 fps
526327e51cbSPeter Avalos>>7      byte&0x0F          8              \b, 60 fps
527327e51cbSPeter Avalos>>11     byte               &0x04          \b, Constrained
528327e51cbSPeter Avalos
529327e51cbSPeter Avalos# MPEG ADTS Audio (*.mpx/mxa/aac)
530327e51cbSPeter Avalos# from dreesen@math.fu-berlin.de
531327e51cbSPeter Avalos# modified to fully support MPEG ADTS
532327e51cbSPeter Avalos
533327e51cbSPeter Avalos# MP3, M1A
53479343712SPeter Avalos# modified by Joerg Jenderek
53579343712SPeter Avalos# GRR the original test are too common for many DOS files
53679343712SPeter Avalos# so don't accept as MP3 until we've tested the rate
5376fca56fbSSascha Wildner# But also beat GEMDOS fonts
53879343712SPeter Avalos0       beshort&0xFFFE  0xFFFA
539327e51cbSPeter Avalos# rates
5406fca56fbSSascha Wildner>2	byte&0xF0	!0
5416fca56fbSSascha Wildner>>2	byte&0xF0	!0xF0		MPEG ADTS, layer III, v1
5426fca56fbSSascha Wildner!:strength +20
54379343712SPeter Avalos!:mime	audio/mpeg
5446fca56fbSSascha Wildner>2	byte&0xF0	0x10		\b, 32 kbps
5456fca56fbSSascha Wildner>2	byte&0xF0	0x20		\b, 40 kbps
5466fca56fbSSascha Wildner>2	byte&0xF0	0x30		\b, 48 kbps
5476fca56fbSSascha Wildner>2	byte&0xF0	0x40		\b, 56 kbps
5486fca56fbSSascha Wildner>2	byte&0xF0	0x50		\b, 64 kbps
5496fca56fbSSascha Wildner>2	byte&0xF0	0x60		\b, 80 kbps
5506fca56fbSSascha Wildner>2	byte&0xF0	0x70		\b, 96 kbps
5516fca56fbSSascha Wildner>2	byte&0xF0	0x80		\b, 112 kbps
5526fca56fbSSascha Wildner>2	byte&0xF0	0x90		\b, 128 kbps
5536fca56fbSSascha Wildner>2	byte&0xF0	0xA0		\b, 160 kbps
5546fca56fbSSascha Wildner>2	byte&0xF0	0xB0		\b, 192 kbps
5556fca56fbSSascha Wildner>2	byte&0xF0	0xC0		\b, 224 kbps
5566fca56fbSSascha Wildner>2	byte&0xF0	0xD0		\b, 256 kbps
5576fca56fbSSascha Wildner>2	byte&0xF0	0xE0		\b, 320 kbps
558327e51cbSPeter Avalos# timing
559327e51cbSPeter Avalos>2	byte&0x0C	0x00		\b, 44.1 kHz
560327e51cbSPeter Avalos>2	byte&0x0C	0x04		\b, 48 kHz
561327e51cbSPeter Avalos>2	byte&0x0C	0x08		\b, 32 kHz
562327e51cbSPeter Avalos# channels/options
563327e51cbSPeter Avalos>3	byte&0xC0	0x00		\b, Stereo
564327e51cbSPeter Avalos>3	byte&0xC0	0x40		\b, JntStereo
565327e51cbSPeter Avalos>3	byte&0xC0	0x80		\b, 2x Monaural
566327e51cbSPeter Avalos>3	byte&0xC0	0xC0		\b, Monaural
567327e51cbSPeter Avalos#>1	byte		^0x01		\b, Data Verify
568327e51cbSPeter Avalos#>2	byte		&0x02		\b, Packet Pad
569327e51cbSPeter Avalos#>2	byte		&0x01		\b, Custom Flag
570327e51cbSPeter Avalos#>3	byte		&0x08		\b, Copyrighted
571327e51cbSPeter Avalos#>3	byte		&0x04		\b, Original Source
572327e51cbSPeter Avalos#>3	byte&0x03	1		\b, NR: 50/15 ms
573327e51cbSPeter Avalos#>3	byte&0x03	3		\b, NR: CCIT J.17
574327e51cbSPeter Avalos
575327e51cbSPeter Avalos# MP2, M1A
576327e51cbSPeter Avalos0       beshort&0xFFFE  0xFFFC         MPEG ADTS, layer II, v1
57779343712SPeter Avalos!:mime	audio/mpeg
578327e51cbSPeter Avalos# rates
57979343712SPeter Avalos>2      byte&0xF0       0x10           \b,  32 kbps
58079343712SPeter Avalos>2      byte&0xF0       0x20           \b,  48 kbps
58179343712SPeter Avalos>2      byte&0xF0       0x30           \b,  56 kbps
58279343712SPeter Avalos>2      byte&0xF0       0x40           \b,  64 kbps
58379343712SPeter Avalos>2      byte&0xF0       0x50           \b,  80 kbps
58479343712SPeter Avalos>2      byte&0xF0       0x60           \b,  96 kbps
58579343712SPeter Avalos>2      byte&0xF0       0x70           \b, 112 kbps
58679343712SPeter Avalos>2      byte&0xF0       0x80           \b, 128 kbps
58779343712SPeter Avalos>2      byte&0xF0       0x90           \b, 160 kbps
58879343712SPeter Avalos>2      byte&0xF0       0xA0           \b, 192 kbps
58979343712SPeter Avalos>2      byte&0xF0       0xB0           \b, 224 kbps
59079343712SPeter Avalos>2      byte&0xF0       0xC0           \b, 256 kbps
59179343712SPeter Avalos>2      byte&0xF0       0xD0           \b, 320 kbps
59279343712SPeter Avalos>2      byte&0xF0       0xE0           \b, 384 kbps
593327e51cbSPeter Avalos# timing
594327e51cbSPeter Avalos>2      byte&0x0C       0x00           \b, 44.1 kHz
595327e51cbSPeter Avalos>2      byte&0x0C       0x04           \b, 48 kHz
596327e51cbSPeter Avalos>2      byte&0x0C       0x08           \b, 32 kHz
597327e51cbSPeter Avalos# channels/options
598327e51cbSPeter Avalos>3      byte&0xC0       0x00           \b, Stereo
599327e51cbSPeter Avalos>3      byte&0xC0       0x40           \b, JntStereo
600327e51cbSPeter Avalos>3      byte&0xC0       0x80           \b, 2x Monaural
601327e51cbSPeter Avalos>3      byte&0xC0       0xC0           \b, Monaural
602327e51cbSPeter Avalos#>1     byte            ^0x01          \b, Data Verify
603327e51cbSPeter Avalos#>2     byte            &0x02          \b, Packet Pad
604327e51cbSPeter Avalos#>2     byte            &0x01          \b, Custom Flag
605327e51cbSPeter Avalos#>3     byte            &0x08          \b, Copyrighted
606327e51cbSPeter Avalos#>3     byte            &0x04          \b, Original Source
607327e51cbSPeter Avalos#>3     byte&0x03       1              \b, NR: 50/15 ms
608327e51cbSPeter Avalos#>3     byte&0x03       3              \b, NR: CCIT J.17
609327e51cbSPeter Avalos
610327e51cbSPeter Avalos# MPA, M1A
611327e51cbSPeter Avalos# updated by Joerg Jenderek
612327e51cbSPeter Avalos# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
61379343712SPeter Avalos# GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE)
61479343712SPeter Avalos# FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries
61579343712SPeter Avalos#0	beshort&0xFFFE		0xFFFE
61679343712SPeter Avalos#>2	ubyte&0xF0	>0x0F
61779343712SPeter Avalos#>>2	ubyte&0xF0	<0xE1		MPEG ADTS, layer I, v1
61879343712SPeter Avalos## rate
61979343712SPeter Avalos#>>>2      byte&0xF0       0x10           \b,  32 kbps
62079343712SPeter Avalos#>>>2      byte&0xF0       0x20           \b,  64 kbps
62179343712SPeter Avalos#>>>2      byte&0xF0       0x30           \b,  96 kbps
62279343712SPeter Avalos#>>>2      byte&0xF0       0x40           \b, 128 kbps
62379343712SPeter Avalos#>>>2      byte&0xF0       0x50           \b, 160 kbps
62479343712SPeter Avalos#>>>2      byte&0xF0       0x60           \b, 192 kbps
62579343712SPeter Avalos#>>>2      byte&0xF0       0x70           \b, 224 kbps
62679343712SPeter Avalos#>>>2      byte&0xF0       0x80           \b, 256 kbps
62779343712SPeter Avalos#>>>2      byte&0xF0       0x90           \b, 288 kbps
62879343712SPeter Avalos#>>>2      byte&0xF0       0xA0           \b, 320 kbps
62979343712SPeter Avalos#>>>2      byte&0xF0       0xB0           \b, 352 kbps
63079343712SPeter Avalos#>>>2      byte&0xF0       0xC0           \b, 384 kbps
63179343712SPeter Avalos#>>>2      byte&0xF0       0xD0           \b, 416 kbps
63279343712SPeter Avalos#>>>2      byte&0xF0       0xE0           \b, 448 kbps
63379343712SPeter Avalos## timing
63479343712SPeter Avalos#>>>2      byte&0x0C       0x00           \b, 44.1 kHz
63579343712SPeter Avalos#>>>2      byte&0x0C       0x04           \b, 48 kHz
63679343712SPeter Avalos#>>>2      byte&0x0C       0x08           \b, 32 kHz
63779343712SPeter Avalos## channels/options
63879343712SPeter Avalos#>>>3      byte&0xC0       0x00           \b, Stereo
63979343712SPeter Avalos#>>>3      byte&0xC0       0x40           \b, JntStereo
64079343712SPeter Avalos#>>>3      byte&0xC0       0x80           \b, 2x Monaural
64179343712SPeter Avalos#>>>3      byte&0xC0       0xC0           \b, Monaural
64279343712SPeter Avalos##>1     byte            ^0x01          \b, Data Verify
64379343712SPeter Avalos##>2     byte            &0x02          \b, Packet Pad
64479343712SPeter Avalos##>2     byte            &0x01          \b, Custom Flag
64579343712SPeter Avalos##>3     byte            &0x08          \b, Copyrighted
64679343712SPeter Avalos##>3     byte            &0x04          \b, Original Source
64779343712SPeter Avalos##>3     byte&0x03       1              \b, NR: 50/15 ms
64879343712SPeter Avalos##>3     byte&0x03       3              \b, NR: CCIT J.17
649327e51cbSPeter Avalos
650327e51cbSPeter Avalos# MP3, M2A
651327e51cbSPeter Avalos0       beshort&0xFFFE  0xFFF2         MPEG ADTS, layer III, v2
65279343712SPeter Avalos!:mime	audio/mpeg
653327e51cbSPeter Avalos# rate
65479343712SPeter Avalos>2      byte&0xF0       0x10           \b,   8 kbps
65579343712SPeter Avalos>2      byte&0xF0       0x20           \b,  16 kbps
65679343712SPeter Avalos>2      byte&0xF0       0x30           \b,  24 kbps
65779343712SPeter Avalos>2      byte&0xF0       0x40           \b,  32 kbps
65879343712SPeter Avalos>2      byte&0xF0       0x50           \b,  40 kbps
65979343712SPeter Avalos>2      byte&0xF0       0x60           \b,  48 kbps
66079343712SPeter Avalos>2      byte&0xF0       0x70           \b,  56 kbps
66179343712SPeter Avalos>2      byte&0xF0       0x80           \b,  64 kbps
66279343712SPeter Avalos>2      byte&0xF0       0x90           \b,  80 kbps
66379343712SPeter Avalos>2      byte&0xF0       0xA0           \b,  96 kbps
66479343712SPeter Avalos>2      byte&0xF0       0xB0           \b, 112 kbps
66579343712SPeter Avalos>2      byte&0xF0       0xC0           \b, 128 kbps
66679343712SPeter Avalos>2      byte&0xF0       0xD0           \b, 144 kbps
66779343712SPeter Avalos>2      byte&0xF0       0xE0           \b, 160 kbps
668327e51cbSPeter Avalos# timing
669327e51cbSPeter Avalos>2      byte&0x0C       0x00           \b, 22.05 kHz
670327e51cbSPeter Avalos>2      byte&0x0C       0x04           \b, 24 kHz
671327e51cbSPeter Avalos>2      byte&0x0C       0x08           \b, 16 kHz
672327e51cbSPeter Avalos# channels/options
673327e51cbSPeter Avalos>3      byte&0xC0       0x00           \b, Stereo
674327e51cbSPeter Avalos>3      byte&0xC0       0x40           \b, JntStereo
675327e51cbSPeter Avalos>3      byte&0xC0       0x80           \b, 2x Monaural
676327e51cbSPeter Avalos>3      byte&0xC0       0xC0           \b, Monaural
677327e51cbSPeter Avalos#>1     byte            ^0x01          \b, Data Verify
678327e51cbSPeter Avalos#>2     byte            &0x02          \b, Packet Pad
679327e51cbSPeter Avalos#>2     byte            &0x01          \b, Custom Flag
680327e51cbSPeter Avalos#>3     byte            &0x08          \b, Copyrighted
681327e51cbSPeter Avalos#>3     byte            &0x04          \b, Original Source
682327e51cbSPeter Avalos#>3     byte&0x03       1              \b, NR: 50/15 ms
683327e51cbSPeter Avalos#>3     byte&0x03       3              \b, NR: CCIT J.17
684327e51cbSPeter Avalos
685327e51cbSPeter Avalos# MP2, M2A
686327e51cbSPeter Avalos0       beshort&0xFFFE  0xFFF4         MPEG ADTS, layer II, v2
687e8af9738SPeter Avalos!:mime	audio/mpeg
688327e51cbSPeter Avalos# rate
68979343712SPeter Avalos>2      byte&0xF0       0x10           \b,   8 kbps
69079343712SPeter Avalos>2      byte&0xF0       0x20           \b,  16 kbps
69179343712SPeter Avalos>2      byte&0xF0       0x30           \b,  24 kbps
69279343712SPeter Avalos>2      byte&0xF0       0x40           \b,  32 kbps
69379343712SPeter Avalos>2      byte&0xF0       0x50           \b,  40 kbps
69479343712SPeter Avalos>2      byte&0xF0       0x60           \b,  48 kbps
69579343712SPeter Avalos>2      byte&0xF0       0x70           \b,  56 kbps
69679343712SPeter Avalos>2      byte&0xF0       0x80           \b,  64 kbps
69779343712SPeter Avalos>2      byte&0xF0       0x90           \b,  80 kbps
69879343712SPeter Avalos>2      byte&0xF0       0xA0           \b,  96 kbps
69979343712SPeter Avalos>2      byte&0xF0       0xB0           \b, 112 kbps
70079343712SPeter Avalos>2      byte&0xF0       0xC0           \b, 128 kbps
70179343712SPeter Avalos>2      byte&0xF0       0xD0           \b, 144 kbps
70279343712SPeter Avalos>2      byte&0xF0       0xE0           \b, 160 kbps
703327e51cbSPeter Avalos# timing
704327e51cbSPeter Avalos>2      byte&0x0C       0x00           \b, 22.05 kHz
705327e51cbSPeter Avalos>2      byte&0x0C       0x04           \b, 24 kHz
706327e51cbSPeter Avalos>2      byte&0x0C       0x08           \b, 16 kHz
707327e51cbSPeter Avalos# channels/options
708327e51cbSPeter Avalos>3      byte&0xC0       0x00           \b, Stereo
709327e51cbSPeter Avalos>3      byte&0xC0       0x40           \b, JntStereo
710327e51cbSPeter Avalos>3      byte&0xC0       0x80           \b, 2x Monaural
711327e51cbSPeter Avalos>3      byte&0xC0       0xC0           \b, Monaural
712327e51cbSPeter Avalos#>1     byte            ^0x01          \b, Data Verify
713327e51cbSPeter Avalos#>2     byte            &0x02          \b, Packet Pad
714327e51cbSPeter Avalos#>2     byte            &0x01          \b, Custom Flag
715327e51cbSPeter Avalos#>3     byte            &0x08          \b, Copyrighted
716327e51cbSPeter Avalos#>3     byte            &0x04          \b, Original Source
717327e51cbSPeter Avalos#>3     byte&0x03       1              \b, NR: 50/15 ms
718327e51cbSPeter Avalos#>3     byte&0x03       3              \b, NR: CCIT J.17
719327e51cbSPeter Avalos
720327e51cbSPeter Avalos# MPA, M2A
721327e51cbSPeter Avalos0       beshort&0xFFFE  0xFFF6         MPEG ADTS, layer I, v2
722f72f8299SJan Lentfer!:mime	audio/mpeg
723327e51cbSPeter Avalos# rate
72479343712SPeter Avalos>2      byte&0xF0       0x10           \b,  32 kbps
72579343712SPeter Avalos>2      byte&0xF0       0x20           \b,  48 kbps
72679343712SPeter Avalos>2      byte&0xF0       0x30           \b,  56 kbps
72779343712SPeter Avalos>2      byte&0xF0       0x40           \b,  64 kbps
72879343712SPeter Avalos>2      byte&0xF0       0x50           \b,  80 kbps
72979343712SPeter Avalos>2      byte&0xF0       0x60           \b,  96 kbps
73079343712SPeter Avalos>2      byte&0xF0       0x70           \b, 112 kbps
73179343712SPeter Avalos>2      byte&0xF0       0x80           \b, 128 kbps
73279343712SPeter Avalos>2      byte&0xF0       0x90           \b, 144 kbps
73379343712SPeter Avalos>2      byte&0xF0       0xA0           \b, 160 kbps
73479343712SPeter Avalos>2      byte&0xF0       0xB0           \b, 176 kbps
73579343712SPeter Avalos>2      byte&0xF0       0xC0           \b, 192 kbps
73679343712SPeter Avalos>2      byte&0xF0       0xD0           \b, 224 kbps
73779343712SPeter Avalos>2      byte&0xF0       0xE0           \b, 256 kbps
738327e51cbSPeter Avalos# timing
739327e51cbSPeter Avalos>2      byte&0x0C       0x00           \b, 22.05 kHz
740327e51cbSPeter Avalos>2      byte&0x0C       0x04           \b, 24 kHz
741327e51cbSPeter Avalos>2      byte&0x0C       0x08           \b, 16 kHz
742327e51cbSPeter Avalos# channels/options
743327e51cbSPeter Avalos>3      byte&0xC0       0x00           \b, Stereo
744327e51cbSPeter Avalos>3      byte&0xC0       0x40           \b, JntStereo
745327e51cbSPeter Avalos>3      byte&0xC0       0x80           \b, 2x Monaural
746327e51cbSPeter Avalos>3      byte&0xC0       0xC0           \b, Monaural
747327e51cbSPeter Avalos#>1     byte            ^0x01          \b, Data Verify
748327e51cbSPeter Avalos#>2     byte            &0x02          \b, Packet Pad
749327e51cbSPeter Avalos#>2     byte            &0x01          \b, Custom Flag
750327e51cbSPeter Avalos#>3     byte            &0x08          \b, Copyrighted
751327e51cbSPeter Avalos#>3     byte            &0x04          \b, Original Source
752327e51cbSPeter Avalos#>3     byte&0x03       1              \b, NR: 50/15 ms
753327e51cbSPeter Avalos#>3     byte&0x03       3              \b, NR: CCIT J.17
754327e51cbSPeter Avalos
755327e51cbSPeter Avalos# MP3, M25A
756327e51cbSPeter Avalos0       beshort&0xFFFE  0xFFE2         MPEG ADTS, layer III,  v2.5
757f72f8299SJan Lentfer!:mime	audio/mpeg
758327e51cbSPeter Avalos# rate
75979343712SPeter Avalos>2      byte&0xF0       0x10           \b,   8 kbps
76079343712SPeter Avalos>2      byte&0xF0       0x20           \b,  16 kbps
76179343712SPeter Avalos>2      byte&0xF0       0x30           \b,  24 kbps
76279343712SPeter Avalos>2      byte&0xF0       0x40           \b,  32 kbps
76379343712SPeter Avalos>2      byte&0xF0       0x50           \b,  40 kbps
76479343712SPeter Avalos>2      byte&0xF0       0x60           \b,  48 kbps
76579343712SPeter Avalos>2      byte&0xF0       0x70           \b,  56 kbps
76679343712SPeter Avalos>2      byte&0xF0       0x80           \b,  64 kbps
76779343712SPeter Avalos>2      byte&0xF0       0x90           \b,  80 kbps
76879343712SPeter Avalos>2      byte&0xF0       0xA0           \b,  96 kbps
76979343712SPeter Avalos>2      byte&0xF0       0xB0           \b, 112 kbps
77079343712SPeter Avalos>2      byte&0xF0       0xC0           \b, 128 kbps
77179343712SPeter Avalos>2      byte&0xF0       0xD0           \b, 144 kbps
77279343712SPeter Avalos>2      byte&0xF0       0xE0           \b, 160 kbps
773327e51cbSPeter Avalos# timing
774327e51cbSPeter Avalos>2      byte&0x0C       0x00           \b, 11.025 kHz
775327e51cbSPeter Avalos>2      byte&0x0C       0x04           \b, 12 kHz
776327e51cbSPeter Avalos>2      byte&0x0C       0x08           \b, 8 kHz
777327e51cbSPeter Avalos# channels/options
778327e51cbSPeter Avalos>3      byte&0xC0       0x00           \b, Stereo
779327e51cbSPeter Avalos>3      byte&0xC0       0x40           \b, JntStereo
780327e51cbSPeter Avalos>3      byte&0xC0       0x80           \b, 2x Monaural
781327e51cbSPeter Avalos>3      byte&0xC0       0xC0           \b, Monaural
782327e51cbSPeter Avalos#>1     byte            ^0x01          \b, Data Verify
783327e51cbSPeter Avalos#>2     byte            &0x02          \b, Packet Pad
784327e51cbSPeter Avalos#>2     byte            &0x01          \b, Custom Flag
785327e51cbSPeter Avalos#>3     byte            &0x08          \b, Copyrighted
786327e51cbSPeter Avalos#>3     byte            &0x04          \b, Original Source
787327e51cbSPeter Avalos#>3     byte&0x03       1              \b, NR: 50/15 ms
788327e51cbSPeter Avalos#>3     byte&0x03       3              \b, NR: CCIT J.17
789327e51cbSPeter Avalos
790327e51cbSPeter Avalos# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio
791327e51cbSPeter Avalos
792327e51cbSPeter Avalos# Stored AAC streams (instead of the MP4 format)
793327e51cbSPeter Avalos0       string          ADIF           MPEG ADIF, AAC
79479343712SPeter Avalos!:mime	audio/x-hx-aac-adif
795327e51cbSPeter Avalos>4      byte            &0x80
796327e51cbSPeter Avalos>>13    byte            &0x10          \b, VBR
797327e51cbSPeter Avalos>>13    byte            ^0x10          \b, CBR
798327e51cbSPeter Avalos>>16    byte&0x1E       0x02           \b, single stream
799327e51cbSPeter Avalos>>16    byte&0x1E       0x04           \b, 2 streams
800327e51cbSPeter Avalos>>16    byte&0x1E       0x06           \b, 3 streams
801327e51cbSPeter Avalos>>16    byte            &0x08          \b, 4 or more streams
802327e51cbSPeter Avalos>>16    byte            &0x10          \b, 8 or more streams
803327e51cbSPeter Avalos>>4    byte            &0x80          \b, Copyrighted
804327e51cbSPeter Avalos>>13   byte            &0x40          \b, Original Source
805327e51cbSPeter Avalos>>13   byte            &0x20          \b, Home Flag
806327e51cbSPeter Avalos>4      byte            ^0x80
807327e51cbSPeter Avalos>>4     byte            &0x10          \b, VBR
808327e51cbSPeter Avalos>>4     byte            ^0x10          \b, CBR
809327e51cbSPeter Avalos>>7     byte&0x1E       0x02           \b, single stream
810327e51cbSPeter Avalos>>7     byte&0x1E       0x04           \b, 2 streams
811327e51cbSPeter Avalos>>7     byte&0x1E       0x06           \b, 3 streams
812327e51cbSPeter Avalos>>7     byte            &0x08          \b, 4 or more streams
813327e51cbSPeter Avalos>>7     byte            &0x10          \b, 8 or more streams
814327e51cbSPeter Avalos>>4    byte            &0x40          \b, Original Stream(s)
815327e51cbSPeter Avalos>>4    byte            &0x20          \b, Home Source
816327e51cbSPeter Avalos
817327e51cbSPeter Avalos# Live or stored single AAC stream (used with MPEG-2 systems)
818327e51cbSPeter Avalos0       beshort&0xFFF6  0xFFF0         MPEG ADTS, AAC
81979343712SPeter Avalos!:mime	audio/x-hx-aac-adts
820327e51cbSPeter Avalos>1      byte            &0x08          \b, v2
821327e51cbSPeter Avalos>1      byte            ^0x08          \b, v4
822327e51cbSPeter Avalos# profile
823327e51cbSPeter Avalos>>2     byte            &0xC0          \b LTP
824327e51cbSPeter Avalos>2      byte&0xc0       0x00           \b Main
825327e51cbSPeter Avalos>2      byte&0xc0       0x40           \b LC
826327e51cbSPeter Avalos>2      byte&0xc0       0x80           \b SSR
827327e51cbSPeter Avalos# timing
828327e51cbSPeter Avalos>2      byte&0x3c       0x00           \b, 96 kHz
829327e51cbSPeter Avalos>2      byte&0x3c       0x04           \b, 88.2 kHz
830327e51cbSPeter Avalos>2      byte&0x3c       0x08           \b, 64 kHz
831327e51cbSPeter Avalos>2      byte&0x3c       0x0c           \b, 48 kHz
832327e51cbSPeter Avalos>2      byte&0x3c       0x10           \b, 44.1 kHz
833327e51cbSPeter Avalos>2      byte&0x3c       0x14           \b, 32 kHz
834327e51cbSPeter Avalos>2      byte&0x3c       0x18           \b, 24 kHz
835327e51cbSPeter Avalos>2      byte&0x3c       0x1c           \b, 22.05 kHz
836327e51cbSPeter Avalos>2      byte&0x3c       0x20           \b, 16 kHz
837327e51cbSPeter Avalos>2      byte&0x3c       0x24           \b, 12 kHz
838327e51cbSPeter Avalos>2      byte&0x3c       0x28           \b, 11.025 kHz
839327e51cbSPeter Avalos>2      byte&0x3c       0x2c           \b, 8 kHz
840327e51cbSPeter Avalos# channels
841327e51cbSPeter Avalos>2      beshort&0x01c0  0x0040         \b, monaural
842327e51cbSPeter Avalos>2      beshort&0x01c0  0x0080         \b, stereo
843327e51cbSPeter Avalos>2      beshort&0x01c0  0x00c0         \b, stereo + center
844327e51cbSPeter Avalos>2      beshort&0x01c0  0x0100         \b, stereo+center+LFE
845327e51cbSPeter Avalos>2      beshort&0x01c0  0x0140         \b, surround
846327e51cbSPeter Avalos>2      beshort&0x01c0  0x0180         \b, surround + LFE
847327e51cbSPeter Avalos>2      beshort         &0x01C0        \b, surround + side
848327e51cbSPeter Avalos#>1     byte            ^0x01           \b, Data Verify
849327e51cbSPeter Avalos#>2     byte            &0x02           \b, Custom Flag
850327e51cbSPeter Avalos#>3     byte            &0x20           \b, Original Stream
851327e51cbSPeter Avalos#>3     byte            &0x10           \b, Home Source
852327e51cbSPeter Avalos#>3     byte            &0x08           \b, Copyrighted
853327e51cbSPeter Avalos
854327e51cbSPeter Avalos# Live MPEG-4 audio streams (instead of RTP FlexMux)
855327e51cbSPeter Avalos0       beshort&0xFFE0  0x56E0         MPEG-4 LOAS
85679343712SPeter Avalos!:mime	audio/x-mp4a-latm
85782c5fa3eSPeter Avalos#>1     beshort&0x1FFF  x              \b, %hu byte packet
858327e51cbSPeter Avalos>3      byte&0xE0       0x40
859327e51cbSPeter Avalos>>4     byte&0x3C       0x04           \b, single stream
860327e51cbSPeter Avalos>>4     byte&0x3C       0x08           \b, 2 streams
861327e51cbSPeter Avalos>>4     byte&0x3C       0x0C           \b, 3 streams
862327e51cbSPeter Avalos>>4     byte            &0x08          \b, 4 or more streams
863327e51cbSPeter Avalos>>4     byte            &0x20          \b, 8 or more streams
864327e51cbSPeter Avalos>3      byte&0xC0       0
865327e51cbSPeter Avalos>>4     byte&0x78       0x08           \b, single stream
866327e51cbSPeter Avalos>>4     byte&0x78       0x10           \b, 2 streams
867327e51cbSPeter Avalos>>4     byte&0x78       0x18           \b, 3 streams
868327e51cbSPeter Avalos>>4     byte            &0x20          \b, 4 or more streams
869327e51cbSPeter Avalos>>4     byte            &0x40          \b, 8 or more streams
87079343712SPeter Avalos# This magic isn't strong enough (matches plausible ISO-8859-1 text)
87179343712SPeter Avalos#0       beshort         0x4DE1         MPEG-4 LO-EP audio stream
87279343712SPeter Avalos#!:mime	audio/x-mp4a-latm
873327e51cbSPeter Avalos
87479343712SPeter Avalos# Summary: FLI animation format
87579343712SPeter Avalos# Created by: Daniel Quinlan <quinlan@yggdrasil.com>
87679343712SPeter Avalos# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
87779343712SPeter Avalos4	leshort		0xAF11
87879343712SPeter Avalos# standard FLI always has 320x200 resolution and 8 bit color
87979343712SPeter Avalos>8	leshort		320
88079343712SPeter Avalos>>10	leshort		200
88179343712SPeter Avalos>>>12	leshort		8			FLI animation, 320x200x8
88279343712SPeter Avalos!:mime	video/x-fli
88379343712SPeter Avalos>>>>6	leshort		x			\b, %d frames
88479343712SPeter Avalos# frame speed is multiple of 1/70s
88579343712SPeter Avalos>>>>16	leshort		x			\b, %d/70s per frame
88679343712SPeter Avalos
88779343712SPeter Avalos# Summary: FLC animation format
88879343712SPeter Avalos# Created by: Daniel Quinlan <quinlan@yggdrasil.com>
88979343712SPeter Avalos# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
89079343712SPeter Avalos4	leshort		0xAF12
89179343712SPeter Avalos# standard FLC always use 8 bit color
89279343712SPeter Avalos>12	leshort		8			FLC animation
89379343712SPeter Avalos!:mime	video/x-flc
89479343712SPeter Avalos>>8	leshort		x			\b, %d
89579343712SPeter Avalos>>10	leshort		x			\bx%dx8
89679343712SPeter Avalos>>6	uleshort	x			\b, %d frames
89779343712SPeter Avalos>>16	uleshort	x			\b, %dms per frame
898327e51cbSPeter Avalos
899327e51cbSPeter Avalos# DL animation format
900327e51cbSPeter Avalos# XXX - collision with most `mips' magic
901327e51cbSPeter Avalos#
902327e51cbSPeter Avalos# I couldn't find a real magic number for these, however, this
903327e51cbSPeter Avalos# -appears- to work.  Note that it might catch other files, too, so be
904327e51cbSPeter Avalos# careful!
905327e51cbSPeter Avalos#
906327e51cbSPeter Avalos# Note that title and author appear in the two 20-byte chunks
907327e51cbSPeter Avalos# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
908327e51cbSPeter Avalos# 255 (hex FF)!  The DL format is really bad.
909327e51cbSPeter Avalos#
910327e51cbSPeter Avalos#0	byte	1	DL version 1, medium format (160x100, 4 images/screen)
91179343712SPeter Avalos#!:mime	video/x-unknown
912327e51cbSPeter Avalos#>42	byte	x	- %d screens,
913327e51cbSPeter Avalos#>43	byte	x	%d commands
914327e51cbSPeter Avalos#0	byte	2	DL version 2
91579343712SPeter Avalos#!:mime	video/x-unknown
916327e51cbSPeter Avalos#>1	byte	1	- large format (320x200,1 image/screen),
917327e51cbSPeter Avalos#>1	byte	2	- medium format (160x100,4 images/screen),
918327e51cbSPeter Avalos#>1	byte	>2	- unknown format,
919327e51cbSPeter Avalos#>42	byte	x	%d screens,
920327e51cbSPeter Avalos#>43	byte	x	%d commands
921327e51cbSPeter Avalos# Based on empirical evidence, DL version 3 have several nulls following the
922327e51cbSPeter Avalos# \003.  Most of them start with non-null values at hex offset 0x34 or so.
923327e51cbSPeter Avalos#0	string	\3\0\0\0\0\0\0\0\0\0\0\0	DL version 3
924327e51cbSPeter Avalos
925327e51cbSPeter Avalos# iso 13818 transport stream
926327e51cbSPeter Avalos#
927327e51cbSPeter Avalos# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 (ISO 13818.1)
928327e51cbSPeter Avalos# syncbyte      8 bit	0x47
929327e51cbSPeter Avalos# error_ind     1 bit	-
930327e51cbSPeter Avalos# payload_start 1 bit	1
931327e51cbSPeter Avalos# priority      1 bit	-
932327e51cbSPeter Avalos# PID          13 bit	0x0000
933327e51cbSPeter Avalos# scrambling    2 bit	-
934327e51cbSPeter Avalos# adaptfld_ctrl 2 bit	1 or 3
935e8af9738SPeter Avalos# conti_count   4 bit	-
936e8af9738SPeter Avalos0	belong&0xFF5FFF10	0x47400010
937e8af9738SPeter Avalos>188	byte			0x47		MPEG transport stream data
9386fca56fbSSascha Wildner!:mime  video/MP2T
939*3b9cdfa3SAntonio Huete Jimenez!:ext	ts
940327e51cbSPeter Avalos
941327e51cbSPeter Avalos# DIF digital video file format <mpruett@sgi.com>
942327e51cbSPeter Avalos0	belong&0xffffff00	0x1f070000      DIF
943*3b9cdfa3SAntonio Huete Jimenez!:mime  video/x-dv
944327e51cbSPeter Avalos>4	byte			&0x01		(DVCPRO) movie file
945327e51cbSPeter Avalos>4	byte			^0x01		(DV) movie file
946327e51cbSPeter Avalos>3	byte			&0x80		(PAL)
947327e51cbSPeter Avalos>3	byte			^0x80		(NTSC)
948327e51cbSPeter Avalos
949327e51cbSPeter Avalos# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
950327e51cbSPeter Avalos0	string			\x8aMNG		MNG video data,
95179343712SPeter Avalos!:mime	video/x-mng
952327e51cbSPeter Avalos>4	belong			!0x0d0a1a0a	CORRUPTED,
953327e51cbSPeter Avalos>4	belong			0x0d0a1a0a
95482c5fa3eSPeter Avalos>>16    belong	x				%d x
95582c5fa3eSPeter Avalos>>20    belong	x				%d
956327e51cbSPeter Avalos
957327e51cbSPeter Avalos# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
958327e51cbSPeter Avalos0	string			\x8bJNG		JNG video data,
95979343712SPeter Avalos!:mime	video/x-jng
960327e51cbSPeter Avalos>4	belong			!0x0d0a1a0a	CORRUPTED,
961327e51cbSPeter Avalos>4	belong			0x0d0a1a0a
96282c5fa3eSPeter Avalos>>16    belong	x				%d x
96382c5fa3eSPeter Avalos>>20    belong	x				%d
964327e51cbSPeter Avalos
965327e51cbSPeter Avalos# Vivo video (Wolfram Kleff)
966327e51cbSPeter Avalos3	string		\x0D\x0AVersion:Vivo	Vivo video data
967327e51cbSPeter Avalos
9686fca56fbSSascha Wildner# ABC (alembic.io 3d models)
9696fca56fbSSascha Wildner0	string	0gawa		ABC 3d model
9706fca56fbSSascha Wildner
971327e51cbSPeter Avalos#---------------------------------------------------------------------------
972327e51cbSPeter Avalos# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
973327e51cbSPeter Avalos# From Mark Sheppard <msheppard@climax.co.uk>, 2002-10-03
974327e51cbSPeter Avalos#
975327e51cbSPeter Avalos0	string		HVQM4		%s
976327e51cbSPeter Avalos>6	string		>\0		v%s
977327e51cbSPeter Avalos>0	byte		x		GameCube movie,
978327e51cbSPeter Avalos>0x34	ubeshort	x		%d x
979327e51cbSPeter Avalos>0x36	ubeshort	x		%d,
980e8af9738SPeter Avalos>0x26	ubeshort	x		%dus,
981327e51cbSPeter Avalos>0x42	ubeshort	0		no audio
982327e51cbSPeter Avalos>0x42	ubeshort	>0		%dHz audio
983327e51cbSPeter Avalos
984970935fdSSascha Wildner# From: Stefan A. Haubenthal <polluks@sdf.lonestar.org>
985970935fdSSascha Wildner# Update: Joerg Jenderek
986970935fdSSascha Wildner# URL: https://en.wikipedia.org/wiki/VOB
987327e51cbSPeter Avalos0	string		DVDVIDEO-VTS	Video title set,
988970935fdSSascha Wildner!:mime	video/x-ifo
989970935fdSSascha Wildner!:ext	ifo/bup
990327e51cbSPeter Avalos>0x21	byte		x		v%x
991327e51cbSPeter Avalos0	string		DVDVIDEO-VMG	Video manager,
992970935fdSSascha Wildner!:mime	video/x-ifo
993970935fdSSascha Wildner!:ext	ifo/bup
994327e51cbSPeter Avalos>0x21	byte		x		v%x
995327e51cbSPeter Avalos
996970935fdSSascha Wildner# From: Stefan A. Haubenthal <polluks@sdf.lonestar.org>
997970935fdSSascha Wildner0 string xMovieSetter MovieSetter movie
998970935fdSSascha Wildner0 string xSceneEditor MovieSetter movie
999970935fdSSascha Wildner
1000327e51cbSPeter Avalos# From: Behan Webster <behanw@websterwood.com>
1001327e51cbSPeter Avalos# NuppelVideo used by Mythtv (*.nuv)
100279343712SPeter Avalos# Note: there are two identical stanzas here differing only in the
100379343712SPeter Avalos# initial string matched. It used to be done with a regex, but we're
100479343712SPeter Avalos# trying to get rid of those.
100579343712SPeter Avalos0	string		NuppelVideo	MythTV NuppelVideo
1006327e51cbSPeter Avalos>12	string		x		v%s
1007327e51cbSPeter Avalos>20	lelong		x		(%d
1008327e51cbSPeter Avalos>24	lelong		x		\bx%d),
1009327e51cbSPeter Avalos>36	string		P		\bprogressive,
1010327e51cbSPeter Avalos>36	string		I		\binterlaced,
1011327e51cbSPeter Avalos>40	ledouble	x		\baspect:%.2f,
1012327e51cbSPeter Avalos>48	ledouble	x		\bfps:%.2f
101379343712SPeter Avalos0	string		MythTV		MythTV NuppelVideo
101479343712SPeter Avalos>12	string		x		v%s
101579343712SPeter Avalos>20	lelong		x		(%d
101679343712SPeter Avalos>24	lelong		x		\bx%d),
101779343712SPeter Avalos>36	string		P		\bprogressive,
101879343712SPeter Avalos>36	string		I		\binterlaced,
101979343712SPeter Avalos>40	ledouble	x		\baspect:%.2f,
102079343712SPeter Avalos>48	ledouble	x		\bfps:%.2f
102179343712SPeter Avalos
102279343712SPeter Avalos#						MPEG file
102379343712SPeter Avalos# MPEG sequences
1024e8af9738SPeter Avalos# FIXME: This section is from the old magic.mime file and needs
1025e8af9738SPeter Avalos# integrating with the rest
1026e8af9738SPeter Avalos#0       belong             0x000001BA
1027e8af9738SPeter Avalos#>4      byte               &0x40
1028e8af9738SPeter Avalos#!:mime	video/mp2p
1029e8af9738SPeter Avalos#>4      byte               ^0x40
1030e8af9738SPeter Avalos#!:mime	video/mpeg
1031e8af9738SPeter Avalos#0       belong             0x000001BB
1032e8af9738SPeter Avalos#!:mime	video/mpeg
1033e8af9738SPeter Avalos#0       belong             0x000001B0
1034e8af9738SPeter Avalos#!:mime	video/mp4v-es
1035e8af9738SPeter Avalos#0       belong             0x000001B5
1036e8af9738SPeter Avalos#!:mime	video/mp4v-es
1037e8af9738SPeter Avalos#0       belong             0x000001B3
1038e8af9738SPeter Avalos#!:mime	video/mpv
1039e8af9738SPeter Avalos#0       belong&0xFF5FFF10  0x47400010
1040e8af9738SPeter Avalos#!:mime	video/mp2t
1041e8af9738SPeter Avalos#0       belong             0x00000001
1042e8af9738SPeter Avalos#>4      byte&0x1F	   0x07
1043e8af9738SPeter Avalos#!:mime	video/h264
104479343712SPeter Avalos
104579343712SPeter Avalos# Type: Bink Video
1046e4d4ce0cSPeter Avalos# Extension: .bik
10476fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=Bink_Container
104879343712SPeter Avalos# From: <hoehle@users.sourceforge.net>  2008-07-18
10496fca56fbSSascha Wildner0	name		bik
105079343712SPeter Avalos#>4	ulelong		x	size %d
105179343712SPeter Avalos>20	ulelong		x	\b, %d
105279343712SPeter Avalos>24	ulelong		x	\bx%d
105379343712SPeter Avalos>8	ulelong		x	\b, %d frames
105479343712SPeter Avalos>32	ulelong		x	at rate %d/
105579343712SPeter Avalos>28	ulelong		>1	\b%d
105679343712SPeter Avalos>40	ulelong		=0	\b, no audio
105779343712SPeter Avalos>40	ulelong		!0	\b, %d audio track
105879343712SPeter Avalos>>40	ulelong		!1	\bs
105979343712SPeter Avalos# follow properties of the first audio track only
106079343712SPeter Avalos>>48	uleshort	x	%dHz
106179343712SPeter Avalos>>51	byte&0x20	0	mono
106279343712SPeter Avalos>>51	byte&0x20	!0	stereo
106379343712SPeter Avalos#>>51	byte&0x10	0	FFT
106479343712SPeter Avalos#>>51	byte&0x10	!0	DCT
1065e4d4ce0cSPeter Avalos
10666fca56fbSSascha Wildner0	string		BIK
10676fca56fbSSascha Wildner>3	regex		=[bdfghi]	Bink Video rev.%s
10686fca56fbSSascha Wildner>>0	use		bik
10696fca56fbSSascha Wildner
10706fca56fbSSascha Wildner0	string		KB2
10716fca56fbSSascha Wildner>3	regex		=[adfghi]	Bink Video 2 rev.%s
10726fca56fbSSascha Wildner>>0	use		bik
10736fca56fbSSascha Wildner
1074e4d4ce0cSPeter Avalos# Type:	NUT Container
10756fca56fbSSascha Wildner# URL:	https://wiki.multimedia.cx/index.php?title=NUT
1076e4d4ce0cSPeter Avalos# From:	Adam Buchbinder <adam.buchbinder@gmail.com>
1077e4d4ce0cSPeter Avalos0	string	nut/multimedia\ container\0	NUT multimedia container
1078a96e001bSPeter Avalos
1079a96e001bSPeter Avalos# Type: Nullsoft Video (NSV)
10806fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=Nullsoft_Video
1081a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1082a96e001bSPeter Avalos0	string	NSVf	Nullsoft Video
1083a96e001bSPeter Avalos
1084a96e001bSPeter Avalos# Type: REDCode Video
10856fca56fbSSascha Wildner# URL:  https://www.red.com/ ; https://wiki.multimedia.cx/index.php?title=REDCode
1086a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1087a96e001bSPeter Avalos4	string	RED1	REDCode Video
1088a96e001bSPeter Avalos
1089a96e001bSPeter Avalos# Type: MTV Multimedia File
10906fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=MTV
1091a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1092a96e001bSPeter Avalos0	string	AMVS	MTV Multimedia File
1093a96e001bSPeter Avalos
1094a96e001bSPeter Avalos# Type: ARMovie
10956fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=ARMovie
1096a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1097a96e001bSPeter Avalos0	string	ARMovie\012	ARMovie
1098a96e001bSPeter Avalos
1099a96e001bSPeter Avalos# Type: Interplay MVE Movie
11006fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=Interplay_MVE
1101a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1102a96e001bSPeter Avalos0	string	Interplay\040MVE\040File\032	Interplay MVE Movie
1103a96e001bSPeter Avalos
1104a96e001bSPeter Avalos# Type: Windows Television DVR File
11056fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=WTV
1106a96e001bSPeter Avalos# From: Mike Melanson <mike@mutlimedia.cx>
1107a96e001bSPeter Avalos# This takes the form of a Windows-style GUID
1108a96e001bSPeter Avalos0	bequad	0xB7D800203749DA11
1109a96e001bSPeter Avalos>8	bequad	0xA64E0007E95EAD8D	Windows Television DVR Media
1110a96e001bSPeter Avalos
1111a96e001bSPeter Avalos# Type: Sega FILM/CPK Multimedia
11126fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=Sega_FILM
1113a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1114a96e001bSPeter Avalos0	string	FILM	Sega FILM/CPK Multimedia,
1115a96e001bSPeter Avalos>32	belong	x	%d x
1116a96e001bSPeter Avalos>28	belong	x	%d
1117a96e001bSPeter Avalos
1118a96e001bSPeter Avalos# Type: Nintendo THP Multimedia
11196fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=THP
1120a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1121a96e001bSPeter Avalos0	string	THP\0	Nintendo THP Multimedia
1122a96e001bSPeter Avalos
1123a96e001bSPeter Avalos# Type: BBC Dirac Video
11246fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=Dirac
1125a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1126a96e001bSPeter Avalos0	string	BBCD	BBC Dirac Video
1127a96e001bSPeter Avalos
1128a96e001bSPeter Avalos# Type: RAD Game Tools Smacker Multimedia
11296fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php?title=Smacker
1130a96e001bSPeter Avalos# From: Mike Melanson <mike@multimedia.cx>
1131a96e001bSPeter Avalos0	string	SMK	RAD Game Tools Smacker Multimedia
1132a96e001bSPeter Avalos>3	byte	x	version %c,
1133a96e001bSPeter Avalos>4	lelong	x	%d x
1134a96e001bSPeter Avalos>8	lelong	x	%d,
1135a96e001bSPeter Avalos>12	lelong	x	%d frames
1136c30bd091SSascha Wildner
1137c30bd091SSascha Wildner# Material Exchange Format
1138c30bd091SSascha Wildner# More information:
1139c30bd091SSascha Wildner# https://en.wikipedia.org/wiki/Material_Exchange_Format
1140c30bd091SSascha Wildner# http://www.freemxf.org/
1141c30bd091SSascha Wildner0	string	\x06\x0e\x2b\x34\x02\x05\x01\x01\x0d\x01\x02\x01\x01\x02	Material exchange container format
1142c30bd091SSascha Wildner!:ext	mxf
1143c30bd091SSascha Wildner!:mime	application/mxf
11446fca56fbSSascha Wildner
11456fca56fbSSascha Wildner# Recognize LucasArts Smush video files (cf.
11466fca56fbSSascha Wildner# https://wiki.multimedia.cx/index.php/Smush)
11476fca56fbSSascha Wildner0	string	ANIM
11486fca56fbSSascha Wildner>8	string	AHDR	LucasArts Smush Animation Format (SAN) video
11496fca56fbSSascha Wildner0	string	SANM
11506fca56fbSSascha Wildner>8	string	SHDR	LucasArts Smush v2 (SANM) video
11516fca56fbSSascha Wildner
11526fca56fbSSascha Wildner# Type: Scaleform video
11536fca56fbSSascha Wildner# Extension: .usm
11546fca56fbSSascha Wildner# URL:  https://wiki.multimedia.cx/index.php/USM
11556fca56fbSSascha Wildner# From: David Korth <gerbilsoft@gerbilsoft.com>
11566fca56fbSSascha Wildner0	string	CRID
11576fca56fbSSascha Wildner>32	string	@UTF	Scaleform video
1158970935fdSSascha Wildner
1159970935fdSSascha Wildner# http://www.jerrysguide.com/tips/demystify-tvs-file-format.html
1160970935fdSSascha Wildner0	string	TVS\015\012
1161970935fdSSascha Wildner>&0	string	Version\040	TeamViewer Session File
1162970935fdSSascha Wildner>>&0	string	x		\b, version %s
1163614728caSSascha Wildner
1164614728caSSascha Wildner# SER file format - simple uncompressed video format for astronomical use
1165614728caSSascha Wildner# Initially developed by Lucam Recorder,
1166614728caSSascha Wildner# as of 2021 maintained by Heiko Wilkens, Grischa Hahn
1167614728caSSascha Wildner# Typical extensions: .SER
1168614728caSSascha Wildner# http://www.grischa-hahn.homepage.t-online.de/astro/ser/SER%20Doc%20V3b.pdf
1169614728caSSascha Wildner0	string	LUCAM-RECORDER	SER video sequence
1170614728caSSascha Wildner!:ext	ser
1171614728caSSascha Wildner>18	lelong	0	\b, bayer: mono
1172614728caSSascha Wildner>18	lelong	8	\b, bayer: RGGB
1173614728caSSascha Wildner>18	lelong	9	\b, bayer: GRBG
1174614728caSSascha Wildner>18	lelong	10	\b, bayer: GBRG
1175614728caSSascha Wildner>18	lelong	11	\b, bayer: BGGR
1176614728caSSascha Wildner>18	lelong	16	\b, bayer: CYYM
1177614728caSSascha Wildner>18	lelong	17	\b, bayer: YCMY
1178614728caSSascha Wildner>18	lelong	18	\b, bayer: YMCY
1179614728caSSascha Wildner>18	lelong	19	\b, bayer: MYYC
1180614728caSSascha Wildner>18	lelong	100	\b, bayer: RGB
1181614728caSSascha Wildner>18	lelong	101	\b, bayer: BGR
1182614728caSSascha Wildner>22	lelong	0	\b, big-endian
1183614728caSSascha Wildner>22	lelong	1	\b, little-endian
1184614728caSSascha Wildner>26	lelong	x	\b, width: %d
1185614728caSSascha Wildner>30	lelong	x	\b, height: %d
1186614728caSSascha Wildner>34	lelong	x	\b, %d bit
1187614728caSSascha Wildner>38	lelong	x	\b, frames: %d
1188