From 0c0be5915bf26f87d883d873cb9a8b716a946ec5 Mon Sep 17 00:00:00 2001 From: Niklas Hallqvist Date: Wed, 25 Nov 1998 11:01:14 +0000 Subject: Mpeg audio identification from ckane@best.com --- usr.bin/file/magdir/audio | 137 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) (limited to 'usr.bin') diff --git a/usr.bin/file/magdir/audio b/usr.bin/file/magdir/audio index b4db4e9c18c..e34bd6f575e 100644 --- a/usr.bin/file/magdir/audio +++ b/usr.bin/file/magdir/audio @@ -88,3 +88,140 @@ #0 string MAS_U ULT(imate) Module sound data #0x2c string SCRM ScreamTracker III Module sound data #0 string Extended Module Extended Module sound data + +#------------------------ +# MPEG: file(1) magic for MPEG audio. +# +# From +# Show MPEG level, layer, kbit/s, hz, stereo/mono for an MPG audio file. +# This section is lengthy because the kbit/s rate depends on the +# level and layer, and file(1) doesn't allow math on the values. +# + +####### MPEG begins with three hex 'f' nibbles. +0 beshort&0xfff0 0xfff0 MPEG +####### Level 2 +>1 byte&0x08 0x00 2.0 +>>1 byte&0x06 0x00 Layer Unknown, +####### Level 2, Layers I, II, and III +>>1 byte&0x06 0x02 Layer III, +>>>2 byte&0xf0 0x00 0 kbit/s, +>>>2 byte&0xf0 0x10 8 kbit/s, +>>>2 byte&0xf0 0x20 16 kbit/s, +>>>2 byte&0xf0 0x30 24 kbit/s, +>>>2 byte&0xf0 0x40 32 kbit/s, +>>>2 byte&0xf0 0x50 40 kbit/s, +>>>2 byte&0xf0 0x60 48 kbit/s, +>>>2 byte&0xf0 0x70 56 kbit/s, +>>>2 byte&0xf0 0x80 64 kbit/s, +>>>2 byte&0xf0 0x90 80 kbit/s, +>>>2 byte&0xf0 0xa0 96 kbit/s, +>>>2 byte&0xf0 0xb0 112 kbit/s, +>>>2 byte&0xf0 0xc0 128 kbit/s, +>>>2 byte&0xf0 0xd0 144 kbit/s, +>>>2 byte&0xf0 0xe0 160 kbit/s, +>>>2 byte&0xf0 0xf0 ? kbit/s, +>>1 byte&0x06 0x04 Layer II, +>>>2 byte&0xf0 0x00 0 kbit/s, +>>>2 byte&0xf0 0x10 8 kbit/s, +>>>2 byte&0xf0 0x20 16 kbit/s, +>>>2 byte&0xf0 0x30 24 kbit/s, +>>>2 byte&0xf0 0x40 32 kbit/s, +>>>2 byte&0xf0 0x50 40 kbit/s, +>>>2 byte&0xf0 0x60 48 kbit/s, +>>>2 byte&0xf0 0x70 56 kbit/s, +>>>2 byte&0xf0 0x80 64 kbit/s, +>>>2 byte&0xf0 0x90 80 kbit/s, +>>>2 byte&0xf0 0xa0 96 kbit/s, +>>>2 byte&0xf0 0xb0 112 kbit/s, +>>>2 byte&0xf0 0xc0 128 kbit/s, +>>>2 byte&0xf0 0xd0 144 kbit/s, +>>>2 byte&0xf0 0xe0 160 kbit/s, +>>>2 byte&0xf0 0xf0 ? kbit/s, +>>1 byte&0x06 0x06 Layer I, +>>>2 byte&0xf0 0x00 0 kbit/s, +>>>2 byte&0xf0 0x10 32 kbit/s, +>>>2 byte&0xf0 0x20 48 kbit/s, +>>>2 byte&0xf0 0x30 56 kbit/s, +>>>2 byte&0xf0 0x40 64 kbit/s, +>>>2 byte&0xf0 0x50 80 kbit/s, +>>>2 byte&0xf0 0x60 96 kbit/s, +>>>2 byte&0xf0 0x70 112 kbit/s, +>>>2 byte&0xf0 0x80 128 kbit/s, +>>>2 byte&0xf0 0x90 144 kbit/s, +>>>2 byte&0xf0 0xa0 160 kbit/s, +>>>2 byte&0xf0 0xb0 176 kbit/s, +>>>2 byte&0xf0 0xc0 192 kbit/s, +>>>2 byte&0xf0 0xd0 224 kbit/s, +>>>2 byte&0xf0 0xe0 256 kbit/s, +>>>2 byte&0xf0 0xf0 ? kbit/s, +####### Level 2, Hz +>>2 byte&0x0c 0x00 22050 Hz +>>2 byte&0x0c 0x04 24000 Hz +>>2 byte&0x0c 0x08 16000 Hz +>>2 byte&0x0c 0x0c ? Hz +####### Level 1 decoding +>1 byte&0x08 0x08 1.0 +>>1 byte&0x06 0x00 Layer Unknown. +####### Level 1, Layers I, II, and III +>>1 byte&0x06 0x02 Layer III, +>>>2 byte&0xf0 0x00 0 kbit/s, +>>>2 byte&0xf0 0x10 32 kbit/s, +>>>2 byte&0xf0 0x20 40 kbit/s, +>>>2 byte&0xf0 0x30 48 kbit/s, +>>>2 byte&0xf0 0x40 56 kbit/s, +>>>2 byte&0xf0 0x50 64 kbit/s, +>>>2 byte&0xf0 0x60 80 kbit/s, +>>>2 byte&0xf0 0x70 96 kbit/s, +>>>2 byte&0xf0 0x80 112 kbit/s, +>>>2 byte&0xf0 0x90 128 kbit/s, +>>>2 byte&0xf0 0xa0 160 kbit/s, +>>>2 byte&0xf0 0xb0 192 kbit/s, +>>>2 byte&0xf0 0xc0 224 kbit/s, +>>>2 byte&0xf0 0xd0 256 kbit/s, +>>>2 byte&0xf0 0xe0 320 kbit/s, +>>>2 byte&0xf0 0xf0 ? kbit/s, +>>1 byte&0x06 0x04 Layer II, +>>>2 byte&0xf0 0x00 0 kbit/s, +>>>2 byte&0xf0 0x10 32 kbit/s, +>>>2 byte&0xf0 0x20 48 kbit/s, +>>>2 byte&0xf0 0x30 56 kbit/s, +>>>2 byte&0xf0 0x40 64 kbit/s, +>>>2 byte&0xf0 0x50 80 kbit/s, +>>>2 byte&0xf0 0x60 96 kbit/s, +>>>2 byte&0xf0 0x70 112 kbit/s, +>>>2 byte&0xf0 0x80 128 kbit/s, +>>>2 byte&0xf0 0x90 160 kbit/s, +>>>2 byte&0xf0 0xa0 192 kbit/s, +>>>2 byte&0xf0 0xb0 224 kbit/s, +>>>2 byte&0xf0 0xc0 256 kbit/s, +>>>2 byte&0xf0 0xd0 320 kbit/s, +>>>2 byte&0xf0 0xe0 384 kbit/s, +>>>2 byte&0xf0 0xf0 ? kbit/s, +>>1 byte&0x06 0x06 Layer I, +>>>2 byte&0xf0 0x00 0 kbit/s, +>>>2 byte&0xf0 0x10 32 kbit/s, +>>>2 byte&0xf0 0x20 64 kbit/s, +>>>2 byte&0xf0 0x30 96 kbit/s, +>>>2 byte&0xf0 0x40 128 kbit/s, +>>>2 byte&0xf0 0x50 160 kbit/s, +>>>2 byte&0xf0 0x60 192 kbit/s, +>>>2 byte&0xf0 0x70 224 kbit/s, +>>>2 byte&0xf0 0x80 256 kbit/s, +>>>2 byte&0xf0 0x90 288 kbit/s, +>>>2 byte&0xf0 0xa0 320 kbit/s, +>>>2 byte&0xf0 0xb0 352 kbit/s, +>>>2 byte&0xf0 0xc0 384 kbit/s, +>>>2 byte&0xf0 0xd0 416 kbit/s, +>>>2 byte&0xf0 0xe0 448 kbit/s, +>>>2 byte&0xf0 0xf0 ? kbit/s, +####### Level 2, Hz +>>2 byte&0x0c 0x00 44100 Hz +>>2 byte&0x0c 0x04 48000 Hz +>>2 byte&0x0c 0x08 32000 Hz +>>2 byte&0x0c 0x0c ? Hz +####### Stereo or Mono +>3 byte&0xc0 0x00 stereo +>3 byte&0xc0 0x40 joint-stereo +>3 byte&0xc0 0x80 dual-channel +>3 byte&0xc0 0xc0 mono -- cgit v1.2.3