Thinks to keep apart: Version and Layer

MPEG Version 1 specifies 3 Layers 1,2, and 3
within Version 1 we have a restricted selection of three
sample rates: 32kHz, 44.1kHz or 48kHz
and bitrates:
32kBit/s to 448kBit/s for layer 1
32kBit/s to 384kBit/s for layer 2 and
32kBit/s to 320kBit/s for layer 3

MPEG Version 2 introduces new
sample rates: 16kHz, 22.05kHz or 24kHz
with different bitrates:
32kBit/s to 256kBit/s for layer 1
8kBit/s to 160kBit/s for layer 2 and 3

There is an extension without a ISO Standard called MPEG version 2.5
again with different
sample rates: 8kHz, 11.025kHz or 12kHz
with different bitrates:
8kBit/s to 64kBit/s for layer 3

So you see: you have to switch the version, if the sample rate is changing.
You have to switch the layer if the bitrate is changing.
Now to the question:
 From the above, you see, that while encoding a version 2 stream with one of the
version 2 sample rates in layer 2, you can use only bitrates between 8kBit and 
160kBit.
If the bitrate has to increase beyond 160kBit, you can not switch to MPEG 
version 1,
(because the sample rate has not changed), but you must switch to layer 1, 
because
in layer 1 you can use bitrates up to 256kBit/s.
On the other hand you must switch back, if the bitrate is below 32kBit.

Now which is better: typically layer 3 gives you a more compact encoding
therefore smaller bitrates are sufficient. So go with layer 3. The
version depends on the sample rate. Higher sample rates are typicaly better
but not as compact to encode then lower sample rates. lame will automatically
downsample in needed. leave it to lame to decide.


Yours
   Martin Ruckert

PS: these and other such details, you find in "Understanding MP3", Springer 
Verlag.

george steeves wrote:
> mp3encoder@minnie.tuhs.org
> 
> 
> 
> 
> 
> I have a question for which I can find no definitive answer.  MPEG layer3
> files are in two flavors MPEG1 and MPEG2.  I know this is true as the
> Lame_enc.dll switches from MPEG2 to MPEG1 when the bit rate is increased
> beyond 160kb/s.  I have read the source code and I know this is so.  Is this
> only true of the Lame encoder or only true of the lame_enc.dll.  What is the
> difference?  Which is better? Why?
> 
> 


-- 
-------------------------------------
Prof.Dr.Martin Ruckert
Munich University of Applied Sciences
FB07 Mathematics and Computer Science
Lothstrasse 34
D-80335 Munich
GERMANY
_______________________________________________
mp3encoder mailing list
mp3encoder@minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/mp3encoder

Reply via email to