1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*ae316d1dSXin LI# $File: animation,v 1.98 2024/09/01 15:51:51 christos Exp $ 4b6cee71dSXin LI# animation: file(1) magic for animation/movie formats 5b6cee71dSXin LI# 6b6cee71dSXin LI# animation formats 7b6cee71dSXin LI# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8) 8b6cee71dSXin LI# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com) 9b6cee71dSXin LI 10b6cee71dSXin LI# SGI and Apple formats 11b6cee71dSXin LI0 string MOVI Silicon Graphics movie file 12b6cee71dSXin LI!:mime video/x-sgi-movie 13b6cee71dSXin LI4 string moov Apple QuickTime 14b6cee71dSXin LI!:mime video/quicktime 15b6cee71dSXin LI>12 string mvhd \b movie (fast start) 16b6cee71dSXin LI>12 string mdra \b URL 17b6cee71dSXin LI>12 string cmov \b movie (fast start, compressed header) 18b6cee71dSXin LI>12 string rmra \b multiple URLs 19b6cee71dSXin LI4 string mdat Apple QuickTime movie (unoptimized) 20b6cee71dSXin LI!:mime video/quicktime 21898496eeSXin LI4 string wide Apple QuickTime movie (unoptimized) 22898496eeSXin LI!:mime video/quicktime 23b6cee71dSXin LI#4 string skip Apple QuickTime movie (modified) 24b6cee71dSXin LI#!:mime video/quicktime 25b6cee71dSXin LI#4 string free Apple QuickTime movie (modified) 26b6cee71dSXin LI#!:mime video/quicktime 27b6cee71dSXin LI4 string idsc Apple QuickTime image (fast start) 28b6cee71dSXin LI!:mime image/x-quicktime 29b6cee71dSXin LI#4 string idat Apple QuickTime image (unoptimized) 30b6cee71dSXin LI#!:mime image/x-quicktime 31b6cee71dSXin LI4 string pckg Apple QuickTime compressed archive 32b6cee71dSXin LI!:mime application/x-quicktime-player 3343a5ec4eSXin LI 3443a5ec4eSXin LI#### MP4 #### 3548c779cdSXin LI# https://www.ftyps.com/ with local additions 3643a5ec4eSXin LI# https://cconcolato.github.io/mp4ra/filetype.html 37b6cee71dSXin LI4 string ftyp ISO Media 3848c779cdSXin LI# https://aeroquartet.com/wordpress/2016/03/05/3-xavc-s/ 3940427ccaSGordon Tetlow>8 string XAVC \b, MPEG v4 system, Sony XAVC Codec 40898496eeSXin LI!:mime video/mp4 4140427ccaSGordon Tetlow>>96 string x \b, Audio "%.4s" 4240427ccaSGordon Tetlow>>118 beshort x at %dHz 4340427ccaSGordon Tetlow>>140 string x \b, Video "%.4s" 4440427ccaSGordon Tetlow>>168 beshort x %d 4540427ccaSGordon Tetlow>>170 beshort x \bx%d 46b6cee71dSXin LI>8 string 3g2 \b, MPEG v4 system, 3GPP2 47b6cee71dSXin LI!:mime video/3gpp2 48b6cee71dSXin LI>>11 byte 4 \b v4 (H.263/AMR GSM 6.10) 49b6cee71dSXin LI>>11 byte 5 \b v5 (H.263/AMR GSM 6.10) 50b6cee71dSXin LI>>11 byte 6 \b v6 (ITU H.264/AMR GSM 6.10) 5148c779cdSXin LI# https://www.3gpp2.org/Public_html/Specs/C.S0050-B_v1.0_070521.pdf 5240427ccaSGordon Tetlow# Section 8.1.1, corresponds to a, b, c 5340427ccaSGordon Tetlow>>11 byte 0x61 \b C.S0050-0 V1.0 5440427ccaSGordon Tetlow>>11 byte 0x62 \b C.S0050-0-A V1.0.0 5540427ccaSGordon Tetlow>>11 byte 0x63 \b C.S0050-0-B V1.0 56c2931133SXin LI>8 string 3ge \b, MPEG v4 system, 3GPP 57b6cee71dSXin LI!:mime video/3gpp 5843a5ec4eSXin LI>>11 byte 6 \b, Release %d MBMS Extended Presentations 5943a5ec4eSXin LI>>11 byte 7 \b, Release %d MBMS Extended Presentations 6043a5ec4eSXin LI>>11 byte 9 \b, Release %d MBMS Extended Presentations 6143a5ec4eSXin LI>8 string 3gf \b, MPEG v4 system, 3GPP 6243a5ec4eSXin LI>>11 byte 9 \b, Release %d File-delivery profile 63c2931133SXin LI>8 string 3gg \b, MPEG v4 system, 3GPP 64c2931133SXin LI!:mime video/3gpp 6543a5ec4eSXin LI>>11 byte 6 \b, Release %d General Profile 6643a5ec4eSXin LI>>11 byte 9 \b, Release %d General Profile 6743a5ec4eSXin LI>8 string 3gh \b, MPEG v4 system, 3GPP 6843a5ec4eSXin LI!:mime video/3gpp 6943a5ec4eSXin LI>>11 byte 9 \b, Release %d Adaptive Streaming Profile 7043a5ec4eSXin LI>8 string 3gm \b, MPEG v4 system, 3GPP 7143a5ec4eSXin LI!:mime video/3gpp 7243a5ec4eSXin LI>>11 byte 9 \b, Release %d Media Segment Profile 73c2931133SXin LI>8 string 3gp \b, MPEG v4 system, 3GPP 74c2931133SXin LI!:mime video/3gpp 7558a0f0d0SEitan Adler>>11 byte 1 \b, Release %d (non existent) 7658a0f0d0SEitan Adler>>11 byte 2 \b, Release %d (non existent) 7758a0f0d0SEitan Adler>>11 byte 3 \b, Release %d (non existent) 7858a0f0d0SEitan Adler>>11 byte 4 \b, Release %d 7958a0f0d0SEitan Adler>>11 byte 5 \b, Release %d 8058a0f0d0SEitan Adler>>11 byte 6 \b, Release %d 8158a0f0d0SEitan Adler>>11 byte 7 \b, Release %d Streaming Servers 8243a5ec4eSXin LI>8 string 3gr \b, MPEG v4 system, 3GPP 8343a5ec4eSXin LI!:mime video/3gpp 8443a5ec4eSXin LI>>11 byte 6 \b, Release %d Progressive Download Profile 8543a5ec4eSXin LI>>11 byte 9 \b, Release %d Progressive Download Profile 86c2931133SXin LI>8 string 3gs \b, MPEG v4 system, 3GPP 87c2931133SXin LI!:mime video/3gpp 8843a5ec4eSXin LI>>11 byte 6 \b, Release %d Streaming Servers 8958a0f0d0SEitan Adler>>11 byte 7 \b, Release %d Streaming Servers 9043a5ec4eSXin LI>>11 byte 9 \b, Release %d Streaming Servers 9143a5ec4eSXin LI>8 string 3gt \b, MPEG v4 system, 3GPP 9243a5ec4eSXin LI!:mime video/3gpp 9343a5ec4eSXin LI>>11 byte 8 \b, Release %d Media Stream Recording Profile 9443a5ec4eSXin LI>>11 byte 9 \b, Release %d Media Stream Recording Profile 9543a5ec4eSXin LI>8 string ARRI \b, MPEG v4 system, ARRI Digital Camera 9643a5ec4eSXin LI!:mime video/mp4 97c2931133SXin LI>8 string avc1 \b, MPEG v4 system, 3GPP JVT AVC [ISO 14496-12:2005] 98b6cee71dSXin LI!:mime video/mp4 9943a5ec4eSXin LI>8 string bbxm \b, Blinkbox Master File: H.264 video/16-bit LE LPCM audio 10043a5ec4eSXin LI!:mime video/mp4 101b6cee71dSXin LI>8 string/W qt \b, Apple QuickTime movie 102b6cee71dSXin LI!:mime video/quicktime 103c2931133SXin LI>8 string CAEP \b, Canon Digital Camera 104c2931133SXin LI>8 string caqv \b, Casio Digital Camera 105c2931133SXin LI>8 string CDes \b, Convergent Design 10643a5ec4eSXin LI>8 string caaa \b, CMAF Media Profile - AAC Adaptive Audio 10743a5ec4eSXin LI>8 string caac \b, CMAF Media Profile - AAC Core 10843a5ec4eSXin LI>8 string caqv \b, Casio Digital Camera Casio 10943a5ec4eSXin LI>8 string ccea \b, CMAF Supplemental Data - CEA-608/708 11043a5ec4eSXin LI>8 string ccff \b, Common container file format 11143a5ec4eSXin LI>8 string cfhd \b, CMAF Media Profile - AVC HD 11243a5ec4eSXin LI>8 string cfsd \b, CMAF Media Profile - AVC SD 11343a5ec4eSXin LI>8 string chd1 \b, CMAF Media Profile - HEVC HDR10 11443a5ec4eSXin LI>8 string chdf \b, CMAF Media Profile - AVC HDHF 11543a5ec4eSXin LI>8 string chhd \b, CMAF Media Profile - HEVC HHD8 11643a5ec4eSXin LI>8 string chh1 \b, CMAF Media Profile - HEVC HHD10 11743a5ec4eSXin LI>8 string clg1 \b, CMAF Media Profile - HEVC HLG10 11843a5ec4eSXin LI>8 string cmfc \b, CMAF Track Format 11943a5ec4eSXin LI>8 string cmff \b, CMAF Fragment Format 12043a5ec4eSXin LI>8 string cmfl \b, CMAF Chunk Format 12143a5ec4eSXin LI>8 string cmfs \b, CMAF Segment Format 12243a5ec4eSXin LI>8 string cud1 \b, CMAF Media Profile - HEVC UHD10 12343a5ec4eSXin LI>8 string cud8 \b, CMAF Media Profile - HEVC UHD8 12443a5ec4eSXin LI>8 string cwvt \b, CMAF Media Profile - WebVTT 125c2931133SXin LI>8 string da0a \b, DMB MAF w/ MPEG Layer II aud, MOT slides, DLS, JPG/PNG/MNG 126c2931133SXin LI>8 string da0b \b, DMB MAF, ext DA0A, with 3GPP timed text, DID, TVA, REL, IPMP 127c2931133SXin LI>8 string da1a \b, DMB MAF audio with ER-BSAC audio, JPG/PNG/MNG images 128c2931133SXin LI>8 string da1b \b, DMB MAF, ext da1a, with 3GPP timed text, DID, TVA, REL, IPMP 129c2931133SXin LI>8 string da2a \b, DMB MAF aud w/ HE-AAC v2 aud, MOT slides, DLS, JPG/PNG/MNG 130c2931133SXin LI>8 string da2b \b, DMB MAF, ext da2a, with 3GPP timed text, DID, TVA, REL, IPMP 131c2931133SXin LI>8 string da3a \b, DMB MAF aud with HE-AAC aud, JPG/PNG/MNG images 132c2931133SXin LI>8 string da3b \b, DMB MAF, ext da3a w/ BIFS, 3GPP, DID, TVA, REL, IPMP 1333e41d09dSXin LI>8 string dash \b, MPEG v4 system, Dynamic Adaptive Streaming over HTTP 1343e41d09dSXin LI!:mime video/mp4 13543a5ec4eSXin LI>8 string dby1 \b, MP4 files with Dolby content 13643a5ec4eSXin LI>8 string dsms \b, Media Segment DASH conformant 13743a5ec4eSXin LI>8 string dts1 \b, MP4 track file with audio codecs dtsc dtsh or dtse 13843a5ec4eSXin LI>8 string dts2 \b, MP4 track file with audio codec dtsx 13943a5ec4eSXin LI>8 string dts3 \b, MP4 track file with audio codec dtsy 14043a5ec4eSXin LI>8 string dxo$20 \b, DxO ONE camera 141c2931133SXin LI>8 string dmb1 \b, DMB MAF supporting all the components defined in the spec 142c2931133SXin LI>8 string dmpf \b, Digital Media Project 143c2931133SXin LI>8 string drc1 \b, Dirac (wavelet compression), encap in ISO base media (MP4) 144c2931133SXin LI>8 string dv1a \b, DMB MAF vid w/ AVC vid, ER-BSAC aud, BIFS, JPG/PNG/MNG, TS 145c2931133SXin LI>8 string dv1b \b, DMB MAF, ext dv1a, with 3GPP timed text, DID, TVA, REL, IPMP 146c2931133SXin LI>8 string dv2a \b, DMB MAF vid w/ AVC vid, HE-AAC v2 aud, BIFS, JPG/PNG/MNG, TS 147c2931133SXin LI>8 string dv2b \b, DMB MAF, ext dv2a, with 3GPP timed text, DID, TVA, REL, IPMP 148c2931133SXin LI>8 string dv3a \b, DMB MAF vid w/ AVC vid, HE-AAC aud, BIFS, JPG/PNG/MNG, TS 149c2931133SXin LI>8 string dv3b \b, DMB MAF, ext dv3a, with 3GPP timed text, DID, TVA, REL, IPMP 150c2931133SXin LI>8 string dvr1 \b, DVB (.DVB) over RTP 151c2931133SXin LI!:mime video/vnd.dvb.file 152c2931133SXin LI>8 string dvt1 \b, DVB (.DVB) over MPEG-2 Transport Stream 15343a5ec4eSXin LI>8 string emsg \b, Event message box present 154c2931133SXin LI!:mime video/vnd.dvb.file 155c2931133SXin LI>8 string F4V \b, Video for Adobe Flash Player 9+ (.F4V) 156c2931133SXin LI!:mime video/mp4 157c2931133SXin LI>8 string F4P \b, Protected Video for Adobe Flash Player 9+ (.F4P) 158c2931133SXin LI!:mime video/mp4 159c2931133SXin LI>8 string F4A \b, Audio for Adobe Flash Player 9+ (.F4A) 160c2931133SXin LI!:mime audio/mp4 161c2931133SXin LI>8 string F4B \b, Audio Book for Adobe Flash Player 9+ (.F4B) 162c2931133SXin LI!:mime audio/mp4 16343a5ec4eSXin LI>8 string ifrm \b, Apple iFrame Specification, Version 8.1 Jan 2013 16443a5ec4eSXin LI>8 string im1i \b, CMAF Media Profile - IMSC1 Image 16543a5ec4eSXin LI>8 string im1t \b, CMAF Media Profile - IMSC1 Text 166c2931133SXin LI>8 string isc2 \b, ISMACryp 2.0 Encrypted File 167c2931133SXin LI# ?/enc-isoff-generic 16843a5ec4eSXin LI>8 string iso \b, MP4 Base Media 169c2931133SXin LI!:mime video/mp4 170a2dfb722SXin LI!:ext mp4 17143a5ec4eSXin LI>>11 string m v1 [ISO 14496-12:2003] 17243a5ec4eSXin LI>>11 string 2 v2 [ISO 14496-12:2005] 17343a5ec4eSXin LI>>11 string 4 v4 17443a5ec4eSXin LI>>11 string 5 v5 17543a5ec4eSXin LI>>11 string 6 v6 17643a5ec4eSXin LI>8 string isml \b, MP4 Base Media v2 [ISO 14496-12:2005] 177c2931133SXin LI!:mime video/mp4 17843a5ec4eSXin LI>8 string J2P0 \b, JPEG2000 Profile 0 17943a5ec4eSXin LI>8 string J2P1 \b, JPEG2000 Profile 1 180c2931133SXin LI>8 string/W jp2 \b, JPEG 2000 181c2931133SXin LI!:mime image/jp2 182c2931133SXin LI>8 string JP2 \b, JPEG 2000 Image (.JP2) [ISO 15444-1 ?] 183c2931133SXin LI!:mime image/jp2 184c2931133SXin LI>8 string JP20 \b, Unknown, from GPAC samples (prob non-existent) 185c2931133SXin LI>8 string jpm \b, JPEG 2000 Compound Image (.JPM) [ISO 15444-6] 186c2931133SXin LI!:mime image/jpm 18743a5ec4eSXin LI>8 string jpsi \b, The JPSearch data interchange format 188c2931133SXin LI>8 string jpx \b, JPEG 2000 w/ extensions (.JPX) [ISO 15444-2] 189c2931133SXin LI!:mime image/jpx 190c2931133SXin LI>8 string KDDI \b, 3GPP2 EZmovie for KDDI 3G cellphones 191c2931133SXin LI!:mime video/3gpp2 19243a5ec4eSXin LI>8 string LCAG \b, Leica digital camera 19343a5ec4eSXin LI>8 string lmsg \b, Last Media Segment indicator for ISO base media file format. 194c2931133SXin LI>8 string M4A \b, Apple iTunes ALAC/AAC-LC (.M4A) Audio 195c2931133SXin LI!:mime audio/x-m4a 196c2931133SXin LI>8 string M4B \b, Apple iTunes ALAC/AAC-LC (.M4B) Audio Book 197c2931133SXin LI!:mime audio/mp4 198c2931133SXin LI>8 string M4P \b, Apple iTunes ALAC/AAC-LC (.M4P) AES Protected Audio 199c2931133SXin LI!:mime video/mp4 200c2931133SXin LI>8 string M4V \b, Apple iTunes Video (.M4V) Video 201c2931133SXin LI!:mime video/x-m4v 202c2931133SXin LI>8 string M4VH \b, Apple TV (.M4V) 203c2931133SXin LI!:mime video/x-m4v 204c2931133SXin LI>8 string M4VP \b, Apple iPhone (.M4V) 205c2931133SXin LI!:mime video/x-m4v 206c2931133SXin LI>8 string mj2s \b, Motion JPEG 2000 [ISO 15444-3] Simple Profile 207c2931133SXin LI!:mime video/mj2 208c2931133SXin LI>8 string mjp2 \b, Motion JPEG 2000 [ISO 15444-3] General Profile 20943a5ec4eSXin LI>8 string MFSM \b, Media File for Samsung video Metadata 21043a5ec4eSXin LI>8 string MGSV \b, Sony Home and Mobile Multimedia Platform (HMMP) 211c2931133SXin LI!:mime video/mj2 212c2931133SXin LI>8 string mmp4 \b, MPEG-4/3GPP Mobile Profile (.MP4 / .3GP) (for NTT) 213c2931133SXin LI!:mime video/mp4 214c2931133SXin LI>8 string mobi \b, MPEG-4, MOBI format 215c2931133SXin LI!:mime video/mp4 216c2931133SXin LI>8 string mp21 \b, MPEG-21 [ISO/IEC 21000-9] 217c2931133SXin LI>8 string mp41 \b, MP4 v1 [ISO 14496-1:ch13] 218c2931133SXin LI!:mime video/mp4 219c2931133SXin LI>8 string mp42 \b, MP4 v2 [ISO 14496-14] 220c2931133SXin LI!:mime video/mp4 221c2931133SXin LI>8 string mp71 \b, MP4 w/ MPEG-7 Metadata [per ISO 14496-12] 222c2931133SXin LI>8 string mp7t \b, MPEG v4 system, MPEG v7 XML 223c2931133SXin LI>8 string mp7b \b, MPEG v4 system, MPEG v7 binary XML 22443a5ec4eSXin LI>8 string mpuf \b, Compliance with the MMT Processing Unit format 22543a5ec4eSXin LI>8 string msdh \b, Media Segment conforming to ISO base media file format. 22643a5ec4eSXin LI>8 string msix \b, Media Segment conforming to ISO base media file format. 227c2931133SXin LI>8 string mmp4 \b, MPEG v4 system, 3GPP Mobile 228c2931133SXin LI!:mime video/mp4 229c2931133SXin LI>8 string MPPI \b, Photo Player, MAF [ISO/IEC 23000-3] 230c2931133SXin LI>8 string mqt \b, Sony / Mobile QuickTime (.MQV) US Pat 7,477,830 231c2931133SXin LI!:mime video/quicktime 232c2931133SXin LI>8 string MSNV \b, MPEG-4 (.MP4) for SonyPSP 23343a5ec4eSXin LI!:mime audio/mp4 234c2931133SXin LI>8 string NDAS \b, MP4 v2 [ISO 14496-14] Nero Digital AAC Audio 235c2931133SXin LI!:mime audio/mp4 236c2931133SXin LI>8 string NDSC \b, MPEG-4 (.MP4) Nero Cinema Profile 237c2931133SXin LI!:mime video/mp4 238c2931133SXin LI>8 string NDSH \b, MPEG-4 (.MP4) Nero HDTV Profile 239c2931133SXin LI!:mime video/mp4 240c2931133SXin LI>8 string NDSM \b, MPEG-4 (.MP4) Nero Mobile Profile 241c2931133SXin LI!:mime video/mp4 242c2931133SXin LI>8 string NDSP \b, MPEG-4 (.MP4) Nero Portable Profile 243c2931133SXin LI!:mime video/mp4 244c2931133SXin LI>8 string NDSS \b, MPEG-4 (.MP4) Nero Standard Profile 245c2931133SXin LI!:mime video/mp4 246c2931133SXin LI>8 string NDXC \b, H.264/MPEG-4 AVC (.MP4) Nero Cinema Profile 247c2931133SXin LI!:mime video/mp4 248c2931133SXin LI>8 string NDXH \b, H.264/MPEG-4 AVC (.MP4) Nero HDTV Profile 249c2931133SXin LI!:mime video/mp4 250c2931133SXin LI>8 string NDXM \b, H.264/MPEG-4 AVC (.MP4) Nero Mobile Profile 251c2931133SXin LI!:mime video/mp4 252c2931133SXin LI>8 string NDXP \b, H.264/MPEG-4 AVC (.MP4) Nero Portable Profile 253c2931133SXin LI!:mime video/mp4 254c2931133SXin LI>8 string NDXS \b, H.264/MPEG-4 AVC (.MP4) Nero Standard Profile 25543a5ec4eSXin LI>8 string niko \b, Nikon Digital Camera 256c2931133SXin LI!:mime video/mp4 257c2931133SXin LI>8 string odcf \b, OMA DCF DRM Format 2.0 (OMA-TS-DRM-DCF-V2_0-20060303-A) 258c2931133SXin LI>8 string opf2 \b, OMA PDCF DRM Format 2.1 (OMA-TS-DRM-DCF-V2_1-20070724-C) 259c2931133SXin LI>8 string opx2 \b, OMA PDCF DRM + XBS ext (OMA-TS-DRM_XBS-V1_0-20070529-C) 260c2931133SXin LI>8 string pana \b, Panasonic Digital Camera 26143a5ec4eSXin LI>8 string piff \b, Protected Interoperable File Format 26243a5ec4eSXin LI>8 string pnvi ]b, Panasonic Video Intercom 263c2931133SXin LI>8 string qt \b, Apple QuickTime (.MOV/QT) 264c2931133SXin LI!:mime video/quicktime 26558a0f0d0SEitan Adler# HEIF image format 26658a0f0d0SEitan Adler# see https://nokiatech.github.io/heif/technical.html 26758a0f0d0SEitan Adler>8 string mif1 \b, HEIF Image 26858a0f0d0SEitan Adler!:mime image/heif 26958a0f0d0SEitan Adler>8 string msf1 \b, HEIF Image Sequence 27058a0f0d0SEitan Adler!:mime image/heif-sequence 27158a0f0d0SEitan Adler>8 string heic \b, HEIF Image HEVC Main or Main Still Picture Profile 27258a0f0d0SEitan Adler!:mime image/heic 27358a0f0d0SEitan Adler>8 string heix \b, HEIF Image HEVC Main 10 Profile 27458a0f0d0SEitan Adler!:mime image/heic 27558a0f0d0SEitan Adler>8 string hevc \b, HEIF Image Sequenz HEVC Main or Main Still Picture Profile 27658a0f0d0SEitan Adler!:mime image/heic-sequence 27758a0f0d0SEitan Adler>8 string hevx \b, HEIF Image Sequence HEVC Main 10 Profile 27858a0f0d0SEitan Adler!:mime image/heic-sequence 27958a0f0d0SEitan Adler# following HEIF brands are not mentioned in the heif technical info currently (Oct 2017) 28058a0f0d0SEitan Adler# but used in the reference implementation: 28158a0f0d0SEitan Adler# https://github.com/nokiatech/heif/blob/d5e9a21c8ba8df712bdf643021dd9f6518134776/Srcs/reader/hevcimagefilereader.cpp 28258a0f0d0SEitan Adler>8 string heim \b, HEIF Image L-HEVC 28358a0f0d0SEitan Adler!:mime image/heif 28458a0f0d0SEitan Adler>8 string heis \b, HEIF Image L-HEVC 28558a0f0d0SEitan Adler!:mime image/heif 28658a0f0d0SEitan Adler>8 string avic \b, HEIF Image AVC 28758a0f0d0SEitan Adler!:mime image/heif 28858a0f0d0SEitan Adler>8 string hevm \b, HEIF Image Sequence L-HEVC 28958a0f0d0SEitan Adler!:mime image/heif-sequence 29058a0f0d0SEitan Adler>8 string hevs \b, HEIF Image Sequence L-HEVC 29158a0f0d0SEitan Adler!:mime image/heif-sequence 29258a0f0d0SEitan Adler>8 string avcs \b, HEIF Image Sequence AVC 29358a0f0d0SEitan Adler!:mime image/heif-sequence 29443a5ec4eSXin LI# AVIF image format 29543a5ec4eSXin LI# see https://aomediacodec.github.io/av1-avif/ 29643a5ec4eSXin LI>8 string avif \b, AVIF Image 29743a5ec4eSXin LI!:mime image/avif 29843a5ec4eSXin LI>8 string avis \b, AVIF Image Sequence 29943a5ec4eSXin LI!:mime image/avif 30043a5ec4eSXin LI>8 string risx \b, Representation Index Segment for MPEG-2 TS Segments 301c2931133SXin LI>8 string ROSS \b, Ross Video 302c2931133SXin LI>8 string sdv \b, SD Memory Card Video 303c2931133SXin LI>8 string ssc1 \b, Samsung stereo, single stream (patent pending) 304c2931133SXin LI>8 string ssc2 \b, Samsung stereo, dual stream (patent pending) 30543a5ec4eSXin LI>8 string SEAU \b, Sony Home and Mobile Multimedia Platform (HMMP) 30643a5ec4eSXin LI>8 string SEBK \b, Sony Home and Mobile Multimedia Platform (HMMP) 30743a5ec4eSXin LI>8 string senv \b, Video contents Sony Entertainment Network 30843a5ec4eSXin LI>8 string sims \b, Media Segment for Sub-Indexed Media Segment format 30943a5ec4eSXin LI>8 string sisx \b, Single Index Segment forindex MPEG-2 TS 31043a5ec4eSXin LI>8 string ssss \b, Subsegment Index Segment used to index MPEG-2 Segments 31143a5ec4eSXin LI>8 string uvvu \b, UltraViolet file brand for DECE Common Format 312b6cee71dSXin LI 313b6cee71dSXin LI# MPEG sequences 314b6cee71dSXin LI# Scans for all common MPEG header start codes 315b6cee71dSXin LI0 belong 0x00000001 316b6cee71dSXin LI>4 byte&0x1F 0x07 JVT NAL sequence, H.264 video 317b6cee71dSXin LI>>5 byte 66 \b, baseline 318b6cee71dSXin LI>>5 byte 77 \b, main 319b6cee71dSXin LI>>5 byte 88 \b, extended 320b6cee71dSXin LI>>7 byte x \b @ L %u 321b6cee71dSXin LI0 belong&0xFFFFFF00 0x00000100 322b6cee71dSXin LI>3 byte 0xBA MPEG sequence 323b6cee71dSXin LI!:mime video/mpeg 32443a5ec4eSXin LI# http://fileformats.archiveteam.org/wiki/Enhanced_VOB 32543a5ec4eSXin LI# https://reposcope.com/mimetype/video/mpeg 32643a5ec4eSXin LI!:ext vob/evo/mpg/mpeg 327b6cee71dSXin LI>>4 byte &0x40 \b, v2, program multiplex 328b6cee71dSXin LI>>4 byte ^0x40 \b, v1, system multiplex 329b6cee71dSXin LI>3 byte 0xBB MPEG sequence, v1/2, multiplex (missing pack header) 330b6cee71dSXin LI>3 byte&0x1F 0x07 MPEG sequence, H.264 video 331b6cee71dSXin LI>>4 byte 66 \b, baseline 332b6cee71dSXin LI>>4 byte 77 \b, main 333b6cee71dSXin LI>>4 byte 88 \b, extended 334b6cee71dSXin LI>>6 byte x \b @ L %u 335b6cee71dSXin LI# GRR too general as it catches also FoxPro Memo example NG.FPT 336b6cee71dSXin LI>3 byte 0xB0 MPEG sequence, v4 337b6cee71dSXin LI# TODO: maybe this extra line exclude FoxPro Memo example NG.FPT starting with 000001b0 00000100 00000000 338b6cee71dSXin LI#>>4 byte !0 MPEG sequence, v4 339b6cee71dSXin LI!:mime video/mpeg4-generic 340b6cee71dSXin LI>>5 belong 0x000001B5 341b6cee71dSXin LI>>>9 byte &0x80 342b6cee71dSXin LI>>>>10 byte&0xF0 16 \b, video 343b6cee71dSXin LI>>>>10 byte&0xF0 32 \b, still texture 344b6cee71dSXin LI>>>>10 byte&0xF0 48 \b, mesh 345b6cee71dSXin LI>>>>10 byte&0xF0 64 \b, face 346b6cee71dSXin LI>>>9 byte&0xF8 8 \b, video 347b6cee71dSXin LI>>>9 byte&0xF8 16 \b, still texture 348b6cee71dSXin LI>>>9 byte&0xF8 24 \b, mesh 349b6cee71dSXin LI>>>9 byte&0xF8 32 \b, face 350b6cee71dSXin LI>>4 byte 1 \b, simple @ L1 351b6cee71dSXin LI>>4 byte 2 \b, simple @ L2 352b6cee71dSXin LI>>4 byte 3 \b, simple @ L3 353b6cee71dSXin LI>>4 byte 4 \b, simple @ L0 354b6cee71dSXin LI>>4 byte 17 \b, simple scalable @ L1 355b6cee71dSXin LI>>4 byte 18 \b, simple scalable @ L2 356b6cee71dSXin LI>>4 byte 33 \b, core @ L1 357b6cee71dSXin LI>>4 byte 34 \b, core @ L2 358b6cee71dSXin LI>>4 byte 50 \b, main @ L2 359b6cee71dSXin LI>>4 byte 51 \b, main @ L3 360b6cee71dSXin LI>>4 byte 53 \b, main @ L4 361b6cee71dSXin LI>>4 byte 66 \b, n-bit @ L2 362b6cee71dSXin LI>>4 byte 81 \b, scalable texture @ L1 363b6cee71dSXin LI>>4 byte 97 \b, simple face animation @ L1 364b6cee71dSXin LI>>4 byte 98 \b, simple face animation @ L2 365b6cee71dSXin LI>>4 byte 99 \b, simple face basic animation @ L1 366b6cee71dSXin LI>>4 byte 100 \b, simple face basic animation @ L2 367b6cee71dSXin LI>>4 byte 113 \b, basic animation text @ L1 368b6cee71dSXin LI>>4 byte 114 \b, basic animation text @ L2 369b6cee71dSXin LI>>4 byte 129 \b, hybrid @ L1 370b6cee71dSXin LI>>4 byte 130 \b, hybrid @ L2 371b6cee71dSXin LI>>4 byte 145 \b, advanced RT simple @ L! 372b6cee71dSXin LI>>4 byte 146 \b, advanced RT simple @ L2 373b6cee71dSXin LI>>4 byte 147 \b, advanced RT simple @ L3 374b6cee71dSXin LI>>4 byte 148 \b, advanced RT simple @ L4 375b6cee71dSXin LI>>4 byte 161 \b, core scalable @ L1 376b6cee71dSXin LI>>4 byte 162 \b, core scalable @ L2 377b6cee71dSXin LI>>4 byte 163 \b, core scalable @ L3 378b6cee71dSXin LI>>4 byte 177 \b, advanced coding efficiency @ L1 379b6cee71dSXin LI>>4 byte 178 \b, advanced coding efficiency @ L2 380b6cee71dSXin LI>>4 byte 179 \b, advanced coding efficiency @ L3 381b6cee71dSXin LI>>4 byte 180 \b, advanced coding efficiency @ L4 382b6cee71dSXin LI>>4 byte 193 \b, advanced core @ L1 383b6cee71dSXin LI>>4 byte 194 \b, advanced core @ L2 384b6cee71dSXin LI>>4 byte 209 \b, advanced scalable texture @ L1 385b6cee71dSXin LI>>4 byte 210 \b, advanced scalable texture @ L2 386b6cee71dSXin LI>>4 byte 211 \b, advanced scalable texture @ L3 387b6cee71dSXin LI>>4 byte 225 \b, simple studio @ L1 388b6cee71dSXin LI>>4 byte 226 \b, simple studio @ L2 389b6cee71dSXin LI>>4 byte 227 \b, simple studio @ L3 390b6cee71dSXin LI>>4 byte 228 \b, simple studio @ L4 391b6cee71dSXin LI>>4 byte 229 \b, core studio @ L1 392b6cee71dSXin LI>>4 byte 230 \b, core studio @ L2 393b6cee71dSXin LI>>4 byte 231 \b, core studio @ L3 394b6cee71dSXin LI>>4 byte 232 \b, core studio @ L4 395b6cee71dSXin LI>>4 byte 240 \b, advanced simple @ L0 396b6cee71dSXin LI>>4 byte 241 \b, advanced simple @ L1 397b6cee71dSXin LI>>4 byte 242 \b, advanced simple @ L2 398b6cee71dSXin LI>>4 byte 243 \b, advanced simple @ L3 399b6cee71dSXin LI>>4 byte 244 \b, advanced simple @ L4 400b6cee71dSXin LI>>4 byte 245 \b, advanced simple @ L5 401b6cee71dSXin LI>>4 byte 247 \b, advanced simple @ L3b 402b6cee71dSXin LI>>4 byte 248 \b, FGS @ L0 403b6cee71dSXin LI>>4 byte 249 \b, FGS @ L1 404b6cee71dSXin LI>>4 byte 250 \b, FGS @ L2 405b6cee71dSXin LI>>4 byte 251 \b, FGS @ L3 406b6cee71dSXin LI>>4 byte 252 \b, FGS @ L4 407b6cee71dSXin LI>>4 byte 253 \b, FGS @ L5 408b6cee71dSXin LI>3 byte 0xB5 MPEG sequence, v4 409b6cee71dSXin LI!:mime video/mpeg4-generic 410b6cee71dSXin LI>>4 byte &0x80 411b6cee71dSXin LI>>>5 byte&0xF0 16 \b, video (missing profile header) 412b6cee71dSXin LI>>>5 byte&0xF0 32 \b, still texture (missing profile header) 413b6cee71dSXin LI>>>5 byte&0xF0 48 \b, mesh (missing profile header) 414b6cee71dSXin LI>>>5 byte&0xF0 64 \b, face (missing profile header) 415b6cee71dSXin LI>>4 byte&0xF8 8 \b, video (missing profile header) 416b6cee71dSXin LI>>4 byte&0xF8 16 \b, still texture (missing profile header) 417b6cee71dSXin LI>>4 byte&0xF8 24 \b, mesh (missing profile header) 418b6cee71dSXin LI>>4 byte&0xF8 32 \b, face (missing profile header) 419b6cee71dSXin LI>3 byte 0xB3 MPEG sequence 420b6cee71dSXin LI!:mime video/mpeg 421b6cee71dSXin LI>>12 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video 422b6cee71dSXin LI>>12 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video 423b6cee71dSXin LI>>12 belong 0x000001B5 \b, v2, 424b6cee71dSXin LI>>>16 byte&0x0F 1 \b HP 425b6cee71dSXin LI>>>16 byte&0x0F 2 \b Spt 426b6cee71dSXin LI>>>16 byte&0x0F 3 \b SNR 427b6cee71dSXin LI>>>16 byte&0x0F 4 \b MP 428b6cee71dSXin LI>>>16 byte&0x0F 5 \b SP 429b6cee71dSXin LI>>>17 byte&0xF0 64 \b@HL 430b6cee71dSXin LI>>>17 byte&0xF0 96 \b@H-14 431b6cee71dSXin LI>>>17 byte&0xF0 128 \b@ML 432b6cee71dSXin LI>>>17 byte&0xF0 160 \b@LL 433b6cee71dSXin LI>>>17 byte &0x08 \b progressive 434b6cee71dSXin LI>>>17 byte ^0x08 \b interlaced 435b6cee71dSXin LI>>>17 byte&0x06 2 \b Y'CbCr 4:2:0 video 436b6cee71dSXin LI>>>17 byte&0x06 4 \b Y'CbCr 4:2:2 video 437b6cee71dSXin LI>>>17 byte&0x06 6 \b Y'CbCr 4:4:4 video 438b6cee71dSXin LI>>11 byte &0x02 439b6cee71dSXin LI>>>75 byte &0x01 440b6cee71dSXin LI>>>>140 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video 441b6cee71dSXin LI>>>>140 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video 442b6cee71dSXin LI>>>>140 belong 0x000001B5 \b, v2, 443b6cee71dSXin LI>>>>>144 byte&0x0F 1 \b HP 444b6cee71dSXin LI>>>>>144 byte&0x0F 2 \b Spt 445b6cee71dSXin LI>>>>>144 byte&0x0F 3 \b SNR 446b6cee71dSXin LI>>>>>144 byte&0x0F 4 \b MP 447b6cee71dSXin LI>>>>>144 byte&0x0F 5 \b SP 448b6cee71dSXin LI>>>>>145 byte&0xF0 64 \b@HL 449b6cee71dSXin LI>>>>>145 byte&0xF0 96 \b@H-14 450b6cee71dSXin LI>>>>>145 byte&0xF0 128 \b@ML 451b6cee71dSXin LI>>>>>145 byte&0xF0 160 \b@LL 452b6cee71dSXin LI>>>>>145 byte &0x08 \b progressive 453b6cee71dSXin LI>>>>>145 byte ^0x08 \b interlaced 454b6cee71dSXin LI>>>>>145 byte&0x06 2 \b Y'CbCr 4:2:0 video 455b6cee71dSXin LI>>>>>145 byte&0x06 4 \b Y'CbCr 4:2:2 video 456b6cee71dSXin LI>>>>>145 byte&0x06 6 \b Y'CbCr 4:4:4 video 457b6cee71dSXin LI>>76 belong 0x000001B8 \b, v1, progressive Y'CbCr 4:2:0 video 458b6cee71dSXin LI>>76 belong 0x000001B2 \b, v1, progressive Y'CbCr 4:2:0 video 459b6cee71dSXin LI>>76 belong 0x000001B5 \b, v2, 460b6cee71dSXin LI>>>80 byte&0x0F 1 \b HP 461b6cee71dSXin LI>>>80 byte&0x0F 2 \b Spt 462b6cee71dSXin LI>>>80 byte&0x0F 3 \b SNR 463b6cee71dSXin LI>>>80 byte&0x0F 4 \b MP 464b6cee71dSXin LI>>>80 byte&0x0F 5 \b SP 465b6cee71dSXin LI>>>81 byte&0xF0 64 \b@HL 466b6cee71dSXin LI>>>81 byte&0xF0 96 \b@H-14 467b6cee71dSXin LI>>>81 byte&0xF0 128 \b@ML 468b6cee71dSXin LI>>>81 byte&0xF0 160 \b@LL 469b6cee71dSXin LI>>>81 byte &0x08 \b progressive 470b6cee71dSXin LI>>>81 byte ^0x08 \b interlaced 471b6cee71dSXin LI>>>81 byte&0x06 2 \b Y'CbCr 4:2:0 video 472b6cee71dSXin LI>>>81 byte&0x06 4 \b Y'CbCr 4:2:2 video 473b6cee71dSXin LI>>>81 byte&0x06 6 \b Y'CbCr 4:4:4 video 474b6cee71dSXin LI>>4 belong&0xFFFFFF00 0x78043800 \b, HD-TV 1920P 475b6cee71dSXin LI>>>7 byte&0xF0 0x10 \b, 16:9 476b6cee71dSXin LI>>4 belong&0xFFFFFF00 0x50002D00 \b, SD-TV 1280I 477b6cee71dSXin LI>>>7 byte&0xF0 0x10 \b, 16:9 478b6cee71dSXin LI>>4 belong&0xFFFFFF00 0x30024000 \b, PAL Capture 479b6cee71dSXin LI>>>7 byte&0xF0 0x10 \b, 4:3 480b6cee71dSXin LI>>4 beshort&0xFFF0 0x2C00 \b, 4CIF 481b6cee71dSXin LI>>>5 beshort&0x0FFF 0x01E0 \b NTSC 482b6cee71dSXin LI>>>5 beshort&0x0FFF 0x0240 \b PAL 483b6cee71dSXin LI>>>7 byte&0xF0 0x20 \b, 4:3 484b6cee71dSXin LI>>>7 byte&0xF0 0x30 \b, 16:9 485b6cee71dSXin LI>>>7 byte&0xF0 0x40 \b, 11:5 486b6cee71dSXin LI>>>7 byte&0xF0 0x80 \b, PAL 4:3 487b6cee71dSXin LI>>>7 byte&0xF0 0xC0 \b, NTSC 4:3 488b6cee71dSXin LI>>4 belong&0xFFFFFF00 0x2801E000 \b, LD-TV 640P 489b6cee71dSXin LI>>>7 byte&0xF0 0x10 \b, 4:3 490b6cee71dSXin LI>>4 belong&0xFFFFFF00 0x1400F000 \b, 320x240 491b6cee71dSXin LI>>>7 byte&0xF0 0x10 \b, 4:3 492b6cee71dSXin LI>>4 belong&0xFFFFFF00 0x0F00A000 \b, 240x160 493b6cee71dSXin LI>>>7 byte&0xF0 0x10 \b, 4:3 494b6cee71dSXin LI>>4 belong&0xFFFFFF00 0x0A007800 \b, 160x120 495b6cee71dSXin LI>>>7 byte&0xF0 0x10 \b, 4:3 496b6cee71dSXin LI>>4 beshort&0xFFF0 0x1600 \b, CIF 497b6cee71dSXin LI>>>5 beshort&0x0FFF 0x00F0 \b NTSC 498b6cee71dSXin LI>>>5 beshort&0x0FFF 0x0120 \b PAL 499b6cee71dSXin LI>>>7 byte&0xF0 0x20 \b, 4:3 500b6cee71dSXin LI>>>7 byte&0xF0 0x30 \b, 16:9 501b6cee71dSXin LI>>>7 byte&0xF0 0x40 \b, 11:5 502b6cee71dSXin LI>>>7 byte&0xF0 0x80 \b, PAL 4:3 503b6cee71dSXin LI>>>7 byte&0xF0 0xC0 \b, NTSC 4:3 504b6cee71dSXin LI>>>5 beshort&0x0FFF 0x0240 \b PAL 625 505b6cee71dSXin LI>>>>7 byte&0xF0 0x20 \b, 4:3 506b6cee71dSXin LI>>>>7 byte&0xF0 0x30 \b, 16:9 507b6cee71dSXin LI>>>>7 byte&0xF0 0x40 \b, 11:5 508b6cee71dSXin LI>>4 beshort&0xFFF0 0x2D00 \b, CCIR/ITU 509b6cee71dSXin LI>>>5 beshort&0x0FFF 0x01E0 \b NTSC 525 510b6cee71dSXin LI>>>5 beshort&0x0FFF 0x0240 \b PAL 625 511b6cee71dSXin LI>>>7 byte&0xF0 0x20 \b, 4:3 512b6cee71dSXin LI>>>7 byte&0xF0 0x30 \b, 16:9 513b6cee71dSXin LI>>>7 byte&0xF0 0x40 \b, 11:5 514b6cee71dSXin LI>>4 beshort&0xFFF0 0x1E00 \b, SVCD 515b6cee71dSXin LI>>>5 beshort&0x0FFF 0x01E0 \b NTSC 525 516b6cee71dSXin LI>>>5 beshort&0x0FFF 0x0240 \b PAL 625 517b6cee71dSXin LI>>>7 byte&0xF0 0x20 \b, 4:3 518b6cee71dSXin LI>>>7 byte&0xF0 0x30 \b, 16:9 519b6cee71dSXin LI>>>7 byte&0xF0 0x40 \b, 11:5 520b6cee71dSXin LI>>7 byte&0x0F 1 \b, 23.976 fps 521b6cee71dSXin LI>>7 byte&0x0F 2 \b, 24 fps 522b6cee71dSXin LI>>7 byte&0x0F 3 \b, 25 fps 523b6cee71dSXin LI>>7 byte&0x0F 4 \b, 29.97 fps 524b6cee71dSXin LI>>7 byte&0x0F 5 \b, 30 fps 525b6cee71dSXin LI>>7 byte&0x0F 6 \b, 50 fps 526b6cee71dSXin LI>>7 byte&0x0F 7 \b, 59.94 fps 527b6cee71dSXin LI>>7 byte&0x0F 8 \b, 60 fps 528b6cee71dSXin LI>>11 byte &0x04 \b, Constrained 529b6cee71dSXin LI 530b6cee71dSXin LI# MPEG ADTS Audio (*.mpx/mxa/aac) 531b6cee71dSXin LI# from dreesen@math.fu-berlin.de 532b6cee71dSXin LI# modified to fully support MPEG ADTS 533b6cee71dSXin LI 534b6cee71dSXin LI# MP3, M1A 535b6cee71dSXin LI# modified by Joerg Jenderek 536b6cee71dSXin LI# GRR the original test are too common for many DOS files 537b6cee71dSXin LI# so don't accept as MP3 until we've tested the rate 538d38c30c0SXin LI# But also beat GEMDOS fonts 539b6cee71dSXin LI0 beshort&0xFFFE 0xFFFA 540b6cee71dSXin LI# rates 541d38c30c0SXin LI>2 byte&0xF0 !0 542d38c30c0SXin LI>>2 byte&0xF0 !0xF0 MPEG ADTS, layer III, v1 543d38c30c0SXin LI!:strength +20 544b6cee71dSXin LI!:mime audio/mpeg 545*ae316d1dSXin LI>>>2 byte&0xF0 0x10 \b, 32 kbps 546*ae316d1dSXin LI>>>2 byte&0xF0 0x20 \b, 40 kbps 547*ae316d1dSXin LI>>>2 byte&0xF0 0x30 \b, 48 kbps 548*ae316d1dSXin LI>>>2 byte&0xF0 0x40 \b, 56 kbps 549*ae316d1dSXin LI>>>2 byte&0xF0 0x50 \b, 64 kbps 550*ae316d1dSXin LI>>>2 byte&0xF0 0x60 \b, 80 kbps 551*ae316d1dSXin LI>>>2 byte&0xF0 0x70 \b, 96 kbps 552*ae316d1dSXin LI>>>2 byte&0xF0 0x80 \b, 112 kbps 553*ae316d1dSXin LI>>>2 byte&0xF0 0x90 \b, 128 kbps 554*ae316d1dSXin LI>>>2 byte&0xF0 0xA0 \b, 160 kbps 555*ae316d1dSXin LI>>>2 byte&0xF0 0xB0 \b, 192 kbps 556*ae316d1dSXin LI>>>2 byte&0xF0 0xC0 \b, 224 kbps 557*ae316d1dSXin LI>>>2 byte&0xF0 0xD0 \b, 256 kbps 558*ae316d1dSXin LI>>>2 byte&0xF0 0xE0 \b, 320 kbps 559b6cee71dSXin LI# timing 560*ae316d1dSXin LI>>>2 byte&0x0C 0x00 \b, 44.1 kHz 561*ae316d1dSXin LI>>>2 byte&0x0C 0x04 \b, 48 kHz 562*ae316d1dSXin LI>>>2 byte&0x0C 0x08 \b, 32 kHz 563b6cee71dSXin LI# channels/options 564*ae316d1dSXin LI>>>3 byte&0xC0 0x00 \b, Stereo 565*ae316d1dSXin LI>>>3 byte&0xC0 0x40 \b, JntStereo 566*ae316d1dSXin LI>>>3 byte&0xC0 0x80 \b, 2x Monaural 567*ae316d1dSXin LI>>>3 byte&0xC0 0xC0 \b, Monaural 568*ae316d1dSXin LI#>>>1 byte ^0x01 \b, Data Verify 569*ae316d1dSXin LI#>>>2 byte &0x02 \b, Packet Pad 570*ae316d1dSXin LI#>>>2 byte &0x01 \b, Custom Flag 571*ae316d1dSXin LI#>>>3 byte &0x08 \b, Copyrighted 572*ae316d1dSXin LI#>>>3 byte &0x04 \b, Original Source 573*ae316d1dSXin LI#>>>3 byte&0x03 1 \b, NR: 50/15 ms 574*ae316d1dSXin LI#>>>3 byte&0x03 3 \b, NR: CCIT J.17 575b6cee71dSXin LI 576b6cee71dSXin LI# MP2, M1A 577b6cee71dSXin LI0 beshort&0xFFFE 0xFFFC MPEG ADTS, layer II, v1 578b6cee71dSXin LI!:mime audio/mpeg 579b6cee71dSXin LI# rates 580b6cee71dSXin LI>2 byte&0xF0 0x10 \b, 32 kbps 581b6cee71dSXin LI>2 byte&0xF0 0x20 \b, 48 kbps 582b6cee71dSXin LI>2 byte&0xF0 0x30 \b, 56 kbps 583b6cee71dSXin LI>2 byte&0xF0 0x40 \b, 64 kbps 584b6cee71dSXin LI>2 byte&0xF0 0x50 \b, 80 kbps 585b6cee71dSXin LI>2 byte&0xF0 0x60 \b, 96 kbps 586b6cee71dSXin LI>2 byte&0xF0 0x70 \b, 112 kbps 587b6cee71dSXin LI>2 byte&0xF0 0x80 \b, 128 kbps 588b6cee71dSXin LI>2 byte&0xF0 0x90 \b, 160 kbps 589b6cee71dSXin LI>2 byte&0xF0 0xA0 \b, 192 kbps 590b6cee71dSXin LI>2 byte&0xF0 0xB0 \b, 224 kbps 591b6cee71dSXin LI>2 byte&0xF0 0xC0 \b, 256 kbps 592b6cee71dSXin LI>2 byte&0xF0 0xD0 \b, 320 kbps 593b6cee71dSXin LI>2 byte&0xF0 0xE0 \b, 384 kbps 594b6cee71dSXin LI# timing 595b6cee71dSXin LI>2 byte&0x0C 0x00 \b, 44.1 kHz 596b6cee71dSXin LI>2 byte&0x0C 0x04 \b, 48 kHz 597b6cee71dSXin LI>2 byte&0x0C 0x08 \b, 32 kHz 598b6cee71dSXin LI# channels/options 599b6cee71dSXin LI>3 byte&0xC0 0x00 \b, Stereo 600b6cee71dSXin LI>3 byte&0xC0 0x40 \b, JntStereo 601b6cee71dSXin LI>3 byte&0xC0 0x80 \b, 2x Monaural 602b6cee71dSXin LI>3 byte&0xC0 0xC0 \b, Monaural 603b6cee71dSXin LI#>1 byte ^0x01 \b, Data Verify 604b6cee71dSXin LI#>2 byte &0x02 \b, Packet Pad 605b6cee71dSXin LI#>2 byte &0x01 \b, Custom Flag 606b6cee71dSXin LI#>3 byte &0x08 \b, Copyrighted 607b6cee71dSXin LI#>3 byte &0x04 \b, Original Source 608b6cee71dSXin LI#>3 byte&0x03 1 \b, NR: 50/15 ms 609b6cee71dSXin LI#>3 byte&0x03 3 \b, NR: CCIT J.17 610b6cee71dSXin LI 611b6cee71dSXin LI# MPA, M1A 612b6cee71dSXin LI# updated by Joerg Jenderek 613b6cee71dSXin LI# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448 614b6cee71dSXin LI# GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE) 615b6cee71dSXin LI# FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries 616b6cee71dSXin LI#0 beshort&0xFFFE 0xFFFE 617b6cee71dSXin LI#>2 ubyte&0xF0 >0x0F 618b6cee71dSXin LI#>>2 ubyte&0xF0 <0xE1 MPEG ADTS, layer I, v1 619b6cee71dSXin LI## rate 620b6cee71dSXin LI#>>>2 byte&0xF0 0x10 \b, 32 kbps 621b6cee71dSXin LI#>>>2 byte&0xF0 0x20 \b, 64 kbps 622b6cee71dSXin LI#>>>2 byte&0xF0 0x30 \b, 96 kbps 623b6cee71dSXin LI#>>>2 byte&0xF0 0x40 \b, 128 kbps 624b6cee71dSXin LI#>>>2 byte&0xF0 0x50 \b, 160 kbps 625b6cee71dSXin LI#>>>2 byte&0xF0 0x60 \b, 192 kbps 626b6cee71dSXin LI#>>>2 byte&0xF0 0x70 \b, 224 kbps 627b6cee71dSXin LI#>>>2 byte&0xF0 0x80 \b, 256 kbps 628b6cee71dSXin LI#>>>2 byte&0xF0 0x90 \b, 288 kbps 629b6cee71dSXin LI#>>>2 byte&0xF0 0xA0 \b, 320 kbps 630b6cee71dSXin LI#>>>2 byte&0xF0 0xB0 \b, 352 kbps 631b6cee71dSXin LI#>>>2 byte&0xF0 0xC0 \b, 384 kbps 632b6cee71dSXin LI#>>>2 byte&0xF0 0xD0 \b, 416 kbps 633b6cee71dSXin LI#>>>2 byte&0xF0 0xE0 \b, 448 kbps 634b6cee71dSXin LI## timing 635b6cee71dSXin LI#>>>2 byte&0x0C 0x00 \b, 44.1 kHz 636b6cee71dSXin LI#>>>2 byte&0x0C 0x04 \b, 48 kHz 637b6cee71dSXin LI#>>>2 byte&0x0C 0x08 \b, 32 kHz 638b6cee71dSXin LI## channels/options 639b6cee71dSXin LI#>>>3 byte&0xC0 0x00 \b, Stereo 640b6cee71dSXin LI#>>>3 byte&0xC0 0x40 \b, JntStereo 641b6cee71dSXin LI#>>>3 byte&0xC0 0x80 \b, 2x Monaural 642b6cee71dSXin LI#>>>3 byte&0xC0 0xC0 \b, Monaural 643b6cee71dSXin LI##>1 byte ^0x01 \b, Data Verify 644b6cee71dSXin LI##>2 byte &0x02 \b, Packet Pad 645b6cee71dSXin LI##>2 byte &0x01 \b, Custom Flag 646b6cee71dSXin LI##>3 byte &0x08 \b, Copyrighted 647b6cee71dSXin LI##>3 byte &0x04 \b, Original Source 648b6cee71dSXin LI##>3 byte&0x03 1 \b, NR: 50/15 ms 649b6cee71dSXin LI##>3 byte&0x03 3 \b, NR: CCIT J.17 650b6cee71dSXin LI 651b6cee71dSXin LI# MP3, M2A 652b6cee71dSXin LI0 beshort&0xFFFE 0xFFF2 MPEG ADTS, layer III, v2 653b6cee71dSXin LI!:mime audio/mpeg 654b6cee71dSXin LI# rate 655b6cee71dSXin LI>2 byte&0xF0 0x10 \b, 8 kbps 656b6cee71dSXin LI>2 byte&0xF0 0x20 \b, 16 kbps 657b6cee71dSXin LI>2 byte&0xF0 0x30 \b, 24 kbps 658b6cee71dSXin LI>2 byte&0xF0 0x40 \b, 32 kbps 659b6cee71dSXin LI>2 byte&0xF0 0x50 \b, 40 kbps 660b6cee71dSXin LI>2 byte&0xF0 0x60 \b, 48 kbps 661b6cee71dSXin LI>2 byte&0xF0 0x70 \b, 56 kbps 662b6cee71dSXin LI>2 byte&0xF0 0x80 \b, 64 kbps 663b6cee71dSXin LI>2 byte&0xF0 0x90 \b, 80 kbps 664b6cee71dSXin LI>2 byte&0xF0 0xA0 \b, 96 kbps 665b6cee71dSXin LI>2 byte&0xF0 0xB0 \b, 112 kbps 666b6cee71dSXin LI>2 byte&0xF0 0xC0 \b, 128 kbps 667b6cee71dSXin LI>2 byte&0xF0 0xD0 \b, 144 kbps 668b6cee71dSXin LI>2 byte&0xF0 0xE0 \b, 160 kbps 669b6cee71dSXin LI# timing 670b6cee71dSXin LI>2 byte&0x0C 0x00 \b, 22.05 kHz 671b6cee71dSXin LI>2 byte&0x0C 0x04 \b, 24 kHz 672b6cee71dSXin LI>2 byte&0x0C 0x08 \b, 16 kHz 673b6cee71dSXin LI# channels/options 674b6cee71dSXin LI>3 byte&0xC0 0x00 \b, Stereo 675b6cee71dSXin LI>3 byte&0xC0 0x40 \b, JntStereo 676b6cee71dSXin LI>3 byte&0xC0 0x80 \b, 2x Monaural 677b6cee71dSXin LI>3 byte&0xC0 0xC0 \b, Monaural 678b6cee71dSXin LI#>1 byte ^0x01 \b, Data Verify 679b6cee71dSXin LI#>2 byte &0x02 \b, Packet Pad 680b6cee71dSXin LI#>2 byte &0x01 \b, Custom Flag 681b6cee71dSXin LI#>3 byte &0x08 \b, Copyrighted 682b6cee71dSXin LI#>3 byte &0x04 \b, Original Source 683b6cee71dSXin LI#>3 byte&0x03 1 \b, NR: 50/15 ms 684b6cee71dSXin LI#>3 byte&0x03 3 \b, NR: CCIT J.17 685b6cee71dSXin LI 686b6cee71dSXin LI# MP2, M2A 687b6cee71dSXin LI0 beshort&0xFFFE 0xFFF4 MPEG ADTS, layer II, v2 688b6cee71dSXin LI!:mime audio/mpeg 689b6cee71dSXin LI# rate 690b6cee71dSXin LI>2 byte&0xF0 0x10 \b, 8 kbps 691b6cee71dSXin LI>2 byte&0xF0 0x20 \b, 16 kbps 692b6cee71dSXin LI>2 byte&0xF0 0x30 \b, 24 kbps 693b6cee71dSXin LI>2 byte&0xF0 0x40 \b, 32 kbps 694b6cee71dSXin LI>2 byte&0xF0 0x50 \b, 40 kbps 695b6cee71dSXin LI>2 byte&0xF0 0x60 \b, 48 kbps 696b6cee71dSXin LI>2 byte&0xF0 0x70 \b, 56 kbps 697b6cee71dSXin LI>2 byte&0xF0 0x80 \b, 64 kbps 698b6cee71dSXin LI>2 byte&0xF0 0x90 \b, 80 kbps 699b6cee71dSXin LI>2 byte&0xF0 0xA0 \b, 96 kbps 700b6cee71dSXin LI>2 byte&0xF0 0xB0 \b, 112 kbps 701b6cee71dSXin LI>2 byte&0xF0 0xC0 \b, 128 kbps 702b6cee71dSXin LI>2 byte&0xF0 0xD0 \b, 144 kbps 703b6cee71dSXin LI>2 byte&0xF0 0xE0 \b, 160 kbps 704b6cee71dSXin LI# timing 705b6cee71dSXin LI>2 byte&0x0C 0x00 \b, 22.05 kHz 706b6cee71dSXin LI>2 byte&0x0C 0x04 \b, 24 kHz 707b6cee71dSXin LI>2 byte&0x0C 0x08 \b, 16 kHz 708b6cee71dSXin LI# channels/options 709b6cee71dSXin LI>3 byte&0xC0 0x00 \b, Stereo 710b6cee71dSXin LI>3 byte&0xC0 0x40 \b, JntStereo 711b6cee71dSXin LI>3 byte&0xC0 0x80 \b, 2x Monaural 712b6cee71dSXin LI>3 byte&0xC0 0xC0 \b, Monaural 713b6cee71dSXin LI#>1 byte ^0x01 \b, Data Verify 714b6cee71dSXin LI#>2 byte &0x02 \b, Packet Pad 715b6cee71dSXin LI#>2 byte &0x01 \b, Custom Flag 716b6cee71dSXin LI#>3 byte &0x08 \b, Copyrighted 717b6cee71dSXin LI#>3 byte &0x04 \b, Original Source 718b6cee71dSXin LI#>3 byte&0x03 1 \b, NR: 50/15 ms 719b6cee71dSXin LI#>3 byte&0x03 3 \b, NR: CCIT J.17 720b6cee71dSXin LI 721b6cee71dSXin LI# MPA, M2A 722b6cee71dSXin LI0 beshort&0xFFFE 0xFFF6 MPEG ADTS, layer I, v2 723b6cee71dSXin LI!:mime audio/mpeg 724b6cee71dSXin LI# rate 725b6cee71dSXin LI>2 byte&0xF0 0x10 \b, 32 kbps 726b6cee71dSXin LI>2 byte&0xF0 0x20 \b, 48 kbps 727b6cee71dSXin LI>2 byte&0xF0 0x30 \b, 56 kbps 728b6cee71dSXin LI>2 byte&0xF0 0x40 \b, 64 kbps 729b6cee71dSXin LI>2 byte&0xF0 0x50 \b, 80 kbps 730b6cee71dSXin LI>2 byte&0xF0 0x60 \b, 96 kbps 731b6cee71dSXin LI>2 byte&0xF0 0x70 \b, 112 kbps 732b6cee71dSXin LI>2 byte&0xF0 0x80 \b, 128 kbps 733b6cee71dSXin LI>2 byte&0xF0 0x90 \b, 144 kbps 734b6cee71dSXin LI>2 byte&0xF0 0xA0 \b, 160 kbps 735b6cee71dSXin LI>2 byte&0xF0 0xB0 \b, 176 kbps 736b6cee71dSXin LI>2 byte&0xF0 0xC0 \b, 192 kbps 737b6cee71dSXin LI>2 byte&0xF0 0xD0 \b, 224 kbps 738b6cee71dSXin LI>2 byte&0xF0 0xE0 \b, 256 kbps 739b6cee71dSXin LI# timing 740b6cee71dSXin LI>2 byte&0x0C 0x00 \b, 22.05 kHz 741b6cee71dSXin LI>2 byte&0x0C 0x04 \b, 24 kHz 742b6cee71dSXin LI>2 byte&0x0C 0x08 \b, 16 kHz 743b6cee71dSXin LI# channels/options 744b6cee71dSXin LI>3 byte&0xC0 0x00 \b, Stereo 745b6cee71dSXin LI>3 byte&0xC0 0x40 \b, JntStereo 746b6cee71dSXin LI>3 byte&0xC0 0x80 \b, 2x Monaural 747b6cee71dSXin LI>3 byte&0xC0 0xC0 \b, Monaural 748b6cee71dSXin LI#>1 byte ^0x01 \b, Data Verify 749b6cee71dSXin LI#>2 byte &0x02 \b, Packet Pad 750b6cee71dSXin LI#>2 byte &0x01 \b, Custom Flag 751b6cee71dSXin LI#>3 byte &0x08 \b, Copyrighted 752b6cee71dSXin LI#>3 byte &0x04 \b, Original Source 753b6cee71dSXin LI#>3 byte&0x03 1 \b, NR: 50/15 ms 754b6cee71dSXin LI#>3 byte&0x03 3 \b, NR: CCIT J.17 755b6cee71dSXin LI 756b6cee71dSXin LI# MP3, M25A 757b6cee71dSXin LI0 beshort&0xFFFE 0xFFE2 MPEG ADTS, layer III, v2.5 758b6cee71dSXin LI!:mime audio/mpeg 759b6cee71dSXin LI# rate 760b6cee71dSXin LI>2 byte&0xF0 0x10 \b, 8 kbps 761b6cee71dSXin LI>2 byte&0xF0 0x20 \b, 16 kbps 762b6cee71dSXin LI>2 byte&0xF0 0x30 \b, 24 kbps 763b6cee71dSXin LI>2 byte&0xF0 0x40 \b, 32 kbps 764b6cee71dSXin LI>2 byte&0xF0 0x50 \b, 40 kbps 765b6cee71dSXin LI>2 byte&0xF0 0x60 \b, 48 kbps 766b6cee71dSXin LI>2 byte&0xF0 0x70 \b, 56 kbps 767b6cee71dSXin LI>2 byte&0xF0 0x80 \b, 64 kbps 768b6cee71dSXin LI>2 byte&0xF0 0x90 \b, 80 kbps 769b6cee71dSXin LI>2 byte&0xF0 0xA0 \b, 96 kbps 770b6cee71dSXin LI>2 byte&0xF0 0xB0 \b, 112 kbps 771b6cee71dSXin LI>2 byte&0xF0 0xC0 \b, 128 kbps 772b6cee71dSXin LI>2 byte&0xF0 0xD0 \b, 144 kbps 773b6cee71dSXin LI>2 byte&0xF0 0xE0 \b, 160 kbps 774b6cee71dSXin LI# timing 775b6cee71dSXin LI>2 byte&0x0C 0x00 \b, 11.025 kHz 776b6cee71dSXin LI>2 byte&0x0C 0x04 \b, 12 kHz 777b6cee71dSXin LI>2 byte&0x0C 0x08 \b, 8 kHz 778b6cee71dSXin LI# channels/options 779b6cee71dSXin LI>3 byte&0xC0 0x00 \b, Stereo 780b6cee71dSXin LI>3 byte&0xC0 0x40 \b, JntStereo 781b6cee71dSXin LI>3 byte&0xC0 0x80 \b, 2x Monaural 782b6cee71dSXin LI>3 byte&0xC0 0xC0 \b, Monaural 783b6cee71dSXin LI#>1 byte ^0x01 \b, Data Verify 784b6cee71dSXin LI#>2 byte &0x02 \b, Packet Pad 785b6cee71dSXin LI#>2 byte &0x01 \b, Custom Flag 786b6cee71dSXin LI#>3 byte &0x08 \b, Copyrighted 787b6cee71dSXin LI#>3 byte &0x04 \b, Original Source 788b6cee71dSXin LI#>3 byte&0x03 1 \b, NR: 50/15 ms 789b6cee71dSXin LI#>3 byte&0x03 3 \b, NR: CCIT J.17 790b6cee71dSXin LI 791b6cee71dSXin LI# AAC (aka MPEG-2 NBC audio) and MPEG-4 audio 792b6cee71dSXin LI 793b6cee71dSXin LI# Stored AAC streams (instead of the MP4 format) 794b6cee71dSXin LI0 string ADIF MPEG ADIF, AAC 795b6cee71dSXin LI!:mime audio/x-hx-aac-adif 796b6cee71dSXin LI>4 byte &0x80 797b6cee71dSXin LI>>13 byte &0x10 \b, VBR 798b6cee71dSXin LI>>13 byte ^0x10 \b, CBR 799b6cee71dSXin LI>>16 byte&0x1E 0x02 \b, single stream 800b6cee71dSXin LI>>16 byte&0x1E 0x04 \b, 2 streams 801b6cee71dSXin LI>>16 byte&0x1E 0x06 \b, 3 streams 802b6cee71dSXin LI>>16 byte &0x08 \b, 4 or more streams 803b6cee71dSXin LI>>16 byte &0x10 \b, 8 or more streams 804b6cee71dSXin LI>>4 byte &0x80 \b, Copyrighted 805b6cee71dSXin LI>>13 byte &0x40 \b, Original Source 806b6cee71dSXin LI>>13 byte &0x20 \b, Home Flag 807b6cee71dSXin LI>4 byte ^0x80 808b6cee71dSXin LI>>4 byte &0x10 \b, VBR 809b6cee71dSXin LI>>4 byte ^0x10 \b, CBR 810b6cee71dSXin LI>>7 byte&0x1E 0x02 \b, single stream 811b6cee71dSXin LI>>7 byte&0x1E 0x04 \b, 2 streams 812b6cee71dSXin LI>>7 byte&0x1E 0x06 \b, 3 streams 813b6cee71dSXin LI>>7 byte &0x08 \b, 4 or more streams 814b6cee71dSXin LI>>7 byte &0x10 \b, 8 or more streams 815b6cee71dSXin LI>>4 byte &0x40 \b, Original Stream(s) 816b6cee71dSXin LI>>4 byte &0x20 \b, Home Source 817b6cee71dSXin LI 818b6cee71dSXin LI# Live or stored single AAC stream (used with MPEG-2 systems) 819b6cee71dSXin LI0 beshort&0xFFF6 0xFFF0 MPEG ADTS, AAC 820b6cee71dSXin LI!:mime audio/x-hx-aac-adts 821b6cee71dSXin LI>1 byte &0x08 \b, v2 822b6cee71dSXin LI>1 byte ^0x08 \b, v4 823b6cee71dSXin LI# profile 824b6cee71dSXin LI>>2 byte &0xC0 \b LTP 825b6cee71dSXin LI>2 byte&0xc0 0x00 \b Main 826b6cee71dSXin LI>2 byte&0xc0 0x40 \b LC 827b6cee71dSXin LI>2 byte&0xc0 0x80 \b SSR 828b6cee71dSXin LI# timing 829b6cee71dSXin LI>2 byte&0x3c 0x00 \b, 96 kHz 830b6cee71dSXin LI>2 byte&0x3c 0x04 \b, 88.2 kHz 831b6cee71dSXin LI>2 byte&0x3c 0x08 \b, 64 kHz 832b6cee71dSXin LI>2 byte&0x3c 0x0c \b, 48 kHz 833b6cee71dSXin LI>2 byte&0x3c 0x10 \b, 44.1 kHz 834b6cee71dSXin LI>2 byte&0x3c 0x14 \b, 32 kHz 835b6cee71dSXin LI>2 byte&0x3c 0x18 \b, 24 kHz 836b6cee71dSXin LI>2 byte&0x3c 0x1c \b, 22.05 kHz 837b6cee71dSXin LI>2 byte&0x3c 0x20 \b, 16 kHz 838b6cee71dSXin LI>2 byte&0x3c 0x24 \b, 12 kHz 839b6cee71dSXin LI>2 byte&0x3c 0x28 \b, 11.025 kHz 840b6cee71dSXin LI>2 byte&0x3c 0x2c \b, 8 kHz 841b6cee71dSXin LI# channels 842b6cee71dSXin LI>2 beshort&0x01c0 0x0040 \b, monaural 843b6cee71dSXin LI>2 beshort&0x01c0 0x0080 \b, stereo 844b6cee71dSXin LI>2 beshort&0x01c0 0x00c0 \b, stereo + center 845b6cee71dSXin LI>2 beshort&0x01c0 0x0100 \b, stereo+center+LFE 846b6cee71dSXin LI>2 beshort&0x01c0 0x0140 \b, surround 847b6cee71dSXin LI>2 beshort&0x01c0 0x0180 \b, surround + LFE 848b6cee71dSXin LI>2 beshort &0x01C0 \b, surround + side 849b6cee71dSXin LI#>1 byte ^0x01 \b, Data Verify 850b6cee71dSXin LI#>2 byte &0x02 \b, Custom Flag 851b6cee71dSXin LI#>3 byte &0x20 \b, Original Stream 852b6cee71dSXin LI#>3 byte &0x10 \b, Home Source 853b6cee71dSXin LI#>3 byte &0x08 \b, Copyrighted 854b6cee71dSXin LI 855b6cee71dSXin LI# Live MPEG-4 audio streams (instead of RTP FlexMux) 856b6cee71dSXin LI0 beshort&0xFFE0 0x56E0 MPEG-4 LOAS 857b6cee71dSXin LI!:mime audio/x-mp4a-latm 858*ae316d1dSXin LI#>1 beshort&0x1FFF x \b, %u byte packet 859b6cee71dSXin LI>3 byte&0xE0 0x40 860b6cee71dSXin LI>>4 byte&0x3C 0x04 \b, single stream 861b6cee71dSXin LI>>4 byte&0x3C 0x08 \b, 2 streams 862b6cee71dSXin LI>>4 byte&0x3C 0x0C \b, 3 streams 863b6cee71dSXin LI>>4 byte &0x08 \b, 4 or more streams 864b6cee71dSXin LI>>4 byte &0x20 \b, 8 or more streams 865b6cee71dSXin LI>3 byte&0xC0 0 866b6cee71dSXin LI>>4 byte&0x78 0x08 \b, single stream 867b6cee71dSXin LI>>4 byte&0x78 0x10 \b, 2 streams 868b6cee71dSXin LI>>4 byte&0x78 0x18 \b, 3 streams 869b6cee71dSXin LI>>4 byte &0x20 \b, 4 or more streams 870b6cee71dSXin LI>>4 byte &0x40 \b, 8 or more streams 871b6cee71dSXin LI# This magic isn't strong enough (matches plausible ISO-8859-1 text) 872b6cee71dSXin LI#0 beshort 0x4DE1 MPEG-4 LO-EP audio stream 873b6cee71dSXin LI#!:mime audio/x-mp4a-latm 874b6cee71dSXin LI 875b6cee71dSXin LI# Summary: FLI animation format 876b6cee71dSXin LI# Created by: Daniel Quinlan <quinlan@yggdrasil.com> 877b6cee71dSXin LI# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection) 878b6cee71dSXin LI4 leshort 0xAF11 879b6cee71dSXin LI# standard FLI always has 320x200 resolution and 8 bit color 880b6cee71dSXin LI>8 leshort 320 881b6cee71dSXin LI>>10 leshort 200 882b6cee71dSXin LI>>>12 leshort 8 FLI animation, 320x200x8 883b6cee71dSXin LI!:mime video/x-fli 884b6cee71dSXin LI>>>>6 leshort x \b, %d frames 885b6cee71dSXin LI# frame speed is multiple of 1/70s 886b6cee71dSXin LI>>>>16 leshort x \b, %d/70s per frame 887b6cee71dSXin LI 888b6cee71dSXin LI# Summary: FLC animation format 889b6cee71dSXin LI# Created by: Daniel Quinlan <quinlan@yggdrasil.com> 890b6cee71dSXin LI# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection) 891b6cee71dSXin LI4 leshort 0xAF12 892b6cee71dSXin LI# standard FLC always use 8 bit color 893b6cee71dSXin LI>12 leshort 8 FLC animation 894b6cee71dSXin LI!:mime video/x-flc 895b6cee71dSXin LI>>8 leshort x \b, %d 896b6cee71dSXin LI>>10 leshort x \bx%dx8 897b6cee71dSXin LI>>6 uleshort x \b, %d frames 898b6cee71dSXin LI>>16 uleshort x \b, %dms per frame 899b6cee71dSXin LI 900b6cee71dSXin LI# DL animation format 901b6cee71dSXin LI# XXX - collision with most `mips' magic 902b6cee71dSXin LI# 903b6cee71dSXin LI# I couldn't find a real magic number for these, however, this 904b6cee71dSXin LI# -appears- to work. Note that it might catch other files, too, so be 905b6cee71dSXin LI# careful! 906b6cee71dSXin LI# 907b6cee71dSXin LI# Note that title and author appear in the two 20-byte chunks 908b6cee71dSXin LI# at decimal offsets 2 and 22, respectively, but they are XOR'ed with 909b6cee71dSXin LI# 255 (hex FF)! The DL format is really bad. 910b6cee71dSXin LI# 911b6cee71dSXin LI#0 byte 1 DL version 1, medium format (160x100, 4 images/screen) 912b6cee71dSXin LI#!:mime video/x-unknown 913b6cee71dSXin LI#>42 byte x - %d screens, 914b6cee71dSXin LI#>43 byte x %d commands 915b6cee71dSXin LI#0 byte 2 DL version 2 916b6cee71dSXin LI#!:mime video/x-unknown 917b6cee71dSXin LI#>1 byte 1 - large format (320x200,1 image/screen), 918b6cee71dSXin LI#>1 byte 2 - medium format (160x100,4 images/screen), 919b6cee71dSXin LI#>1 byte >2 - unknown format, 920b6cee71dSXin LI#>42 byte x %d screens, 921b6cee71dSXin LI#>43 byte x %d commands 922b6cee71dSXin LI# Based on empirical evidence, DL version 3 have several nulls following the 923b6cee71dSXin LI# \003. Most of them start with non-null values at hex offset 0x34 or so. 924b6cee71dSXin LI#0 string \3\0\0\0\0\0\0\0\0\0\0\0 DL version 3 925b6cee71dSXin LI 926b6cee71dSXin LI# iso 13818 transport stream 927b6cee71dSXin LI# 928b6cee71dSXin LI# from Oskar Schirmer <schirmer@scara.com> Feb 3, 2001 (ISO 13818.1) 929b6cee71dSXin LI# syncbyte 8 bit 0x47 930*ae316d1dSXin LI# 188 bytes per packet 931*ae316d1dSXin LI0 byte 0x47 932*ae316d1dSXin LI>188 byte 0x47 933*ae316d1dSXin LI>>376 byte 0x47 934*ae316d1dSXin LI>>>564 byte 0x47 935*ae316d1dSXin LI>>>>752 byte 0x47 MPEG transport stream data 93648c779cdSXin LI!:mime video/MP2T 937a2dfb722SXin LI!:ext ts 938b6cee71dSXin LI 939898496eeSXin LI# Blu-ray disc Audio-Video MPEG-2 transport stream 940898496eeSXin LI# From: Alexandre Iooss <erdnaxe@crans.org> 941898496eeSXin LI# URL: https://en.wikipedia.org/wiki/MPEG_transport_stream 942898496eeSXin LI# Note: similar to ISO 13818.1 but with 4 extra bytes per packets 943*ae316d1dSXin LI4 byte 0x47 944*ae316d1dSXin LI>196 byte 0x47 945*ae316d1dSXin LI>>388 byte 0x47 946*ae316d1dSXin LI>>>580 byte 0x47 947*ae316d1dSXin LI>>>>772 byte 0x47 BDAV MPEG-2 Transport Stream (M2TS) 948898496eeSXin LI!:mime video/MP2T 949898496eeSXin LI!:ext m2ts/mts 950898496eeSXin LI 951b6cee71dSXin LI# DIF digital video file format <mpruett@sgi.com> 952b6cee71dSXin LI0 belong&0xffffff00 0x1f070000 DIF 953a4d6d3b8SXin LI!:mime video/x-dv 954b6cee71dSXin LI>4 byte &0x01 (DVCPRO) movie file 955b6cee71dSXin LI>4 byte ^0x01 (DV) movie file 956b6cee71dSXin LI>3 byte &0x80 (PAL) 957b6cee71dSXin LI>3 byte ^0x80 (NTSC) 958b6cee71dSXin LI 959b6cee71dSXin LI# MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/> 960b6cee71dSXin LI0 string \x8aMNG MNG video data, 961b6cee71dSXin LI!:mime video/x-mng 962b6cee71dSXin LI>4 belong !0x0d0a1a0a CORRUPTED, 963b6cee71dSXin LI>4 belong 0x0d0a1a0a 964b6cee71dSXin LI>>16 belong x %d x 965b6cee71dSXin LI>>20 belong x %d 966b6cee71dSXin LI 967b6cee71dSXin LI# JNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/> 968b6cee71dSXin LI0 string \x8bJNG JNG video data, 969b6cee71dSXin LI!:mime video/x-jng 970b6cee71dSXin LI>4 belong !0x0d0a1a0a CORRUPTED, 971b6cee71dSXin LI>4 belong 0x0d0a1a0a 972b6cee71dSXin LI>>16 belong x %d x 973b6cee71dSXin LI>>20 belong x %d 974b6cee71dSXin LI 975b6cee71dSXin LI# Vivo video (Wolfram Kleff) 976b6cee71dSXin LI3 string \x0D\x0AVersion:Vivo Vivo video data 977b6cee71dSXin LI 978d38c30c0SXin LI# ABC (alembic.io 3d models) 979d38c30c0SXin LI0 string 0gawa ABC 3d model 980d38c30c0SXin LI 981b6cee71dSXin LI#--------------------------------------------------------------------------- 982b6cee71dSXin LI# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube 983b6cee71dSXin LI# From Mark Sheppard <msheppard@climax.co.uk>, 2002-10-03 984b6cee71dSXin LI# 985b6cee71dSXin LI0 string HVQM4 %s 986b6cee71dSXin LI>6 string >\0 v%s 987b6cee71dSXin LI>0 byte x GameCube movie, 988b6cee71dSXin LI>0x34 ubeshort x %d x 989b6cee71dSXin LI>0x36 ubeshort x %d, 990b6cee71dSXin LI>0x26 ubeshort x %dus, 991b6cee71dSXin LI>0x42 ubeshort 0 no audio 992b6cee71dSXin LI>0x42 ubeshort >0 %dHz audio 993b6cee71dSXin LI 99443a5ec4eSXin LI# From: Stefan A. Haubenthal <polluks@sdf.lonestar.org> 99543a5ec4eSXin LI# Update: Joerg Jenderek 99643a5ec4eSXin LI# URL: https://en.wikipedia.org/wiki/VOB 997b6cee71dSXin LI0 string DVDVIDEO-VTS Video title set, 99843a5ec4eSXin LI!:mime video/x-ifo 99943a5ec4eSXin LI!:ext ifo/bup 1000b6cee71dSXin LI>0x21 byte x v%x 1001b6cee71dSXin LI0 string DVDVIDEO-VMG Video manager, 100243a5ec4eSXin LI!:mime video/x-ifo 100343a5ec4eSXin LI!:ext ifo/bup 1004b6cee71dSXin LI>0x21 byte x v%x 1005b6cee71dSXin LI 100643a5ec4eSXin LI# From: Stefan A. Haubenthal <polluks@sdf.lonestar.org> 100743a5ec4eSXin LI0 string xMovieSetter MovieSetter movie 100843a5ec4eSXin LI0 string xSceneEditor MovieSetter movie 100943a5ec4eSXin LI 1010b6cee71dSXin LI# From: Behan Webster <behanw@websterwood.com> 1011b6cee71dSXin LI# NuppelVideo used by Mythtv (*.nuv) 1012b6cee71dSXin LI# Note: there are two identical stanzas here differing only in the 1013b6cee71dSXin LI# initial string matched. It used to be done with a regex, but we're 1014b6cee71dSXin LI# trying to get rid of those. 1015b6cee71dSXin LI0 string NuppelVideo MythTV NuppelVideo 1016b6cee71dSXin LI>12 string x v%s 1017b6cee71dSXin LI>20 lelong x (%d 1018b6cee71dSXin LI>24 lelong x \bx%d), 1019b6cee71dSXin LI>36 string P \bprogressive, 1020b6cee71dSXin LI>36 string I \binterlaced, 1021b6cee71dSXin LI>40 ledouble x \baspect:%.2f, 1022b6cee71dSXin LI>48 ledouble x \bfps:%.2f 1023b6cee71dSXin LI0 string MythTV MythTV NuppelVideo 1024b6cee71dSXin LI>12 string x v%s 1025b6cee71dSXin LI>20 lelong x (%d 1026b6cee71dSXin LI>24 lelong x \bx%d), 1027b6cee71dSXin LI>36 string P \bprogressive, 1028b6cee71dSXin LI>36 string I \binterlaced, 1029b6cee71dSXin LI>40 ledouble x \baspect:%.2f, 1030b6cee71dSXin LI>48 ledouble x \bfps:%.2f 1031b6cee71dSXin LI 1032b6cee71dSXin LI# MPEG file 1033b6cee71dSXin LI# MPEG sequences 1034b6cee71dSXin LI# FIXME: This section is from the old magic.mime file and needs 1035b6cee71dSXin LI# integrating with the rest 1036b6cee71dSXin LI#0 belong 0x000001BA 1037b6cee71dSXin LI#>4 byte &0x40 1038b6cee71dSXin LI#!:mime video/mp2p 1039b6cee71dSXin LI#>4 byte ^0x40 1040b6cee71dSXin LI#!:mime video/mpeg 1041b6cee71dSXin LI#0 belong 0x000001BB 1042b6cee71dSXin LI#!:mime video/mpeg 1043b6cee71dSXin LI#0 belong 0x000001B0 1044b6cee71dSXin LI#!:mime video/mp4v-es 1045b6cee71dSXin LI#0 belong 0x000001B5 1046b6cee71dSXin LI#!:mime video/mp4v-es 1047b6cee71dSXin LI#0 belong 0x000001B3 1048b6cee71dSXin LI#!:mime video/mpv 1049b6cee71dSXin LI#0 belong&0xFF5FFF10 0x47400010 1050b6cee71dSXin LI#!:mime video/mp2t 1051b6cee71dSXin LI#0 belong 0x00000001 1052b6cee71dSXin LI#>4 byte&0x1F 0x07 1053b6cee71dSXin LI#!:mime video/h264 1054b6cee71dSXin LI 1055b6cee71dSXin LI# Type: Bink Video 1056b6cee71dSXin LI# Extension: .bik 105748c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=Bink_Container 1058b6cee71dSXin LI# From: <hoehle@users.sourceforge.net> 2008-07-18 1059d38c30c0SXin LI0 name bik 1060b6cee71dSXin LI#>4 ulelong x size %d 1061b6cee71dSXin LI>20 ulelong x \b, %d 1062b6cee71dSXin LI>24 ulelong x \bx%d 1063b6cee71dSXin LI>8 ulelong x \b, %d frames 1064b6cee71dSXin LI>32 ulelong x at rate %d/ 1065b6cee71dSXin LI>28 ulelong >1 \b%d 1066b6cee71dSXin LI>40 ulelong =0 \b, no audio 1067b6cee71dSXin LI>40 ulelong !0 \b, %d audio track 1068b6cee71dSXin LI>>40 ulelong !1 \bs 1069b6cee71dSXin LI# follow properties of the first audio track only 1070b6cee71dSXin LI>>48 uleshort x %dHz 1071b6cee71dSXin LI>>51 byte&0x20 0 mono 1072b6cee71dSXin LI>>51 byte&0x20 !0 stereo 1073b6cee71dSXin LI#>>51 byte&0x10 0 FFT 1074b6cee71dSXin LI#>>51 byte&0x10 !0 DCT 1075b6cee71dSXin LI 1076d38c30c0SXin LI0 string BIK 1077d38c30c0SXin LI>3 regex =[bdfghi] Bink Video rev.%s 1078d38c30c0SXin LI>>0 use bik 1079d38c30c0SXin LI 1080d38c30c0SXin LI0 string KB2 1081d38c30c0SXin LI>3 regex =[adfghi] Bink Video 2 rev.%s 1082d38c30c0SXin LI>>0 use bik 1083d38c30c0SXin LI 1084b6cee71dSXin LI# Type: NUT Container 108548c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=NUT 1086b6cee71dSXin LI# From: Adam Buchbinder <adam.buchbinder@gmail.com> 1087b6cee71dSXin LI0 string nut/multimedia\ container\0 NUT multimedia container 1088b6cee71dSXin LI 1089b6cee71dSXin LI# Type: Nullsoft Video (NSV) 109048c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=Nullsoft_Video 1091b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1092b6cee71dSXin LI0 string NSVf Nullsoft Video 1093b6cee71dSXin LI 1094b6cee71dSXin LI# Type: REDCode Video 109548c779cdSXin LI# URL: https://www.red.com/ ; https://wiki.multimedia.cx/index.php?title=REDCode 1096b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1097b6cee71dSXin LI4 string RED1 REDCode Video 1098b6cee71dSXin LI 1099b6cee71dSXin LI# Type: MTV Multimedia File 110048c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=MTV 1101b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1102b6cee71dSXin LI0 string AMVS MTV Multimedia File 1103b6cee71dSXin LI 1104b6cee71dSXin LI# Type: ARMovie 110548c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=ARMovie 1106b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1107b6cee71dSXin LI0 string ARMovie\012 ARMovie 1108b6cee71dSXin LI 1109b6cee71dSXin LI# Type: Interplay MVE Movie 111048c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=Interplay_MVE 1111b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1112b6cee71dSXin LI0 string Interplay\040MVE\040File\032 Interplay MVE Movie 1113b6cee71dSXin LI 1114b6cee71dSXin LI# Type: Windows Television DVR File 111548c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=WTV 1116b6cee71dSXin LI# From: Mike Melanson <mike@mutlimedia.cx> 1117b6cee71dSXin LI# This takes the form of a Windows-style GUID 1118b6cee71dSXin LI0 bequad 0xB7D800203749DA11 1119b6cee71dSXin LI>8 bequad 0xA64E0007E95EAD8D Windows Television DVR Media 1120b6cee71dSXin LI 1121b6cee71dSXin LI# Type: Sega FILM/CPK Multimedia 112248c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=Sega_FILM 1123b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1124b6cee71dSXin LI0 string FILM Sega FILM/CPK Multimedia, 1125b6cee71dSXin LI>32 belong x %d x 1126b6cee71dSXin LI>28 belong x %d 1127b6cee71dSXin LI 1128b6cee71dSXin LI# Type: Nintendo THP Multimedia 112948c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=THP 1130b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1131b6cee71dSXin LI0 string THP\0 Nintendo THP Multimedia 1132b6cee71dSXin LI 1133b6cee71dSXin LI# Type: BBC Dirac Video 113448c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=Dirac 1135b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1136b6cee71dSXin LI0 string BBCD BBC Dirac Video 1137b6cee71dSXin LI 1138b6cee71dSXin LI# Type: RAD Game Tools Smacker Multimedia 113948c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=Smacker 1140b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 1141b6cee71dSXin LI0 string SMK RAD Game Tools Smacker Multimedia 1142b6cee71dSXin LI>3 byte x version %c, 1143b6cee71dSXin LI>4 lelong x %d x 1144b6cee71dSXin LI>8 lelong x %d, 1145b6cee71dSXin LI>12 lelong x %d frames 1146a5d223e6SXin LI 1147a5d223e6SXin LI# Material Exchange Format 1148a5d223e6SXin LI# More information: 1149a5d223e6SXin LI# https://en.wikipedia.org/wiki/Material_Exchange_Format 1150a5d223e6SXin LI# http://www.freemxf.org/ 1151a5d223e6SXin LI0 string \x06\x0e\x2b\x34\x02\x05\x01\x01\x0d\x01\x02\x01\x01\x02 Material exchange container format 1152a5d223e6SXin LI!:ext mxf 1153a5d223e6SXin LI!:mime application/mxf 11542dc4dbb9SEitan Adler 11552dc4dbb9SEitan Adler# Recognize LucasArts Smush video files (cf. 11562dc4dbb9SEitan Adler# https://wiki.multimedia.cx/index.php/Smush) 11572dc4dbb9SEitan Adler0 string ANIM 11582dc4dbb9SEitan Adler>8 string AHDR LucasArts Smush Animation Format (SAN) video 11592dc4dbb9SEitan Adler0 string SANM 11602dc4dbb9SEitan Adler>8 string SHDR LucasArts Smush v2 (SANM) video 116148c779cdSXin LI 116248c779cdSXin LI# Type: Scaleform video 116348c779cdSXin LI# Extension: .usm 116448c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php/USM 116548c779cdSXin LI# From: David Korth <gerbilsoft@gerbilsoft.com> 116648c779cdSXin LI0 string CRID 116748c779cdSXin LI>32 string @UTF Scaleform video 116843a5ec4eSXin LI 116943a5ec4eSXin LI# http://www.jerrysguide.com/tips/demystify-tvs-file-format.html 117043a5ec4eSXin LI0 string TVS\015\012 117143a5ec4eSXin LI>&0 string Version\040 TeamViewer Session File 117243a5ec4eSXin LI>>&0 string x \b, version %s 117343a5ec4eSXin LI 117443a5ec4eSXin LI# SER file format - simple uncompressed video format for astronomical use 117543a5ec4eSXin LI# Initially developed by Lucam Recorder, 117643a5ec4eSXin LI# as of 2021 maintained by Heiko Wilkens, Grischa Hahn 117743a5ec4eSXin LI# Typical extensions: .SER 117843a5ec4eSXin LI# http://www.grischa-hahn.homepage.t-online.de/astro/ser/SER%20Doc%20V3b.pdf 117943a5ec4eSXin LI0 string LUCAM-RECORDER SER video sequence 118043a5ec4eSXin LI!:ext ser 118143a5ec4eSXin LI>18 lelong 0 \b, bayer: mono 118243a5ec4eSXin LI>18 lelong 8 \b, bayer: RGGB 118343a5ec4eSXin LI>18 lelong 9 \b, bayer: GRBG 118443a5ec4eSXin LI>18 lelong 10 \b, bayer: GBRG 118543a5ec4eSXin LI>18 lelong 11 \b, bayer: BGGR 118643a5ec4eSXin LI>18 lelong 16 \b, bayer: CYYM 118743a5ec4eSXin LI>18 lelong 17 \b, bayer: YCMY 118843a5ec4eSXin LI>18 lelong 18 \b, bayer: YMCY 118943a5ec4eSXin LI>18 lelong 19 \b, bayer: MYYC 119043a5ec4eSXin LI>18 lelong 100 \b, bayer: RGB 119143a5ec4eSXin LI>18 lelong 101 \b, bayer: BGR 119243a5ec4eSXin LI>22 lelong 0 \b, big-endian 119343a5ec4eSXin LI>22 lelong 1 \b, little-endian 119443a5ec4eSXin LI>26 lelong x \b, width: %d 119543a5ec4eSXin LI>30 lelong x \b, height: %d 119643a5ec4eSXin LI>34 lelong x \b, %d bit 119743a5ec4eSXin LI>38 lelong x \b, frames: %d 1198898496eeSXin LI 1199898496eeSXin LI# https://wiki.multimedia.cx/index.php/Duck_IVF 1200898496eeSXin LI0 string DKIF Duck IVF video file 1201898496eeSXin LI!:mime video/x-ivf 1202898496eeSXin LI>4 leshort >0 \b, version %d 1203898496eeSXin LI>8 string x \b, codec %s 1204898496eeSXin LI>12 leshort x \b, %d 1205898496eeSXin LI>14 leshort x \bx%d 1206898496eeSXin LI>24 lelong >0 \b, %d frames 1207*ae316d1dSXin LI 1208*ae316d1dSXin LI 1209*ae316d1dSXin LI# libplacebo cache file 1210*ae316d1dSXin LI# https://libplacebo.org 1211*ae316d1dSXin LI0 string pl_cache libplacebo cache 1212*ae316d1dSXin LI>8 ulelong x \b, version %u 1213*ae316d1dSXin LI>12 ulelong =0 \b, empty 1214*ae316d1dSXin LI>12 ulelong =1 \b, 1 entry 1215*ae316d1dSXin LI>12 ulelong >1 \b, %u entries 1216*ae316d1dSXin LI 1217*ae316d1dSXin LI>4 byte 1 \b, version 3.00.00 1218*ae316d1dSXin LI>4 byte 2 \b, version 3.03.00 1219*ae316d1dSXin LI>4 byte 3 \b, version 4.00.00 1220*ae316d1dSXin LI>4 byte 4 \b, version 4.02.00 1221*ae316d1dSXin LI>4 byte 5 \b, version 5.00.00 1222*ae316d1dSXin LI 1223*ae316d1dSXin LI# live2d: file(1) magic for Live2D Cubism file formats 1224*ae316d1dSXin LI# https://www.live2d.com/en/ 1225*ae316d1dSXin LI0 string/4 MOC3 Live2D Cubism MOC3 1226*ae316d1dSXin LI>4 byte 0 \b, SDK version invalid/unknown (%d) 1227*ae316d1dSXin LI>4 byte 1 \b, SDK version 3.0.00 - 3.2.07 (%d) 1228*ae316d1dSXin LI>4 byte 2 \b, SDK version 3.3.00 - 3.3.03 (%d) 1229*ae316d1dSXin LI>4 byte 3 \b, SDK version 4.0.00 - 4.1.05 (%d) 1230*ae316d1dSXin LI>4 byte 4 \b, SDK version 4.2.00 - 4.2.02 (%d) 1231*ae316d1dSXin LI>4 byte 5 \b, SDK version 5.0.00 (%d) 1232*ae316d1dSXin LI>4 byte >5 \b, SDK version unknown (%d) 1233*ae316d1dSXin LI>5 byte 0 \b, little endian 1234*ae316d1dSXin LI>5 byte >0 \b, big endian 1235*ae316d1dSXin LI!:mime application/x-moc3-data 1236*ae316d1dSXin LI!:ext moc3 1237*ae316d1dSXin LI 1238*ae316d1dSXin LI0 string/4 CAFF Live2D Cubism archive 1239*ae316d1dSXin LI>4 ubyte x version %d 1240*ae316d1dSXin LI>&0 ubyte x \b.%d 1241*ae316d1dSXin LI>&1 ubyte x \b.%d 1242*ae316d1dSXin LI>7 string/4 =---- \b, standard format 1243*ae316d1dSXin LI>7 string/4 !---- \b, unknown format (%.4s) 1244*ae316d1dSXin LI>11 ubyte x version %d 1245*ae316d1dSXin LI>&0 ubyte x \b.%d 1246*ae316d1dSXin LI>&1 ubyte x \b.%d 1247*ae316d1dSXin LI>14 belong =0 \b, no obfuscation 1248*ae316d1dSXin LI>14 belong !0 \b, XOR obfuscation key %d 1249*ae316d1dSXin LI!:mime application/x-cubism-archive 1250*ae316d1dSXin LI!:ext cmo3/can3 1251