Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: MPEG Audio format

Re: MPEG Audio format

From: David Bryant <dbryant_at_impulse.net>
Date: 2006-01-14

Okay, I was a little confused by the semantics. I think of "joint stereo" as
being MS (which stands for Mid/Side which means that instead of encoding
left and right you encode sum and difference).

It looks like they have "stereo" mode which is simply pure stereo, and
"joint stereo" which means that you can add the additional features of
"Mid/Side" and "Intensity Stereo", but if you don't add either one then you
really have exactly the same thing as just "stereo".

So, in the samples lame generates it switches on and off Mid/Side (and
probably would use "Intensity Stereo" at lower bitrates), but leaves the
high-level mode as "Joint Stereo" for all frames. However, in reading the
frame specification on this site it sounds like the high-level joint stereo
setting *can* be changed from frame to frame also:

http://www.mp3-tech.org/programmer/frame_header.html

Hope this makes some sense... :)

David

----- Original Message -----
From: "Bluechip" <csbluechip@gmail.com>
To: <rockbox-dev@cool.haxx.se>
Sent: Friday, January 13, 2006 10:12 PM
Subject: Re: MPEG Audio format

> Whoops ...hit send a bit quick
>
> Nice of LAME to not update the frame counter when it completes.
>
> Meant to append this:
>
> D:\x>c:lame themic~1.wav
> LAME version 3.96.1 (http://lame.sourceforge.net/)
> CPU features: MMX (ASM used), 3DNow! (ASM used)
> Using polyphase lowpass filter, transition band: 10758 Hz - 11025 Hz
> Encoding The Microsoft Sound.wav to The Microsoft Sound.wav.mp3
> Encoding as 22.05 kHz 64 kbps j-stereo MPEG-2 Layer III (11x) qval=3
> Frame | CPU time/estim | REAL time/estim | play/CPU |
ETA
> 300/302 (99%)| 0:01/ 0:01| 0:02/ 0:02| 4.0816x|
0:00
> average: 64.0 kbps LR: 83 (27.30%) MS: 221 (72.70%)
>
> Writing LAME Tag...done
> ReplayGain: -2.6dB
>
>
> @0x000000D0+0.0, 63529 - 304 MPEG audio frames
> | ,--
> | | MPEG Version : MPEG Version 2 (ISO/IEC 13818-3)
> | | MPEG Layer : Layer III
> | | Samplerate : 22050 Hz
> | | Bitrate : CBR @ 64 KbpS
> | | Samples/Frame : 576
> | | Frame Time : 26.122449 mS
> | |
> | | Frame Count : 304 -> 100.0% (of ALL frames)
> | | Frame Time : 0:00:07.941
> | `-v
> | | (%'s below are for this block only)
> | |
> | +-- Channels : 304 -> 100.0% @ Joint Stereo [Xing index: 0]
> | | 83 -> 27.3% @ JS (only)
> | | 221 -> 72.7% @ JS +M/S
> | |
> | +-- Emphasis : 304 -> 100.0% @ No Emphasis
> | |
> | | --- Enabled ---- -+- --- Disabled ---
> | +-- Original : 304 -> 100.0% | 0 -> 0.0%
> | +-- Copyright : 0 -> 0.0% | 304 -> 100.0%
> | +-- Private : 0 -> 0.0% | 304 -> 100.0%
> | | |
> | +-- Protected : 0 -> 0.0% | 304 -> 100.0%
> | +-- Padding : 297 -> 97.7% | 7 -> 2.3%
> | | ^
> | `-- Bitrate : CBR @ 64 KbpS
> `---------------------------------------------------------------------
>
>
> >>I just ran lame with no options on the first file I found and got the
> >>following output:
> >>---------------
> >>LAME version 3.96.1 (http://lame.sourceforge.net/)
> >>CPU features: MMX (ASM used), SSE, SSE2
> >>Using polyphase lowpass filter, transition band: 17249 Hz - 17782 Hz
> >>Encoding concat.wav to concat.mp3
> >>Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=3
> >> Frame | CPU time/estim | REAL time/estim | play/CPU |
ETA
> >> 2379/2381 (100%)| 0:09/ 0:09| 0:10/ 0:10| 6.2245x|
0:00
> >>average: 128.0 kbps LR: 849 (35.64%) MS: 1533 (64.36%)
> >>
> >>Writing LAME Tag...done
> >>ReplayGain: -0.8dB
> >>-----------------
> >>As you can see on the line starting with "average" this particular
sample
> >>used joint-stereo on 64% of the frames.
> >>
> >>If you don't have lame installed or can't find a track that produces
both
> >>kind of frames, I can easily put this file somewhere.
> >
> >LR: 849 (35.64%) MS: 1533 (64.36%)
> >
> >Means that 64.36% of the Joint Stereo frames utilise the "+MS" thing ...I
> >have no idea what it is, but I do know it is a Joint Stereo enhancement
> >held in the MODE bits of the header - which are only relevant if the
> >CHANNEL bits are set to Joint Stereo. There is also a "+IS" (intentsity
> >stereo) and the combo "+M/S +IS"
> >
> >BC
> >
> >
> >>David
> >>
> >> >
> >> > >When it comes to sample rate, layer and version switching, I think
you're
> >> > >reasonably safe, though it is probably legal. Stereo mode I think
you
> >>will
> >> > >find encoders may switch from frame to frame.
> >> >
> >> > Is anyone in a position to send me an example file please? Or
seond-best,
> >> > name an encoder with a required set of options.
> >> >
> >> > Difficult to test my app without test data - and quite a chore to
> >> > manufacture such a file by hand. (...and that bit of the app is not
yet
> >> > written)
> >> >
> >> > BC
> >> >
> >> >
>
>
Received on Sat Jan 14 07:53:51 2006


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa