head	1.4;
access;
symbols
	RELENG_8_4:1.4.0.2
	RELENG_9_1_0_RELEASE:1.3.10.1
	RELENG_9_1:1.3.10.1.0.2
	RELENG_9_1_BP:1.3.10.1
	RELENG_8_3_0_RELEASE:1.3
	RELENG_8_3:1.3.0.14
	RELENG_8_3_BP:1.3
	RELENG_9_0_0_RELEASE:1.3
	RELENG_9_0:1.3.0.12
	RELENG_9_0_BP:1.3
	RELENG_9:1.3.0.10
	RELENG_9_BP:1.3
	RELENG_7_4_0_RELEASE:1.1.1.8.2.1
	RELENG_8_2_0_RELEASE:1.3
	RELENG_7_4:1.1.1.8.2.1.0.8
	RELENG_7_4_BP:1.1.1.8.2.1
	RELENG_8_2:1.3.0.8
	RELENG_8_2_BP:1.3
	RELENG_8_1_0_RELEASE:1.3
	RELENG_8_1:1.3.0.6
	RELENG_8_1_BP:1.3
	RELENG_7_3_0_RELEASE:1.1.1.8.2.1
	RELENG_7_3:1.1.1.8.2.1.0.6
	RELENG_7_3_BP:1.1.1.8.2.1
	RELENG_8_0_0_RELEASE:1.3
	RELENG_8_0:1.3.0.4
	RELENG_8_0_BP:1.3
	RELENG_8:1.3.0.2
	RELENG_8_BP:1.3
	RELENG_7_2_0_RELEASE:1.1.1.8.2.1
	RELENG_7_2:1.1.1.8.2.1.0.4
	RELENG_7_2_BP:1.1.1.8.2.1
	RELENG_7_1_0_RELEASE:1.1.1.8.2.1
	RELENG_6_4_0_RELEASE:1.1.1.6.2.2
	RELENG_7_1:1.1.1.8.2.1.0.2
	RELENG_7_1_BP:1.1.1.8.2.1
	RELENG_6_4:1.1.1.6.2.2.0.2
	RELENG_6_4_BP:1.1.1.6.2.2
	RELENG_7_0_0_RELEASE:1.1.1.8.4.1
	file_4_23__r1_46:1.1.1.9
	RELENG_6_3_0_RELEASE:1.1.1.6
	file_4_23:1.1.1.9
	RELENG_7_0:1.1.1.8.0.4
	RELENG_7_0_BP:1.1.1.8
	RELENG_6_3:1.1.1.6.0.10
	RELENG_6_3_BP:1.1.1.6
	RELENG_7:1.1.1.8.0.2
	RELENG_7_BP:1.1.1.8
	file_4_21:1.1.1.8
	file_4_19:1.1.1.7
	RELENG_6_2_0_RELEASE:1.1.1.6
	RELENG_6_2:1.1.1.6.0.8
	RELENG_6_2_BP:1.1.1.6
	file_4_17_A:1.1
	file_4_17:1.1.1.7
	RELENG_5_5_0_RELEASE:1.1.1.5
	RELENG_5_5:1.1.1.5.0.8
	RELENG_5_5_BP:1.1.1.5
	RELENG_6_1_0_RELEASE:1.1.1.6
	RELENG_6_1:1.1.1.6.0.6
	RELENG_6_1_BP:1.1.1.6
	RELENG_6_0_0_RELEASE:1.1.1.6
	RELENG_6_0:1.1.1.6.0.4
	RELENG_6_0_BP:1.1.1.6
	RELENG_6:1.1.1.6.0.2
	RELENG_6_BP:1.1.1.6
	RELENG_5_4_0_RELEASE:1.1.1.5
	RELENG_5_4:1.1.1.5.0.6
	RELENG_5_4_BP:1.1.1.5
	RELENG_4_11_0_RELEASE:1.1.1.1.2.3
	file_4_12:1.1.1.6
	RELENG_4_11:1.1.1.1.2.3.0.8
	RELENG_4_11_BP:1.1.1.1.2.3
	RELENG_5_3_0_RELEASE:1.1.1.5
	RELENG_5_3:1.1.1.5.0.4
	RELENG_5_3_BP:1.1.1.5
	RELENG_5:1.1.1.5.0.2
	RELENG_5_BP:1.1.1.5
	file_4_10:1.1.1.5
	RELENG_4_10_0_RELEASE:1.1.1.1.2.3
	RELENG_4_10:1.1.1.1.2.3.0.6
	RELENG_4_10_BP:1.1.1.1.2.3
	RELENG_5_2_1_RELEASE:1.1.1.4
	RELENG_5_2_0_RELEASE:1.1.1.4
	RELENG_5_2:1.1.1.4.0.6
	RELENG_5_2_BP:1.1.1.4
	RELENG_4_9_0_RELEASE:1.1.1.1.2.3
	RELENG_4_9:1.1.1.1.2.3.0.4
	RELENG_4_9_BP:1.1.1.1.2.3
	RELENG_5_1_0_RELEASE:1.1.1.4
	RELENG_5_1:1.1.1.4.0.4
	RELENG_5_1_BP:1.1.1.4
	RELENG_4_8_0_RELEASE:1.1.1.1.2.3
	RELENG_4_8:1.1.1.1.2.3.0.2
	RELENG_4_8_BP:1.1.1.1.2.3
	file_3_41:1.1.1.4
	file_3_40:1.1.1.4
	RELENG_5_0_0_RELEASE:1.1.1.4
	RELENG_5_0:1.1.1.4.0.2
	RELENG_5_0_BP:1.1.1.4
	RELENG_4_7_0_RELEASE:1.1.1.1.2.2
	RELENG_4_7:1.1.1.1.2.2.0.8
	RELENG_4_7_BP:1.1.1.1.2.2
	file_3_39:1.1.1.4
	RELENG_4_6_2_RELEASE:1.1.1.1.2.2
	RELENG_4_6_1_RELEASE:1.1.1.1.2.2
	RELENG_4_6_0_RELEASE:1.1.1.1.2.2
	RELENG_4_6:1.1.1.1.2.2.0.6
	RELENG_4_6_BP:1.1.1.1.2.2
	RELENG_4_5_0_RELEASE:1.1.1.1.2.2
	RELENG_4_5:1.1.1.1.2.2.0.4
	RELENG_4_5_BP:1.1.1.1.2.2
	file_3_37:1.1.1.3
	RELENG_4_4_0_RELEASE:1.1.1.1.2.2
	RELENG_4_4:1.1.1.1.2.2.0.2
	RELENG_4_4_BP:1.1.1.1.2.2
	file_3_36:1.1.1.3
	file_3_35:1.1.1.2
	RELENG_4_3_0_RELEASE:1.1.1.1.2.1
	RELENG_4_3:1.1.1.1.2.1.0.2
	RELENG_4_3_BP:1.1.1.1.2.1
	file_3_34:1.1.1.2
	RELENG_4:1.1.1.1.0.2
	file_3_33:1.1.1.1
	file_3_32:1.1.1.1
	ZOULAS:1.1.1;
locks; strict;
comment	@# @;


1.4
date	2012.04.19.03.20.13;	author obrien;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2009.05.04.00.37.44;	author obrien;	state Exp;
branches
	1.3.10.1;
next	1.2;

1.2
date	2009.01.02.03.10.55;	author obrien;	state Exp;
branches;
next	1.1;

1.1
date	2000.11.05.08.33.54;	author obrien;	state Exp;
branches
	1.1.1.1;
next	;

1.4.2.1
date	2012.04.19.03.20.13;	author svnexp;	state dead;
branches;
next	1.4.2.2;

1.4.2.2
date	2013.03.28.13.00.44;	author svnexp;	state Exp;
branches;
next	;

1.3.10.1
date	2012.07.02.08.48.58;	author obrien;	state Exp;
branches;
next	;

1.1.1.1
date	2000.11.05.08.33.54;	author obrien;	state Exp;
branches
	1.1.1.1.2.1;
next	1.1.1.2;

1.1.1.2
date	2001.03.25.18.37.03;	author obrien;	state Exp;
branches;
next	1.1.1.3;

1.1.1.3
date	2001.07.30.03.09.45;	author obrien;	state Exp;
branches;
next	1.1.1.4;

1.1.1.4
date	2002.09.16.05.54.24;	author obrien;	state Exp;
branches;
next	1.1.1.5;

1.1.1.5
date	2004.08.09.08.45.40;	author obrien;	state Exp;
branches;
next	1.1.1.6;

1.1.1.6
date	2004.12.28.04.31.45;	author obrien;	state Exp;
branches
	1.1.1.6.2.1;
next	1.1.1.7;

1.1.1.7
date	2006.06.19.07.52.13;	author obrien;	state Exp;
branches;
next	1.1.1.8;

1.1.1.8
date	2007.05.24.21.59.36;	author obrien;	state Exp;
branches
	1.1.1.8.2.1
	1.1.1.8.4.1;
next	1.1.1.9;

1.1.1.9
date	2008.01.13.20.35.15;	author obrien;	state Exp;
branches;
next	;

1.1.1.1.2.1
date	2000.11.26.21.37.22;	author obrien;	state Exp;
branches;
next	1.1.1.1.2.2;

1.1.1.1.2.2
date	2001.08.02.22.51.35;	author obrien;	state Exp;
branches;
next	1.1.1.1.2.3;

1.1.1.1.2.3
date	2003.03.16.04.44.55;	author obrien;	state Exp;
branches;
next	;

1.1.1.6.2.1
date	2008.01.24.15.47.31;	author rafan;	state Exp;
branches;
next	1.1.1.6.2.2;

1.1.1.6.2.2
date	2008.01.29.10.36.38;	author rafan;	state Exp;
branches;
next	;

1.1.1.8.2.1
date	2008.01.30.02.53.11;	author obrien;	state Exp;
branches;
next	;

1.1.1.8.4.1
date	2008.02.06.18.26.37;	author obrien;	state Exp;
branches;
next	;


desc
@@


1.4
log
@SVN rev 234449 on 2012-04-19 03:20:13Z by obrien

Update file(1) to version 5.11.
@
text
@
#------------------------------------------------------------------------------
# $File: animation,v 1.45 2011/09/06 11:00:06 christos Exp $
# animation:  file(1) magic for animation/movie formats
#
# animation formats
# MPEG, FLI, DL originally from vax@@ccwf.cc.utexas.edu (VaX#n8)
# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@@yggdrasil.com)

# SGI and Apple formats
0	string		MOVI		Silicon Graphics movie file
!:mime	video/x-sgi-movie
4       string          moov            Apple QuickTime
!:mime	video/quicktime
>12     string          mvhd            \b movie (fast start)
>12     string          mdra            \b URL
>12     string          cmov            \b movie (fast start, compressed header)
>12     string          rmra            \b multiple URLs
4       string          mdat            Apple QuickTime movie (unoptimized)
!:mime	video/quicktime
#4       string          wide            Apple QuickTime movie (unoptimized)
#!:mime	video/quicktime
#4       string          skip            Apple QuickTime movie (modified)
#!:mime	video/quicktime
#4       string          free            Apple QuickTime movie (modified)
#!:mime	video/quicktime
4       string          idsc            Apple QuickTime image (fast start)
!:mime	image/x-quicktime
#4       string          idat            Apple QuickTime image (unoptimized)
#!:mime	image/x-quicktime
4       string          pckg            Apple QuickTime compressed archive
!:mime	application/x-quicktime-player
4	string/W	jP		JPEG 2000 image
!:mime	image/jp2
4	string		ftyp		ISO Media
>8	string		isom		\b, MPEG v4 system, version 1
!:mime	video/mp4
>8	string		iso2		\b, MPEG v4 system, part 12 revision
>8	string		mp41		\b, MPEG v4 system, version 1
!:mime	video/mp4
>8	string		mp42		\b, MPEG v4 system, version 2
!:mime	video/mp4
>8	string		mp7t		\b, MPEG v4 system, MPEG v7 XML
>8	string		mp7b		\b, MPEG v4 system, MPEG v7 binary XML
>8	string/W	jp2		\b, JPEG 2000
!:mime	image/jp2
>8	string		3ge		\b, MPEG v4 system, 3GPP
!:mime	video/3gpp
>8	string		3gg		\b, MPEG v4 system, 3GPP
!:mime	video/3gpp
>8	string		3gp		\b, MPEG v4 system, 3GPP
!:mime	video/3gpp
>8	string		3gs		\b, MPEG v4 system, 3GPP
!:mime	video/3gpp
>8	string		3g2		\b, MPEG v4 system, 3GPP2
!:mime	video/3gpp2
>>11	byte		4		\b v4 (H.263/AMR GSM 6.10)
>>11	byte		5		\b v5 (H.263/AMR GSM 6.10)
>>11	byte		6		\b v6 (ITU H.264/AMR GSM 6.10)
>8	string		mmp4		\b, MPEG v4 system, 3GPP Mobile
!:mime	video/mp4
>8	string		avc1		\b, MPEG v4 system, 3GPP JVT AVC
!:mime	video/3gpp
>8	string/W	M4A		\b, MPEG v4 system, iTunes AAC-LC
!:mime	audio/mp4
>8	string/W	M4V		\b, MPEG v4 system, iTunes AVC-LC
!:mime	video/mp4
>8	string/W	M4P		\b, MPEG v4 system, iTunes AES encrypted
>8	string/W	M4B		\b, MPEG v4 system, iTunes bookmarked
>8	string/W	qt		\b, Apple QuickTime movie
!:mime	video/quicktime

# MPEG sequences
# Scans for all common MPEG header start codes
0	 belong		    0x00000001     
>4	 byte&0x1F	    0x07	   JVT NAL sequence, H.264 video
>>5      byte               66             \b, baseline
>>5      byte               77             \b, main
>>5      byte               88             \b, extended
>>7      byte               x              \b @@ L %u
0        belong&0xFFFFFF00  0x00000100     
>3       byte               0xBA           MPEG sequence
!:mime  video/mpeg
>>4      byte               &0x40          \b, v2, program multiplex
>>4      byte               ^0x40          \b, v1, system multiplex
>3       byte               0xBB           MPEG sequence, v1/2, multiplex (missing pack header)
>3       byte&0x1F          0x07           MPEG sequence, H.264 video
>>4      byte               66             \b, baseline
>>4      byte               77             \b, main
>>4      byte               88             \b, extended
>>6      byte               x              \b @@ L %u
>3       byte               0xB0           MPEG sequence, v4
!:mime  video/mpeg4-generic
>>5      belong             0x000001B5
>>>9     byte               &0x80
>>>>10   byte&0xF0          16             \b, video
>>>>10   byte&0xF0          32             \b, still texture
>>>>10   byte&0xF0          48             \b, mesh
>>>>10   byte&0xF0          64             \b, face
>>>9     byte&0xF8          8              \b, video
>>>9     byte&0xF8          16             \b, still texture
>>>9     byte&0xF8          24             \b, mesh
>>>9     byte&0xF8          32             \b, face
>>4      byte               1              \b, simple @@ L1
>>4      byte               2              \b, simple @@ L2
>>4      byte               3              \b, simple @@ L3
>>4      byte               4              \b, simple @@ L0
>>4      byte               17             \b, simple scalable @@ L1
>>4      byte               18             \b, simple scalable @@ L2
>>4      byte               33             \b, core @@ L1
>>4      byte               34             \b, core @@ L2
>>4      byte               50             \b, main @@ L2
>>4      byte               51             \b, main @@ L3
>>4      byte               53             \b, main @@ L4
>>4      byte               66             \b, n-bit @@ L2
>>4      byte               81             \b, scalable texture @@ L1
>>4      byte               97             \b, simple face animation @@ L1
>>4      byte               98             \b, simple face animation @@ L2
>>4      byte               99             \b, simple face basic animation @@ L1
>>4      byte               100            \b, simple face basic animation @@ L2
>>4      byte               113            \b, basic animation text @@ L1
>>4      byte               114            \b, basic animation text @@ L2
>>4      byte               129            \b, hybrid @@ L1
>>4      byte               130            \b, hybrid @@ L2
>>4      byte               145            \b, advanced RT simple @@ L!
>>4      byte               146            \b, advanced RT simple @@ L2
>>4      byte               147            \b, advanced RT simple @@ L3
>>4      byte               148            \b, advanced RT simple @@ L4
>>4      byte               161            \b, core scalable @@ L1
>>4      byte               162            \b, core scalable @@ L2
>>4      byte               163            \b, core scalable @@ L3
>>4      byte               177            \b, advanced coding efficiency @@ L1
>>4      byte               178            \b, advanced coding efficiency @@ L2
>>4      byte               179            \b, advanced coding efficiency @@ L3
>>4      byte               180            \b, advanced coding efficiency @@ L4
>>4      byte               193            \b, advanced core @@ L1
>>4      byte               194            \b, advanced core @@ L2
>>4      byte               209            \b, advanced scalable texture @@ L1
>>4      byte               210            \b, advanced scalable texture @@ L2
>>4      byte               211            \b, advanced scalable texture @@ L3
>>4      byte               225            \b, simple studio @@ L1
>>4      byte               226            \b, simple studio @@ L2
>>4      byte               227            \b, simple studio @@ L3
>>4      byte               228            \b, simple studio @@ L4
>>4      byte               229            \b, core studio @@ L1
>>4      byte               230            \b, core studio @@ L2
>>4      byte               231            \b, core studio @@ L3
>>4      byte               232            \b, core studio @@ L4
>>4      byte               240            \b, advanced simple @@ L0
>>4      byte               241            \b, advanced simple @@ L1
>>4      byte               242            \b, advanced simple @@ L2
>>4      byte               243            \b, advanced simple @@ L3
>>4      byte               244            \b, advanced simple @@ L4
>>4      byte               245            \b, advanced simple @@ L5
>>4      byte               247            \b, advanced simple @@ L3b
>>4      byte               248            \b, FGS @@ L0
>>4      byte               249            \b, FGS @@ L1
>>4      byte               250            \b, FGS @@ L2
>>4      byte               251            \b, FGS @@ L3
>>4      byte               252            \b, FGS @@ L4
>>4      byte               253            \b, FGS @@ L5
>3       byte               0xB5           MPEG sequence, v4
!:mime  video/mpeg4-generic
>>4      byte               &0x80
>>>5     byte&0xF0          16             \b, video (missing profile header)
>>>5     byte&0xF0          32             \b, still texture (missing profile header)
>>>5     byte&0xF0          48             \b, mesh (missing profile header)
>>>5     byte&0xF0          64             \b, face (missing profile header)
>>4      byte&0xF8          8              \b, video (missing profile header)
>>4      byte&0xF8          16             \b, still texture (missing profile header)
>>4      byte&0xF8          24             \b, mesh (missing profile header)
>>4      byte&0xF8          32             \b, face (missing profile header)
>3       byte               0xB3           MPEG sequence
!:mime  video/mpeg
>>12     belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>12     belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>12     belong             0x000001B5     \b, v2,
>>>16    byte&0x0F          1              \b HP
>>>16    byte&0x0F          2              \b Spt
>>>16    byte&0x0F          3              \b SNR
>>>16    byte&0x0F          4              \b MP
>>>16    byte&0x0F          5              \b SP
>>>17    byte&0xF0          64             \b@@HL
>>>17    byte&0xF0          96             \b@@H-14
>>>17    byte&0xF0          128            \b@@ML
>>>17    byte&0xF0          160            \b@@LL
>>>17    byte               &0x08          \b progressive
>>>17    byte               ^0x08          \b interlaced
>>>17    byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>17    byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>17    byte&0x06          6              \b Y'CbCr 4:4:4 video
>>11     byte               &0x02
>>>75    byte               &0x01
>>>>140  belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>>>140  belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>>>140  belong             0x000001B5     \b, v2,
>>>>>144 byte&0x0F          1              \b HP
>>>>>144 byte&0x0F          2              \b Spt
>>>>>144 byte&0x0F          3              \b SNR
>>>>>144 byte&0x0F          4              \b MP
>>>>>144 byte&0x0F          5              \b SP
>>>>>145 byte&0xF0          64             \b@@HL
>>>>>145 byte&0xF0          96             \b@@H-14
>>>>>145 byte&0xF0          128            \b@@ML
>>>>>145 byte&0xF0          160            \b@@LL
>>>>>145 byte               &0x08          \b progressive
>>>>>145 byte               ^0x08          \b interlaced
>>>>>145 byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>>>145 byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>>>145 byte&0x06          6              \b Y'CbCr 4:4:4 video
>>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>76    belong             0x000001B5     \b, v2,
>>>80   byte&0x0F          1              \b HP
>>>80   byte&0x0F          2              \b Spt
>>>80   byte&0x0F          3              \b SNR
>>>80   byte&0x0F          4              \b MP
>>>80   byte&0x0F          5              \b SP
>>>81   byte&0xF0          64             \b@@HL
>>>81   byte&0xF0          96             \b@@H-14
>>>81   byte&0xF0          128            \b@@ML
>>>81   byte&0xF0          160            \b@@LL
>>>81   byte               &0x08          \b progressive
>>>81   byte               ^0x08          \b interlaced
>>>81   byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>81   byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>81   byte&0x06          6              \b Y'CbCr 4:4:4 video
>>4      belong&0xFFFFFF00  0x78043800     \b, HD-TV 1920P
>>>7     byte&0xF0          0x10           \b, 16:9
>>4      belong&0xFFFFFF00  0x50002D00     \b, SD-TV 1280I
>>>7     byte&0xF0          0x10           \b, 16:9
>>4      belong&0xFFFFFF00  0x30024000     \b, PAL Capture
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      beshort&0xFFF0     0x2C00         \b, 4CIF
>>>5     beshort&0x0FFF     0x01E0         \b NTSC
>>>5     beshort&0x0FFF     0x0240         \b PAL
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>>7     byte&0xF0          0x80           \b, PAL 4:3
>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
>>4      belong&0xFFFFFF00  0x2801E000     \b, LD-TV 640P
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x1400F000     \b, 320x240
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x0F00A000     \b, 240x160
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x0A007800     \b, 160x120
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      beshort&0xFFF0     0x1600         \b, CIF
>>>5     beshort&0x0FFF     0x00F0         \b NTSC
>>>5     beshort&0x0FFF     0x0120         \b PAL
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>>7     byte&0xF0          0x80           \b, PAL 4:3
>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>>7    byte&0xF0          0x20           \b, 4:3
>>>>7    byte&0xF0          0x30           \b, 16:9
>>>>7    byte&0xF0          0x40           \b, 11:5
>>4      beshort&0xFFF0     0x2D00         \b, CCIR/ITU
>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>4      beshort&0xFFF0     0x1E00         \b, SVCD
>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>7      byte&0x0F          1              \b, 23.976 fps
>>7      byte&0x0F          2              \b, 24 fps
>>7      byte&0x0F          3              \b, 25 fps
>>7      byte&0x0F          4              \b, 29.97 fps
>>7      byte&0x0F          5              \b, 30 fps
>>7      byte&0x0F          6              \b, 50 fps
>>7      byte&0x0F          7              \b, 59.94 fps
>>7      byte&0x0F          8              \b, 60 fps
>>11     byte               &0x04          \b, Constrained

# MPEG ADTS Audio (*.mpx/mxa/aac)
# from dreesen@@math.fu-berlin.de
# modified to fully support MPEG ADTS

# MP3, M1A
# modified by Joerg Jenderek
# GRR the original test are too common for many DOS files
# so don't accept as MP3 until we've tested the rate
0       beshort&0xFFFE  0xFFFA
# rates
>2      byte&0xF0       0x10           MPEG ADTS, layer III, v1,  32 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x20           MPEG ADTS, layer III, v1,  40 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x30           MPEG ADTS, layer III, v1,  48 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x40           MPEG ADTS, layer III, v1,  56 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x50           MPEG ADTS, layer III, v1,  64 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x60           MPEG ADTS, layer III, v1,  80 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x70           MPEG ADTS, layer III, v1,  96 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x80           MPEG ADTS, layer III, v1, 112 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x90           MPEG ADTS, layer III, v1, 128 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xA0           MPEG ADTS, layer III, v1, 160 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xB0           MPEG ADTS, layer III, v1, 192 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xC0           MPEG ADTS, layer III, v1, 224 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xD0           MPEG ADTS, layer III, v1, 256 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xE0           MPEG ADTS, layer III, v1, 320 kbps
!:mime	audio/mpeg
# timing
>2      byte&0x0C       0x00           \b, 44.1 kHz
>2      byte&0x0C       0x04           \b, 48 kHz
>2      byte&0x0C       0x08           \b, 32 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MP2, M1A
0       beshort&0xFFFE  0xFFFC         MPEG ADTS, layer II, v1
!:mime	audio/mpeg
# rates
>2      byte&0xF0       0x10           \b,  32 kbps
>2      byte&0xF0       0x20           \b,  48 kbps
>2      byte&0xF0       0x30           \b,  56 kbps
>2      byte&0xF0       0x40           \b,  64 kbps
>2      byte&0xF0       0x50           \b,  80 kbps
>2      byte&0xF0       0x60           \b,  96 kbps
>2      byte&0xF0       0x70           \b, 112 kbps
>2      byte&0xF0       0x80           \b, 128 kbps
>2      byte&0xF0       0x90           \b, 160 kbps
>2      byte&0xF0       0xA0           \b, 192 kbps
>2      byte&0xF0       0xB0           \b, 224 kbps
>2      byte&0xF0       0xC0           \b, 256 kbps
>2      byte&0xF0       0xD0           \b, 320 kbps
>2      byte&0xF0       0xE0           \b, 384 kbps
# timing
>2      byte&0x0C       0x00           \b, 44.1 kHz
>2      byte&0x0C       0x04           \b, 48 kHz
>2      byte&0x0C       0x08           \b, 32 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MPA, M1A
# updated by Joerg Jenderek
# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
# GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE)
# FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries
#0	beshort&0xFFFE		0xFFFE	
#>2	ubyte&0xF0	>0x0F		
#>>2	ubyte&0xF0	<0xE1		MPEG ADTS, layer I, v1
## rate
#>>>2      byte&0xF0       0x10           \b,  32 kbps
#>>>2      byte&0xF0       0x20           \b,  64 kbps
#>>>2      byte&0xF0       0x30           \b,  96 kbps
#>>>2      byte&0xF0       0x40           \b, 128 kbps
#>>>2      byte&0xF0       0x50           \b, 160 kbps
#>>>2      byte&0xF0       0x60           \b, 192 kbps
#>>>2      byte&0xF0       0x70           \b, 224 kbps
#>>>2      byte&0xF0       0x80           \b, 256 kbps
#>>>2      byte&0xF0       0x90           \b, 288 kbps
#>>>2      byte&0xF0       0xA0           \b, 320 kbps
#>>>2      byte&0xF0       0xB0           \b, 352 kbps
#>>>2      byte&0xF0       0xC0           \b, 384 kbps
#>>>2      byte&0xF0       0xD0           \b, 416 kbps
#>>>2      byte&0xF0       0xE0           \b, 448 kbps
## timing
#>>>2      byte&0x0C       0x00           \b, 44.1 kHz
#>>>2      byte&0x0C       0x04           \b, 48 kHz
#>>>2      byte&0x0C       0x08           \b, 32 kHz
## channels/options
#>>>3      byte&0xC0       0x00           \b, Stereo
#>>>3      byte&0xC0       0x40           \b, JntStereo
#>>>3      byte&0xC0       0x80           \b, 2x Monaural
#>>>3      byte&0xC0       0xC0           \b, Monaural
##>1     byte            ^0x01          \b, Data Verify
##>2     byte            &0x02          \b, Packet Pad
##>2     byte            &0x01          \b, Custom Flag
##>3     byte            &0x08          \b, Copyrighted
##>3     byte            &0x04          \b, Original Source
##>3     byte&0x03       1              \b, NR: 50/15 ms
##>3     byte&0x03       3              \b, NR: CCIT J.17

# MP3, M2A
0       beshort&0xFFFE  0xFFF2         MPEG ADTS, layer III, v2
!:mime	audio/mpeg
# rate
>2      byte&0xF0       0x10           \b,   8 kbps
>2      byte&0xF0       0x20           \b,  16 kbps
>2      byte&0xF0       0x30           \b,  24 kbps
>2      byte&0xF0       0x40           \b,  32 kbps
>2      byte&0xF0       0x50           \b,  40 kbps
>2      byte&0xF0       0x60           \b,  48 kbps
>2      byte&0xF0       0x70           \b,  56 kbps
>2      byte&0xF0       0x80           \b,  64 kbps
>2      byte&0xF0       0x90           \b,  80 kbps
>2      byte&0xF0       0xA0           \b,  96 kbps
>2      byte&0xF0       0xB0           \b, 112 kbps
>2      byte&0xF0       0xC0           \b, 128 kbps
>2      byte&0xF0       0xD0           \b, 144 kbps
>2      byte&0xF0       0xE0           \b, 160 kbps
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MP2, M2A
0       beshort&0xFFFE  0xFFF4         MPEG ADTS, layer II, v2
# rate 
>2      byte&0xF0       0x10           \b,   8 kbps
>2      byte&0xF0       0x20           \b,  16 kbps 
>2      byte&0xF0       0x30           \b,  24 kbps
>2      byte&0xF0       0x40           \b,  32 kbps
>2      byte&0xF0       0x50           \b,  40 kbps
>2      byte&0xF0       0x60           \b,  48 kbps
>2      byte&0xF0       0x70           \b,  56 kbps
>2      byte&0xF0       0x80           \b,  64 kbps
>2      byte&0xF0       0x90           \b,  80 kbps
>2      byte&0xF0       0xA0           \b,  96 kbps
>2      byte&0xF0       0xB0           \b, 112 kbps
>2      byte&0xF0       0xC0           \b, 128 kbps
>2      byte&0xF0       0xD0           \b, 144 kbps
>2      byte&0xF0       0xE0           \b, 160 kbps
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MPA, M2A
0       beshort&0xFFFE  0xFFF6         MPEG ADTS, layer I, v2
!:mime	audio/mpeg
# rate
>2      byte&0xF0       0x10           \b,  32 kbps
>2      byte&0xF0       0x20           \b,  48 kbps
>2      byte&0xF0       0x30           \b,  56 kbps
>2      byte&0xF0       0x40           \b,  64 kbps
>2      byte&0xF0       0x50           \b,  80 kbps
>2      byte&0xF0       0x60           \b,  96 kbps
>2      byte&0xF0       0x70           \b, 112 kbps
>2      byte&0xF0       0x80           \b, 128 kbps
>2      byte&0xF0       0x90           \b, 144 kbps
>2      byte&0xF0       0xA0           \b, 160 kbps
>2      byte&0xF0       0xB0           \b, 176 kbps
>2      byte&0xF0       0xC0           \b, 192 kbps
>2      byte&0xF0       0xD0           \b, 224 kbps
>2      byte&0xF0       0xE0           \b, 256 kbps
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MP3, M25A
0       beshort&0xFFFE  0xFFE2         MPEG ADTS, layer III,  v2.5
!:mime	audio/mpeg
# rate  
>2      byte&0xF0       0x10           \b,   8 kbps
>2      byte&0xF0       0x20           \b,  16 kbps
>2      byte&0xF0       0x30           \b,  24 kbps
>2      byte&0xF0       0x40           \b,  32 kbps
>2      byte&0xF0       0x50           \b,  40 kbps
>2      byte&0xF0       0x60           \b,  48 kbps
>2      byte&0xF0       0x70           \b,  56 kbps
>2      byte&0xF0       0x80           \b,  64 kbps
>2      byte&0xF0       0x90           \b,  80 kbps
>2      byte&0xF0       0xA0           \b,  96 kbps
>2      byte&0xF0       0xB0           \b, 112 kbps
>2      byte&0xF0       0xC0           \b, 128 kbps
>2      byte&0xF0       0xD0           \b, 144 kbps
>2      byte&0xF0       0xE0           \b, 160 kbps
# timing
>2      byte&0x0C       0x00           \b, 11.025 kHz
>2      byte&0x0C       0x04           \b, 12 kHz
>2      byte&0x0C       0x08           \b, 8 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio

# Stored AAC streams (instead of the MP4 format)
0       string          ADIF           MPEG ADIF, AAC
!:mime	audio/x-hx-aac-adif
>4      byte            &0x80
>>13    byte            &0x10          \b, VBR
>>13    byte            ^0x10          \b, CBR
>>16    byte&0x1E       0x02           \b, single stream
>>16    byte&0x1E       0x04           \b, 2 streams
>>16    byte&0x1E       0x06           \b, 3 streams
>>16    byte            &0x08          \b, 4 or more streams
>>16    byte            &0x10          \b, 8 or more streams
>>4    byte            &0x80          \b, Copyrighted
>>13   byte            &0x40          \b, Original Source
>>13   byte            &0x20          \b, Home Flag
>4      byte            ^0x80
>>4     byte            &0x10          \b, VBR
>>4     byte            ^0x10          \b, CBR
>>7     byte&0x1E       0x02           \b, single stream
>>7     byte&0x1E       0x04           \b, 2 streams
>>7     byte&0x1E       0x06           \b, 3 streams
>>7     byte            &0x08          \b, 4 or more streams
>>7     byte            &0x10          \b, 8 or more streams
>>4    byte            &0x40          \b, Original Stream(s)
>>4    byte            &0x20          \b, Home Source

# Live or stored single AAC stream (used with MPEG-2 systems)
0       beshort&0xFFF6  0xFFF0         MPEG ADTS, AAC
!:mime	audio/x-hx-aac-adts
>1      byte            &0x08          \b, v2
>1      byte            ^0x08          \b, v4
# profile
>>2     byte            &0xC0          \b LTP
>2      byte&0xc0       0x00           \b Main
>2      byte&0xc0       0x40           \b LC
>2      byte&0xc0       0x80           \b SSR
# timing
>2      byte&0x3c       0x00           \b, 96 kHz
>2      byte&0x3c       0x04           \b, 88.2 kHz
>2      byte&0x3c       0x08           \b, 64 kHz
>2      byte&0x3c       0x0c           \b, 48 kHz
>2      byte&0x3c       0x10           \b, 44.1 kHz
>2      byte&0x3c       0x14           \b, 32 kHz
>2      byte&0x3c       0x18           \b, 24 kHz
>2      byte&0x3c       0x1c           \b, 22.05 kHz
>2      byte&0x3c       0x20           \b, 16 kHz
>2      byte&0x3c       0x24           \b, 12 kHz
>2      byte&0x3c       0x28           \b, 11.025 kHz
>2      byte&0x3c       0x2c           \b, 8 kHz
# channels
>2      beshort&0x01c0  0x0040         \b, monaural
>2      beshort&0x01c0  0x0080         \b, stereo
>2      beshort&0x01c0  0x00c0         \b, stereo + center
>2      beshort&0x01c0  0x0100         \b, stereo+center+LFE
>2      beshort&0x01c0  0x0140         \b, surround
>2      beshort&0x01c0  0x0180         \b, surround + LFE
>2      beshort         &0x01C0        \b, surround + side
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Custom Flag
#>3     byte            &0x20           \b, Original Stream
#>3     byte            &0x10           \b, Home Source
#>3     byte            &0x08           \b, Copyrighted

# Live MPEG-4 audio streams (instead of RTP FlexMux)
0       beshort&0xFFE0  0x56E0         MPEG-4 LOAS
!:mime	audio/x-mp4a-latm
#>1     beshort&0x1FFF  x              \b, %u byte packet
>3      byte&0xE0       0x40
>>4     byte&0x3C       0x04           \b, single stream
>>4     byte&0x3C       0x08           \b, 2 streams
>>4     byte&0x3C       0x0C           \b, 3 streams
>>4     byte            &0x08          \b, 4 or more streams
>>4     byte            &0x20          \b, 8 or more streams
>3      byte&0xC0       0
>>4     byte&0x78       0x08           \b, single stream
>>4     byte&0x78       0x10           \b, 2 streams
>>4     byte&0x78       0x18           \b, 3 streams
>>4     byte            &0x20          \b, 4 or more streams
>>4     byte            &0x40          \b, 8 or more streams
# This magic isn't strong enough (matches plausible ISO-8859-1 text)
#0       beshort         0x4DE1         MPEG-4 LO-EP audio stream
#!:mime	audio/x-mp4a-latm

# Summary: FLI animation format
# Created by: Daniel Quinlan <quinlan@@yggdrasil.com>
# Modified by (1): Abel Cheung <abelcheung@@gmail.com> (avoid over-generic detection)
4	leshort		0xAF11
# standard FLI always has 320x200 resolution and 8 bit color
>8	leshort		320
>>10	leshort		200
>>>12	leshort		8			FLI animation, 320x200x8
!:mime	video/x-fli
>>>>6	leshort		x			\b, %d frames
# frame speed is multiple of 1/70s
>>>>16	leshort		x			\b, %d/70s per frame

# Summary: FLC animation format
# Created by: Daniel Quinlan <quinlan@@yggdrasil.com>
# Modified by (1): Abel Cheung <abelcheung@@gmail.com> (avoid over-generic detection)
4	leshort		0xAF12
# standard FLC always use 8 bit color
>12	leshort		8			FLC animation
!:mime	video/x-flc
>>8	leshort		x			\b, %d
>>10	leshort		x			\bx%dx8
>>6	uleshort	x			\b, %d frames
>>16	uleshort	x			\b, %dms per frame

# DL animation format
# XXX - collision with most `mips' magic
#
# I couldn't find a real magic number for these, however, this
# -appears- to work.  Note that it might catch other files, too, so be
# careful!
#
# Note that title and author appear in the two 20-byte chunks
# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
# 255 (hex FF)!  The DL format is really bad.
#
#0	byte	1	DL version 1, medium format (160x100, 4 images/screen)
#!:mime	video/x-unknown
#>42	byte	x	- %d screens,
#>43	byte	x	%d commands
#0	byte	2	DL version 2
#!:mime	video/x-unknown
#>1	byte	1	- large format (320x200,1 image/screen),
#>1	byte	2	- medium format (160x100,4 images/screen),
#>1	byte	>2	- unknown format,
#>42	byte	x	%d screens,
#>43	byte	x	%d commands
# Based on empirical evidence, DL version 3 have several nulls following the
# \003.  Most of them start with non-null values at hex offset 0x34 or so.
#0	string	\3\0\0\0\0\0\0\0\0\0\0\0	DL version 3

# iso 13818 transport stream
#
# from Oskar Schirmer <schirmer@@scara.com> Feb 3, 2001 (ISO 13818.1)
# (the following is a little bit restrictive and works fine for a stream
#  that starts with PAT properly. it won't work for stream data, that is
#  cut from an input device data right in the middle, but this shouldn't
#  disturb)
# syncbyte      8 bit	0x47
# error_ind     1 bit	-
# payload_start 1 bit	1
# priority      1 bit	-
# PID          13 bit	0x0000
# scrambling    2 bit	-
# adaptfld_ctrl 2 bit	1 or 3
# conti_count   4 bit	0
0	belong&0xFF5FFF1F	0x47400010	MPEG transport stream data
>188	byte			!0x47		CORRUPTED

# DIF digital video file format <mpruett@@sgi.com>
0	belong&0xffffff00	0x1f070000      DIF
>4	byte			&0x01		(DVCPRO) movie file
>4	byte			^0x01		(DV) movie file
>3	byte			&0x80		(PAL)
>3	byte			^0x80		(NTSC)

# Microsoft Advanced Streaming Format (ASF) <mpruett@@sgi.com>
0	belong			0x3026b275	Microsoft ASF
!:mime  video/x-ms-asf

# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
0	string			\x8aMNG		MNG video data,
!:mime	video/x-mng
>4	belong			!0x0d0a1a0a	CORRUPTED,
>4	belong			0x0d0a1a0a
>>16    belong	x				%ld x
>>20    belong	x				%ld

# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
0	string			\x8bJNG		JNG video data,
!:mime	video/x-jng
>4	belong			!0x0d0a1a0a	CORRUPTED,
>4	belong			0x0d0a1a0a
>>16    belong	x				%ld x
>>20    belong	x				%ld

# Vivo video (Wolfram Kleff)
3	string		\x0D\x0AVersion:Vivo	Vivo video data

# VRML (Virtual Reality Modelling Language)
0       string/w        #VRML\ V1.0\ ascii	VRML 1 file
!:mime	model/vrml
0	string/w	#VRML\ V2.0\ utf8	ISO/IEC 14772 VRML 97 file
!:mime	model/vrml

# X3D (Extensible 3D) [http://www.web3d.org/specifications/x3d-3.0.dtd]
# From Michel Briand <michelbriand@@free.fr>
0	string/t		\<?xml\ version="
!:strength +1
>20	search/1000/cw  \<!DOCTYPE\ X3D		X3D (Extensible 3D) model xml text
!:mime model/x3d

#---------------------------------------------------------------------------
# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
# From Mark Sheppard <msheppard@@climax.co.uk>, 2002-10-03
#
0	string		HVQM4		%s
>6	string		>\0		v%s
>0	byte		x		GameCube movie,
>0x34	ubeshort	x		%d x
>0x36	ubeshort	x		%d,
>0x26	ubeshort	x		%dµs,
>0x42	ubeshort	0		no audio
>0x42	ubeshort	>0		%dHz audio

# From: "Stefan A. Haubenthal" <polluks@@web.de>
0	string		DVDVIDEO-VTS	Video title set,
>0x21	byte		x		v%x
0	string		DVDVIDEO-VMG	Video manager,
>0x21	byte		x		v%x

# From: Behan Webster <behanw@@websterwood.com>
# NuppelVideo used by Mythtv (*.nuv)
# Note: there are two identical stanzas here differing only in the
# initial string matched. It used to be done with a regex, but we're
# trying to get rid of those.
0	string		NuppelVideo	MythTV NuppelVideo
>12	string		x		v%s
>20	lelong		x		(%d
>24	lelong		x		\bx%d),
>36	string		P		\bprogressive,
>36	string		I		\binterlaced,
>40	ledouble	x		\baspect:%.2f,
>48	ledouble	x		\bfps:%.2f
0	string		MythTV		MythTV NuppelVideo
>12	string		x		v%s
>20	lelong		x		(%d
>24	lelong		x		\bx%d),
>36	string		P		\bprogressive,
>36	string		I		\binterlaced,
>40	ledouble	x		\baspect:%.2f,
>48	ledouble	x		\bfps:%.2f

#						MPEG file
# MPEG sequences
# FIXME: This section is from the old magic.mime file and needs integrating with the rest
0       belong             0x000001BA
>4      byte               &0x40
!:mime	video/mp2p
>4      byte               ^0x40
!:mime	video/mpeg
0       belong             0x000001BB
!:mime	video/mpeg
0       belong             0x000001B0
!:mime	video/mp4v-es
0       belong             0x000001B5
!:mime	video/mp4v-es
0       belong             0x000001B3
!:mime	video/mpv
0       belong&0xFF5FFF1F  0x47400010
!:mime	video/mp2t
0       belong             0x00000001
>4      byte&0x1F	   0x07
!:mime	video/h264

# Type: Bink Video
# Extension: .bik
# URL:  http://wiki.multimedia.cx/index.php?title=Bink_Container
# From: <hoehle@@users.sourceforge.net>  2008-07-18
0	string		BIK	Bink Video
>3	regex		=[a-z]	rev.%s
#>4	ulelong		x	size %d
>20	ulelong		x	\b, %d
>24	ulelong		x	\bx%d
>8	ulelong		x	\b, %d frames
>32	ulelong		x	at rate %d/
>28	ulelong		>1	\b%d
>40	ulelong		=0	\b, no audio
>40	ulelong		!0	\b, %d audio track
>>40	ulelong		!1	\bs
# follow properties of the first audio track only
>>48	uleshort	x	%dHz
>>51	byte&0x20	0	mono
>>51	byte&0x20	!0	stereo
#>>51	byte&0x10	0	FFT
#>>51	byte&0x10	!0	DCT

# Type:	NUT Container
# URL:	http://wiki.multimedia.cx/index.php?title=NUT
# From:	Adam Buchbinder <adam.buchbinder@@gmail.com>
0	string	nut/multimedia\ container\0	NUT multimedia container

# Type: Nullsoft Video (NSV)
# URL:  http://wiki.multimedia.cx/index.php?title=Nullsoft_Video
# From: Mike Melanson <mike@@multimedia.cx>
0	string	NSVf	Nullsoft Video

# Type: REDCode Video
# URL:  http://www.red.com/ ; http://wiki.multimedia.cx/index.php?title=REDCode
# From: Mike Melanson <mike@@multimedia.cx>
4	string	RED1	REDCode Video

# Type: MTV Multimedia File
# URL:  http://wiki.multimedia.cx/index.php?title=MTV
# From: Mike Melanson <mike@@multimedia.cx>
0	string	AMVS	MTV Multimedia File

# Type: ARMovie
# URL:  http://wiki.multimedia.cx/index.php?title=ARMovie
# From: Mike Melanson <mike@@multimedia.cx>
0	string	ARMovie\012	ARMovie

# Type: Interplay MVE Movie
# URL:  http://wiki.multimedia.cx/index.php?title=Interplay_MVE
# From: Mike Melanson <mike@@multimedia.cx>
0	string	Interplay\040MVE\040File\032	Interplay MVE Movie

# Type: Windows Television DVR File
# URL:  http://wiki.multimedia.cx/index.php?title=WTV
# From: Mike Melanson <mike@@mutlimedia.cx>
# This takes the form of a Windows-style GUID
0	bequad	0xB7D800203749DA11
>8	bequad	0xA64E0007E95EAD8D	Windows Television DVR Media

# Type: Sega FILM/CPK Multimedia
# URL:  http://wiki.multimedia.cx/index.php?title=Sega_FILM
# From: Mike Melanson <mike@@multimedia.cx>
0	string	FILM	Sega FILM/CPK Multimedia,
>32	belong	x	%d x
>28	belong	x	%d

# Type: Nintendo THP Multimedia
# URL:  http://wiki.multimedia.cx/index.php?title=THP
# From: Mike Melanson <mike@@multimedia.cx>
0	string	THP\0	Nintendo THP Multimedia

# Type: BBC Dirac Video
# URL:  http://wiki.multimedia.cx/index.php?title=Dirac
# From: Mike Melanson <mike@@multimedia.cx>
0	string	BBCD	BBC Dirac Video

# Type: RAD Game Tools Smacker Multimedia
# URL:  http://wiki.multimedia.cx/index.php?title=Smacker
# From: Mike Melanson <mike@@multimedia.cx>
0	string	SMK	RAD Game Tools Smacker Multimedia
>3	byte	x	version %c,
>4	lelong	x	%d x
>8	lelong	x	%d,
>12	lelong	x	%d frames
@


1.4.2.1
log
@file animation was added on branch RELENG_8_4 on 2013-03-28 13:00:44 +0000
@
text
@d1 895
@


1.4.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 815

#------------------------------------------------------------------------------
# animation:  file(1) magic for animation/movie formats
#
# animation formats
# MPEG, FLI, DL originally from vax@@ccwf.cc.utexas.edu (VaX#n8)
# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@@yggdrasil.com)

# SGI and Apple formats
0	string		MOVI		Silicon Graphics movie file
!:mime	video/x-sgi-movie
4       string          moov            Apple QuickTime
!:mime	video/quicktime
>12     string          mvhd            \b movie (fast start)
>12     string          mdra            \b URL
>12     string          cmov            \b movie (fast start, compressed header)
>12     string          rmra            \b multiple URLs
4       string          mdat            Apple QuickTime movie (unoptimized)
!:mime	video/quicktime
#4       string          wide            Apple QuickTime movie (unoptimized)
#!:mime	video/quicktime
#4       string          skip            Apple QuickTime movie (modified)
#!:mime	video/quicktime
#4       string          free            Apple QuickTime movie (modified)
#!:mime	video/quicktime
4       string          idsc            Apple QuickTime image (fast start)
!:mime	image/x-quicktime
#4       string          idat            Apple QuickTime image (unoptimized)
#!:mime	image/x-quicktime
4       string          pckg            Apple QuickTime compressed archive
!:mime	application/x-quicktime-player
4	string/B	jP		JPEG 2000 image
!:mime	image/jp2
4	string		ftyp		ISO Media
>8	string		isom		\b, MPEG v4 system, version 1
!:mime	video/mp4
>8	string		iso2		\b, MPEG v4 system, part 12 revision
>8	string		mp41		\b, MPEG v4 system, version 1
!:mime	video/mp4
>8	string		mp42		\b, MPEG v4 system, version 2
!:mime	video/mp4
>8	string		mp7t		\b, MPEG v4 system, MPEG v7 XML
>8	string		mp7b		\b, MPEG v4 system, MPEG v7 binary XML
>8	string/B	jp2		\b, JPEG 2000
!:mime	image/jp2
>8	string		3gp		\b, MPEG v4 system, 3GPP
!:mime	video/3gpp
>>11	byte		4		\b v4 (H.263/AMR GSM 6.10)
>>11	byte		5		\b v5 (H.263/AMR GSM 6.10)
>>11	byte		6		\b v6 (ITU H.264/AMR GSM 6.10)
>8	string		mmp4		\b, MPEG v4 system, 3GPP Mobile
!:mime	video/mp4
>8	string		avc1		\b, MPEG v4 system, 3GPP JVT AVC
!:mime	video/3gpp
>8	string/B	M4A		\b, MPEG v4 system, iTunes AAC-LC
!:mime	audio/mp4
>8	string/B	M4V		\b, MPEG v4 system, iTunes AVC-LC
!:mime	video/mp4
>8	string/B	M4P		\b, MPEG v4 system, iTunes AES encrypted
>8	string/B	M4B		\b, MPEG v4 system, iTunes bookmarked
>8	string/B	qt		\b, Apple QuickTime movie
!:mime	video/quicktime

# MPEG sequences
# Scans for all common MPEG header start codes
0	 belong		    0x00000001     
>4	 byte&0x1F	    0x07	   JVT NAL sequence, H.264 video
>>5      byte               66             \b, baseline
>>5      byte               77             \b, main
>>5      byte               88             \b, extended
>>7      byte               x              \b @@ L %u
0        belong&0xFFFFFF00  0x00000100     
>3       byte               0xBA           MPEG sequence
>>4      byte               &0x40          \b, v2, program multiplex
>>4      byte               ^0x40          \b, v1, system multiplex
>3       byte               0xBB           MPEG sequence, v1/2, multiplex (missing pack header)
>3       byte&0x1F          0x07           MPEG sequence, H.264 video
>>4      byte               66             \b, baseline
>>4      byte               77             \b, main
>>4      byte               88             \b, extended
>>6      byte               x              \b @@ L %u
>3       byte               0xB0           MPEG sequence, v4
>>5      belong             0x000001B5
>>>9     byte               &0x80
>>>>10   byte&0xF0          16             \b, video
>>>>10   byte&0xF0          32             \b, still texture
>>>>10   byte&0xF0          48             \b, mesh
>>>>10   byte&0xF0          64             \b, face
>>>9     byte&0xF8          8              \b, video
>>>9     byte&0xF8          16             \b, still texture
>>>9     byte&0xF8          24             \b, mesh
>>>9     byte&0xF8          32             \b, face
>>4      byte               1              \b, simple @@ L1
>>4      byte               2              \b, simple @@ L2
>>4      byte               3              \b, simple @@ L3
>>4      byte               4              \b, simple @@ L0
>>4      byte               17             \b, simple scalable @@ L1
>>4      byte               18             \b, simple scalable @@ L2
>>4      byte               33             \b, core @@ L1
>>4      byte               34             \b, core @@ L2
>>4      byte               50             \b, main @@ L2
>>4      byte               51             \b, main @@ L3
>>4      byte               53             \b, main @@ L4
>>4      byte               66             \b, n-bit @@ L2
>>4      byte               81             \b, scalable texture @@ L1
>>4      byte               97             \b, simple face animation @@ L1
>>4      byte               98             \b, simple face animation @@ L2
>>4      byte               99             \b, simple face basic animation @@ L1
>>4      byte               100            \b, simple face basic animation @@ L2
>>4      byte               113            \b, basic animation text @@ L1
>>4      byte               114            \b, basic animation text @@ L2
>>4      byte               129            \b, hybrid @@ L1
>>4      byte               130            \b, hybrid @@ L2
>>4      byte               145            \b, advanced RT simple @@ L!
>>4      byte               146            \b, advanced RT simple @@ L2
>>4      byte               147            \b, advanced RT simple @@ L3
>>4      byte               148            \b, advanced RT simple @@ L4
>>4      byte               161            \b, core scalable @@ L1
>>4      byte               162            \b, core scalable @@ L2
>>4      byte               163            \b, core scalable @@ L3
>>4      byte               177            \b, advanced coding efficiency @@ L1
>>4      byte               178            \b, advanced coding efficiency @@ L2
>>4      byte               179            \b, advanced coding efficiency @@ L3
>>4      byte               180            \b, advanced coding efficiency @@ L4
>>4      byte               193            \b, advanced core @@ L1
>>4      byte               194            \b, advanced core @@ L2
>>4      byte               209            \b, advanced scalable texture @@ L1
>>4      byte               210            \b, advanced scalable texture @@ L2
>>4      byte               211            \b, advanced scalable texture @@ L3
>>4      byte               225            \b, simple studio @@ L1
>>4      byte               226            \b, simple studio @@ L2
>>4      byte               227            \b, simple studio @@ L3
>>4      byte               228            \b, simple studio @@ L4
>>4      byte               229            \b, core studio @@ L1
>>4      byte               230            \b, core studio @@ L2
>>4      byte               231            \b, core studio @@ L3
>>4      byte               232            \b, core studio @@ L4
>>4      byte               240            \b, advanced simple @@ L0
>>4      byte               241            \b, advanced simple @@ L1
>>4      byte               242            \b, advanced simple @@ L2
>>4      byte               243            \b, advanced simple @@ L3
>>4      byte               244            \b, advanced simple @@ L4
>>4      byte               245            \b, advanced simple @@ L5
>>4      byte               247            \b, advanced simple @@ L3b
>>4      byte               248            \b, FGS @@ L0
>>4      byte               249            \b, FGS @@ L1
>>4      byte               250            \b, FGS @@ L2
>>4      byte               251            \b, FGS @@ L3
>>4      byte               252            \b, FGS @@ L4
>>4      byte               253            \b, FGS @@ L5
>3       byte               0xB5           MPEG sequence, v4
>>4      byte               &0x80
>>>5     byte&0xF0          16             \b, video (missing profile header)
>>>5     byte&0xF0          32             \b, still texture (missing profile header)
>>>5     byte&0xF0          48             \b, mesh (missing profile header)
>>>5     byte&0xF0          64             \b, face (missing profile header)
>>4      byte&0xF8          8              \b, video (missing profile header)
>>4      byte&0xF8          16             \b, still texture (missing profile header)
>>4      byte&0xF8          24             \b, mesh (missing profile header)
>>4      byte&0xF8          32             \b, face (missing profile header)
>3       byte               0xB3           MPEG sequence
>>12     belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>12     belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>12     belong             0x000001B5     \b, v2,
>>>16    byte&0x0F          1              \b HP
>>>16    byte&0x0F          2              \b Spt
>>>16    byte&0x0F          3              \b SNR
>>>16    byte&0x0F          4              \b MP
>>>16    byte&0x0F          5              \b SP
>>>17    byte&0xF0          64             \b@@HL
>>>17    byte&0xF0          96             \b@@H-14
>>>17    byte&0xF0          128            \b@@ML
>>>17    byte&0xF0          160            \b@@LL
>>>17    byte               &0x08          \b progressive
>>>17    byte               ^0x08          \b interlaced
>>>17    byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>17    byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>17    byte&0x06          6              \b Y'CbCr 4:4:4 video
>>11     byte               &0x02
>>>75    byte               &0x01
>>>>140  belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>>>140  belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>>>140  belong             0x000001B5     \b, v2,
>>>>>144 byte&0x0F          1              \b HP
>>>>>144 byte&0x0F          2              \b Spt
>>>>>144 byte&0x0F          3              \b SNR
>>>>>144 byte&0x0F          4              \b MP
>>>>>144 byte&0x0F          5              \b SP
>>>>>145 byte&0xF0          64             \b@@HL
>>>>>145 byte&0xF0          96             \b@@H-14
>>>>>145 byte&0xF0          128            \b@@ML
>>>>>145 byte&0xF0          160            \b@@LL
>>>>>145 byte               &0x08          \b progressive
>>>>>145 byte               ^0x08          \b interlaced
>>>>>145 byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>>>145 byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>>>145 byte&0x06          6              \b Y'CbCr 4:4:4 video
>>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>76    belong             0x000001B5     \b, v2,
>>>80   byte&0x0F          1              \b HP
>>>80   byte&0x0F          2              \b Spt
>>>80   byte&0x0F          3              \b SNR
>>>80   byte&0x0F          4              \b MP
>>>80   byte&0x0F          5              \b SP
>>>81   byte&0xF0          64             \b@@HL
>>>81   byte&0xF0          96             \b@@H-14
>>>81   byte&0xF0          128            \b@@ML
>>>81   byte&0xF0          160            \b@@LL
>>>81   byte               &0x08          \b progressive
>>>81   byte               ^0x08          \b interlaced
>>>81   byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>81   byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>81   byte&0x06          6              \b Y'CbCr 4:4:4 video
>>4      belong&0xFFFFFF00  0x78043800     \b, HD-TV 1920P
>>>7     byte&0xF0          0x10           \b, 16:9
>>4      belong&0xFFFFFF00  0x50002D00     \b, SD-TV 1280I
>>>7     byte&0xF0          0x10           \b, 16:9
>>4      belong&0xFFFFFF00  0x30024000     \b, PAL Capture
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      beshort&0xFFF0     0x2C00         \b, 4CIF
>>>5     beshort&0x0FFF     0x01E0         \b NTSC
>>>5     beshort&0x0FFF     0x0240         \b PAL
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>>7     byte&0xF0          0x80           \b, PAL 4:3
>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
>>4      belong&0xFFFFFF00  0x2801E000     \b, LD-TV 640P
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x1400F000     \b, 320x240
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x0F00A000     \b, 240x160
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x0A007800     \b, 160x120
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      beshort&0xFFF0     0x1600         \b, CIF
>>>5     beshort&0x0FFF     0x00F0         \b NTSC
>>>5     beshort&0x0FFF     0x0120         \b PAL
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>>7     byte&0xF0          0x80           \b, PAL 4:3
>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>>7    byte&0xF0          0x20           \b, 4:3
>>>>7    byte&0xF0          0x30           \b, 16:9
>>>>7    byte&0xF0          0x40           \b, 11:5
>>4      beshort&0xFFF0     0x2D00         \b, CCIR/ITU
>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>4      beshort&0xFFF0     0x1E00         \b, SVCD
>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>7      byte&0x0F          1              \b, 23.976 fps
>>7      byte&0x0F          2              \b, 24 fps
>>7      byte&0x0F          3              \b, 25 fps
>>7      byte&0x0F          4              \b, 29.97 fps
>>7      byte&0x0F          5              \b, 30 fps
>>7      byte&0x0F          6              \b, 50 fps
>>7      byte&0x0F          7              \b, 59.94 fps
>>7      byte&0x0F          8              \b, 60 fps
>>11     byte               &0x04          \b, Constrained

# MPEG ADTS Audio (*.mpx/mxa/aac)
# from dreesen@@math.fu-berlin.de
# modified to fully support MPEG ADTS

# MP3, M1A
# modified by Joerg Jenderek
# GRR the original test are too common for many DOS files
# so don't accept as MP3 until we've tested the rate
0       beshort&0xFFFE  0xFFFA
# rates
>2      byte&0xF0       0x10           MPEG ADTS, layer III, v1,  32 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x20           MPEG ADTS, layer III, v1,  40 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x30           MPEG ADTS, layer III, v1,  48 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x40           MPEG ADTS, layer III, v1,  56 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x50           MPEG ADTS, layer III, v1,  64 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x60           MPEG ADTS, layer III, v1,  80 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x70           MPEG ADTS, layer III, v1,  96 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x80           MPEG ADTS, layer III, v1, 112 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0x90           MPEG ADTS, layer III, v1, 128 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xA0           MPEG ADTS, layer III, v1, 160 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xB0           MPEG ADTS, layer III, v1, 192 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xC0           MPEG ADTS, layer III, v1, 224 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xD0           MPEG ADTS, layer III, v1, 256 kbps
!:mime	audio/mpeg
>2      byte&0xF0       0xE0           MPEG ADTS, layer III, v1, 320 kbps
!:mime	audio/mpeg
# timing
>2      byte&0x0C       0x00           \b, 44.1 kHz
>2      byte&0x0C       0x04           \b, 48 kHz
>2      byte&0x0C       0x08           \b, 32 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MP2, M1A
0       beshort&0xFFFE  0xFFFC         MPEG ADTS, layer II, v1
!:mime	audio/mpeg
# rates
>2      byte&0xF0       0x10           \b,  32 kbps
>2      byte&0xF0       0x20           \b,  48 kbps
>2      byte&0xF0       0x30           \b,  56 kbps
>2      byte&0xF0       0x40           \b,  64 kbps
>2      byte&0xF0       0x50           \b,  80 kbps
>2      byte&0xF0       0x60           \b,  96 kbps
>2      byte&0xF0       0x70           \b, 112 kbps
>2      byte&0xF0       0x80           \b, 128 kbps
>2      byte&0xF0       0x90           \b, 160 kbps
>2      byte&0xF0       0xA0           \b, 192 kbps
>2      byte&0xF0       0xB0           \b, 224 kbps
>2      byte&0xF0       0xC0           \b, 256 kbps
>2      byte&0xF0       0xD0           \b, 320 kbps
>2      byte&0xF0       0xE0           \b, 384 kbps
# timing
>2      byte&0x0C       0x00           \b, 44.1 kHz
>2      byte&0x0C       0x04           \b, 48 kHz
>2      byte&0x0C       0x08           \b, 32 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MPA, M1A
# updated by Joerg Jenderek
# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
# GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE)
# FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries
#0	beshort&0xFFFE		0xFFFE	
#>2	ubyte&0xF0	>0x0F		
#>>2	ubyte&0xF0	<0xE1		MPEG ADTS, layer I, v1
## rate
#>>>2      byte&0xF0       0x10           \b,  32 kbps
#>>>2      byte&0xF0       0x20           \b,  64 kbps
#>>>2      byte&0xF0       0x30           \b,  96 kbps
#>>>2      byte&0xF0       0x40           \b, 128 kbps
#>>>2      byte&0xF0       0x50           \b, 160 kbps
#>>>2      byte&0xF0       0x60           \b, 192 kbps
#>>>2      byte&0xF0       0x70           \b, 224 kbps
#>>>2      byte&0xF0       0x80           \b, 256 kbps
#>>>2      byte&0xF0       0x90           \b, 288 kbps
#>>>2      byte&0xF0       0xA0           \b, 320 kbps
#>>>2      byte&0xF0       0xB0           \b, 352 kbps
#>>>2      byte&0xF0       0xC0           \b, 384 kbps
#>>>2      byte&0xF0       0xD0           \b, 416 kbps
#>>>2      byte&0xF0       0xE0           \b, 448 kbps
## timing
#>>>2      byte&0x0C       0x00           \b, 44.1 kHz
#>>>2      byte&0x0C       0x04           \b, 48 kHz
#>>>2      byte&0x0C       0x08           \b, 32 kHz
## channels/options
#>>>3      byte&0xC0       0x00           \b, Stereo
#>>>3      byte&0xC0       0x40           \b, JntStereo
#>>>3      byte&0xC0       0x80           \b, 2x Monaural
#>>>3      byte&0xC0       0xC0           \b, Monaural
##>1     byte            ^0x01          \b, Data Verify
##>2     byte            &0x02          \b, Packet Pad
##>2     byte            &0x01          \b, Custom Flag
##>3     byte            &0x08          \b, Copyrighted
##>3     byte            &0x04          \b, Original Source
##>3     byte&0x03       1              \b, NR: 50/15 ms
##>3     byte&0x03       3              \b, NR: CCIT J.17

# MP3, M2A
0       beshort&0xFFFE  0xFFF2         MPEG ADTS, layer III, v2
!:mime	audio/mpeg
# rate
>2      byte&0xF0       0x10           \b,   8 kbps
>2      byte&0xF0       0x20           \b,  16 kbps
>2      byte&0xF0       0x30           \b,  24 kbps
>2      byte&0xF0       0x40           \b,  32 kbps
>2      byte&0xF0       0x50           \b,  40 kbps
>2      byte&0xF0       0x60           \b,  48 kbps
>2      byte&0xF0       0x70           \b,  56 kbps
>2      byte&0xF0       0x80           \b,  64 kbps
>2      byte&0xF0       0x90           \b,  80 kbps
>2      byte&0xF0       0xA0           \b,  96 kbps
>2      byte&0xF0       0xB0           \b, 112 kbps
>2      byte&0xF0       0xC0           \b, 128 kbps
>2      byte&0xF0       0xD0           \b, 144 kbps
>2      byte&0xF0       0xE0           \b, 160 kbps
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MP2, M2A
0       beshort&0xFFFE  0xFFF4         MPEG ADTS, layer II, v2
# rate 
>2      byte&0xF0       0x10           \b,   8 kbps
>2      byte&0xF0       0x20           \b,  16 kbps 
>2      byte&0xF0       0x30           \b,  24 kbps
>2      byte&0xF0       0x40           \b,  32 kbps
>2      byte&0xF0       0x50           \b,  40 kbps
>2      byte&0xF0       0x60           \b,  48 kbps
>2      byte&0xF0       0x70           \b,  56 kbps
>2      byte&0xF0       0x80           \b,  64 kbps
>2      byte&0xF0       0x90           \b,  80 kbps
>2      byte&0xF0       0xA0           \b,  96 kbps
>2      byte&0xF0       0xB0           \b, 112 kbps
>2      byte&0xF0       0xC0           \b, 128 kbps
>2      byte&0xF0       0xD0           \b, 144 kbps
>2      byte&0xF0       0xE0           \b, 160 kbps
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MPA, M2A
0       beshort&0xFFFE  0xFFF6         MPEG ADTS, layer I, v2
# rate
>2      byte&0xF0       0x10           \b,  32 kbps
>2      byte&0xF0       0x20           \b,  48 kbps
>2      byte&0xF0       0x30           \b,  56 kbps
>2      byte&0xF0       0x40           \b,  64 kbps
>2      byte&0xF0       0x50           \b,  80 kbps
>2      byte&0xF0       0x60           \b,  96 kbps
>2      byte&0xF0       0x70           \b, 112 kbps
>2      byte&0xF0       0x80           \b, 128 kbps
>2      byte&0xF0       0x90           \b, 144 kbps
>2      byte&0xF0       0xA0           \b, 160 kbps
>2      byte&0xF0       0xB0           \b, 176 kbps
>2      byte&0xF0       0xC0           \b, 192 kbps
>2      byte&0xF0       0xD0           \b, 224 kbps
>2      byte&0xF0       0xE0           \b, 256 kbps
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# MP3, M25A
0       beshort&0xFFFE  0xFFE2         MPEG ADTS, layer III,  v2.5
# rate  
>2      byte&0xF0       0x10           \b,   8 kbps
>2      byte&0xF0       0x20           \b,  16 kbps
>2      byte&0xF0       0x30           \b,  24 kbps
>2      byte&0xF0       0x40           \b,  32 kbps
>2      byte&0xF0       0x50           \b,  40 kbps
>2      byte&0xF0       0x60           \b,  48 kbps
>2      byte&0xF0       0x70           \b,  56 kbps
>2      byte&0xF0       0x80           \b,  64 kbps
>2      byte&0xF0       0x90           \b,  80 kbps
>2      byte&0xF0       0xA0           \b,  96 kbps
>2      byte&0xF0       0xB0           \b, 112 kbps
>2      byte&0xF0       0xC0           \b, 128 kbps
>2      byte&0xF0       0xD0           \b, 144 kbps
>2      byte&0xF0       0xE0           \b, 160 kbps
# timing
>2      byte&0x0C       0x00           \b, 11.025 kHz
>2      byte&0x0C       0x04           \b, 12 kHz
>2      byte&0x0C       0x08           \b, 8 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17

# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio

# Stored AAC streams (instead of the MP4 format)
0       string          ADIF           MPEG ADIF, AAC
!:mime	audio/x-hx-aac-adif
>4      byte            &0x80
>>13    byte            &0x10          \b, VBR
>>13    byte            ^0x10          \b, CBR
>>16    byte&0x1E       0x02           \b, single stream
>>16    byte&0x1E       0x04           \b, 2 streams
>>16    byte&0x1E       0x06           \b, 3 streams
>>16    byte            &0x08          \b, 4 or more streams
>>16    byte            &0x10          \b, 8 or more streams
>>4    byte            &0x80          \b, Copyrighted
>>13   byte            &0x40          \b, Original Source
>>13   byte            &0x20          \b, Home Flag
>4      byte            ^0x80
>>4     byte            &0x10          \b, VBR
>>4     byte            ^0x10          \b, CBR
>>7     byte&0x1E       0x02           \b, single stream
>>7     byte&0x1E       0x04           \b, 2 streams
>>7     byte&0x1E       0x06           \b, 3 streams
>>7     byte            &0x08          \b, 4 or more streams
>>7     byte            &0x10          \b, 8 or more streams
>>4    byte            &0x40          \b, Original Stream(s)
>>4    byte            &0x20          \b, Home Source

# Live or stored single AAC stream (used with MPEG-2 systems)
0       beshort&0xFFF6  0xFFF0         MPEG ADTS, AAC
!:mime	audio/x-hx-aac-adts
>1      byte            &0x08          \b, v2
>1      byte            ^0x08          \b, v4
# profile
>>2     byte            &0xC0          \b LTP
>2      byte&0xc0       0x00           \b Main
>2      byte&0xc0       0x40           \b LC
>2      byte&0xc0       0x80           \b SSR
# timing
>2      byte&0x3c       0x00           \b, 96 kHz
>2      byte&0x3c       0x04           \b, 88.2 kHz
>2      byte&0x3c       0x08           \b, 64 kHz
>2      byte&0x3c       0x0c           \b, 48 kHz
>2      byte&0x3c       0x10           \b, 44.1 kHz
>2      byte&0x3c       0x14           \b, 32 kHz
>2      byte&0x3c       0x18           \b, 24 kHz
>2      byte&0x3c       0x1c           \b, 22.05 kHz
>2      byte&0x3c       0x20           \b, 16 kHz
>2      byte&0x3c       0x24           \b, 12 kHz
>2      byte&0x3c       0x28           \b, 11.025 kHz
>2      byte&0x3c       0x2c           \b, 8 kHz
# channels
>2      beshort&0x01c0  0x0040         \b, monaural
>2      beshort&0x01c0  0x0080         \b, stereo
>2      beshort&0x01c0  0x00c0         \b, stereo + center
>2      beshort&0x01c0  0x0100         \b, stereo+center+LFE
>2      beshort&0x01c0  0x0140         \b, surround
>2      beshort&0x01c0  0x0180         \b, surround + LFE
>2      beshort         &0x01C0        \b, surround + side
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Custom Flag
#>3     byte            &0x20           \b, Original Stream
#>3     byte            &0x10           \b, Home Source
#>3     byte            &0x08           \b, Copyrighted

# Live MPEG-4 audio streams (instead of RTP FlexMux)
0       beshort&0xFFE0  0x56E0         MPEG-4 LOAS
!:mime	audio/x-mp4a-latm
#>1     beshort&0x1FFF  x              \b, %u byte packet
>3      byte&0xE0       0x40
>>4     byte&0x3C       0x04           \b, single stream
>>4     byte&0x3C       0x08           \b, 2 streams
>>4     byte&0x3C       0x0C           \b, 3 streams
>>4     byte            &0x08          \b, 4 or more streams
>>4     byte            &0x20          \b, 8 or more streams
>3      byte&0xC0       0
>>4     byte&0x78       0x08           \b, single stream
>>4     byte&0x78       0x10           \b, 2 streams
>>4     byte&0x78       0x18           \b, 3 streams
>>4     byte            &0x20          \b, 4 or more streams
>>4     byte            &0x40          \b, 8 or more streams
# This magic isn't strong enough (matches plausible ISO-8859-1 text)
#0       beshort         0x4DE1         MPEG-4 LO-EP audio stream
#!:mime	audio/x-mp4a-latm

# Summary: FLI animation format
# Created by: Daniel Quinlan <quinlan@@yggdrasil.com>
# Modified by (1): Abel Cheung <abelcheung@@gmail.com> (avoid over-generic detection)
4	leshort		0xAF11
# standard FLI always has 320x200 resolution and 8 bit color
>8	leshort		320
>>10	leshort		200
>>>12	leshort		8			FLI animation, 320x200x8
!:mime	video/x-fli
>>>>6	leshort		x			\b, %d frames
# frame speed is multiple of 1/70s
>>>>16	leshort		x			\b, %d/70s per frame

# Summary: FLC animation format
# Created by: Daniel Quinlan <quinlan@@yggdrasil.com>
# Modified by (1): Abel Cheung <abelcheung@@gmail.com> (avoid over-generic detection)
4	leshort		0xAF12
# standard FLC always use 8 bit color
>12	leshort		8			FLC animation
!:mime	video/x-flc
>>8	leshort		x			\b, %d
>>10	leshort		x			\bx%dx8
>>6	uleshort	x			\b, %d frames
>>16	uleshort	x			\b, %dms per frame

# DL animation format
# XXX - collision with most `mips' magic
#
# I couldn't find a real magic number for these, however, this
# -appears- to work.  Note that it might catch other files, too, so be
# careful!
#
# Note that title and author appear in the two 20-byte chunks
# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
# 255 (hex FF)!  The DL format is really bad.
#
#0	byte	1	DL version 1, medium format (160x100, 4 images/screen)
#!:mime	video/x-unknown
#>42	byte	x	- %d screens,
#>43	byte	x	%d commands
#0	byte	2	DL version 2
#!:mime	video/x-unknown
#>1	byte	1	- large format (320x200,1 image/screen),
#>1	byte	2	- medium format (160x100,4 images/screen),
#>1	byte	>2	- unknown format,
#>42	byte	x	%d screens,
#>43	byte	x	%d commands
# Based on empirical evidence, DL version 3 have several nulls following the
# \003.  Most of them start with non-null values at hex offset 0x34 or so.
#0	string	\3\0\0\0\0\0\0\0\0\0\0\0	DL version 3

# iso 13818 transport stream
#
# from Oskar Schirmer <schirmer@@scara.com> Feb 3, 2001 (ISO 13818.1)
# (the following is a little bit restrictive and works fine for a stream
#  that starts with PAT properly. it won't work for stream data, that is
#  cut from an input device data right in the middle, but this shouldn't
#  disturb)
# syncbyte      8 bit	0x47
# error_ind     1 bit	-
# payload_start 1 bit	1
# priority      1 bit	-
# PID          13 bit	0x0000
# scrambling    2 bit	-
# adaptfld_ctrl 2 bit	1 or 3
# conti_count   4 bit	0
0	belong&0xFF5FFF1F	0x47400010	MPEG transport stream data
>188	byte			!0x47		CORRUPTED

# DIF digital video file format <mpruett@@sgi.com>
0	belong&0xffffff00	0x1f070000      DIF
>4	byte			&0x01		(DVCPRO) movie file
>4	byte			^0x01		(DV) movie file
>3	byte			&0x80		(PAL)
>3	byte			^0x80		(NTSC)

# Microsoft Advanced Streaming Format (ASF) <mpruett@@sgi.com>
0	belong			0x3026b275	Microsoft ASF

# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
0	string			\x8aMNG		MNG video data,
!:mime	video/x-mng
>4	belong			!0x0d0a1a0a	CORRUPTED,
>4	belong			0x0d0a1a0a
>>16    belong	x				%ld x
>>20    belong	x				%ld

# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
0	string			\x8bJNG		JNG video data,
!:mime	video/x-jng
>4	belong			!0x0d0a1a0a	CORRUPTED,
>4	belong			0x0d0a1a0a
>>16    belong	x				%ld x
>>20    belong	x				%ld

# Vivo video (Wolfram Kleff)
3	string		\x0D\x0AVersion:Vivo	Vivo video data

# VRML (Virtual Reality Modelling Language)
0       string/b        #VRML\ V1.0\ ascii	VRML 1 file
!:mime	model/vrml
0	string/b	#VRML\ V2.0\ utf8	ISO/IEC 14772 VRML 97 file
!:mime	model/vrml

# X3D (Extensible 3D) [http://www.web3d.org/specifications/x3d-3.0.dtd]
# From Michel Briand <michelbriand@@free.fr>
0	string		\<?xml\ version="
!:strength +1
>20	search/1000/cb  \<!DOCTYPE\ X3D		X3D (Extensible 3D) model xml text
!:mime model/x3d

#---------------------------------------------------------------------------
# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
# From Mark Sheppard <msheppard@@climax.co.uk>, 2002-10-03
#
0	string		HVQM4		%s
>6	string		>\0		v%s
>0	byte		x		GameCube movie,
>0x34	ubeshort	x		%d x
>0x36	ubeshort	x		%d,
>0x26	ubeshort	x		%dµs,
>0x42	ubeshort	0		no audio
>0x42	ubeshort	>0		%dHz audio

# From: "Stefan A. Haubenthal" <polluks@@web.de>
0	string		DVDVIDEO-VTS	Video title set,
>0x21	byte		x		v%x
0	string		DVDVIDEO-VMG	Video manager,
>0x21	byte		x		v%x

# From: Behan Webster <behanw@@websterwood.com>
# NuppelVideo used by Mythtv (*.nuv)
# Note: there are two identical stanzas here differing only in the
# initial string matched. It used to be done with a regex, but we're
# trying to get rid of those.
0	string		NuppelVideo	MythTV NuppelVideo
>12	string		x		v%s
>20	lelong		x		(%d
>24	lelong		x		\bx%d),
>36	string		P		\bprogressive,
>36	string		I		\binterlaced,
>40	ledouble	x		\baspect:%.2f,
>48	ledouble	x		\bfps:%.2f
0	string		MythTV		MythTV NuppelVideo
>12	string		x		v%s
>20	lelong		x		(%d
>24	lelong		x		\bx%d),
>36	string		P		\bprogressive,
>36	string		I		\binterlaced,
>40	ledouble	x		\baspect:%.2f,
>48	ledouble	x		\bfps:%.2f

#						MPEG file
# MPEG sequences
# FIXME: This section is from the old magic.mime file and needs integrating with the rest
0       belong             0x000001BA
>4      byte               &0x40
!:mime	video/mp2p
>4      byte               ^0x40
!:mime	video/mpeg
0       belong             0x000001BB
!:mime	video/mpeg
0       belong             0x000001B0
!:mime	video/mp4v-es
0       belong             0x000001B5
!:mime	video/mp4v-es
0       belong             0x000001B3
!:mime	video/mpv
0       belong&0xFF5FFF1F  0x47400010
!:mime	video/mp2t
0       belong             0x00000001
>4      byte&0x1F	   0x07
!:mime	video/h264

# Type: Bink Video
# URL:  http://wiki.multimedia.cx/index.php?title=3DBink_Container
# From: <hoehle@@users.sourceforge.net>  2008-07-18
0	string		BIK	Bink Video
>3	regex		=[a-z]	rev.%s
#>4	ulelong		x	size %d
>20	ulelong		x	\b, %d
>24	ulelong		x	\bx%d
>8	ulelong		x	\b, %d frames
>32	ulelong		x	at rate %d/
>28	ulelong		>1	\b%d
>40	ulelong		=0	\b, no audio
>40	ulelong		!0	\b, %d audio track
>>40	ulelong		!1	\bs
# follow properties of the first audio track only
>>48	uleshort	x	%dHz
>>51	byte&0x20	0	mono
>>51	byte&0x20	!0	stereo
#>>51	byte&0x10	0	FFT
#>>51	byte&0x10	!0	DCT
@


1.3
log
@SVN rev 191771 on 2009-05-04 00:37:44Z by obrien

Merge vendor/file/dist@@191739, bringing FILE 5.00 to 8-CURRENT.
@
text
@d3 1
d33 1
a33 1
4	string/B	jP		JPEG 2000 image
d45 1
a45 1
>8	string/B	jp2		\b, JPEG 2000
d47 4
d53 4
d64 1
a64 1
>8	string/B	M4A		\b, MPEG v4 system, iTunes AAC-LC
d66 1
a66 1
>8	string/B	M4V		\b, MPEG v4 system, iTunes AVC-LC
d68 3
a70 3
>8	string/B	M4P		\b, MPEG v4 system, iTunes AES encrypted
>8	string/B	M4B		\b, MPEG v4 system, iTunes bookmarked
>8	string/B	qt		\b, Apple QuickTime movie
d83 1
d93 1
d163 1
d174 1
d485 1
d520 1
d715 1
d737 1
a737 1
0       string/b        #VRML\ V1.0\ ascii	VRML 1 file
d739 1
a739 1
0	string/b	#VRML\ V2.0\ utf8	ISO/IEC 14772 VRML 97 file
d744 1
a744 1
0	string		\<?xml\ version="
d746 1
a746 1
>20	search/1000/cb  \<!DOCTYPE\ X3D		X3D (Extensible 3D) model xml text
d813 2
a814 1
# URL:  http://wiki.multimedia.cx/index.php?title=3DBink_Container
d833 63
@


1.3.10.1
log
@SVN rev 237983 on 2012-07-02 08:48:58Z by obrien

MFC: r234449: update file(1) to version 5.11.
@
text
@a2 1
# $File: animation,v 1.45 2011/09/06 11:00:06 christos Exp $
d32 1
a32 1
4	string/W	jP		JPEG 2000 image
d44 1
a44 1
>8	string/W	jp2		\b, JPEG 2000
a45 4
>8	string		3ge		\b, MPEG v4 system, 3GPP
!:mime	video/3gpp
>8	string		3gg		\b, MPEG v4 system, 3GPP
!:mime	video/3gpp
a47 4
>8	string		3gs		\b, MPEG v4 system, 3GPP
!:mime	video/3gpp
>8	string		3g2		\b, MPEG v4 system, 3GPP2
!:mime	video/3gpp2
d55 1
a55 1
>8	string/W	M4A		\b, MPEG v4 system, iTunes AAC-LC
d57 1
a57 1
>8	string/W	M4V		\b, MPEG v4 system, iTunes AVC-LC
d59 3
a61 3
>8	string/W	M4P		\b, MPEG v4 system, iTunes AES encrypted
>8	string/W	M4B		\b, MPEG v4 system, iTunes bookmarked
>8	string/W	qt		\b, Apple QuickTime movie
a73 1
!:mime  video/mpeg
a82 1
!:mime  video/mpeg4-generic
a151 1
!:mime  video/mpeg4-generic
a161 1
!:mime  video/mpeg
a471 1
!:mime	audio/mpeg
a505 1
!:mime	audio/mpeg
a699 1
!:mime  video/x-ms-asf
d721 1
a721 1
0       string/w        #VRML\ V1.0\ ascii	VRML 1 file
d723 1
a723 1
0	string/w	#VRML\ V2.0\ utf8	ISO/IEC 14772 VRML 97 file
d728 1
a728 1
0	string/t		\<?xml\ version="
d730 1
a730 1
>20	search/1000/cw  \<!DOCTYPE\ X3D		X3D (Extensible 3D) model xml text
d797 1
a797 2
# Extension: .bik
# URL:  http://wiki.multimedia.cx/index.php?title=Bink_Container
a815 63

# Type:	NUT Container
# URL:	http://wiki.multimedia.cx/index.php?title=NUT
# From:	Adam Buchbinder <adam.buchbinder@@gmail.com>
0	string	nut/multimedia\ container\0	NUT multimedia container

# Type: Nullsoft Video (NSV)
# URL:  http://wiki.multimedia.cx/index.php?title=Nullsoft_Video
# From: Mike Melanson <mike@@multimedia.cx>
0	string	NSVf	Nullsoft Video

# Type: REDCode Video
# URL:  http://www.red.com/ ; http://wiki.multimedia.cx/index.php?title=REDCode
# From: Mike Melanson <mike@@multimedia.cx>
4	string	RED1	REDCode Video

# Type: MTV Multimedia File
# URL:  http://wiki.multimedia.cx/index.php?title=MTV
# From: Mike Melanson <mike@@multimedia.cx>
0	string	AMVS	MTV Multimedia File

# Type: ARMovie
# URL:  http://wiki.multimedia.cx/index.php?title=ARMovie
# From: Mike Melanson <mike@@multimedia.cx>
0	string	ARMovie\012	ARMovie

# Type: Interplay MVE Movie
# URL:  http://wiki.multimedia.cx/index.php?title=Interplay_MVE
# From: Mike Melanson <mike@@multimedia.cx>
0	string	Interplay\040MVE\040File\032	Interplay MVE Movie

# Type: Windows Television DVR File
# URL:  http://wiki.multimedia.cx/index.php?title=WTV
# From: Mike Melanson <mike@@mutlimedia.cx>
# This takes the form of a Windows-style GUID
0	bequad	0xB7D800203749DA11
>8	bequad	0xA64E0007E95EAD8D	Windows Television DVR Media

# Type: Sega FILM/CPK Multimedia
# URL:  http://wiki.multimedia.cx/index.php?title=Sega_FILM
# From: Mike Melanson <mike@@multimedia.cx>
0	string	FILM	Sega FILM/CPK Multimedia,
>32	belong	x	%d x
>28	belong	x	%d

# Type: Nintendo THP Multimedia
# URL:  http://wiki.multimedia.cx/index.php?title=THP
# From: Mike Melanson <mike@@multimedia.cx>
0	string	THP\0	Nintendo THP Multimedia

# Type: BBC Dirac Video
# URL:  http://wiki.multimedia.cx/index.php?title=Dirac
# From: Mike Melanson <mike@@multimedia.cx>
0	string	BBCD	BBC Dirac Video

# Type: RAD Game Tools Smacker Multimedia
# URL:  http://wiki.multimedia.cx/index.php?title=Smacker
# From: Mike Melanson <mike@@multimedia.cx>
0	string	SMK	RAD Game Tools Smacker Multimedia
>3	byte	x	version %c,
>4	lelong	x	%d x
>8	lelong	x	%d,
>12	lelong	x	%d frames
@


1.2
log
@SVN rev 186691 on 2009-01-02 03:10:55Z by obrien

Record that base/vendor/file/dist@@186675 was merged.
Merge base/vendor/file/dist@@186675@@186690, bringing FILE 4.26 to 8-CURRENT.
@
text
@d328 1
d403 1
d795 21
@


1.1
log
@Initial revision
@
text
@d9 54
a62 5
# MPEG animation format
0	belong		0x000001b3		MPEG video stream data
#>4	beshort&0xfff0	x			(%d x
#>5	beshort&0x0fff  x			%d)
0	belong		0x000001ba		MPEG system stream data
d64 208
a271 1
# MPEG Audio (*.mpx)
d273 359
d633 11
a643 96
# XXX
# This conflicts with the FF FE signature for UTF-16-encoded Unicode
# text, which will be identified as an MP3 file.  I don't have any MP3s
# so I don't know how to (or even if it's possible to) change this to
# tell the two apart.    enf@@pobox.com

0       beshort         &0xfff0         MP
# MPEG 1.0
>1      byte&0x08       =0x08           \b
# Layer 3
>>1     byte            &0x02           \b3
>>>2    byte&0xf0       =0x10           \b,  32 kBits
>>>2    byte&0xf0       =0x20           \b,  40 kBits
>>>2    byte&0xf0       =0x30           \b,  48 kBits
>>>2    byte&0xf0       =0x40           \b,  56 kBits
>>>2    byte&0xf0       =0x50           \b,  64 kBits
>>>2    byte&0xf0       =0x60           \b,  80 kBits
>>>2    byte&0xf0       =0x70           \b,  96 kBits
>>>2    byte&0xf0       =0x80           \b, 112 kBits
>>>2    byte&0xf0       =0x90           \b, 128 kBits
>>>2    byte&0xf0       =0xA0           \b, 160 kBits
>>>2    byte&0xf0       =0xB0           \b, 192 kBits
>>>2    byte&0xf0       =0xC0           \b, 224 kBits
>>>2    byte&0xf0       =0xD0           \b, 256 kBits
>>>2    byte&0xf0       =0xE0           \b, 320 kBits
# Layer 2
>>1     byte            &0x04           \b2
>>>2    byte&0xf0       =0x10           \b,  32 kBits
>>>2    byte&0xf0       =0x20           \b,  48 kBits
>>>2    byte&0xf0       =0x30           \b,  56 kBits
>>>2    byte&0xf0       =0x40           \b,  64 kBits
>>>2    byte&0xf0       =0x50           \b,  80 kBits
>>>2    byte&0xf0       =0x60           \b,  96 kBits
>>>2    byte&0xf0       =0x70           \b, 112 kBits
>>>2    byte&0xf0       =0x80           \b, 128 kBits
>>>2    byte&0xf0       =0x90           \b, 160 kBits
>>>2    byte&0xf0       =0xA0           \b, 192 kBits
>>>2    byte&0xf0       =0xB0           \b, 224 kBits
>>>2    byte&0xf0       =0xC0           \b, 256 kBits
>>>2    byte&0xf0       =0xD0           \b, 320 kBits
>>>2    byte&0xf0       =0xE0           \b, 384 kBits
# freq
>>2     byte&0x0C       =0x00           \b, 44.1 kHz
>>2     byte&0x0C       =0x04           \b, 48 kHz
>>2     byte&0x0C       =0x08           \b, 32 kHz
# MPEG 2.0
>1      byte&0x08       =0x00           \b
# Layer 3
>>1     byte            &0x02           \b3
# Layer 2
>>1     byte            &0x04           \b2
>>2     byte&0xf0       =0x10           \b,   8 kBits
>>2     byte&0xf0       =0x20           \b,  16 kBits
>>2     byte&0xf0       =0x30           \b,  24 kBits
>>2     byte&0xf0       =0x40           \b,  32 kBits
>>2     byte&0xf0       =0x50           \b,  40 kBits
>>2     byte&0xf0       =0x60           \b,  48 kBits
>>2     byte&0xf0       =0x70           \b,  56 kBits
>>2     byte&0xf0       =0x80           \b,  64 kBits
>>2     byte&0xf0       =0x90           \b,  80 kBits
>>2     byte&0xf0       =0xA0           \b,  96 kBits
>>2     byte&0xf0       =0xB0           \b, 112 kBits
>>2     byte&0xf0       =0xC0           \b, 128 kBits
>>2     byte&0xf0       =0xD0           \b, 144 kBits
>>2     byte&0xf0       =0xE0           \b, 160 kBits
# freq
>>2     byte&0x0C       =0x00           \b, 22.05 kHz
>>2     byte&0x0C       =0x04           \b, 24 kHz
>>2     byte&0x0C       =0x08           \b, 16 kHz
# misc
>3      byte&0xC0       =0x00           \b, Stereo
>3      byte&0xC0       =0x40           \b, JStereo
>3      byte&0xC0       =0x80           \b, Dual-Ch
>3      byte&0xC0       =0xC0           \b, Mono
#>1     byte&0x01       =0x00           \b, Error Protection
#>2     byte&0x02       =0x02           \b, Padding
#>2     byte&0x01       =0x01           \b, Private
#>3     byte&0x08       =0x08           \b, Copyright
#>3     byte&0x04       =0x04           \b, Original
#>3     byte&0x03       1               \b, Emphasis 5
#>3     byte&0x03       3               \b, Emphasis c

# FLI animation format
4	leshort		0xAF11			FLI file
>6	leshort		x			- %d frames,
>8	leshort		x			width=%d pixels,
>10	leshort		x			height=%d pixels,
>12	leshort		x			depth=%d,
>16	leshort		x			ticks/frame=%d
# FLC animation format
4	leshort		0xAF12			FLC file
>6	leshort		x			- %d frames
>8	leshort		x			width=%d pixels,
>10	leshort		x			height=%d pixels,
>12	leshort		x			depth=%d,
>16	leshort		x			ticks/frame=%d
d657 1
d661 1
d671 122
a792 4
# SGI and Apple formats
0	string		MOVI		Silicon Graphics movie file
4	string		moov		Apple QuickTime movie file (moov)
4	string		mdat		Apple QuickTime movie file (mdat)
@


1.1.1.1
log
@Virgin import of FILE 3.32
@
text
@@


1.1.1.2
log
@Virgin import of Christos Zoulas's FILE 3.34.
@
text
@a142 30

# iso 13818 transport stream
#
# from Oskar Schirmer <schirmer@@scara.com> Feb 3, 2001 (ISO 13818.1)
# (the following is a little bit restrictive and works fine for a stream
#  that starts with PAT properly. it won't work for stream data, that is
#  cut from an input device data right in the middle, but this shouldn't
#  disturb)
# syncbyte      8 bit	0x47
# error_ind     1 bit	-
# payload_start 1 bit	1
# priority      1 bit	-
# PID          13 bit	0x0000
# scrambling    2 bit	-
# adaptfld_ctrl 2 bit	1 or 3
# conti_count   4 bit	0
0	belong&0xFF5FFF1F	0x47400010	MPEG transport stream data
>188	byte			!0x47		CORRUPTED

# ATARI ST relocatable PRG
#
# from Oskar Schirmer <schirmer@@scara.com> Feb 3, 2001
# (according to Roland Waldi, Oct 21, 1987)
# besides the magic 0x601a, the text segment size is checked to be
# not larger than 1 MB (which is a lot on ST).
0	belong&0xFFFFFFF0	0x601A0000	Atari ST M68K executable
>2	belong			x		(txt=%ld,
>6	belong			x		dat=%ld,
>10	belong			x		bss=%ld,
>14	belong			x		sym=%ld)
@


1.1.1.3
log
@Virgin import of Christos Zoulas's FILE 3.36.
@
text
@d162 11
a172 9
# DIF digital video file format <mpruett@@sgi.com>
0	belong&0xffffff00	0x1f070000      DIF
>4	byte			&0x01		(DVCPRO) movie file
>4	byte			^0x01		(DV) movie file
>3	byte			&0x80		(PAL)
>3	byte			^0x80		(NTSC)

# Microsoft Advanced Streaming Format (ASF) <mpruett@@sgi.com>
0	belong			0x3026b275	Microsoft ASF
@


1.1.1.4
log
@Virgin import of Christos Zoulas's FILE 3.39.
@
text
@d18 41
a58 49
# MPEG 1.0 Layer 3
0       beshort&0xfffe  =0xfffa         \bMP3
>2      byte&0xf0       =0x10           \b,  32 kBits
>2      byte&0xf0       =0x20           \b,  40 kBits
>2      byte&0xf0       =0x30           \b,  48 kBits
>2      byte&0xf0       =0x40           \b,  56 kBits
>2      byte&0xf0       =0x50           \b,  64 kBits
>2      byte&0xf0       =0x60           \b,  80 kBits
>2      byte&0xf0       =0x70           \b,  96 kBits
>2      byte&0xf0       =0x80           \b, 112 kBits
>2      byte&0xf0       =0x90           \b, 128 kBits
>2      byte&0xf0       =0xA0           \b, 160 kBits
>2      byte&0xf0       =0xB0           \b, 192 kBits
>2      byte&0xf0       =0xC0           \b, 224 kBits
>2      byte&0xf0       =0xD0           \b, 256 kBits
>2      byte&0xf0       =0xE0           \b, 320 kBits
# freq
>2      byte&0x0C       =0x00           \b, 44.1 kHz
>2      byte&0x0C       =0x04           \b, 48 kHz
>2      byte&0x0C       =0x08           \b, 32 kHz
# misc
>3      byte&0xC0       =0x00           \b, Stereo
>3      byte&0xC0       =0x40           \b, JStereo
>3      byte&0xC0       =0x80           \b, Dual-Ch
>3      byte&0xC0       =0xC0           \b, Mono
#>1     byte&0x01       =0x00           \b, Error Protection
#>2     byte&0x02       =0x02           \b, Padding
#>2     byte&0x01       =0x01           \b, Private
#>3     byte&0x08       =0x08           \b, Copyright
#>3     byte&0x04       =0x04           \b, Original
#>3     byte&0x03       1               \b, Emphasis 5
#>3     byte&0x03       3               \b, Emphasis c

# MPEG 1.0 Layer 2
0       beshort&0xfffe  =0xfffc         \bMP2
>2      byte&0xf0       =0x10           \b,  32 kBits
>2      byte&0xf0       =0x20           \b,  48 kBits
>2      byte&0xf0       =0x30           \b,  56 kBits
>2      byte&0xf0       =0x40           \b,  64 kBits
>2      byte&0xf0       =0x50           \b,  80 kBits
>2      byte&0xf0       =0x60           \b,  96 kBits
>2      byte&0xf0       =0x70           \b, 112 kBits
>2      byte&0xf0       =0x80           \b, 128 kBits
>2      byte&0xf0       =0x90           \b, 160 kBits
>2      byte&0xf0       =0xA0           \b, 192 kBits
>2      byte&0xf0       =0xB0           \b, 224 kBits
>2      byte&0xf0       =0xC0           \b, 256 kBits
>2      byte&0xf0       =0xD0           \b, 320 kBits
>2      byte&0xf0       =0xE0           \b, 384 kBits
d60 3
a62 16
>2      byte&0x0C       =0x00           \b, 44.1 kHz
>2      byte&0x0C       =0x04           \b, 48 kHz
>2      byte&0x0C       =0x08           \b, 32 kHz
# misc
>3      byte&0xC0       =0x00           \b, Stereo
>3      byte&0xC0       =0x40           \b, JStereo
>3      byte&0xC0       =0x80           \b, Dual-Ch
>3      byte&0xC0       =0xC0           \b, Mono
#>1     byte&0x01       =0x00           \b, Error Protection
#>2     byte&0x02       =0x02           \b, Padding
#>2     byte&0x01       =0x01           \b, Private
#>3     byte&0x08       =0x08           \b, Copyright
#>3     byte&0x04       =0x04           \b, Original
#>3     byte&0x03       1               \b, Emphasis 5
#>3     byte&0x03       3               \b, Emphasis c

d64 1
a64 1
0       beshort&0xfff8  =0xfff0         MP
d66 1
a66 1
>1      byte            &0x02           \b3
d68 15
a82 15
>1      byte            &0x04           \b2
>2      byte&0xf0       =0x10           \b,   8 kBits
>2      byte&0xf0       =0x20           \b,  16 kBits
>2      byte&0xf0       =0x30           \b,  24 kBits
>2      byte&0xf0       =0x40           \b,  32 kBits
>2      byte&0xf0       =0x50           \b,  40 kBits
>2      byte&0xf0       =0x60           \b,  48 kBits
>2      byte&0xf0       =0x70           \b,  56 kBits
>2      byte&0xf0       =0x80           \b,  64 kBits
>2      byte&0xf0       =0x90           \b,  80 kBits
>2      byte&0xf0       =0xA0           \b,  96 kBits
>2      byte&0xf0       =0xB0           \b, 112 kBits
>2      byte&0xf0       =0xC0           \b, 128 kBits
>2      byte&0xf0       =0xD0           \b, 144 kBits
>2      byte&0xf0       =0xE0           \b, 160 kBits
d84 3
a86 3
>2      byte&0x0C       =0x00           \b, 22.05 kHz
>2      byte&0x0C       =0x04           \b, 24 kHz
>2      byte&0x0C       =0x08           \b, 16 kHz
a170 5

# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
0	string			\x8aMNG		MNG video data,
>4	belong			!0x0d0a1a0a	CORRUPTED,
>4	belong			0x0d0a1a0a
@


1.1.1.5
log
@Virgin import of Christos Zoulas's FILE 4.10.
*- file is now broken into a library containing and processing the magic
   and a consumer binary.
@
text
@a120 6
#From: Johan Gade <jgade@@diku.dk>

# MPEG-4 Advanced Audio Coding (AAC) file (perhaps also MPEG-2 ACC?)
16	string		M4A		MPEG-4 Advanced Audio Coding file (AAC)


d160 1
a160 1
# SGI formats
a161 2

# Apple Quicktime: Scan for all known top-level QT atom markers
a163 7
4	string		ftyp		Apple QuickTime movie file (ftyp)
4	string		free		Apple QuickTime movie file (free)
4	string		junk		Apple QuickTime movie file (junk)
4	string		pnot		Apple QuickTime movie file (pnot)
4	string		skip		Apple QuickTime movie file (skip)
4	string		wide		Apple QuickTime movie file (wide)
4	string		pict		Apple QuickTime movie file (pict)
a196 29
>>16    belong	x				%ld x
>>20    belong	x				%ld

# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
0	string			\x8bJNG		JNG video data,
>4	belong			!0x0d0a1a0a	CORRUPTED,
>4	belong			0x0d0a1a0a
>>16    belong	x				%ld x
>>20    belong	x				%ld

# Vivo video (Wolfram Kleff)
3	string		\x0D\x0AVersion:Vivo	Vivo video data

# VRML (Virtual Reality Modelling Language)
0       string/b        #VRML\ V1.0\ ascii	VRML 1 file
0	string/b	#VRML\ V2.0\ utf8	ISO/IEC 14772 VRML 97 file

#---------------------------------------------------------------------------
# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
# From Mark Sheppard <msheppard@@climax.co.uk>, 2002-10-03
#
0	string		HVQM4		%s
>6	string		>\0		v%s
>0	byte		x		GameCube movie,
>0x34	ubeshort	x		%d x
>0x36	ubeshort	x		%d,
>0x26	ubeshort	x		%dµs,
>0x42	ubeshort	0		no audio
>0x42	ubeshort	>0		%dHz audio
@


1.1.1.6
log
@Virgin import of Christos Zoulas's FILE 4.12.
@
text
@d9 5
a13 197
# MPEG sequences
# Scans for all common MPEG header start codes
0        belong&0xFFFFFF00  0x00000100     MPEG sequence
>3       byte               0xBA
>>4      byte               &0x40          \b, v2, program multiplex
>>4      byte               ^0x40          \b, v1, system multiplex
>3       byte               0xBB           \b, v1/2, multiplex (missing pack header)
>3       byte               0xB0           \b, v4
>>5      belong             0x000001B5
>>>9     byte               &0x80
>>>>10   byte&0xF0          16             \b, video
>>>>10   byte&0xF0          32             \b, still texture
>>>>10   byte&0xF0          48             \b, mesh
>>>>10   byte&0xF0          64             \b, face
>>>9     byte               ^0x80
>>>>9    byte&0xF8          8              \b, video
>>>>9    byte&0xF8          16             \b, still texture
>>>>9    byte&0xF8          24             \b, mesh
>>>>9    byte&0xF8          32             \b, face
>>4      byte               1              \b, simple @@ L1
>>4      byte               2              \b, simple @@ L2
>>4      byte               3              \b, simple @@ L3
>>4      byte               4              \b, simple @@ L0
>>4      byte               17             \b, simple scalable @@ L1
>>4      byte               18             \b, simple scalable @@ L2
>>4      byte               33             \b, core @@ L1
>>4      byte               34             \b, core @@ L2
>>4      byte               50             \b, main @@ L2
>>4      byte               51             \b, main @@ L3
>>4      byte               53             \b, main @@ L4
>>4      byte               66             \b, n-bit @@ L2
>>4      byte               81             \b, scalable texture @@ L1
>>4      byte               97             \b, simple face animation @@ L1
>>4      byte               98             \b, simple face animation @@ L2
>>4      byte               99             \b, simple face basic animation @@ L1
>>4      byte               100            \b, simple face basic animation @@ L2
>>4      byte               113            \b, basic animation text @@ L1
>>4      byte               114            \b, basic animation text @@ L2
>>4      byte               129            \b, hybrid @@ L1
>>4      byte               130            \b, hybrid @@ L2
>>4      byte               145            \b, advanced RT simple @@ L!
>>4      byte               146            \b, advanced RT simple @@ L2
>>4      byte               147            \b, advanced RT simple @@ L3
>>4      byte               148            \b, advanced RT simple @@ L4
>>4      byte               161            \b, core scalable @@ L1
>>4      byte               162            \b, core scalable @@ L2
>>4      byte               163            \b, core scalable @@ L3
>>4      byte               177            \b, advanced coding efficiency @@ L1
>>4      byte               178            \b, advanced coding efficiency @@ L2
>>4      byte               179            \b, advanced coding efficiency @@ L3
>>4      byte               180            \b, advanced coding efficiency @@ L4
>>4      byte               193            \b, advanced core @@ L1
>>4      byte               194            \b, advanced core @@ L2
>>4      byte               209            \b, advanced scalable texture @@ L1
>>4      byte               210            \b, advanced scalable texture @@ L2
>>4      byte               211            \b, advanced scalable texture @@ L3
>>4      byte               225            \b, simple studio @@ L1
>>4      byte               226            \b, simple studio @@ L2
>>4      byte               227            \b, simple studio @@ L3
>>4      byte               228            \b, simple studio @@ L4
>>4      byte               229            \b, core studio @@ L1
>>4      byte               230            \b, core studio @@ L2
>>4      byte               231            \b, core studio @@ L3
>>4      byte               232            \b, core studio @@ L4
>>4      byte               240            \b, advanced simple @@ L0
>>4      byte               241            \b, advanced simple @@ L1
>>4      byte               242            \b, advanced simple @@ L2
>>4      byte               243            \b, advanced simple @@ L3
>>4      byte               244            \b, advanced simple @@ L4
>>4      byte               245            \b, advanced simple @@ L5
>>4      byte               247            \b, advanced simple @@ L3b
>>4      byte               248            \b, FGS @@ L0
>>4      byte               249            \b, FGS @@ L1
>>4      byte               250            \b, FGS @@ L2
>>4      byte               251            \b, FGS @@ L3
>>4      byte               252            \b, FGS @@ L4
>>4      byte               253            \b, FGS @@ L5
>3       byte               0xB5           \b, v4
>>4      byte               &0x80
>>>5     byte&0xF0          16             \b, video (missing profile header)
>>>5     byte&0xF0          32             \b, still texture (missing profile header)
>>>5     byte&0xF0          48             \b, mesh (missing profile header)
>>>5     byte&0xF0          64             \b, face (missing profile header)
>>4      byte               ^0x80
>>>4     byte&0xF8          8              \b, video (missing profile header)
>>>4     byte&0xF8          16             \b, still texture (missing profile header)
>>>4     byte&0xF8          24             \b, mesh (missing profile header)
>>>4     byte&0xF8          32             \b, face (missing profile header)
>3       byte               0xB3
>>12     belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>12     belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>12     belong             0x000001B5     \b, v2,
>>>16    byte&0x0F          1              \b HP
>>>16    byte&0x0F          2              \b Spt
>>>16    byte&0x0F          3              \b SNR
>>>16    byte&0x0F          4              \b MP
>>>16    byte&0x0F          5              \b SP
>>>17    byte&0xF0          64             \b@@HL
>>>17    byte&0xF0          96             \b@@H-14
>>>17    byte&0xF0          128            \b@@ML
>>>17    byte&0xF0          160            \b@@LL
>>>17    byte               &0x08          \b progressive
>>>17    byte               ^0x08          \b interlaced
>>>17    byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>17    byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>17    byte&0x06          6              \b Y'CbCr 4:4:4 video
>>11     byte               &0x02
>>>75    byte               &0x01
>>>>140  belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>>>140  belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>>>140  belong             0x000001B5     \b, v2,
>>>>>144 byte&0x0F          1              \b HP
>>>>>144 byte&0x0F          2              \b Spt
>>>>>144 byte&0x0F          3              \b SNR
>>>>>144 byte&0x0F          4              \b MP
>>>>>144 byte&0x0F          5              \b SP
>>>>>145 byte&0xF0          64             \b@@HL
>>>>>145 byte&0xF0          96             \b@@H-14
>>>>>145 byte&0xF0          128            \b@@ML
>>>>>145 byte&0xF0          160            \b@@LL
>>>>>145 byte               &0x08          \b progressive
>>>>>145 byte               ^0x08          \b interlaced
>>>>>145 byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>>>145 byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>>>145 byte&0x06          6              \b Y'CbCr 4:4:4 video
>>>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>>76    belong             0x000001B5     \b, v2,
>>>80    byte&0x0F          1              \b HP
>>>80    byte&0x0F          2              \b Spt
>>>80    byte&0x0F          3              \b SNR
>>>80    byte&0x0F          4              \b MP
>>>80    byte&0x0F          5              \b SP
>>>81    byte&0xF0          64             \b@@HL
>>>81    byte&0xF0          96             \b@@H-14
>>>81    byte&0xF0          128            \b@@ML
>>>81    byte&0xF0          160            \b@@LL
>>>81    byte               &0x08          \b progressive
>>>81    byte               ^0x08          \b interlaced
>>>81    byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>81    byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>81    byte&0x06          6              \b Y'CbCr 4:4:4 video
>>4      belong&0xFFFFFF00  0x78043800     \b, HD-TV 1920P
>>>7     byte&0xF0          0x10           \b, 16:9
>>4      belong&0xFFFFFF00  0x50002D00     \b, SD-TV 1280I
>>>7     byte&0xF0          0x10           \b, 16:9
>>4      belong&0xFFFFFF00  0x30024000     \b, PAL Capture
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      beshort&0xFFF0     0x2C00         \b, 4CIF
>>>5     beshort&0x0FFF     0x01E0         \b NTSC
>>>5     beshort&0x0FFF     0x0240         \b PAL
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>>7     byte&0xF0          0x80           \b, PAL 4:3
>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
>>4      belong&0xFFFFFF00  0x2801E000     \b, LD-TV 640P
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x1400F000     \b, 320x240
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x0F00A000     \b, 240x160
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      belong&0xFFFFFF00  0x0A007800     \b, 160x120
>>>7     byte&0xF0          0x10           \b, 4:3
>>4      beshort&0xFFF0     0x1600         \b, CIF
>>>5     beshort&0x0FFF     0x00F0         \b NTSC
>>>5     beshort&0x0FFF     0x0120         \b PAL
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>>7     byte&0xF0          0x80           \b, PAL 4:3
>>>7     byte&0xF0          0xC0           \b, NTSC 4:3
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>>7    byte&0xF0          0x20           \b, 4:3
>>>>7    byte&0xF0          0x30           \b, 16:9
>>>>7    byte&0xF0          0x40           \b, 11:5
>>4      beshort&0xFFF0     0x2D00         \b, CCIR/ITU
>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>4      beshort&0xFFF0     0x1E00         \b, SVCD
>>>5     beshort&0x0FFF     0x01E0         \b NTSC 525
>>>5     beshort&0x0FFF     0x0240         \b PAL 625
>>>7     byte&0xF0          0x20           \b, 4:3
>>>7     byte&0xF0          0x30           \b, 16:9
>>>7     byte&0xF0          0x40           \b, 11:5
>>7      byte&0x0F          1              \b, 23.976 fps
>>7      byte&0x0F          2              \b, 24 fps
>>7      byte&0x0F          3              \b, 25 fps
>>7      byte&0x0F          4              \b, 29.97 fps
>>7      byte&0x0F          5              \b, 30 fps
>>7      byte&0x0F          6              \b, 50 fps
>>7      byte&0x0F          7              \b, 59.94 fps
>>7      byte&0x0F          8              \b, 60 fps
>>11     byte               &0x04          \b, Constrained
d15 1
a15 1
# MPEG ADTS Audio (*.mpx/mxa/aac)
a16 1
# modified to fully support MPEG ADTS
d18 108
a125 316
# MP3, M1A
0       beshort&0xFFFE  0xFFFA         MPEG ADTS, layer III, v1
# rates
>2      byte&0xF0       0x10           \b,  32 kBits
>2      byte&0xF0       0x20           \b,  40 kBits
>2      byte&0xF0       0x30           \b,  48 kBits
>2      byte&0xF0       0x40           \b,  56 kBits
>2      byte&0xF0       0x50           \b,  64 kBits
>2      byte&0xF0       0x60           \b,  80 kBits
>2      byte&0xF0       0x70           \b,  96 kBits
>2      byte&0xF0       0x80           \b, 112 kBits
>2      byte&0xF0       0x90           \b, 128 kBits
>2      byte&0xF0       0xA0           \b, 160 kBits
>2      byte&0xF0       0xB0           \b, 192 kBits
>2      byte&0xF0       0xC0           \b, 224 kBits
>2      byte&0xF0       0xD0           \b, 256 kBits
>2      byte&0xF0       0xE0           \b, 320 kBits
# timing
>2      byte&0x0C       0x00           \b, 44.1 kHz
>2      byte&0x0C       0x04           \b, 48 kHz
>2      byte&0x0C       0x08           \b, 32 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Packet Pad
#>2     byte            &0x01           \b, Custom Flag
#>3     byte            &0x08           \b, Copyrighted
#>3     byte            &0x04           \b, Original Source
#>3     byte&0x03       1               \b, NR: 50/15 ms
#>3     byte&0x03       3               \b, NR: CCIT J.17

# MP2, M1A
0       beshort&0xFFFE  0xFFFC         MPEG ADTS, layer II, v1
# rates
>2      byte&0xF0       0x10           \b,  32 kBits
>2      byte&0xF0       0x20           \b,  48 kBits
>2      byte&0xF0       0x30           \b,  56 kBits
>2      byte&0xF0       0x40           \b,  64 kBits
>2      byte&0xF0       0x50           \b,  80 kBits
>2      byte&0xF0       0x60           \b,  96 kBits
>2      byte&0xF0       0x70           \b, 112 kBits
>2      byte&0xF0       0x80           \b, 128 kBits
>2      byte&0xF0       0x90           \b, 160 kBits
>2      byte&0xF0       0xA0           \b, 192 kBits
>2      byte&0xF0       0xB0           \b, 224 kBits
>2      byte&0xF0       0xC0           \b, 256 kBits
>2      byte&0xF0       0xD0           \b, 320 kBits
>2      byte&0xF0       0xE0           \b, 384 kBits
# timing
>2      byte&0x0C       0x00           \b, 44.1 kHz
>2      byte&0x0C       0x04           \b, 48 kHz
>2      byte&0x0C       0x08           \b, 32 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Packet Pad
#>2     byte            &0x01           \b, Custom Flag
#>3     byte            &0x08           \b, Copyrighted
#>3     byte            &0x04           \b, Original Source
#>3     byte&0x03       1               \b, NR: 50/15 ms
#>3     byte&0x03       3               \b, NR: CCIT J.17

# MPA, M1A
0       beshort&0xFFFE  0xFFFE         MPEG ADTS, layer I, v1
# rate
>2      byte&0xF0       0x10           \b,  32 kBits
>2      byte&0xF0       0x20           \b,  64 kBits
>2      byte&0xF0       0x30           \b,  96 kBits
>2      byte&0xF0       0x40           \b, 128 kBits
>2      byte&0xF0       0x50           \b, 160 kBits
>2      byte&0xF0       0x60           \b, 192 kBits
>2      byte&0xF0       0x70           \b, 224 kBits
>2      byte&0xF0       0x80           \b, 256 kBits
>2      byte&0xF0       0x90           \b, 288 kBits
>2      byte&0xF0       0xA0           \b, 320 kBits
>2      byte&0xF0       0xB0           \b, 352 kBits
>2      byte&0xF0       0xC0           \b, 384 kBits
>2      byte&0xF0       0xD0           \b, 416 kBits
>2      byte&0xF0       0xE0           \b, 448 kBits
# timing
>2      byte&0x0C       0x00           \b, 44.1 kHz
>2      byte&0x0C       0x04           \b, 48 kHz
>2      byte&0x0C       0x08           \b, 32 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Packet Pad
#>2     byte            &0x01           \b, Custom Flag
#>3     byte            &0x08           \b, Copyrighted
#>3     byte            &0x04           \b, Original Source
#>3     byte&0x03       1               \b, NR: 50/15 ms
#>3     byte&0x03       3               \b, NR: CCIT J.17

# MP3, M2A
0       beshort&0xFFFE  0xFFF2         MPEG ADTS, layer III, v2
# rate
>2      byte&0xF0       0x10           \b,   8 kBits
>2      byte&0xF0       0x20           \b,  16 kBits
>2      byte&0xF0       0x30           \b,  24 kBits
>2      byte&0xF0       0x40           \b,  32 kBits
>2      byte&0xF0       0x50           \b,  40 kBits
>2      byte&0xF0       0x60           \b,  48 kBits
>2      byte&0xF0       0x70           \b,  56 kBits
>2      byte&0xF0       0x80           \b,  64 kBits
>2      byte&0xF0       0x90           \b,  80 kBits
>2      byte&0xF0       0xA0           \b,  96 kBits
>2      byte&0xF0       0xB0           \b, 112 kBits
>2      byte&0xF0       0xC0           \b, 128 kBits
>2      byte&0xF0       0xD0           \b, 144 kBits
>2      byte&0xF0       0xE0           \b, 160 kBits
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Packet Pad
#>2     byte            &0x01           \b, Custom Flag
#>3     byte            &0x08           \b, Copyrighted
#>3     byte            &0x04           \b, Original Source
#>3     byte&0x03       1               \b, NR: 50/15 ms
#>3     byte&0x03       3               \b, NR: CCIT J.17

# MP2, M2A
0       beshort&0xFFFE  0xFFF4         MPEG ADTS, layer II, v2
# rate 
>2      byte&0xF0       0x10           \b,   8 kBits
>2      byte&0xF0       0x20           \b,  16 kBits 
>2      byte&0xF0       0x30           \b,  24 kBits
>2      byte&0xF0       0x40           \b,  32 kBits
>2      byte&0xF0       0x50           \b,  40 kBits
>2      byte&0xF0       0x60           \b,  48 kBits
>2      byte&0xF0       0x70           \b,  56 kBits
>2      byte&0xF0       0x80           \b,  64 kBits
>2      byte&0xF0       0x90           \b,  80 kBits
>2      byte&0xF0       0xA0           \b,  96 kBits
>2      byte&0xF0       0xB0           \b, 112 kBits
>2      byte&0xF0       0xC0           \b, 128 kBits
>2      byte&0xF0       0xD0           \b, 144 kBits
>2      byte&0xF0       0xE0           \b, 160 kBits
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Packet Pad
#>2     byte            &0x01           \b, Custom Flag
#>3     byte            &0x08           \b, Copyrighted
#>3     byte            &0x04           \b, Original Source
#>3     byte&0x03       1               \b, NR: 50/15 ms
#>3     byte&0x03       3               \b, NR: CCIT J.17

# MPA, M2A
0       beshort&0xFFFE  0xFFF6         MPEG ADTS, layer I, v2
# rate
>2      byte&0xF0       0x10           \b,  32 kBits
>2      byte&0xF0       0x20           \b,  48 kBits
>2      byte&0xF0       0x30           \b,  56 kBits
>2      byte&0xF0       0x40           \b,  64 kBits
>2      byte&0xF0       0x50           \b,  80 kBits
>2      byte&0xF0       0x60           \b,  96 kBits
>2      byte&0xF0       0x70           \b, 112 kBits
>2      byte&0xF0       0x80           \b, 128 kBits
>2      byte&0xF0       0x90           \b, 144 kBits
>2      byte&0xF0       0xA0           \b, 160 kBits
>2      byte&0xF0       0xB0           \b, 176 kBits
>2      byte&0xF0       0xC0           \b, 192 kBits
>2      byte&0xF0       0xD0           \b, 224 kBits
>2      byte&0xF0       0xE0           \b, 256 kBits
# timing
>2      byte&0x0C       0x00           \b, 22.05 kHz
>2      byte&0x0C       0x04           \b, 24 kHz
>2      byte&0x0C       0x08           \b, 16 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Packet Pad
#>2     byte            &0x01           \b, Custom Flag
#>3     byte            &0x08           \b, Copyrighted
#>3     byte            &0x04           \b, Original Source
#>3     byte&0x03       1               \b, NR: 50/15 ms
#>3     byte&0x03       3               \b, NR: CCIT J.17

# MP3, M25A
0       beshort&0xFFFE  0xFFE2         MPEG ADTS, layer III,  v2.5
# rate  
>2      byte&0xF0       0x10           \b,   8 kBits
>2      byte&0xF0       0x20           \b,  16 kBits
>2      byte&0xF0       0x30           \b,  24 kBits
>2      byte&0xF0       0x40           \b,  32 kBits
>2      byte&0xF0       0x50           \b,  40 kBits
>2      byte&0xF0       0x60           \b,  48 kBits
>2      byte&0xF0       0x70           \b,  56 kBits
>2      byte&0xF0       0x80           \b,  64 kBits
>2      byte&0xF0       0x90           \b,  80 kBits
>2      byte&0xF0       0xA0           \b,  96 kBits
>2      byte&0xF0       0xB0           \b, 112 kBits
>2      byte&0xF0       0xC0           \b, 128 kBits
>2      byte&0xF0       0xD0           \b, 144 kBits
>2      byte&0xF0       0xE0           \b, 160 kBits
# timing
>2      byte&0x0C       0x00           \b, 11.025 kHz
>2      byte&0x0C       0x04           \b, 12 kHz
>2      byte&0x0C       0x08           \b, 8 kHz
# channels/options
>3      byte&0xC0       0x00           \b, Stereo
>3      byte&0xC0       0x40           \b, JntStereo
>3      byte&0xC0       0x80           \b, 2x Monaural
>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Packet Pad
#>2     byte            &0x01           \b, Custom Flag
#>3     byte            &0x08           \b, Copyrighted
#>3     byte            &0x04           \b, Original Source
#>3     byte&0x03       1               \b, NR: 50/15 ms
#>3     byte&0x03       3               \b, NR: CCIT J.17

# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio

# Stored AAC streams (instead of the MP4 format)
0       string          ADIF           MPEG ADIF, AAC
>4      byte            &0x80
>>13    byte            &0x10          \b, VBR
>>13    byte            ^0x10          \b, CBR
>>16    byte&0x1E       0x02           \b, single stream
>>16    byte&0x1E       0x04           \b, 2 streams
>>16    byte&0x1E       0x06           \b, 3 streams
>>16    byte            &0x08          \b, 4 or more streams
>>16    byte            &0x10          \b, 8 or more streams
>>4    byte            &0x80          \b, Copyrighted
>>13   byte            &0x40          \b, Original Source
>>13   byte            &0x20          \b, Home Flag
>4      byte            ^0x80
>>4     byte            &0x10          \b, VBR
>>4     byte            ^0x10          \b, CBR
>>7     byte&0x1E       0x02           \b, single stream
>>7     byte&0x1E       0x04           \b, 2 streams
>>7     byte&0x1E       0x06           \b, 3 streams
>>7     byte            &0x08          \b, 4 or more streams
>>7     byte            &0x10          \b, 8 or more streams
>>4    byte            &0x40          \b, Original Stream(s)
>>4    byte            &0x20          \b, Home Source

# Live or stored single AAC stream (used with MPEG-2 systems)
0       beshort&0xFFF6  0xFFF0         MPEG ADTS, AAC
>1      byte            ^0x08          \b, v2
>1      byte            &0x08          \b, v4
# profile
>>2     byte            &0xC0          \b LTP
>2      byte&0xc0       0x00           \b, Main
>2      byte&0xc0       0x40           \b, LC
>2      byte&0xc0       0x80           \b, SSR
# timing
>2      byte&0x3c       0x00           \b, 96 kHz
>2      byte&0x3c       0x04           \b, 88.2 kHz
>2      byte&0x3c       0x08           \b, 64 kHz
>2      byte&0x3c       0x0c           \b, 48 kHz
>2      byte&0x3c       0x10           \b, 44.1 kHz
>2      byte&0x3c       0x14           \b, 32 kHz
>2      byte&0x3c       0x18           \b, 24 kHz
>2      byte&0x3c       0x1c           \b, 22.05 kHz
>2      byte&0x3c       0x20           \b, 16 kHz
>2      byte&0x3c       0x24           \b, 12 kHz
>2      byte&0x3c       0x28           \b, 11.025 kHz
>2      byte&0x3c       0x2c           \b, 8 kHz
# channels/options
>2      beshort&0x01c0  0x0040         \b, monaural
>2      beshort&0x01c0  0x0080         \b, stereo
>2      beshort&0x01c0  0x00c0         \b, stereo + center
>2      beshort&0x01c0  0x0100         \b, stereo+center+LFE
>2      beshort&0x01c0  0x0140         \b, surround
>2      beshort&0x01c0  0x0180         \b, surround + LFE
>2      beshort         &0x01C0        \b, surround + side
#>1     byte            ^0x01           \b, Data Verify
#>2     byte            &0x02           \b, Custom Flag
#>3     byte            &0x20           \b, Original Stream
#>3     byte            &0x10           \b, Home Source
#>3     byte            &0x08           \b, Copyrighted

# Live MPEG-4 audio streams (instead of RTP FlexMux)
0       beshort&0xFFE0  0x56E0         MPEG-4 LOAS
#>1     beshort&0x1FFF  x              \b, %u byte packet
>3      byte&0xE0       0x40
>>4     byte&0x3C       0x04           \b, single stream
>>4     byte&0x3C       0x08           \b, 2 streams
>>4     byte&0x3C       0x0C           \b, 3 streams
>>4     byte            &0x08          \b, 4 or more streams
>>4     byte            &0x20          \b, 8 or more streams
>3      byte&0xC0       0
>>4     byte&0x78       0x08           \b, single stream
>>4     byte&0x78       0x10           \b, 2 streams
>>4     byte&0x78       0x18           \b, 3 streams
>>4     byte            &0x20          \b, 4 or more streams
>>4     byte            &0x40          \b, 8 or more streams
0       beshort         0x4DE1         MPEG-4 LO-EP audio stream
d169 10
a178 25
# Apple Quicktime and ISO types
4       string          moov            Apple QuickTime
>12     string          mvhd            \b movie (fast start)
>12     string          mdra            \b URL
>12     string          cmov            \b movie (fast start, compressed header)
>12     string          rmra            \b multiple URLs
4       string          mdat            Apple QuickTime movie (unoptimized)
4       string          wide            Apple QuickTime movie (unoptimized)
4       string          skip            Apple QuickTime movie (modified)
4       string          free            Apple QuickTime movie (modified)
4       string          idsc            Apple QuickTime image (fast start)
4       string          idat            Apple QuickTime image (unoptimized)
4       string          pckg            Apple QuickTime compressed archive
4       string/B        jP              JPEG 2000 image
4       string          ftyp            ISO Media
>8      string          isom            \b, MPEG v4 system
>8      string          mp41            \b, MPEG v4 system, version 1
>8      string          mp42            \b, MPEG v4 system, version 2
>8      string/B        jp2             \b, JPEG 2000 image
>8      string          3gp             \b, MPEG v4 system, 3GPP (H.263/AMR)
>8      string          mmp4            \b, MPEG v4 system, Mobile
>8      string/B        M4A             \b, MPEG v4 system, iTunes AAC-LC
>8      string/B        M4P             \b, MPEG v4 system, ISMA encrypted AAC-LC
>8      string/B        M4B             \b, MPEG v4 system, iTunes AAC-LC/AMR
>8      string/B        qt              \b, Apple QuickTime movie
@


1.1.1.6.2.1
log
@MFC file 4.21
@
text
@a8 34
# SGI and Apple formats
0	string		MOVI		Silicon Graphics movie file
4       string          moov            Apple QuickTime
>12     string          mvhd            \b movie (fast start)
>12     string          mdra            \b URL
>12     string          cmov            \b movie (fast start, compressed header)
>12     string          rmra            \b multiple URLs
4       string          mdat            Apple QuickTime movie (unoptimized)
4       string          wide            Apple QuickTime movie (unoptimized)
4       string          skip            Apple QuickTime movie (modified)
4       string          free            Apple QuickTime movie (modified)
4       string          idsc            Apple QuickTime image (fast start)
4       string          idat            Apple QuickTime image (unoptimized)
4       string          pckg            Apple QuickTime compressed archive
4	string/B	jP		JPEG 2000 image
4	string		ftyp		ISO Media
>8	string		isom		\b, MPEG v4 system, version 1
>8	string		iso2		\b, MPEG v4 system, part 12 revision
>8	string		mp41		\b, MPEG v4 system, version 1
>8	string		mp42		\b, MPEG v4 system, version 2
>8	string		mp7t		\b, MPEG v4 system, MPEG v7 XML
>8	string		mp7b		\b, MPEG v4 system, MPEG v7 binary XML
>8	string/B	jp2		\b, JPEG 2000
>8	string		3gp		\b, MPEG v4 system, 3GPP
>>11	byte		4		\b v4 (H.263/AMR GSM 6.10)
>>11	byte		5		\b v5 (H.263/AMR GSM 6.10)
>>11	byte		6		\b v6 (ITU H.264/AMR GSM 6.10)
>8	string		mmp4		\b, MPEG v4 system, 3GPP Mobile
>8	string		avc1		\b, MPEG v4 system, 3GPP JVT AVC
>8	string/B	M4A		\b, MPEG v4 system, iTunes AAC-LC
>8	string/B	M4P		\b, MPEG v4 system, iTunes AES encrypted
>8	string/B	M4B		\b, MPEG v4 system, iTunes bookmarked
>8	string/B	qt		\b, Apple QuickTime movie

a10 6
0        belong             0x00000001     JVT NAL sequence
>4       byte&0x1F          0x07           \b, H.264 video
>>5      byte               66             \b, baseline
>>5      byte               77             \b, main
>>5      byte               88             \b, extended
>>7      byte               x              \b @@ L %u
a15 5
>3       byte&0x1F          0x07           \b, H.264 video
>>4      byte               66             \b, baseline
>>4      byte               77             \b, main
>>4      byte               88             \b, extended
>>6      byte               x              \b @@ L %u
d23 5
a27 4
>>>9     byte&0xF8          8              \b, video
>>>9     byte&0xF8          16             \b, still texture
>>>9     byte&0xF8          24             \b, mesh
>>>9     byte&0xF8          32             \b, face
d92 5
a96 4
>>4      byte&0xF8          8              \b, video (missing profile header)
>>4      byte&0xF8          16             \b, still texture (missing profile header)
>>4      byte&0xF8          24             \b, mesh (missing profile header)
>>4      byte&0xF8          32             \b, face (missing profile header)
d134 17
a150 17
>>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>76    belong             0x000001B5     \b, v2,
>>>80   byte&0x0F          1              \b HP
>>>80   byte&0x0F          2              \b Spt
>>>80   byte&0x0F          3              \b SNR
>>>80   byte&0x0F          4              \b MP
>>>80   byte&0x0F          5              \b SP
>>>81   byte&0xF0          64             \b@@HL
>>>81   byte&0xF0          96             \b@@H-14
>>>81   byte&0xF0          128            \b@@ML
>>>81   byte&0xF0          160            \b@@LL
>>>81   byte               &0x08          \b progressive
>>>81   byte               ^0x08          \b interlaced
>>>81   byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>81   byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>81   byte&0x06          6              \b Y'CbCr 4:4:4 video
d237 7
a243 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d271 7
a277 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d280 1
a280 5
# updated by Joerg Jenderek
# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
0	beshort&0xFFFE		0xFFFE	
>2	ubyte&0xF0	>0x0F		
>>2	ubyte&0xF0	<0xE1		MPEG ADTS, layer I, v1
d282 14
a295 14
>>>2      byte&0xF0       0x10           \b,  32 kBits
>>>2      byte&0xF0       0x20           \b,  64 kBits
>>>2      byte&0xF0       0x30           \b,  96 kBits
>>>2      byte&0xF0       0x40           \b, 128 kBits
>>>2      byte&0xF0       0x50           \b, 160 kBits
>>>2      byte&0xF0       0x60           \b, 192 kBits
>>>2      byte&0xF0       0x70           \b, 224 kBits
>>>2      byte&0xF0       0x80           \b, 256 kBits
>>>2      byte&0xF0       0x90           \b, 288 kBits
>>>2      byte&0xF0       0xA0           \b, 320 kBits
>>>2      byte&0xF0       0xB0           \b, 352 kBits
>>>2      byte&0xF0       0xC0           \b, 384 kBits
>>>2      byte&0xF0       0xD0           \b, 416 kBits
>>>2      byte&0xF0       0xE0           \b, 448 kBits
d297 3
a299 3
>>>2      byte&0x0C       0x00           \b, 44.1 kHz
>>>2      byte&0x0C       0x04           \b, 48 kHz
>>>2      byte&0x0C       0x08           \b, 32 kHz
d301 11
a311 11
>>>3      byte&0xC0       0x00           \b, Stereo
>>>3      byte&0xC0       0x40           \b, JntStereo
>>>3      byte&0xC0       0x80           \b, 2x Monaural
>>>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d339 7
a345 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d373 7
a379 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d407 7
a413 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d441 7
a447 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d477 2
a478 2
>1      byte            &0x08          \b, v2
>1      byte            ^0x08          \b, v4
d481 3
a483 3
>2      byte&0xc0       0x00           \b Main
>2      byte&0xc0       0x40           \b LC
>2      byte&0xc0       0x80           \b SSR
d497 1
a497 1
# channels
d567 29
a656 6

# From: "Stefan A. Haubenthal" <polluks@@web.de>
0	string		DVDVIDEO-VTS	Video title set,
>0x21	byte		x		v%x
0	string		DVDVIDEO-VMG	Video manager,
>0x21	byte		x		v%x
@


1.1.1.6.2.2
log
@- MFC file 4.23

Discussed with:	obrien
@
text
@a680 11

# From: Behan Webster <behanw@@websterwood.com>
# NuppelVideo used by Mythtv (*.nuv)
0	regex		NuppelVideo|MythTVVideo MythTV NuppelVideo
>12	string		x		v%s
>20	lelong		x		(%d
>24	lelong		x		\bx%d),
>36	string		P		\bprogressive,
>36	string		I		\binterlaced,
>40	ledouble	x		\baspect:%.2f,
>48	ledouble	x		\bfps:%.2f
@


1.1.1.7
log
@Virgin import of Christos Zoulas's FILE 4.17.
@
text
@a8 34
# SGI and Apple formats
0	string		MOVI		Silicon Graphics movie file
4       string          moov            Apple QuickTime
>12     string          mvhd            \b movie (fast start)
>12     string          mdra            \b URL
>12     string          cmov            \b movie (fast start, compressed header)
>12     string          rmra            \b multiple URLs
4       string          mdat            Apple QuickTime movie (unoptimized)
4       string          wide            Apple QuickTime movie (unoptimized)
4       string          skip            Apple QuickTime movie (modified)
4       string          free            Apple QuickTime movie (modified)
4       string          idsc            Apple QuickTime image (fast start)
4       string          idat            Apple QuickTime image (unoptimized)
4       string          pckg            Apple QuickTime compressed archive
4	string/B	jP		JPEG 2000 image
4	string		ftyp		ISO Media
>8	string		isom		\b, MPEG v4 system, version 1
>8	string		iso2		\b, MPEG v4 system, part 12 revision
>8	string		mp41		\b, MPEG v4 system, version 1
>8	string		mp42		\b, MPEG v4 system, version 2
>8	string		mp7t		\b, MPEG v4 system, MPEG v7 XML
>8	string		mp7b		\b, MPEG v4 system, MPEG v7 binary XML
>8	string/B	jp2		\b, JPEG 2000
>8	string		3gp		\b, MPEG v4 system, 3GPP
>>11	byte		4		\b v4 (H.263/AMR GSM 6.10)
>>11	byte		5		\b v5 (H.263/AMR GSM 6.10)
>>11	byte		6		\b v6 (ITU H.264/AMR GSM 6.10)
>8	string		mmp4		\b, MPEG v4 system, 3GPP Mobile
>8	string		avc1		\b, MPEG v4 system, 3GPP JVT AVC
>8	string/B	M4A		\b, MPEG v4 system, iTunes AAC-LC
>8	string/B	M4P		\b, MPEG v4 system, iTunes AES encrypted
>8	string/B	M4B		\b, MPEG v4 system, iTunes bookmarked
>8	string/B	qt		\b, Apple QuickTime movie

a10 6
0        belong             0x00000001     JVT NAL sequence
>4       byte&0x1F          0x07           \b, H.264 video
>>5      byte               66             \b, baseline
>>5      byte               77             \b, main
>>5      byte               88             \b, extended
>>7      byte               x              \b @@ L %u
a15 5
>3       byte&0x1F          0x07           \b, H.264 video
>>4      byte               66             \b, baseline
>>4      byte               77             \b, main
>>4      byte               88             \b, extended
>>6      byte               x              \b @@ L %u
d23 5
a27 4
>>>9     byte&0xF8          8              \b, video
>>>9     byte&0xF8          16             \b, still texture
>>>9     byte&0xF8          24             \b, mesh
>>>9     byte&0xF8          32             \b, face
d92 5
a96 4
>>4      byte&0xF8          8              \b, video (missing profile header)
>>4      byte&0xF8          16             \b, still texture (missing profile header)
>>4      byte&0xF8          24             \b, mesh (missing profile header)
>>4      byte&0xF8          32             \b, face (missing profile header)
d134 17
a150 17
>>76    belong             0x000001B8     \b, v1, progressive Y'CbCr 4:2:0 video
>>76    belong             0x000001B2     \b, v1, progressive Y'CbCr 4:2:0 video
>>76    belong             0x000001B5     \b, v2,
>>>80   byte&0x0F          1              \b HP
>>>80   byte&0x0F          2              \b Spt
>>>80   byte&0x0F          3              \b SNR
>>>80   byte&0x0F          4              \b MP
>>>80   byte&0x0F          5              \b SP
>>>81   byte&0xF0          64             \b@@HL
>>>81   byte&0xF0          96             \b@@H-14
>>>81   byte&0xF0          128            \b@@ML
>>>81   byte&0xF0          160            \b@@LL
>>>81   byte               &0x08          \b progressive
>>>81   byte               ^0x08          \b interlaced
>>>81   byte&0x06          2              \b Y'CbCr 4:2:0 video
>>>81   byte&0x06          4              \b Y'CbCr 4:2:2 video
>>>81   byte&0x06          6              \b Y'CbCr 4:4:4 video
d237 7
a243 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d271 7
a277 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d280 1
a280 5
# modified by Joerg Jenderek
# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
0	beshort&0xFFFE		0xFFFE	
>2	byte&0xF0	>0x0F		
>>2	byte&0xF0	<0xE1		MPEG ADTS, layer I, v1
d282 14
a295 14
>>>2      byte&0xF0       0x10           \b,  32 kBits
>>>2      byte&0xF0       0x20           \b,  64 kBits
>>>2      byte&0xF0       0x30           \b,  96 kBits
>>>2      byte&0xF0       0x40           \b, 128 kBits
>>>2      byte&0xF0       0x50           \b, 160 kBits
>>>2      byte&0xF0       0x60           \b, 192 kBits
>>>2      byte&0xF0       0x70           \b, 224 kBits
>>>2      byte&0xF0       0x80           \b, 256 kBits
>>>2      byte&0xF0       0x90           \b, 288 kBits
>>>2      byte&0xF0       0xA0           \b, 320 kBits
>>>2      byte&0xF0       0xB0           \b, 352 kBits
>>>2      byte&0xF0       0xC0           \b, 384 kBits
>>>2      byte&0xF0       0xD0           \b, 416 kBits
>>>2      byte&0xF0       0xE0           \b, 448 kBits
d297 3
a299 3
>>>2      byte&0x0C       0x00           \b, 44.1 kHz
>>>2      byte&0x0C       0x04           \b, 48 kHz
>>>2      byte&0x0C       0x08           \b, 32 kHz
d301 11
a311 11
>>>3      byte&0xC0       0x00           \b, Stereo
>>>3      byte&0xC0       0x40           \b, JntStereo
>>>3      byte&0xC0       0x80           \b, 2x Monaural
>>>3      byte&0xC0       0xC0           \b, Monaural
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d339 7
a345 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d373 7
a379 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d407 7
a413 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d441 7
a447 7
#>1     byte            ^0x01          \b, Data Verify
#>2     byte            &0x02          \b, Packet Pad
#>2     byte            &0x01          \b, Custom Flag
#>3     byte            &0x08          \b, Copyrighted
#>3     byte            &0x04          \b, Original Source
#>3     byte&0x03       1              \b, NR: 50/15 ms
#>3     byte&0x03       3              \b, NR: CCIT J.17
d477 2
a478 2
>1      byte            &0x08          \b, v2
>1      byte            ^0x08          \b, v4
d481 3
a483 3
>2      byte&0xc0       0x00           \b Main
>2      byte&0xc0       0x40           \b LC
>2      byte&0xc0       0x80           \b SSR
d497 1
a497 1
# channels
d567 29
a656 6

# From: "Stefan A. Haubenthal" <polluks@@web.de>
0	string		DVDVIDEO-VTS	Video title set,
>0x21	byte		x		v%x
0	string		DVDVIDEO-VMG	Video manager,
>0x21	byte		x		v%x
@


1.1.1.8
log
@Virgin import of Christos Zoulas's FILE 4.21.
@
text
@d323 1
a323 1
# updated by Joerg Jenderek
d326 2
a327 2
>2	ubyte&0xF0	>0x0F		
>>2	ubyte&0xF0	<0xE1		MPEG ADTS, layer I, v1
@


1.1.1.8.4.1
log
@MFC: file version 4.23.
Approved by:	re(kensmith)
@
text
@a680 11

# From: Behan Webster <behanw@@websterwood.com>
# NuppelVideo used by Mythtv (*.nuv)
0	regex		NuppelVideo|MythTVVideo MythTV NuppelVideo
>12	string		x		v%s
>20	lelong		x		(%d
>24	lelong		x		\bx%d),
>36	string		P		\bprogressive,
>36	string		I		\binterlaced,
>40	ledouble	x		\baspect:%.2f,
>48	ledouble	x		\bfps:%.2f
@


1.1.1.8.2.1
log
@MFC: version 4.23.
@
text
@a680 11

# From: Behan Webster <behanw@@websterwood.com>
# NuppelVideo used by Mythtv (*.nuv)
0	regex		NuppelVideo|MythTVVideo MythTV NuppelVideo
>12	string		x		v%s
>20	lelong		x		(%d
>24	lelong		x		\bx%d),
>36	string		P		\bprogressive,
>36	string		I		\binterlaced,
>40	ledouble	x		\baspect:%.2f,
>48	ledouble	x		\bfps:%.2f
@


1.1.1.9
log
@Import file version 4.23 onto the vendor branch
@
text
@a680 11

# From: Behan Webster <behanw@@websterwood.com>
# NuppelVideo used by Mythtv (*.nuv)
0	regex		NuppelVideo|MythTVVideo MythTV NuppelVideo
>12	string		x		v%s
>20	lelong		x		(%d
>24	lelong		x		\bx%d),
>36	string		P		\bprogressive,
>36	string		I		\binterlaced,
>40	ledouble	x		\baspect:%.2f,
>48	ledouble	x		\bfps:%.2f
@


1.1.1.1.2.1
log
@MFC:  Christos Zoulas's FILE 3.33
@
text
@@


1.1.1.1.2.2
log
@Update to version 3.36.

This includes knowledge of the lh6 & lh7 "LHA" compression archive formats.
There are also many improvements in supporting other formats such as
Microsoft cabinet file (which is another popular archived format on
Windows), some audio/video file formats including WAV, ASF and so on.

Approved by:	jkh
@
text
@a142 28

# iso 13818 transport stream
#
# from Oskar Schirmer <schirmer@@scara.com> Feb 3, 2001 (ISO 13818.1)
# (the following is a little bit restrictive and works fine for a stream
#  that starts with PAT properly. it won't work for stream data, that is
#  cut from an input device data right in the middle, but this shouldn't
#  disturb)
# syncbyte      8 bit	0x47
# error_ind     1 bit	-
# payload_start 1 bit	1
# priority      1 bit	-
# PID          13 bit	0x0000
# scrambling    2 bit	-
# adaptfld_ctrl 2 bit	1 or 3
# conti_count   4 bit	0
0	belong&0xFF5FFF1F	0x47400010	MPEG transport stream data
>188	byte			!0x47		CORRUPTED

# DIF digital video file format <mpruett@@sgi.com>
0	belong&0xffffff00	0x1f070000      DIF
>4	byte			&0x01		(DVCPRO) movie file
>4	byte			^0x01		(DV) movie file
>3	byte			&0x80		(PAL)
>3	byte			^0x80		(NTSC)

# Microsoft Advanced Streaming Format (ASF) <mpruett@@sgi.com>
0	belong			0x3026b275	Microsoft ASF
@


1.1.1.1.2.3
log
@MFC: file version 3.41

Approved by:	murray(re)
Desired by:		nectar(so)
@
text
@d18 41
a58 49
# MPEG 1.0 Layer 3
0       beshort&0xfffe  =0xfffa         \bMP3
>2      byte&0xf0       =0x10           \b,  32 kBits
>2      byte&0xf0       =0x20           \b,  40 kBits
>2      byte&0xf0       =0x30           \b,  48 kBits
>2      byte&0xf0       =0x40           \b,  56 kBits
>2      byte&0xf0       =0x50           \b,  64 kBits
>2      byte&0xf0       =0x60           \b,  80 kBits
>2      byte&0xf0       =0x70           \b,  96 kBits
>2      byte&0xf0       =0x80           \b, 112 kBits
>2      byte&0xf0       =0x90           \b, 128 kBits
>2      byte&0xf0       =0xA0           \b, 160 kBits
>2      byte&0xf0       =0xB0           \b, 192 kBits
>2      byte&0xf0       =0xC0           \b, 224 kBits
>2      byte&0xf0       =0xD0           \b, 256 kBits
>2      byte&0xf0       =0xE0           \b, 320 kBits
# freq
>2      byte&0x0C       =0x00           \b, 44.1 kHz
>2      byte&0x0C       =0x04           \b, 48 kHz
>2      byte&0x0C       =0x08           \b, 32 kHz
# misc
>3      byte&0xC0       =0x00           \b, Stereo
>3      byte&0xC0       =0x40           \b, JStereo
>3      byte&0xC0       =0x80           \b, Dual-Ch
>3      byte&0xC0       =0xC0           \b, Mono
#>1     byte&0x01       =0x00           \b, Error Protection
#>2     byte&0x02       =0x02           \b, Padding
#>2     byte&0x01       =0x01           \b, Private
#>3     byte&0x08       =0x08           \b, Copyright
#>3     byte&0x04       =0x04           \b, Original
#>3     byte&0x03       1               \b, Emphasis 5
#>3     byte&0x03       3               \b, Emphasis c

# MPEG 1.0 Layer 2
0       beshort&0xfffe  =0xfffc         \bMP2
>2      byte&0xf0       =0x10           \b,  32 kBits
>2      byte&0xf0       =0x20           \b,  48 kBits
>2      byte&0xf0       =0x30           \b,  56 kBits
>2      byte&0xf0       =0x40           \b,  64 kBits
>2      byte&0xf0       =0x50           \b,  80 kBits
>2      byte&0xf0       =0x60           \b,  96 kBits
>2      byte&0xf0       =0x70           \b, 112 kBits
>2      byte&0xf0       =0x80           \b, 128 kBits
>2      byte&0xf0       =0x90           \b, 160 kBits
>2      byte&0xf0       =0xA0           \b, 192 kBits
>2      byte&0xf0       =0xB0           \b, 224 kBits
>2      byte&0xf0       =0xC0           \b, 256 kBits
>2      byte&0xf0       =0xD0           \b, 320 kBits
>2      byte&0xf0       =0xE0           \b, 384 kBits
d60 3
a62 16
>2      byte&0x0C       =0x00           \b, 44.1 kHz
>2      byte&0x0C       =0x04           \b, 48 kHz
>2      byte&0x0C       =0x08           \b, 32 kHz
# misc
>3      byte&0xC0       =0x00           \b, Stereo
>3      byte&0xC0       =0x40           \b, JStereo
>3      byte&0xC0       =0x80           \b, Dual-Ch
>3      byte&0xC0       =0xC0           \b, Mono
#>1     byte&0x01       =0x00           \b, Error Protection
#>2     byte&0x02       =0x02           \b, Padding
#>2     byte&0x01       =0x01           \b, Private
#>3     byte&0x08       =0x08           \b, Copyright
#>3     byte&0x04       =0x04           \b, Original
#>3     byte&0x03       1               \b, Emphasis 5
#>3     byte&0x03       3               \b, Emphasis c

d64 1
a64 1
0       beshort&0xfff8  =0xfff0         MP
d66 1
a66 1
>1      byte            &0x02           \b3
d68 15
a82 15
>1      byte            &0x04           \b2
>2      byte&0xf0       =0x10           \b,   8 kBits
>2      byte&0xf0       =0x20           \b,  16 kBits
>2      byte&0xf0       =0x30           \b,  24 kBits
>2      byte&0xf0       =0x40           \b,  32 kBits
>2      byte&0xf0       =0x50           \b,  40 kBits
>2      byte&0xf0       =0x60           \b,  48 kBits
>2      byte&0xf0       =0x70           \b,  56 kBits
>2      byte&0xf0       =0x80           \b,  64 kBits
>2      byte&0xf0       =0x90           \b,  80 kBits
>2      byte&0xf0       =0xA0           \b,  96 kBits
>2      byte&0xf0       =0xB0           \b, 112 kBits
>2      byte&0xf0       =0xC0           \b, 128 kBits
>2      byte&0xf0       =0xD0           \b, 144 kBits
>2      byte&0xf0       =0xE0           \b, 160 kBits
d84 3
a86 3
>2      byte&0x0C       =0x00           \b, 22.05 kHz
>2      byte&0x0C       =0x04           \b, 24 kHz
>2      byte&0x0C       =0x08           \b, 16 kHz
a170 5

# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
0	string			\x8aMNG		MNG video data,
>4	belong			!0x0d0a1a0a	CORRUPTED,
>4	belong			0x0d0a1a0a
@


