1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*ae316d1dSXin LI# $File: riff,v 1.50 2024/04/13 16:40:48 christos Exp $ 4b6cee71dSXin LI# riff: file(1) magic for RIFF format 5b6cee71dSXin LI# See 6b6cee71dSXin LI# 748c779cdSXin LI# https://www.seanet.com/users/matts/riffmci/riffmci.htm 858a0f0d0SEitan Adler# http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Docs/riffmci.pdf 943a5ec4eSXin LI# https://www.iana.org/assignments/wave-avi-codec-registry/wave-avi-codec-registry.xml 10b6cee71dSXin LI# 11b6cee71dSXin LI 12b6cee71dSXin LI# audio format tag. Assume limits: max 1024 bit, 128 channels, 1 MHz 13b6cee71dSXin LI0 name riff-wave 1443a5ec4eSXin LI>0 leshort 0x01 \b, Microsoft PCM 15b6cee71dSXin LI>>14 leshort >0 16b6cee71dSXin LI>>>14 leshort <1024 \b, %d bit 1743a5ec4eSXin LI>0 leshort 0x02 \b, Microsoft ADPCM 1843a5ec4eSXin LI>0 leshort 0x03 \b, IEEE Float 1943a5ec4eSXin LI>0 leshort 0x04 \b, Compaq VSELP 2043a5ec4eSXin LI>0 leshort 0x05 \b, IBM CVSD 2143a5ec4eSXin LI>0 leshort 0x06 \b, ITU G.711 A-law 2243a5ec4eSXin LI>0 leshort 0x07 \b, ITU G.711 mu-law 2343a5ec4eSXin LI>0 leshort 0x08 \b, Microsoft DTS 2443a5ec4eSXin LI>0 leshort 0x10 \b, OKI ADPCM 2543a5ec4eSXin LI>0 leshort 0x11 \b, IMA ADPCM 2643a5ec4eSXin LI>0 leshort 0x12 \b, MediaSpace ADPCM 2743a5ec4eSXin LI>0 leshort 0x13 \b, Sierra ADPCM 2843a5ec4eSXin LI>0 leshort 0x14 \b, ITU G.723 ADPCM (Yamaha) 2943a5ec4eSXin LI>0 leshort 0x15 \b, DSP Solutions DIGISTD 3043a5ec4eSXin LI>0 leshort 0x16 \b, DSP Solutions DIGIFIX 3143a5ec4eSXin LI>0 leshort 0x17 \b, Dialogic OKI ADPCM 3243a5ec4eSXin LI>0 leshort 0x18 \b, MediaVision ADPCM 3343a5ec4eSXin LI>0 leshort 0x19 \b, HP CU 3443a5ec4eSXin LI>0 leshort 0x20 \b, Yamaha ADPCM 3543a5ec4eSXin LI>0 leshort 0x21 \b, Speech Compression SONARC 3643a5ec4eSXin LI>0 leshort 0x22 \b, DSP Group True Speech 3743a5ec4eSXin LI>0 leshort 0x23 \b, Echo Speech EchoSC1 3843a5ec4eSXin LI>0 leshort 0x24 \b, AudioFile AF36 3943a5ec4eSXin LI>0 leshort 0x25 \b, APTX 4043a5ec4eSXin LI>0 leshort 0x26 \b, AudioFile AF10 4143a5ec4eSXin LI>0 leshort 0x27 \b, Prosody 1612 4243a5ec4eSXin LI>0 leshort 0x28 \b, LRC 4343a5ec4eSXin LI>0 leshort 0x30 \b, Dolby AC2 4443a5ec4eSXin LI>0 leshort 0x31 \b, GSM 6.10 4543a5ec4eSXin LI>0 leshort 0x32 \b, MSN Audio 4643a5ec4eSXin LI>0 leshort 0x33 \b, Antex ADPCME 4743a5ec4eSXin LI>0 leshort 0x34 \b, Control Res VQLPC 4843a5ec4eSXin LI>0 leshort 0x35 \b, Digireal 4943a5ec4eSXin LI>0 leshort 0x36 \b, DigiADPCM 5043a5ec4eSXin LI>0 leshort 0x37 \b, Control Res CR10 5143a5ec4eSXin LI>0 leshort 0x38 \b, NMS VBXADPCM 5243a5ec4eSXin LI>0 leshort 0x39 \b, Roland RDAC 5343a5ec4eSXin LI>0 leshort 0x3A \b, Echo Speech EchoSC3 5443a5ec4eSXin LI>0 leshort 0x3B \b, Rockwell ADPCM 5543a5ec4eSXin LI>0 leshort 0x3C \b, Rockwell Digitalk 5643a5ec4eSXin LI>0 leshort 0x3D \b, Xebec 5743a5ec4eSXin LI>0 leshort 0x40 \b, ITU G.721 ADPCM 5843a5ec4eSXin LI>0 leshort 0x41 \b, ITU G.728 CELP 5943a5ec4eSXin LI>0 leshort 0x42 \b, MSG723 6043a5ec4eSXin LI>0 leshort 0x50 \b, MPEG 6143a5ec4eSXin LI>0 leshort 0x52 \b, RT24 6243a5ec4eSXin LI>0 leshort 0x53 \b, PAC 6343a5ec4eSXin LI>0 leshort 0x55 \b, MPEG Layer 3 6443a5ec4eSXin LI>0 leshort 0x59 \b, Lucent G.723 6543a5ec4eSXin LI>0 leshort 0x60 \b, Cirrus 6643a5ec4eSXin LI>0 leshort 0x61 \b, ESPCM 6743a5ec4eSXin LI>0 leshort 0x62 \b, Voxware 6843a5ec4eSXin LI>0 leshort 0x63 \b, Canopus Atrac 6943a5ec4eSXin LI>0 leshort 0x64 \b, ITU G.726 ADPCM 7043a5ec4eSXin LI>0 leshort 0x65 \b, ITU G.722 ADPCM 7143a5ec4eSXin LI>0 leshort 0x66 \b, DSAT 7243a5ec4eSXin LI>0 leshort 0x67 \b, DSAT Display 7343a5ec4eSXin LI>0 leshort 0x69 \b, Voxware Byte Aligned 7443a5ec4eSXin LI>0 leshort 0x70 \b, Voxware AC8 7543a5ec4eSXin LI>0 leshort 0x71 \b, Voxware AC10 7643a5ec4eSXin LI>0 leshort 0x72 \b, Voxware AC16 7743a5ec4eSXin LI>0 leshort 0x73 \b, Voxware AC20 7843a5ec4eSXin LI>0 leshort 0x74 \b, Voxware MetaVoice 7943a5ec4eSXin LI>0 leshort 0x75 \b, Voxware MetaSound 8043a5ec4eSXin LI>0 leshort 0x76 \b, Voxware RT29HW 8143a5ec4eSXin LI>0 leshort 0x77 \b, Voxware VR12 8243a5ec4eSXin LI>0 leshort 0x78 \b, Voxware VR18 8343a5ec4eSXin LI>0 leshort 0x79 \b, Voxware TQ40 8443a5ec4eSXin LI>0 leshort 0x80 \b, Softsound 8543a5ec4eSXin LI>0 leshort 0x81 \b, Voxware TQ60 8643a5ec4eSXin LI>0 leshort 0x82 \b, MSRT24 8743a5ec4eSXin LI>0 leshort 0x83 \b, ITU G.729A 8843a5ec4eSXin LI>0 leshort 0x84 \b, MVI MV12 8943a5ec4eSXin LI>0 leshort 0x85 \b, DF G.726 9043a5ec4eSXin LI>0 leshort 0x86 \b, DF GSM610 9143a5ec4eSXin LI>0 leshort 0x88 \b, ISIAudio 9243a5ec4eSXin LI>0 leshort 0x89 \b, Onlive 9343a5ec4eSXin LI>0 leshort 0x91 \b, SBC24 9443a5ec4eSXin LI>0 leshort 0x92 \b, Dolby AC3 S/PDIF 9543a5ec4eSXin LI>0 leshort 0x97 \b, ZyXEL ADPCM 9643a5ec4eSXin LI>0 leshort 0x98 \b, Philips LPCBB 9743a5ec4eSXin LI>0 leshort 0x99 \b, Packed 9843a5ec4eSXin LI>0 leshort 0x100 \b, Rhetorex ADPCM 9943a5ec4eSXin LI>0 leshort 0x101 \b, BeCubed Software IRAT 10043a5ec4eSXin LI>0 leshort 0x111 \b, Vivo G.723 10143a5ec4eSXin LI>0 leshort 0x112 \b, Vivo Siren 10243a5ec4eSXin LI>0 leshort 0x123 \b, Digital G.723 10343a5ec4eSXin LI>0 leshort 0x200 \b, Creative ADPCM 10443a5ec4eSXin LI>0 leshort 0x202 \b, Creative FastSpeech8 10543a5ec4eSXin LI>0 leshort 0x203 \b, Creative FastSpeech10 10643a5ec4eSXin LI>0 leshort 0x220 \b, Quarterdeck 10743a5ec4eSXin LI>0 leshort 0x300 \b, FM Towns Snd 10843a5ec4eSXin LI>0 leshort 0x400 \b, BTV Digital 10943a5ec4eSXin LI>0 leshort 0x680 \b, VME VMPCM 11043a5ec4eSXin LI>0 leshort 0x1000 \b, OLIGSM 11143a5ec4eSXin LI>0 leshort 0x1001 \b, OLIADPCM 11243a5ec4eSXin LI>0 leshort 0x1002 \b, OLICELP 11343a5ec4eSXin LI>0 leshort 0x1003 \b, OLISBC 11443a5ec4eSXin LI>0 leshort 0x1004 \b, OLIOPR 11543a5ec4eSXin LI>0 leshort 0x1100 \b, LH Codec 11643a5ec4eSXin LI>0 leshort 0x1400 \b, Norris 11743a5ec4eSXin LI>0 leshort 0x1401 \b, ISIAudio 11843a5ec4eSXin LI>0 leshort 0x1500 \b, Soundspace Music Compression 11943a5ec4eSXin LI>0 leshort 0x2000 \b, AC3 DVM 120b6cee71dSXin LI>0 leshort 0x2001 \b, DTS 121b6cee71dSXin LI>2 leshort =1 \b, mono 122b6cee71dSXin LI>2 leshort =2 \b, stereo 123b6cee71dSXin LI>2 leshort >2 124b6cee71dSXin LI>>2 leshort <128 \b, %d channels 125b6cee71dSXin LI>4 lelong >0 126b6cee71dSXin LI>>4 lelong <1000000 %d Hz 127b6cee71dSXin LI 128b6cee71dSXin LI# try to find "fmt " 129b6cee71dSXin LI0 name riff-walk 130b6cee71dSXin LI>0 string fmt\x20 13143a5ec4eSXin LI>>4 lelong >15 132b6cee71dSXin LI>>>8 use riff-wave 133b6cee71dSXin LI>0 string LIST 134b6cee71dSXin LI>>&(4.l+4) use riff-walk 135b6cee71dSXin LI>0 string DISP 136b6cee71dSXin LI>>&(4.l+4) use riff-walk 137b6cee71dSXin LI>0 string bext 138b6cee71dSXin LI>>&(4.l+4) use riff-walk 139b6cee71dSXin LI>0 string Fake 140b6cee71dSXin LI>>&(4.l+4) use riff-walk 141b6cee71dSXin LI>0 string fact 142b6cee71dSXin LI>>&(4.l+4) use riff-walk 143*ae316d1dSXin LI# https://developers.google.com/speed/webp/docs/riff_container 144*ae316d1dSXin LI>0 string VP8\x20 145c2931133SXin LI>>11 byte 0x9d 146c2931133SXin LI>>>12 byte 0x01 147c2931133SXin LI>>>>13 byte 0x2a \b, VP8 encoding 148c2931133SXin LI>>>>>14 leshort&0x3fff x \b, %d 149c2931133SXin LI>>>>>16 leshort&0x3fff x \bx%d, Scaling: 150c2931133SXin LI>>>>>14 leshort&0xc000 0x0000 \b [none] 151*ae316d1dSXin LI>>>>>14 leshort&0xc000 0x4000 \b [5/4] 152*ae316d1dSXin LI>>>>>14 leshort&0xc000 0x8000 \b [5/3] 153*ae316d1dSXin LI>>>>>14 leshort&0xc000 0xc000 \b [2] 154*ae316d1dSXin LI>>>>>16 leshort&0xc000 0x0000 \bx[none] 155*ae316d1dSXin LI>>>>>16 leshort&0xc000 0x4000 \bx[5/4] 156*ae316d1dSXin LI>>>>>16 leshort&0xc000 0x8000 \bx[5/3] 157*ae316d1dSXin LI>>>>>16 leshort&0xc000 0xc000 \bx[2] 158c2931133SXin LI>>>>>15 byte&0x80 =0x00 \b, YUV color 159c2931133SXin LI>>>>>15 byte&0x80 =0x80 \b, bad color specification 160c2931133SXin LI>>>>>15 byte&0x40 =0x40 \b, no clamping required 161c2931133SXin LI>>>>>15 byte&0x40 =0x00 \b, decoders should clamp 162*ae316d1dSXin LI>0 string VP8L 163*ae316d1dSXin LI>>8 byte 0x2f \b, lossless 164*ae316d1dSXin LI>>>11 byte &0x01 \b, with alpha 165*ae316d1dSXin LI>0 string VP8X 166*ae316d1dSXin LI>>4 lelong 0x0a 167*ae316d1dSXin LI>>>8 byte &0x02 \b, animated 168*ae316d1dSXin LI>>>8 byte &0x04 \b, XMP metadata 169*ae316d1dSXin LI>>>8 byte &0x08 \b, EXIF metadata 170*ae316d1dSXin LI>>>8 byte &0x10 \b, with alpha 171*ae316d1dSXin LI>>>8 byte &0x20 \b, ICC profile 172*ae316d1dSXin LI# TODO: These two values are off-by-one, for a 64x64 WebP they contain 173*ae316d1dSXin LI# 63x63 as there can be no 0x0 file. 174*ae316d1dSXin LI>>>12 lelong&0xffffff x \b, %d+1 175*ae316d1dSXin LI>>>15 lelong&0xffffff x \bx%d+1 176c2931133SXin LI#>0 string x we got %s 177c2931133SXin LI#>>&(4.l+4) use riff-walk 178b6cee71dSXin LI 179a4d6d3b8SXin LI# RecorderGear TR500 call recorder digits (BCD) 180a4d6d3b8SXin LI0 name tr500-call-recorder-digits 181a4d6d3b8SXin LI>0 byte&0xF0 0x00 \b0 182a4d6d3b8SXin LI>0 byte&0xF0 0x10 \b1 183a4d6d3b8SXin LI>0 byte&0xF0 0x20 \b2 184a4d6d3b8SXin LI>0 byte&0xF0 0x30 \b3 185a4d6d3b8SXin LI>0 byte&0xF0 0x40 \b4 186a4d6d3b8SXin LI>0 byte&0xF0 0x50 \b5 187a4d6d3b8SXin LI>0 byte&0xF0 0x60 \b6 188a4d6d3b8SXin LI>0 byte&0xF0 0x70 \b7 189a4d6d3b8SXin LI>0 byte&0xF0 0x80 \b8 190a4d6d3b8SXin LI>0 byte&0xF0 0x90 \b9 191a4d6d3b8SXin LI>0 byte&0xF0 0xb0 \b* 192a4d6d3b8SXin LI>0 byte&0xF0 0xc0 \b# 193a4d6d3b8SXin LI>0 byte&0x0F 0 \b0 194a4d6d3b8SXin LI>0 byte&0x0F 1 \b1 195a4d6d3b8SXin LI>0 byte&0x0F 2 \b2 196a4d6d3b8SXin LI>0 byte&0x0F 3 \b3 197a4d6d3b8SXin LI>0 byte&0x0F 4 \b4 198a4d6d3b8SXin LI>0 byte&0x0F 5 \b5 199a4d6d3b8SXin LI>0 byte&0x0F 6 \b6 200a4d6d3b8SXin LI>0 byte&0x0F 7 \b7 201a4d6d3b8SXin LI>0 byte&0x0F 8 \b8 202a4d6d3b8SXin LI>0 byte&0x0F 9 \b9 203a4d6d3b8SXin LI>0 byte&0x0F 0xb \b* 204a4d6d3b8SXin LI>0 byte&0x0F 0xc \b# 205a4d6d3b8SXin LI 206a4d6d3b8SXin LI# TR500 call recorder extended header 207a4d6d3b8SXin LI# From: David Korth <gerbilsoft@gerbilsoft.com> 208a4d6d3b8SXin LI# Contains dialed/incoming phone number and timestamp. 209a4d6d3b8SXin LI# TODO: Verify byte 15. 210a4d6d3b8SXin LI0 name tr500-call-recorder-header 211a4d6d3b8SXin LI>15 byte 2 (outgoing call: 212a4d6d3b8SXin LI>15 byte 4 (incoming call: 213a4d6d3b8SXin LI>1 byte 0xFF \bno number 214a4d6d3b8SXin LI>1 byte !0xFF 215a4d6d3b8SXin LI>>1 use tr500-call-recorder-digits 216a4d6d3b8SXin LI>>2 byte !0xFF 217a4d6d3b8SXin LI>>>2 use tr500-call-recorder-digits 218a4d6d3b8SXin LI>>3 byte !0xFF 219a4d6d3b8SXin LI>>>3 use tr500-call-recorder-digits 220a4d6d3b8SXin LI>>4 byte !0xFF 221a4d6d3b8SXin LI>>>4 use tr500-call-recorder-digits 222a4d6d3b8SXin LI>>5 byte !0xFF 223a4d6d3b8SXin LI>>>5 use tr500-call-recorder-digits 224a4d6d3b8SXin LI>>6 byte !0xFF 225a4d6d3b8SXin LI>>>6 use tr500-call-recorder-digits 226a4d6d3b8SXin LI>>7 byte !0xFF 227a4d6d3b8SXin LI>>>7 use tr500-call-recorder-digits 228a4d6d3b8SXin LI>>8 byte !0xFF 229a4d6d3b8SXin LI>>>8 use tr500-call-recorder-digits 230a4d6d3b8SXin LI>9 byte x \b, 20%02x 231a4d6d3b8SXin LI>10 byte x \b/%02x 232a4d6d3b8SXin LI>11 byte x \b/%02x 233a4d6d3b8SXin LI>12 byte x %02x 234a4d6d3b8SXin LI>13 byte x \b:%02x 235a4d6d3b8SXin LI>14 byte x \b:%02x) 236a4d6d3b8SXin LI 237b6cee71dSXin LI# AVI section extended by Patrik Radman <patrik+file-magic@iki.fi> 238b6cee71dSXin LI# 239b6cee71dSXin LI0 string RIFF RIFF (little-endian) data 240b6cee71dSXin LI# RIFF Palette format 24158a0f0d0SEitan Adler# Update: Joerg Jenderek 24258a0f0d0SEitan Adler# URL: https://en.wikipedia.org/wiki/Resource_Interchange_File_Format 24348c779cdSXin LI# Reference: https://worms2d.info/Palette_file 24443a5ec4eSXin LI# WAVE/AVI codec registry: https://www.iana.org/assignments/wave-avi-codec-registry/wave-avi-codec-registry.xml 24558a0f0d0SEitan Adler>8 string PAL\ \b, palette 24658a0f0d0SEitan Adler!:mime application/x-riff 24758a0f0d0SEitan Adler# color palette by Microsoft Corporation 24858a0f0d0SEitan Adler!:ext pal 24958a0f0d0SEitan Adler# file size = chunk size + 8 in most cases 25058a0f0d0SEitan Adler>>4 ulelong+8 x \b, %u bytes 25158a0f0d0SEitan Adler# Extended PAL Format 25258a0f0d0SEitan Adler>>12 string plth \b, extended 25358a0f0d0SEitan Adler# Simple PAL Format 25458a0f0d0SEitan Adler>>12 string data 25558a0f0d0SEitan Adler# data chunk size = color entries * 4 + 4 + sometimes extra (4) appended bytes 25658a0f0d0SEitan Adler>>>16 ulelong x \b, data size %u 25758a0f0d0SEitan Adler# palVersion is always 0x0300 25843a5ec4eSXin LI#>>>20 leshort x \b, version %#4.4x 25958a0f0d0SEitan Adler# palNumEntries specifies the number of palette color entries 26058a0f0d0SEitan Adler>>>22 uleshort x \b, %u entries 26158a0f0d0SEitan Adler# after palPalEntry sized (number of color entries * 4 ) vector 26258a0f0d0SEitan Adler>>>(22.s*4) ubequad x 26358a0f0d0SEitan Adler# jump relative 22 ( 8 + 16) bytes forward points after end of file or to 26458a0f0d0SEitan Adler# appended extra bytes like in http://safecolours.rigdenage.com/set(ms).zip/Protan(MS).pal 26558a0f0d0SEitan Adler>>>>&16 ubelong x \b, extra bytes 26643a5ec4eSXin LI>>>>>&-4 ubelong >0 %#8.8x 267b6cee71dSXin LI# RIFF Device Independent Bitmap format 26843a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/RDIB 269b6cee71dSXin LI>8 string RDIB \b, device-independent bitmap 27043a5ec4eSXin LI!:ext rdi/dib 271b6cee71dSXin LI>>16 string BM 272b6cee71dSXin LI>>>30 leshort 12 \b, OS/2 1.x format 273b6cee71dSXin LI>>>>34 leshort x \b, %d x 274b6cee71dSXin LI>>>>36 leshort x %d 275b6cee71dSXin LI>>>30 leshort 64 \b, OS/2 2.x format 276b6cee71dSXin LI>>>>34 leshort x \b, %d x 277b6cee71dSXin LI>>>>36 leshort x %d 278b6cee71dSXin LI>>>30 leshort 40 \b, Windows 3.x format 279b6cee71dSXin LI>>>>34 lelong x \b, %d x 280b6cee71dSXin LI>>>>38 lelong x %d x 281b6cee71dSXin LI>>>>44 leshort x %d 282b6cee71dSXin LI# RIFF MIDI format 28343a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/RIFF_MIDI 284b6cee71dSXin LI>8 string RMID \b, MIDI 28543a5ec4eSXin LI# http://extension.nirsoft.net/rmi 28643a5ec4eSXin LI!:mime audio/mid 28743a5ec4eSXin LI#!:mime audio/x-rmid 28843a5ec4eSXin LI!:ext rmi 289b6cee71dSXin LI# RIFF Multimedia Movie File format 29043a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/RIFF_Multimedia_Movie 291b6cee71dSXin LI>8 string RMMP \b, multimedia movie 29243a5ec4eSXin LI!:mime video/x-mmm 29343a5ec4eSXin LI!:ext mmm 294b6cee71dSXin LI# RIFF wrapper for MP3 295b6cee71dSXin LI>8 string RMP3 \b, MPEG Layer 3 audio 29643a5ec4eSXin LI#!:mime audio/x-rmp3 297b6cee71dSXin LI# Microsoft WAVE format (*.wav) 29843a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/WAV 299b6cee71dSXin LI>8 string WAVE \b, WAVE audio 30043a5ec4eSXin LI#!:mime audio/vnd.wave 301b6cee71dSXin LI!:mime audio/x-wav 30243a5ec4eSXin LI# https://www.macdisk.com/macsigen.php 30343a5ec4eSXin LI#!:apple ????WAVE 30443a5ec4eSXin LI!:ext wav/wave 305b6cee71dSXin LI>>12 string >\0 306b6cee71dSXin LI>>>12 use riff-walk 307a4d6d3b8SXin LI# TR500 call recorder extended header 308a4d6d3b8SXin LI>>16 ulelong 0x1E4 309a4d6d3b8SXin LI>>>20 leshort 0x11 310a4d6d3b8SXin LI>>>>256 byte 4 311a4d6d3b8SXin LI>>>>>256 use tr500-call-recorder-header 3122726a701SXin LI# Update: Joerg Jenderek 3132726a701SXin LI# lower case for Corel Draw version 8 Bidi 3142726a701SXin LI>8 string/c cdr 3152726a701SXin LI# skip Corel CCX Clipart 3162726a701SXin LI>>8 string !CDRXcont 317b6cee71dSXin LI# Corel Draw Picture 3182726a701SXin LI>>>0 use corel-draw 3192726a701SXin LI# URL: http://fileformats.archiveteam.org/wiki/CCX_(Corel) 3202726a701SXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/c/ccx-corel.trid.xml 3212726a701SXin LI>>8 string =CDRXcont \b, Corel Clipart 3222726a701SXin LI!:mime application/x-corel-ccx 3232726a701SXin LI!:ext ccx 3242726a701SXin LI# 3rd chunk data {Corel\040Binary\040Meta\040File} 3252726a701SXin LI#>>>20 string x \b, 3rd '%-s' 3262726a701SXin LI>>>4 ulelong+8 x \b, %u bytes 3272726a701SXin LI# From: Joerg Jenderek 3282726a701SXin LI# URL: https://en.wikipedia.org/wiki/CorelDRAW 3292726a701SXin LI# Reference: http://fileformats.archiveteam.org/wiki/CorelDRAW 3302726a701SXin LI# Picture templates created by newer software start with RIFF type CDT 3312726a701SXin LI>8 string CDT 3322726a701SXin LI>>0 use corel-draw 3332726a701SXin LI# Picture templates with version 4.4 3342726a701SXin LI>8 string CDST 3352726a701SXin LI>>0 use corel-draw 3362726a701SXin LI# pattern created by newer software start with RIFF type PAT 3372726a701SXin LI>8 string PAT 3382726a701SXin LI>>0 use corel-draw 33943a5ec4eSXin LI# From: Joerg Jenderek 34043a5ec4eSXin LI# URL: https://en.wikipedia.org/wiki/Corel_Designer 34143a5ec4eSXin LI# Reference: http://fileformats.archiveteam.org/wiki/Corel_Designer 34243a5ec4eSXin LI>8 string DES 34343a5ec4eSXin LI>>8 string !DESC 34443a5ec4eSXin LI>>>0 use corel-des 34543a5ec4eSXin LI# Corel Draw templates with version 12.5 or Corel Designer illustration 12 34643a5ec4eSXin LI>>8 string =DESC 34743a5ec4eSXin LI# MORE TESTS NEEDED HERE! 34843a5ec4eSXin LI#>>>0 use corel-des 34943a5ec4eSXin LI#>>>0 use corel-draw 350*ae316d1dSXin LI# From: Joerg Jenderek 351*ae316d1dSXin LI# URL: http://fileformats.archiveteam.org/wiki/SHW_(Corel) 352*ae316d1dSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/s/shw-corel.trid.xml 353*ae316d1dSXin LI# Note: called "CorelSHOW presentation (v4)" by TrID 354*ae316d1dSXin LI# and "Corel Presentation" by DROID via PUID fmt/877 355*ae316d1dSXin LI>8 string shw4 \b, CorelSHOW presentation, version 4 356*ae316d1dSXin LI#!:mime application/octet-stream 357*ae316d1dSXin LI!:mime application/x-corel-shw 358*ae316d1dSXin LI!:ext shw 359*ae316d1dSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/s/shw-corel-5.trid.xml 360*ae316d1dSXin LI# Note: called "CorelSHOW presentation (v5)" by TrID 361*ae316d1dSXin LI>8 string shw5 \b, CorelSHOW presentation, version 5 362*ae316d1dSXin LI#!:mime application/octet-stream 363*ae316d1dSXin LI!:mime application/x-corel-shw 364*ae316d1dSXin LI!:ext shw 365*ae316d1dSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/s/shb-corel.trid.xml 366*ae316d1dSXin LI# Note: called "CorelSHOW Background (v5)" by TrID 367*ae316d1dSXin LI>8 string shl5 \b, CorelSHOW Background, version 5 368*ae316d1dSXin LI#!:mime application/octet-stream 369*ae316d1dSXin LI!:mime application/x-corel-shb 370*ae316d1dSXin LI# GRR: no example 371*ae316d1dSXin LI!:ext shb 372*ae316d1dSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/s/shr-corel.trid.xml 373*ae316d1dSXin LI# Note: called "CorelSHOW player data (v5)" by TrID 374*ae316d1dSXin LI>8 string shr5 \b, CorelSHOW player data, version 5 375*ae316d1dSXin LI#!:mime application/octet-stream 376*ae316d1dSXin LI!:mime application/x-corel-shr 377*ae316d1dSXin LI# GRR: no example 378*ae316d1dSXin LI!:ext shr 379b6cee71dSXin LI>8 string NUNDROOT \b, Steinberg CuBase 380a2dfb722SXin LI# From: Joerg Jenderek 381a2dfb722SXin LI# URL: http://fileformats.archiveteam.org/wiki/MIDI_Instrument_Definition_File 382a2dfb722SXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/i/idf.trid.xml 383a2dfb722SXin LI# ftp://curscott.servebeer.com/Download/Apps/_Microsoft/ 384a2dfb722SXin LI# Visual%20Studio%206.0%20Professional%20MSDN/ 385a2dfb722SXin LI# SAMPLES/VC98/SDK/GRAPHICS/AUDIO/IDFEDIT/GLOBALS.H 386a2dfb722SXin LI# Note: called "MIDI Instrument Definition File" by TrID 387a2dfb722SXin LI>8 string IDF\ LIST \b, MIDI Instrument Definition File 388a2dfb722SXin LI!:mime audio/x-idf 389a2dfb722SXin LI!:ext idf 390a2dfb722SXin LI# 3rd chunk size like: 254 284 286 670 391a2dfb722SXin LI#>>0x10 ulelong x \b, 3th SIZE %u 392a2dfb722SXin LI# for debugging purpose display next chunk like: MMAPhdr 393a2dfb722SXin LI#>>0x14 string x \b, 4th "%-8.8s" 394a2dfb722SXin LI#>>0x1C ulelong x \b, 4th SIZE 0x%x 395a2dfb722SXin LI# probably MIDI instrument name like: "Universal-MIDI-Instrument" "instrument name" "General MIDI" 396a2dfb722SXin LI>>0x30 string x "%s" 397a2dfb722SXin LI# look for inst TAG 398a2dfb722SXin LI>>0x31 search/256 inst by 399a2dfb722SXin LI# probably manufacture name like: "Unspecified Company" "NVidia Corporation" 400a2dfb722SXin LI>>>&0x24 string x "%s" 401*ae316d1dSXin LI# From: Joerg Jenderek 402*ae316d1dSXin LI# URL: https://en.wikipedia.org/wiki/Microsoft_Flight_Simulator 403*ae316d1dSXin LI# Reference: https://www.fsdeveloper.com/wiki/index.php?title=MDL_file_format_(FSX) 404*ae316d1dSXin LI# http://mark0.net/download/triddefs_xml.7z/defs/m/mdl-fs-gen.trid.xml 405*ae316d1dSXin LI# Note: called "Microsoft Flight Simulator 3D model (generic)" by TrID 406*ae316d1dSXin LI>8 string MDL 407*ae316d1dSXin LI>>12 string MDLH \b, Microsoft Flight Simulator 3D model 408*ae316d1dSXin LI#!:mime application/x-riff 409*ae316d1dSXin LI!:mime application/x-ms-mdl 410*ae316d1dSXin LI!:ext mdl 411*ae316d1dSXin LI#>>>8 string MDL8 \b, version 8? 412b6cee71dSXin LI# AVI == Audio Video Interleave 41343a5ec4eSXin LI# Reference: http://fileformats.archiveteam.org/wiki/AVI 414b6cee71dSXin LI>8 string AVI\040 \b, AVI 41543a5ec4eSXin LI# https://reposcope.com/mimetype/video/x-msvideo 416b6cee71dSXin LI!:mime video/x-msvideo 41743a5ec4eSXin LI# https://www.iana.org/assignments/wave-avi-codec-registry/wave-avi-codec-registry.xml 41843a5ec4eSXin LI#!:mime video/vnd.avi 41943a5ec4eSXin LI!:ext avi/divx 420b6cee71dSXin LI>>12 string LIST 421b6cee71dSXin LI>>>20 string hdrlavih 422b6cee71dSXin LI>>>>&36 lelong x \b, %u x 423b6cee71dSXin LI>>>>&40 lelong x %u, 424b6cee71dSXin LI>>>>&4 lelong >1000000 <1 fps, 425b6cee71dSXin LI>>>>&4 lelong 1000000 1.00 fps, 426b6cee71dSXin LI>>>>&4 lelong 500000 2.00 fps, 427b6cee71dSXin LI>>>>&4 lelong 333333 3.00 fps, 428b6cee71dSXin LI>>>>&4 lelong 250000 4.00 fps, 429b6cee71dSXin LI>>>>&4 lelong 200000 5.00 fps, 430b6cee71dSXin LI>>>>&4 lelong 166667 6.00 fps, 431b6cee71dSXin LI>>>>&4 lelong 142857 7.00 fps, 432b6cee71dSXin LI>>>>&4 lelong 125000 8.00 fps, 433b6cee71dSXin LI>>>>&4 lelong 111111 9.00 fps, 434b6cee71dSXin LI>>>>&4 lelong 100000 10.00 fps, 435b6cee71dSXin LI# ]9.9,10.1[ 436b6cee71dSXin LI>>>>&4 lelong <101010 437b6cee71dSXin LI>>>>>&-4 lelong >99010 438b6cee71dSXin LI>>>>>>&-4 lelong !100000 ~10 fps, 439b6cee71dSXin LI>>>>&4 lelong 83333 12.00 fps, 440b6cee71dSXin LI# ]11.9,12.1[ 441b6cee71dSXin LI>>>>&4 lelong <84034 442b6cee71dSXin LI>>>>>&-4 lelong >82645 443b6cee71dSXin LI>>>>>>&-4 lelong !83333 ~12 fps, 444b6cee71dSXin LI>>>>&4 lelong 66667 15.00 fps, 445b6cee71dSXin LI# ]14.9,15.1[ 446b6cee71dSXin LI>>>>&4 lelong <67114 447b6cee71dSXin LI>>>>>&-4 lelong >66225 448b6cee71dSXin LI>>>>>>&-4 lelong !66667 ~15 fps, 449b6cee71dSXin LI>>>>&4 lelong 50000 20.00 fps, 450b6cee71dSXin LI>>>>&4 lelong 41708 23.98 fps, 451b6cee71dSXin LI>>>>&4 lelong 41667 24.00 fps, 452b6cee71dSXin LI# ]23.9,24.1[ 453b6cee71dSXin LI>>>>&4 lelong <41841 454b6cee71dSXin LI>>>>>&-4 lelong >41494 455b6cee71dSXin LI>>>>>>&-4 lelong !41708 456b6cee71dSXin LI>>>>>>>&-4 lelong !41667 ~24 fps, 457b6cee71dSXin LI>>>>&4 lelong 40000 25.00 fps, 458b6cee71dSXin LI# ]24.9,25.1[ 459b6cee71dSXin LI>>>>&4 lelong <40161 460b6cee71dSXin LI>>>>>&-4 lelong >39841 461b6cee71dSXin LI>>>>>>&-4 lelong !40000 ~25 fps, 462b6cee71dSXin LI>>>>&4 lelong 33367 29.97 fps, 463b6cee71dSXin LI>>>>&4 lelong 33333 30.00 fps, 464b6cee71dSXin LI# ]29.9,30.1[ 465b6cee71dSXin LI>>>>&4 lelong <33445 466b6cee71dSXin LI>>>>>&-4 lelong >33223 467b6cee71dSXin LI>>>>>>&-4 lelong !33367 468b6cee71dSXin LI>>>>>>>&-4 lelong !33333 ~30 fps, 469b6cee71dSXin LI>>>>&4 lelong <32224 >30 fps, 470b6cee71dSXin LI##>>>>&4 lelong x (%lu) 471b6cee71dSXin LI##>>>>&20 lelong x %lu frames, 472b6cee71dSXin LI# Note: The tests below assume that the AVI has 1 or 2 streams, 473b6cee71dSXin LI# "vids" optionally followed by "auds". 474b6cee71dSXin LI# (Should cover 99.9% of all AVIs.) 475b6cee71dSXin LI# assuming avih length = 56 476b6cee71dSXin LI>>>88 string LIST 477b6cee71dSXin LI>>>>96 string strlstrh 478b6cee71dSXin LI>>>>>108 string vids video: 479b6cee71dSXin LI>>>>>>&0 lelong 0 uncompressed 480b6cee71dSXin LI# skip past vids strh 481b6cee71dSXin LI>>>>>>(104.l+108) string strf 482b6cee71dSXin LI>>>>>>>(104.l+132) lelong 1 RLE 8bpp 48343a5ec4eSXin LI>>>>>>>(104.l+132) string/c anim Intel RDX 48443a5ec4eSXin LI>>>>>>>(104.l+132) string/c aur2 AuraVision Aura 2 48543a5ec4eSXin LI>>>>>>>(104.l+132) string/c aura AuraVision Aura 48643a5ec4eSXin LI>>>>>>>(104.l+132) string/c bt20 Brooktree MediaStream 48743a5ec4eSXin LI>>>>>>>(104.l+132) string/c btcv Brooktree Composite Video 48843a5ec4eSXin LI>>>>>>>(104.l+132) string/c cc12 Intel YUV12 48943a5ec4eSXin LI>>>>>>>(104.l+132) string/c cdvc Canopus DV 49043a5ec4eSXin LI>>>>>>>(104.l+132) string/c cham Winnov Caviara Cham 49143a5ec4eSXin LI>>>>>>>(104.l+132) string/c cljr Proprietary YUV 4 pixels 49243a5ec4eSXin LI>>>>>>>(104.l+132) string/c cmyk Common Data Format in Printing 49343a5ec4eSXin LI>>>>>>>(104.l+132) string/c cpla Weitek 4:2:0 YUV Planar 494b6cee71dSXin LI>>>>>>>(104.l+132) string/c cvid Cinepak 49543a5ec4eSXin LI>>>>>>>(104.l+132) string/c cwlt Microsoft Color WLT DIB 49643a5ec4eSXin LI>>>>>>>(104.l+132) string/c cyuv Creative Labs YUV 49743a5ec4eSXin LI>>>>>>>(104.l+132) string/c d261 H.261 49843a5ec4eSXin LI>>>>>>>(104.l+132) string/c d263 H.263 49943a5ec4eSXin LI>>>>>>>(104.l+132) string/c duck TrueMotion 1.0 50043a5ec4eSXin LI>>>>>>>(104.l+132) string/c dve2 DVE-2 Videoconferencing 50143a5ec4eSXin LI>>>>>>>(104.l+132) string/c fljp Field Encoded Motion JPEG 50243a5ec4eSXin LI>>>>>>>(104.l+132) string/c fvf1 Fractal Video Frame 50343a5ec4eSXin LI>>>>>>>(104.l+132) string/c gwlt Microsoft Greyscale WLT DIB 50443a5ec4eSXin LI>>>>>>>(104.l+132) string/c h260 H.260 50543a5ec4eSXin LI>>>>>>>(104.l+132) string/c h261 H.261 50643a5ec4eSXin LI>>>>>>>(104.l+132) string/c h262 H.262 50743a5ec4eSXin LI>>>>>>>(104.l+132) string/c h263 H.263 50843a5ec4eSXin LI>>>>>>>(104.l+132) string/c h264 H.264 50943a5ec4eSXin LI>>>>>>>(104.l+132) string/c h265 H.265 51043a5ec4eSXin LI>>>>>>>(104.l+132) string/c h266 H.266 51143a5ec4eSXin LI>>>>>>>(104.l+132) string/c h267 H.267 51243a5ec4eSXin LI>>>>>>>(104.l+132) string/c h268 H.268 51343a5ec4eSXin LI>>>>>>>(104.l+132) string/c h269 H.269 514b6cee71dSXin LI>>>>>>>(104.l+132) string/c i263 Intel I.263 51543a5ec4eSXin LI>>>>>>>(104.l+132) string/c i420 Intel Indeo 4 51643a5ec4eSXin LI>>>>>>>(104.l+132) string/c ian Intel RDX 51743a5ec4eSXin LI>>>>>>>(104.l+132) string/c iclb CellB Videoconferencing Codec 51843a5ec4eSXin LI>>>>>>>(104.l+132) string/c ilvc Intel Layered Video 51943a5ec4eSXin LI>>>>>>>(104.l+132) string/c ilvr ITU-T H.263+ 52043a5ec4eSXin LI>>>>>>>(104.l+132) string/c iraw Intel YUV Uncompressed 52143a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv30 Intel Indeo 3 52243a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv31 Intel Indeo 3.1 52343a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv32 Intel Indeo 3.2 52443a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv33 Intel Indeo 3.3 52543a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv34 Intel Indeo 3.4 52643a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv35 Intel Indeo 3.5 52743a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv36 Intel Indeo 3.6 52843a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv37 Intel Indeo 3.7 52943a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv38 Intel Indeo 3.8 53043a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv39 Intel Indeo 3.9 53143a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv40 Intel Indeo 4.0 53243a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv41 Intel Indeo 4.1 53343a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv42 Intel Indeo 4.2 53443a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv43 Intel Indeo 4.3 53543a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv44 Intel Indeo 4.4 53643a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv45 Intel Indeo 4.5 53743a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv46 Intel Indeo 4.6 53843a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv47 Intel Indeo 4.7 53943a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv48 Intel Indeo 4.8 54043a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv49 Intel Indeo 4.9 54143a5ec4eSXin LI>>>>>>>(104.l+132) string/c iv50 Intel Indeo 5.0 54243a5ec4eSXin LI>>>>>>>(104.l+132) string/c mpeg MPEG 1 Video Frame 54343a5ec4eSXin LI>>>>>>>(104.l+132) string/c mjpg Motion JPEG 544b6cee71dSXin LI>>>>>>>(104.l+132) string/c mp42 Microsoft MPEG-4 v2 545b6cee71dSXin LI>>>>>>>(104.l+132) string/c mp43 Microsoft MPEG-4 v3 54643a5ec4eSXin LI>>>>>>>(104.l+132) string/c mrca MR Codec 54743a5ec4eSXin LI>>>>>>>(104.l+132) string/c mrle Run Length Encoding 54843a5ec4eSXin LI>>>>>>>(104.l+132) string/c msvc Microsoft Video 1 54943a5ec4eSXin LI>>>>>>>(104.l+132) string/c phmo Photomotion 55043a5ec4eSXin LI>>>>>>>(104.l+132) string/c qpeq QPEG 1.1 Format Video 55143a5ec4eSXin LI>>>>>>>(104.l+132) string/c rgbt RGBT 55243a5ec4eSXin LI>>>>>>>(104.l+132) string/c rle4 Run Length Encoded 4 55343a5ec4eSXin LI>>>>>>>(104.l+132) string/c rle8 Run Length Encoded 8 55443a5ec4eSXin LI>>>>>>>(104.l+132) string/c rt21 Intel Indeo 2.1 55543a5ec4eSXin LI>>>>>>>(104.l+132) string/c rvx Intel RDX 55643a5ec4eSXin LI>>>>>>>(104.l+132) string/c sdcc Sun Digital Camera Codec 55743a5ec4eSXin LI>>>>>>>(104.l+132) string/c sfmc Crystal Net SFM Codec 55843a5ec4eSXin LI>>>>>>>(104.l+132) string/c smsc SMSC 55943a5ec4eSXin LI>>>>>>>(104.l+132) string/c smsd SMSD 56043a5ec4eSXin LI>>>>>>>(104.l+132) string/c splc Splash Studios ACM Audio Codec 56143a5ec4eSXin LI>>>>>>>(104.l+132) string/c sqz2 Microsoft VXtreme Video Codec 56243a5ec4eSXin LI>>>>>>>(104.l+132) string/c sv10 Sorenson Video R1 56343a5ec4eSXin LI>>>>>>>(104.l+132) string/c tlms TeraLogic Motion Intraframe Codec A 56443a5ec4eSXin LI>>>>>>>(104.l+132) string/c tlst TeraLogic Motion Intraframe Codec B 56543a5ec4eSXin LI>>>>>>>(104.l+132) string/c tm20 TrueMotion 2.0 56643a5ec4eSXin LI>>>>>>>(104.l+132) string/c tmic TeraLogic Motion Intraframe Codec 2 56743a5ec4eSXin LI>>>>>>>(104.l+132) string/c tmot TrueMotion Video Compression 56843a5ec4eSXin LI>>>>>>>(104.l+132) string/c tr20 TrueMotion RT 2.0 56943a5ec4eSXin LI>>>>>>>(104.l+132) string/c ulti Ultimotion 57043a5ec4eSXin LI>>>>>>>(104.l+132) string/c uyvy UYVY 4:2:2 byte ordering 57143a5ec4eSXin LI>>>>>>>(104.l+132) string/c v422 24-bit YUV 4:2:2 format 57243a5ec4eSXin LI>>>>>>>(104.l+132) string/c v655 16-bit YUV 4:2:2 format 57343a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr1 ATI VCR 1.0 57443a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr2 ATI VCR 2.0 57543a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr3 ATI VCR 3.0 57643a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr4 ATI VCR 4.0 57743a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr5 ATI VCR 5.0 57843a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr6 ATI VCR 6.0 57943a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr7 ATI VCR 7.0 58043a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr8 ATI VCR 8.0 58143a5ec4eSXin LI>>>>>>>(104.l+132) string/c vcr9 ATI VCR 9.0 58243a5ec4eSXin LI>>>>>>>(104.l+132) string/c vdct Video Maker Pro DIB 58343a5ec4eSXin LI>>>>>>>(104.l+132) string/c vids YUV 4:2:2 CCIR 601 for V422 58443a5ec4eSXin LI>>>>>>>(104.l+132) string/c vivo Vivo H.263 58543a5ec4eSXin LI>>>>>>>(104.l+132) string/c vixl VIXL 58643a5ec4eSXin LI>>>>>>>(104.l+132) string/c vlv1 VLCAP.DRV 58743a5ec4eSXin LI>>>>>>>(104.l+132) string/c wbvc W9960 58843a5ec4eSXin LI>>>>>>>(104.l+132) string/c x263 mmioFOURCC('X','2','6','3') 58943a5ec4eSXin LI>>>>>>>(104.l+132) string/c xlv0 XL Video Decoder 59043a5ec4eSXin LI>>>>>>>(104.l+132) string/c y211 YUV 2:1:1 Packed 59143a5ec4eSXin LI>>>>>>>(104.l+132) string/c y411 YUV 4:1:1 Packed 59243a5ec4eSXin LI>>>>>>>(104.l+132) string/c y41b YUV 4:1:1 Planar 59343a5ec4eSXin LI>>>>>>>(104.l+132) string/c y41p PC1 4:1:1 59443a5ec4eSXin LI>>>>>>>(104.l+132) string/c y41t PC1 4:1:1 with transparency 59543a5ec4eSXin LI>>>>>>>(104.l+132) string/c y42b YUV 4:2:2 Planar 59643a5ec4eSXin LI>>>>>>>(104.l+132) string/c y42t PC1 4:2:2 with transparency 59743a5ec4eSXin LI>>>>>>>(104.l+132) string/c yc12 Intel YUV12 Codec 59843a5ec4eSXin LI>>>>>>>(104.l+132) string/c yuv8 Winnov Caviar YUV8 59943a5ec4eSXin LI>>>>>>>(104.l+132) string/c yuv9 YUV9 60043a5ec4eSXin LI>>>>>>>(104.l+132) string/c yuy2 YUY2 4:2:2 byte ordering packed 60143a5ec4eSXin LI>>>>>>>(104.l+132) string/c yuyv BI_YUYV, Canopus 602b6cee71dSXin LI>>>>>>>(104.l+132) string/c fmp4 FFMpeg MPEG-4 603b6cee71dSXin LI>>>>>>>(104.l+132) string/c div3 DivX 3 604b6cee71dSXin LI>>>>>>>>112 string/c div3 Low-Motion 605b6cee71dSXin LI>>>>>>>>112 string/c div4 Fast-Motion 606b6cee71dSXin LI>>>>>>>(104.l+132) string/c divx DivX 4 607b6cee71dSXin LI>>>>>>>(104.l+132) string/c dx50 DivX 5 608b6cee71dSXin LI>>>>>>>(104.l+132) string/c xvid XviD 609b6cee71dSXin LI>>>>>>>(104.l+132) string/c h264 H.264 610b6cee71dSXin LI>>>>>>>(104.l+132) string/c wmv3 Windows Media Video 9 611b6cee71dSXin LI>>>>>>>(104.l+132) string/c h264 X.264 or H.264 612b6cee71dSXin LI>>>>>>>(104.l+132) lelong 0 613b6cee71dSXin LI##>>>>>>>(104.l+132) string x (%.4s) 614b6cee71dSXin LI# skip past first (video) LIST 615b6cee71dSXin LI>>>>(92.l+96) string LIST 616b6cee71dSXin LI>>>>>(92.l+104) string strlstrh 617b6cee71dSXin LI>>>>>>(92.l+116) string auds \b, audio: 618b6cee71dSXin LI# auds strh length = 56: 619b6cee71dSXin LI>>>>>>>(92.l+172) string strf 620b6cee71dSXin LI>>>>>>>>(92.l+180) leshort 0x0001 uncompressed PCM 621b6cee71dSXin LI>>>>>>>>(92.l+180) leshort 0x0002 ADPCM 622b6cee71dSXin LI>>>>>>>>(92.l+180) leshort 0x0006 aLaw 623b6cee71dSXin LI>>>>>>>>(92.l+180) leshort 0x0007 uLaw 624b6cee71dSXin LI>>>>>>>>(92.l+180) leshort 0x0050 MPEG-1 Layer 1 or 2 625b6cee71dSXin LI>>>>>>>>(92.l+180) leshort 0x0055 MPEG-1 Layer 3 626b6cee71dSXin LI>>>>>>>>(92.l+180) leshort 0x2000 Dolby AC3 627b6cee71dSXin LI>>>>>>>>(92.l+180) leshort 0x0161 DivX 62843a5ec4eSXin LI##>>>>>>>>(92.l+180) leshort x (%#.4x) 629b6cee71dSXin LI>>>>>>>>(92.l+182) leshort 1 (mono, 630b6cee71dSXin LI>>>>>>>>(92.l+182) leshort 2 (stereo, 631b6cee71dSXin LI>>>>>>>>(92.l+182) leshort >2 (%d channels, 632b6cee71dSXin LI>>>>>>>>(92.l+184) lelong x %d Hz) 633b6cee71dSXin LI# auds strh length = 64: 634b6cee71dSXin LI>>>>>>>(92.l+180) string strf 635b6cee71dSXin LI>>>>>>>>(92.l+188) leshort 0x0001 uncompressed PCM 636b6cee71dSXin LI>>>>>>>>(92.l+188) leshort 0x0002 ADPCM 637b6cee71dSXin LI>>>>>>>>(92.l+188) leshort 0x0055 MPEG-1 Layer 3 638b6cee71dSXin LI>>>>>>>>(92.l+188) leshort 0x2000 Dolby AC3 639b6cee71dSXin LI>>>>>>>>(92.l+188) leshort 0x0161 DivX 64043a5ec4eSXin LI##>>>>>>>>(92.l+188) leshort x (%#.4x) 641b6cee71dSXin LI>>>>>>>>(92.l+190) leshort 1 (mono, 642b6cee71dSXin LI>>>>>>>>(92.l+190) leshort 2 (stereo, 643b6cee71dSXin LI>>>>>>>>(92.l+190) leshort >2 (%d channels, 644b6cee71dSXin LI>>>>>>>>(92.l+192) lelong x %d Hz) 64543a5ec4eSXin LI# From: Joerg Jenderek 64643a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/VDR_(VirtualDub) 64743a5ec4eSXin LI# Reference: http://sourceforge.net/projects/virtualdub/files/virtualdub-win/ 64843a5ec4eSXin LI# 1.10.4.35491/VirtualDub-1.10.4-src.7z/src/vdremote/Main.cpp 64943a5ec4eSXin LI# VirtualDub link handler 65043a5ec4eSXin LI>8 string VDRM \b, VirtualDub link 65143a5ec4eSXin LI!:mime video/x-vdr 65243a5ec4eSXin LI!:ext vdr 65343a5ec4eSXin LI>>12 string PATH \b, PATH 65443a5ec4eSXin LI# remote-path to video file 65543a5ec4eSXin LI>>16 pstring/l x %s 656b6cee71dSXin LI# Animated Cursor format 65743a5ec4eSXin LI# Update: Joerg Jenderek 65843a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/Windows_Animated_Cursor 65943a5ec4eSXin LI# Reference: https://www.gdgsoft.com/anituner/help/aniformat.htm 660b6cee71dSXin LI>8 string ACON \b, animated cursor 66143a5ec4eSXin LI!:mime application/x-navi-animation 66243a5ec4eSXin LI# http://extension.nirsoft.net/ani 66343a5ec4eSXin LI#!:mime image/ani 66443a5ec4eSXin LI!:ext ani 66543a5ec4eSXin LI# INAM tag followed by length of title 66643a5ec4eSXin LI>>24 string INAM 66743a5ec4eSXin LI>>>28 pstring/l x "%s" 66843a5ec4eSXin LI# IART tag followed by length of author 66943a5ec4eSXin LI>>>(28.l+32) ubelong 0x49415254 67043a5ec4eSXin LI>>>>&0 pstring/l x %s 671b6cee71dSXin LI# SoundFont 2 <mpruett@sgi.com> 67243a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/SoundFont_2.0 67343a5ec4eSXin LI>8 string sfbk \b, SoundFont/Bank 67443a5ec4eSXin LI!:mime audio/x-sfbk 67543a5ec4eSXin LI!:ext sf2 676b6cee71dSXin LI# MPEG-1 wrapped in a RIFF, apparently 67743a5ec4eSXin LI# URL: http://file.fyicenter.com/17_Video_.DAT_File_Extension_for_VCD_Files.html 678b6cee71dSXin LI>8 string CDXA \b, wrapped MPEG-1 (CDXA) 67943a5ec4eSXin LI!:mime video/x-cdxa 68043a5ec4eSXin LI!:ext mpg/dat 68143a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/4X_IMA_ADPCM 682b6cee71dSXin LI>8 string 4XMV \b, 4X Movie file 68343a5ec4eSXin LI!:mime video/x-4xmv 68443a5ec4eSXin LI!:ext 4xm/4xa 68548c779cdSXin LI# AMV-type AVI file: https://wiki.multimedia.cx/index.php?title=AMV 686b6cee71dSXin LI>8 string AMV\040 \b, AMV 68743a5ec4eSXin LI# http://fileformats.archiveteam.org/wiki/MTV_Video_(.AMV) 68843a5ec4eSXin LI!:mime video/x-amv 68943a5ec4eSXin LI!:ext amv 69043a5ec4eSXin LI#!:ext amv/mtv 69143a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/WebP 692c2931133SXin LI>8 string WEBP \b, Web/P image 6935f0216bdSXin LI!:mime image/webp 69443a5ec4eSXin LI!:ext webp 695c2931133SXin LI>>12 use riff-walk 6962726a701SXin LI# From: Joerg Jenderek 69743a5ec4eSXin LI# URL: http://fileformats.archiveteam.org/wiki/RIFF_MIDS 69843a5ec4eSXin LI>8 string MIDS \b, MIDI Stream 69943a5ec4eSXin LI!:mime audio/x-mids 70043a5ec4eSXin LI!:ext mds 70143a5ec4eSXin LI# From: Joerg Jenderek 70243a5ec4eSXin LI# URL: http://mark0.net/soft-trid-e.html 70343a5ec4eSXin LI# Reference: http://fileformats.archiveteam.org/wiki/Trd_(TRID) 70443a5ec4eSXin LI>8 string TRID \b, TrID defs package 70543a5ec4eSXin LI!:mime application/x-trid-trd 70643a5ec4eSXin LI!:ext trd 70743a5ec4eSXin LI# From: Joerg Jenderek 708*ae316d1dSXin LI# URL: http://fileformats.archiveteam.org/wiki/Easy_CD_Creator 709*ae316d1dSXin LI# https://en.wikipedia.org/wiki/Roxio 710*ae316d1dSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/i/img-cif.trid.xml 711*ae316d1dSXin LI# Note: called "Easy CD Creator disk image" by TrID, 712*ae316d1dSXin LI# "Adaptec CD Image File" by Adaptec CD Creator 2.1.082 1995-1996 and 713*ae316d1dSXin LI# "Easy CD/DVD Creator image" by PowerISO 8.5 714*ae316d1dSXin LI>8 string imag \b, Easy CD Creator disk image 715*ae316d1dSXin LI#!:mime application/octet-stream 716*ae316d1dSXin LI#!:mime application/x-riff 717*ae316d1dSXin LI!:mime application/x-corel-cif 718*ae316d1dSXin LI!:ext cif 719*ae316d1dSXin LI# contains also 2 strings disc info 720*ae316d1dSXin LI# look for ISO 9660 CD-ROM tag handled by ./filesystems 721*ae316d1dSXin LI>>32769 search/4565/s CD001 \b; with 722*ae316d1dSXin LI>>>&-32769 use cdrom 723*ae316d1dSXin LI# From: Joerg Jenderek 7242726a701SXin LI# URL: https://en.wikipedia.org/wiki/CorelDRAW 7252726a701SXin LI# Reference: http://fileformats.archiveteam.org/wiki/CorelDRAW 7262726a701SXin LI# Note: Since version 3 CorelDraw Pictures are RIFF based 7272726a701SXin LI# but data chunks remain proprietary. 7282726a701SXin LI# Since version 14 til 15 packed as "content/riffData.cdr" and 7292726a701SXin LI# since 16 "content/root.dat" in ZIP container 7302726a701SXin LI# TODO: distinguish templates with version 12.5 from Designer illustration 12 7312726a701SXin LI# display information of RIFF based Corel Draw pictures, templates and patterns 7322726a701SXin LI0 name corel-draw 7332726a701SXin LI# display second chunk for debugging 7342726a701SXin LI#>8 string x \b, [8]=%.8s 7352726a701SXin LI>0 string x \b, Corel Draw 7362726a701SXin LI#!:mime image/x-coreldraw 7372726a701SXin LI!:mime application/vnd.corel-draw 7382726a701SXin LI# used by newer pictures templates 7392726a701SXin LI>>8 string CDT 7402726a701SXin LI# used by templates with newer versions since 16 7412726a701SXin LI>>>12 string =fver Picture template (root.dat) 7422726a701SXin LI!:ext dat 7432726a701SXin LI# used by templates with older versions with vrsn tag 7442726a701SXin LI>>>12 string !fver 7452726a701SXin LI# used by templates with older versions 14-15 7462726a701SXin LI>>>>11 string >E Picture template (riffData.cdr) 7472726a701SXin LI!:ext cdr 7482726a701SXin LI# used by templates with older versions 11-13 7492726a701SXin LI>>>>11 string <F Picture template 7502726a701SXin LI!:ext cdt/cdrt 7512726a701SXin LI# used by older templates with version 4.4 7522726a701SXin LI>>8 string CDST Picture template 7532726a701SXin LI!:ext cdt 7542726a701SXin LI# used by templates with version 12.5 7552726a701SXin LI>>8 string DESC Picture template 7562726a701SXin LI!:ext cdt 7572726a701SXin LI# used by newer patterns with version 22 7582726a701SXin LI>>8 string PAT Pattern 7592726a701SXin LI!:ext dat 7602726a701SXin LI# remaining older templates, patterns, drawings 7612726a701SXin LI>>8 default x 7622726a701SXin LI# pattern with old version 4.y 7632726a701SXin LI>>>26 ulelong =0x0000206C Pattern 7642726a701SXin LI!:ext pat 7652726a701SXin LI# pattern with newer versions 7662726a701SXin LI>>>26 ulelong =0x00000D2C Pattern 7672726a701SXin LI!:ext pat 7682726a701SXin LI# remaining older templates or pictures 7692726a701SXin LI>>>26 default x 7702726a701SXin LI# used by older versions 5 - 15 7712726a701SXin LI>>>>12 string =vrsn 7722726a701SXin LI# 4th chunk size unequal 282Ch only found for CDR 7732726a701SXin LI>>>>>26 ulelong !0x0000282c Picture 7742726a701SXin LI!:ext cdr 7752726a701SXin LI>>>>>26 default x Picture or template 7762726a701SXin LI!:ext cdr/cdt 7772726a701SXin LI# used by newer versions since 16 7782726a701SXin LI>>>>12 string =fver Picture (root.dat) 7792726a701SXin LI!:ext dat 7802726a701SXin LI# version marked by 1 ASCII char: space~3, ... , F~15, ... , N~22, ... R~22 template 7812726a701SXin LI>11 string x \b, version 7822726a701SXin LI>11 string >\040 '%-.1s' 7832726a701SXin LI>0 use corel-version 7842726a701SXin LI>4 ulelong+8 x \b, %u bytes 7852726a701SXin LI# 7862726a701SXin LI# display numeric version of RIFF based Corel after 3rd RIFF tag 7872726a701SXin LI0 name corel-version 7882726a701SXin LI# for debugging purpose; vrsn for short content; fver for 16 byte size 7892726a701SXin LI#>12 string x \b, TAG "%-4.4s" 7902726a701SXin LI# 1st data chunk length 2 implies short content version 7912726a701SXin LI>16 ulelong 2 7922726a701SXin LI# vrsn chunk short content interpreted by MajorVersion * 100 + MinorVersion 7932726a701SXin LI>>20 uleshort/100 x %u 7942726a701SXin LI>>20 uleshort%100 >0 \b.%u 7952726a701SXin LI# for debugging purpose display next chunk like: DISP LIST 7962726a701SXin LI#>>22 string x \b, 4th "%-4.4s" 79743a5ec4eSXin LI#>>26 ulelong x \b, 4th SIZE %#x 7982726a701SXin LI# for debugging purpose display 5th chunk like: LIST DISP ccmm osfp 7992726a701SXin LI#>>(26.l+30) string x \b, 5th "%-4.4s" 8002726a701SXin LI# 1st data chunk length 10h implies 16 byte content with version info 8012726a701SXin LI>16 ulelong 0x10 8022726a701SXin LI>>34 ubyte x %u 8032726a701SXin LI>>>33 ubyte >0 \b.%u 80443a5ec4eSXin LI# display information of RIFF based Corel Design formats 80543a5ec4eSXin LI0 name corel-des 80643a5ec4eSXin LI# display second chunk for debugging 80743a5ec4eSXin LI#>8 string x \b, [8]=%.8s 80843a5ec4eSXin LI>12 string x \b, Corel DESIGNER 80943a5ec4eSXin LI!:mime image/x-corel-des 81043a5ec4eSXin LI#!:mime application/x-vnd.corel.designer.document 81143a5ec4eSXin LI# used by Corel Designer with newer versions since 16 81243a5ec4eSXin LI>12 string =fver graphics (root.dat) 81343a5ec4eSXin LI!:ext dat 81443a5ec4eSXin LI# used by Corel Designer templates with older versions with vrsn tag 81543a5ec4eSXin LI>12 string !fver 81643a5ec4eSXin LI# used by Corel Designer with versions 14-15 81743a5ec4eSXin LI>>11 string >D graphics (riffData.cdr) 81843a5ec4eSXin LI!:ext cdr 81943a5ec4eSXin LI# used by Corel Designer with versions 10-12 82043a5ec4eSXin LI>>11 string <E graphics 82143a5ec4eSXin LI!:ext des 82243a5ec4eSXin LI# version indicated by last ASCII char of second chunk tag 82343a5ec4eSXin LI>11 string x \b, version '%-.1s' 82443a5ec4eSXin LI# but vrsn short content is not always version indicator 82543a5ec4eSXin LI# exceptions: 'A'~11.4 'B'~12 'C'~12.5 82643a5ec4eSXin LI>11 string >D 82743a5ec4eSXin LI>>0 use corel-version 82843a5ec4eSXin LI# for debugging purpose display next chunk like: DISP LIST 82943a5ec4eSXin LI#>>22 string x \b, 4th "%-4.4s" 83043a5ec4eSXin LI#>>26 ulelong x \b, 4th SIZE %#x 83143a5ec4eSXin LI# for debugging purpose display 5th chunk like: LIST osfp 83243a5ec4eSXin LI#>>(26.l+30) string x \b, 5th "%-4.4s" 83343a5ec4eSXin LI>4 ulelong+8 x \b, %u bytes 834a4d6d3b8SXin LI 835b6cee71dSXin LI# 836b6cee71dSXin LI# XXX - some of the below may only appear in little-endian form. 837b6cee71dSXin LI# 838b6cee71dSXin LI# Also "MV93" appears to be for one form of Macromedia Director 839b6cee71dSXin LI# files, and "GDMF" appears to be another multimedia format. 840b6cee71dSXin LI# 841b6cee71dSXin LI0 string RIFX RIFF (big-endian) data 842b6cee71dSXin LI# RIFF Palette format 843b6cee71dSXin LI>8 string PAL \b, palette 844b6cee71dSXin LI>>16 beshort x \b, version %d 845b6cee71dSXin LI>>18 beshort x \b, %d entries 846b6cee71dSXin LI# RIFF Device Independent Bitmap format 847b6cee71dSXin LI>8 string RDIB \b, device-independent bitmap 848b6cee71dSXin LI>>16 string BM 849b6cee71dSXin LI>>>30 beshort 12 \b, OS/2 1.x format 850b6cee71dSXin LI>>>>34 beshort x \b, %d x 851b6cee71dSXin LI>>>>36 beshort x %d 852b6cee71dSXin LI>>>30 beshort 64 \b, OS/2 2.x format 853b6cee71dSXin LI>>>>34 beshort x \b, %d x 854b6cee71dSXin LI>>>>36 beshort x %d 855b6cee71dSXin LI>>>30 beshort 40 \b, Windows 3.x format 856b6cee71dSXin LI>>>>34 belong x \b, %d x 857b6cee71dSXin LI>>>>38 belong x %d x 858b6cee71dSXin LI>>>>44 beshort x %d 859b6cee71dSXin LI# RIFF MIDI format 860b6cee71dSXin LI>8 string RMID \b, MIDI 861b6cee71dSXin LI# RIFF Multimedia Movie File format 862b6cee71dSXin LI>8 string RMMP \b, multimedia movie 863b6cee71dSXin LI# Microsoft WAVE format (*.wav) 864b6cee71dSXin LI>8 string WAVE \b, WAVE audio 865b6cee71dSXin LI>>20 leshort 1 \b, Microsoft PCM 866b6cee71dSXin LI>>>34 leshort >0 \b, %d bit 867b6cee71dSXin LI>>22 beshort =1 \b, mono 868b6cee71dSXin LI>>22 beshort =2 \b, stereo 869b6cee71dSXin LI>>22 beshort >2 \b, %d channels 870b6cee71dSXin LI>>24 belong >0 %d Hz 8712726a701SXin LI# Corel Draw Picture big endian not tested by real examples 8722726a701SXin LI#>8 string CDRA \b, Corel Draw Picture 8732726a701SXin LI#>8 string CDR6 \b, Corel Draw Picture, version 6 8742726a701SXin LI>8 string CDR 8752726a701SXin LI>>0 use \^corel-draw 8762726a701SXin LI 877b6cee71dSXin LI# AVI == Audio Video Interleave 878b6cee71dSXin LI>8 string AVI\040 \b, AVI 879b6cee71dSXin LI# Animated Cursor format 880b6cee71dSXin LI>8 string ACON \b, animated cursor 881b6cee71dSXin LI# Notation Interchange File Format (big-endian only) 882b6cee71dSXin LI>8 string NIFF \b, Notation Interchange File Format 883b6cee71dSXin LI# SoundFont 2 <mpruett@sgi.com> 884b6cee71dSXin LI>8 string sfbk SoundFont/Bank 885b6cee71dSXin LI 886b6cee71dSXin LI#------------------------------------------------------------------------------ 887b6cee71dSXin LI# Sony Wave64 888b6cee71dSXin LI# see http://www.vcs.de/fileadmin/user_upload/MBS/PDF/Whitepaper/Informations_about_Sony_Wave64.pdf 889b6cee71dSXin LI# 128 bit RIFF-GUID { 66666972-912E-11CF-A5D6-28DB04C10000 } in little-endian 890b6cee71dSXin LI0 string riff\x2E\x91\xCF\x11\xA5\xD6\x28\xDB\x04\xC1\x00\x00 Sony Wave64 RIFF data 891b6cee71dSXin LI# 128 bit + total file size (64 bits) so 24 bytes 892b6cee71dSXin LI# then WAVE-GUID { 65766177-ACF3-11D3-8CD1-00C04F8EDB8A } 893b6cee71dSXin LI>24 string wave\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A \b, WAVE 64 audio 894b6cee71dSXin LI!:mime audio/x-w64 895b6cee71dSXin LI# FMT-GUID { 20746D66-ACF3-11D3-8CD1-00C04F8EDB8A } 896b6cee71dSXin LI>>40 search/256 fmt\x20\xF3\xAC\xD3\x11\x8C\xD1\x00\xC0\x4F\x8E\xDB\x8A \b 897b6cee71dSXin LI>>>&10 leshort =1 \b, mono 898b6cee71dSXin LI>>>&10 leshort =2 \b, stereo 899b6cee71dSXin LI>>>&10 leshort >2 \b, %d channels 900b6cee71dSXin LI>>>&12 lelong >0 %d Hz 901b6cee71dSXin LI 902b6cee71dSXin LI#------------------------------------------------------------------------------ 903b6cee71dSXin LI# MBWF/RF64 90448c779cdSXin LI# see EBU TECH 3306 https://tech.ebu.ch/docs/tech/tech3306-2009.pdf 905b6cee71dSXin LI0 string RF64\xff\xff\xff\xffWAVEds64 MBWF/RF64 audio 906b6cee71dSXin LI!:mime audio/x-wav 907b6cee71dSXin LI>40 search/256 fmt\x20 \b 908b6cee71dSXin LI>>&6 leshort =1 \b, mono 909b6cee71dSXin LI>>&6 leshort =2 \b, stereo 910b6cee71dSXin LI>>&6 leshort >2 \b, %d channels 911b6cee71dSXin LI>>&8 lelong >0 %d Hz 912