LAME 3.0以降:
赤 = 音質に関するバグ修正や機能features and bug fixes which affect
quality
青= エンコード速度に関するバグ修正や機能features and bug fixes which affect
speed
黒 =ユーザビリティなどその他 usability, portability, other
LAME 3.98 正式版 リリース未定
LAME 3.98 beta 8 2008 4 13
- Robert Hegemann:
- LAME now accepts a floating point value in the range [0,...,10[ as VBR
quality setting, like-V5.678
- Found and fixed some suspicious code in additive masking calculation for
VBR-NEW
- bug-fix:experimental code was defaulted by accident
for VBR-NEW
- fix for some endianess problem on big-endian machines
LAME 3.98 beta 7 2008 4 6
- Robert Hegemann:
- libmp3lame API: allow frontends to separately retrieve LAME/Xing and ID3
data, because the old library automatism makes it impossible to make fully
buffered encodes.
- libmp3lame API: added some experimental unicode ID3 tagging code.
- frontends: write itself final ID3 tags and LAME/Xing header frame
- lame_enc.dll: writes itself final LAME/Xing header frame
- Latest changes to the new VBR psymodel:
- uses a different spreading function
- bug-fix for out-of-bounds array access (program stack
corruption possible)
LAME 3.98 beta 6 2007 12 16
- Robert Hegemann:
- Feature request[ 1811483 ] WAVE_FORMAT_EXTENSIBLE support
(PCM)
- Fix for some rare scalefactor selection issue the
newer vbr code had at low compression levels
- Fix for Bugtracker item[ 1813496 ] AIFF parsing bug
- Latest changes to the new VBR code:
- it now has its own psy model, a derivation from
NSPSY.
- some more tuning has been done for this new psy
model.Many thanks to Horst Albrecht and Myles Thaiss.
- the "out-of-bits" strategy is reworked
- It was possible, that the "interchannel masking
effects feature" was used by the dual-channel-mode for bi-lingual encodings
too. It was meant to work on stereo L/R channels only.
LAME 3.98 beta 5 2007 8 12
- Jonathan Stott:
- Bug tracker items:[ 1590693 ] ID3v2 tag not writing, [ 1636267 ] ID3v2
tags overwritten
If the output file is opened 'write-only', then LAME can't update the LAME tag.
In this case LAME silently overwrote the first bytes of the file and an
optional ID3v2 tag disappeared. Now an error message will be printed and no
data is written in this case.
- Robert Hegemann:
- Fix for Bugtracker item[ 1719593 ] Track numbers > 255 not allowed
even with --id3v2-only
- Fix for Bugtracker item[ 1742623 ] fail(lame --mp3input -m m -b 128
--resample 8 *.mp3 **.mp3)
The problem here was, the input files are MPEG-1 Layer2 files named as MP3s.
Even if you leave out the --mp3input switch LAME tried to decode the input
files as Layer3 files because of the file name extension and because it found
some valid looking Layer3 synchronization header. The fixed LAME version does
not assume the file name extension is always correct and treats the files
depending on the first found MPEG sync word. The files in question are now
correctly detected as Layer2 files and transcoding does succeed.
- Fix for Bugtracker item[ 1445175 ] Input being stdin fails in Windows
on WAV files
The problem here was, seeking on pipes shows some different behaviour depending
on C-Library implementations. The workaround tries to detect it's working on a
pipe and doing some reading instead of seeking in that case.
- Fixing some memory leak in the 'lame_enc.dll'.
- Fix for Bugtracker items[ 1160757, 1160741 ] --little-endian /
--big-endian not working
These switches where originally intended to be used together with Libsndfile
only.
- Fix for Bugtracker item[ 1746336 ] Incorrect Bitrate with ABR und
--resample, LAME 3.98b4
Some earlier bug-fix had some typo. As a result, when adding a '--resample 123'
switch, the average bitrate rised upto maximum bitrate.
LAME 3.98 beta 4 2007 6 23
- Dennis Lambe Jr: Added support for total track count (id3v2) in the
frontend
- Nyaochi:
- Ability to set user-defined ID3v2.3 frame
- Ability to include albumArt in ID3v2.3 tag
- Robert Hegemann:
- Bugfix: the "play length in ms", which is stored in the ID3v2 tag TLEN, was
not correctly computed. Some hardware and software players were confused by
this garbage data.
- Out of bits strategy for the newer VBR code
overhauled
- LAME API: the ID3 tag functions do not store the pointers passed anymore,
they do make deep copies of strings passed as parameters.
- Changes in LAME frontend switches regarding ID3 tags:
--tg "MyGenre"will route unknown ID3v1 genres to "Other" for ID3v1
tags and will be stored as plain text "MyGenre" for ID3v2 tags. Genres given by
known ID3v1 numbers will be stored as its corresponding text in ID3v2 tags.
--tn "02/02"will store the track number specified as plain text as-is
for ID3v2 tags.
LAME 3.98 beta 3 2007 5 22
- Robert Hegemann:
- Fixes regarding max number of bits limitation
LAME 3.98 beta 2 2007 5 20
- Robert Hegemann:
- Bug tracker item:[ 1693461 ];Fixed memory leaks in ACM codec
- Fixed encoding of non-standard sampling rates in CBR
- Improved VBR strategy when running out of
bits
LAME 3.98 beta 1 2007 5 16
- Alexander Leidinger:
- Add TLEN (ID3v2) support (Submitted by: Linus Walleij).
- Add number of total tracks per album (ID3v2) support (Submitted by: Kyle
VanderBeek).
- Some seatbelts for overflowing arrays in the ID3v2 support.
- Update the RPM spec (Submitted by: Kyle VanderBeek).
- Fix some mem-leaks in the error case.
- Update to newer autotools versions.
- Update to use a recent libsndfile (submitted by libsndfile author).
- Intrinsics support enabled for gcc
- Robert Hegemann:
- The newer VBR code is now LAME's default VBR
routine
- Fixed: in case of not enough bits the new vbr code
incorrectly used old vbr routine
- Improved ATH adjustment in low volume
cases
- Fixed (PSY model): mapping from convolution bands to
partition bands was broken since we replaced tables by own calculation several
years ago
- Fixed (PSY model): loss of fraction in equal loudness
weighting
- Fixed (PSY model): in NSPSY highpass filter, out of
bounds access in fircoef
- Known problem samples for the new VBR code: many of
them are at an acceptable quality level now;with a big'Thank
You'to Francis Niechcial
- Modified VBR strategy to handle out of bits
cases
- Restricted bitreservoir size for 320 kbps frames to the size used for
sideinfo, because of decoding problems with FhG decoders installed on almost
every Windows system
- LAME aborts on unsupported input files or unrecognized parameter options
passed more often now
- Bug tracker item:[ 1596306 ] "fatal error during
initialization";an invalid MPEG samplerate was returned by
optimum_samplefreq function
- Bug tracker item:[ 1585942 ] lame not --silent when TERM not
set;in case LAME was build with TERMCAP defined and no TERM environment is
defined, now we do not issue an error message and silently fallback to the
default behaviour as if LAME was compiled without TERMCAP defined.
- Bug tracker item:[ 1711980 ] LAME writes invalid Xing header when ID3
tags exist;LAME was sometimes writing an invalid Xing/Info header
- Feature request:[ 1588283 ] Flushing output stream in
lame.exe;'flush' option added
- Added FFTSSE and FFT3DNOW assembler code from Lame4
branch
- Changes in lame frontend switches: -k removed, add lowpass and highpass
switches if you need to change them; --short/noshort/allshort - degraded into
DEVELOPER ONLY switches normal users shouldn't use them; -X -Z degraded to
DEVELOPER ONLY switches, -X is too tough to communicate to end users and -Z
isn't used actualy
- Fixed some console printing problems
- Windows: ACM code now uses LAME library API only, all references to private
include files are removed
- Windows: DirectShow code now uses LAME library API only, all references to
private include files are removed
- Windows: disabled code that resets processor affinity, because this doesn't
belong to LAME, but seems to work around some problems the parent process has
(in most cases EAC)
- John33:
- Fixed mp2 and mp3 decoding: For mp3 and mp2 decoding, this now yields the
same output as foobar2000 but the error checking remains unchanged
- Gabriel Bouvigne:
- VC8 project files
- Added support for x64 under VC8
- Restricted MPEG 2.5 to 64kbps frames
- Takehiro Tominaga:
LAME 3.97 2006 9 24
LAME 3.97 beta 3 2006 8 19
- Gabriel Bouvigne:
- Workaround against a short blocks detection
issue
LAME 3.97 beta 2 2005 11 26
- Gabriel Bouvigne:
- Fixed an initialization error when input is not using a standard sampling
frequency
- Fixed a possible assertion failure in very low bitrate encoding
- Slight change regarding ATH adjustment with
V5
- Reinstated bit reservoir for 320kbps CBR
- ReplayGain analysis should now be faster when
encountering silent parts
- Takehiro Tominaga:
- Fixed a possible link problem of assembly code
LAME 3.97 beta 1 2005 9 12
- Takehiro Tominaga:
- Fixed an out of array access in mp3rtp
- Fixed a quality setting in DLL
- Fixed display when using --silent
- Vitaly Ivanov:
- Updated DirectShow interface
- Robert Hegemann:
- Fixed an out of array access
- Fixed some small rounding problem in vbr-new
quantization routines
- Fixed a bug in vbr-new regarding high frequencies
(sfb21) when using -Y
- Fixed a few bugs in vbr-new when using -Y
- Updated scalefactors allocation scheme in
vbr-new
- Fixed mingw32 configure problems
- Resolved some compiler warnings
- Updated command-line visualisation
- Gabriel Bouvigne:
- Changed some FLOAT8 to FLOAT
- Added project files for VC7
- Reworked -q1 and -q0
- Updated presets
- Fixed an error in ISO quantization on systems not
using the IEEE754 hack
- Faster quantization
- SSE version of init_xrpow
- Rog�io Brito:
- Updated Debian packaging
- Documentation work
- Chris Miller:
- Support for x64 platform SDK in makefile.msvc
LAME 3.96.1 2004 7 25
- Robert Hegemann:
- Fixed a rare bug in vbr-new (could lead to crashes or
data corruption)
- Gabriel Bouvigne:
- some fixes in ACM codec
- fixed padding when encoding to 320kbps
- fixed block size selection for mid and side
channels
LAME 3.96 2004 4 11
- Gabriel Bouvigne:
- new quantization selection mode (used in
ABR/CBR)
- set sfscale for ABR/CBR up to 160kbps
LAME 3.96 beta 2 2004 3 28
- Takehiro Tominaga:
- removed unnecessary integer convertion in
resampling
- Robert Hegemann:
- reworked scalefactor allocation in
vbr-new
- fixed a freeformat decoding problem
- Gabriel Bouvigne:
- updated minimal bitrate for V1 and V2
- Aleksander Korzynski:
- added ability to disable ReplayGain analysis
LAME 3.96 beta1 2004 3 7
- Takehiro Tominaga:
- Aleksander Korzynski:
- changed internal ReplayGain handling
- fixed some issues when ReplayGain is used with resampling
- Robert Hegemann:
- added standard ISO quantization for vbr-new, used at lower quality
settings
- faster count_bits for vbr-new
- faster find_scalefac_ave function for
vbr-new
- fixed an out of array access in psychoacoustic
models; this bug could make some psy calculations worthless and sometimes let
lame crash
- fixed an error on silent scalefactor bands; this bug
resulted in huffman data overrun problems while decoding, resulting in audible
glitches
- fixed a freeformat decoding bug
- Gabriel Bouvigne:
- adjusted short block thresholds
- fixed some array addressing bugs
- made ReplayGain analysis reentrant
- David Chandler: fixed a crash in quantize_xrpow
- Michal Bacik: fixed a crash when using 8kHz
- Goran Markovic: fixed some decoding bugs
- John Edwards: fixed a too small buffer in ReplayGain code
LAME 3.95.1 2004 1 12
- Gabriel Bouvigne:
- fixed a crash when using vbr-new
- changed ReplayGain reference level to 89dB
LAME 3.95 2004 1 11
- Gabriel Bouvigne:
- fixed lowpass values when using vbr with mono
files
- faster quantization loops
- faster count_bits
- fixed a buffer requirement error in ACM codec
- Takehiro TOMINAGA:
- fixed mpglib and other decoding support code to prevent the crash when
invalid mp3 input
- removed Layer I decoding support
- use FastLog and IEEE 754 hack on PowerPC too (approx.
10 percent faster)
LAME 3.94 beta 2003 12 15
- Takehiro Tominaga:
- fixed block switching of nspsytune
- best huffman divide in the inner loop.This
should improve the quality, but PAINFULLY slow. So it is not enabled by
default. Use -q0 to use it.
- Changed -q option mapping. "-q2" until version 3.93 is now "-q3".
- saving bits by better scalefactor storing
- removed Vorbis support
- substep quantization.This should help breaking
the SFB21 bloating problem
- made psychoacoustic model aware of ATH
adjustements
- use ATH value as short block masking lower
limit
- several fixes in psychoacoustic model
- more robust decoding
- Mark Taylor / Gabriel Bouvigne: fixed issues in VBR header
- Mark Taylor: workaround against some hardware decoder defficiencies
- Aleksander Korzynski: ability to compute the "Radio" ReplayGain and detect
clipping on the fly. The ReplayGain value is stored in the Lame tag.
- Gabriel Bouvigne:
- work on presets
- use presets by default for cbr/abr
- use presets by default for vbr
- analog silence detection in partitionned
sfb21
- do not compute noise in upper 0 part of the
spectrum
- only compute noise in modified scalefactor
bands
- Guillaume Lessard:
- Alexander Leidinger:
- prevent closing the input fd prematurely if the input is a named pipe
LAME 3.93.1 2002 12 1
- Gabriel Bouvigne:
- preset medium added to the dll interface
- fix for abr/cbr presets
- fix -q0 switch
- Alexander Leidinger: fix link problem on systems where socket() resides in
libsocket
LAME 3.93 2002 11 16
- Takehiro Tominaga:
- bit allocation for pre-echo control improved for
single channel encodings
- substep noise shaping
- optimizations by changing data structure
- noise shaping model 2 fix
- nspsytune FIR filter clean up
- fix small psymodel bugs(DC current estimation,
preecho detection of non-VBR mode, and nspsymode initialization)
- portability fixes for Tru64 UNIX
- Albert Faber: some fixes in the DLL
- Simon Blandford: fixes for channel scaling in mono mode
- Dominique Duvivier: some optimizations and a faster
log10 function
- Mark Taylor:
- some tag related fixes in the direct show filter and in the ACM codec
- fixed a mono encoding bug found by Justin
Schoeman
- calc_noise bug fix
- other fixes
- Alexander Leidinger:
- update to autoconf 2.53, rewrite some configure tests
- Akos Maroy: determine gcc version even with gcc 3.1
- Andrew Bachmann: compile shared libs on BeOS (and perhaps other
arches)
- ultrasparc switches for gcc 3.1
- fixes for SunOS 4.x
- fixes for 64bit arches
- CFLAGS fix for IRIX
- don't override CFLAGS if exptopt isn't requested
- Robert Hegeman:
- some fixes
- some fixes for VBR
- Gabriel Bouvigne:
- --noasm switch. Might help Cyrix/Via users
- presets and alt-presets merged
LAME 3.92 2002 4 14
- Alexander Leidinger: add non linear psymodel
(compile time option, disabled by default), workaround a bug in gcc
3.0.3 (compiler options, based upon suggestions from various people, see
archives and changelog for more)
- Steve Lhomme: ACM wrapper (MS-Windows codec)
- Steve Lhomme: less memory copying on stereo
(interleaved) input
- Takehiro Tominaga: Inter-channel masking, enables
with --interch x option
- For buggy versions of gcc compiler (2.96*), back off on some of the
advanced compiler options
LAME 3.91 2001 12 29
- Darin Morrison: Bugfix for --alt-preset (for content
with low volume, clean vocals), only important for the "fast standard"
preset
- Alexander Leidinger:
- add some missing files to the distribution
- add --alt-preset to the man page
LAME 3.90 2001 12 21
- Many small improvements and bug fixes not added to
history
- John Dahlstrom: more fine tuning on the auto
adjustment of the ATH
- Robert Hegemann: small speed and quality
improvements for the old VBR code (--vbr-old).
- Robert Hegemann: some short block bug
fixes
- Robert Hegemann: Big improvements to --vbr-mtrh, now
encodes much more frequencies over 16khz
- Robert Hegemann: --vbr-new code disabled (outdated
and lower quality) and replaced with --vbr-mtrh (Both --vbr-new and --vbr-mtrh
now default to mtrh)
- Robert Hegemann: reordering of --longhelp to give more information,
--extrahelp dropped
- Darin Morrison: Totally revamped and extremely high quality unified preset
system and other general quality improvements now available with --alt-presets:
- some improvements to psychoacoustics (vast
improvements over default L.A.M.E. modes) when --alt-preset is used
including:
-
- Improved tuning of short block usage.
- Improved quantization selection usage (the -X modes),
now adapts between appropriate modes on the fly. Also helps on "dropout"
problems and with pre-echo cases.
- Improved joint stereo usage. Thresholds are better
tuned now and fix some "dropout" problems L.A.M.E. suffers from on clips like
serioustrouble.
- Improved noise shaping usage. Now switches between
noise shaping modes on the fly (toggles -Z on and off when appropriate) which
allows lower bitrates but without the quality compromise.
- Clips vastly improved over default L.A.M.E. modes
(vbr/cbr/abr, including --r3mix): castanets, florida_seq, death2, fatboy,
spahm, gbtinc, ravebase, short, florida_seq, hihat, bassdrum, 2nd_vent_clip,
serioustrouble, bloodline, and others. No degraded clips known.
- VBR bitrates are now more "stable" with less fluctuation -- not dipping too
low on some music and not increasing too high unnecessarily on other music.
"--alt-preset standard" provides bitrates roughly within the range of
180-220kbps, often averaging close to 192kbps.
- --alt-presets replace the --dm-presets and "metal" preset is removed and
replaced with generic abr and cbr presets.
- --alt-preset extreme (note the 'e') replaces xtreme to help eliminate some
confusion
- --alt-preset vbr modes now have a fast option which offers almost no
compromise in speed.
- --alt-preset standard (and "fast standard") are now much lower in bitrate,
matching --r3mix with an overall average, though offering higher quality
especially on difficult test samples.
- --alt-presets are no longer just "presets" as in a collection of switches,
instead they are now quality "modes" because of special code level tunings
(those mentioned above).
- Use --alt-preset help for more information.
- Roel VdB: more tuning on the --r3mix preset
- Jon Dee, Roel VdB: INFO tag
- Alexander Leidinger, mp3gain@hotmail.com: added --scale-l and --scale-r to
scale stereo channels independantly
- Takehiro Tominaga: new noise shaping mode, offering
more "cutting edge" shaping according to masking, enabled via -q0
- Mark Taylor: More work on --nogap
- Gabriel Bouvigne: Small changes to abr code for more accurate final
bitrate
- Gabriel Bouvigne, mp3gain@hotmail.com: PreliminaryReplayGainanalysis code added (not functional
yet)
- Gabriel Bouvigne, Alexander Leidinger: Documentation updates
- John Dahlstrom, DSPguru@math.com: floating point interface function in the
Windows DLL
LAME 3.89beta 2001 7 5
- John Stewart: long filename support for Win9x/NT.
- Takehiro Tominaga: LAME can calculate the CRC of VBR header, so now "lame
-pv" works fine.
- Robert Hegemann: Improvements of the new VBR code
(--vbr-mtrh).
- Robert Hegemann: New VBR code (--vbr-mtrh) is now
defaulted to get more feedback. The VBR speed is now on par with CBR. We will
use the old VBR code in the release.
- Gabriel Bouvigne: Change of the maximum frame size
limit. LAME should now be more friendly with hardware players.
- Gabriel Bouvigne: Size of VBR is now more balanced according to the -V
value.
- Alexander Leidinger: Finished the implementation of the set/get
functions.
- John Dahlstrom: LAME now handles 24bits input
- Mark Taylor: bugs in lame --decode causing truncation of mp3 file
fixed
- Mark Taylor: preliminary --nogap support
- "Final" API completed: shared library safe! This API is frozen and should
be backwords compatiable with future versions of libmp3lame.so, but we will
continue to add new functionality.
LAME 3.88beta 2001 3 25
- A lot of work that was never added to the
History!
- Frank Klemm and Gabriel Bouvigne: New ATH formula.
Big improvement for high bitrate encodings.
- Takehiro Tominaga: Temporal masking
- Gabriel Bouvigne/Mark Taylor: auto adjustment of
ATH
- Robert Hegemann: Better outer_loop stopping
criterion. Enabled with -q2 or better.
- Robert Hegemann/Naoki Shibata: slow/carefull noise
shaping. -q3..9: amplify all distorted bands. -q2: amplify distorted bands
within 50%. -q1-0: amplify only most distorted band at each
iteration.
- Takehiro Tominaga: Interframe, shortblock temporal
masking.
- Takehiro Tominaga: LAME restructured into a shared library and front end
application. Slight changes to the API. More changes are coming to turn LAME
into a true shared library (right now you have to recompile if you upgrade the
library :-(
- Naoki Shibata:
-
- improvements to psychoacoustics(--nspsytune)
- BUG in long block pre echo control
fixed(some out of range array access in M/S
psychoacoustics)
- Ralf Kempkens: Visual Basic Script for lame,
suggested to put it on your Windows Desktop and you can drag'n'drop Waves to
encode on it.
- Alexander Stumpf: improved lame.bat for 4Dos
users
- Mark Taylor: Several bugs fixed in the resampling
code.
- Frank Klemm, Robert Hegemann: added assembler code
for CPU feature detection on runtime (MMX, 3DNow, SIMD)
- Takehiro Tominaga: 3DNow FFT code.
- Florian Bome, Alexander Leidinger: more work on
configure stuff
- Alexander Leidinger: automake/libtool generated
Makefiles and TONS of other work.
- Alexander Leidinger: Much work towards shared
library style API.
- Anonymous: New more efficient RTP code.
- Mark Taylor: psycho-acoustic data now computed for
all scalefactor bands (up to 24 kHz)
- Mark Taylor, Takehiro Tominaga: All ISO table data
replaced by formulas - should improve MPEG2.5 results for which we never had
correct table data.
LAME 3.87alpha 2000 9 25
- Mark Taylor: Bug fixed in LAME/mpglib error recovery when encountering a
corrupt MP3 frame during *decoding*.
- Albert Faber: added LayerI+II decoding support
- Frank Klemm: added improved CRC
calculation
- Frank Klemm: substantial code
cleanup/improvements
- Robert Hegemann: Bug fixes
-
- in huffman_init, could lead to segmentation
faults (only in rare cases, most likely at lower sample rates)
- M/S switching at lower sample rates(the fact
there is no 2nd granule was ignored)
- Robert Hegemann: speed up in VBR
- Jarmo Laakkonen: Amiga/GCC settings for Makefile.unix.
- Magnus Holmgren: README and Makefile for (free) Borland C++ compiler.
Will also compile lame_enc.dll, but this is untested.
- Florian Bome: LAME finally has a ./configure script!!
LAME 3.86beta 2000 8 6
- Christopher Wise: A makefile for DJGPP, the DOS version of gcc. Now most
windows users should be able to compile LAME with minimal effort.
- Robert Hegemann: old VBR: fixed some bugs and
Takehiro's scalefac_scale feature (not yet on by default.) older LAME
versions did not allow to spent more than 2500 bits of 4095 possible bits to a
granule per channel, now fixed.
- Robert Hegemann: new VBR: analog silence treatment like in old VBR
- William Welch: Improved options for Linux/Alpha gcc and ccc compilers in
Makefile.
- Mathew Hendry: setting appropriate CRC bit for additional Xing-VBR tagging
frame
- Don Melton: added ID3 version 2 TAG support
- John Dahlstrom: fixed bug allowing timing information
(for status in command line encoder) to overflow.
- Tamito KAJIYAMA, Fixed several bugs in the
LAME/Vorbis interface.
- Mark Taylor: lame --decode will recognizeAlbum ID tags
- Naoki Shibata: Additive masking and other
improvements to psycho acoustics. (not yet on by default)
LAME 3.85beta 2000 7 3
- Takehiro Tominaga: mid/side stereo demasking
thresholds updated.
- Takehiro Tominaga: New short block MDCT coefficient data structure. Should
allow for future speed improvements.
- Robert Hegemann: fixed bug in old VBR routine, the --noath mode messed up
the VBR routine resulting in very large files
- Robert Hegemann: found bugs in some sections when using 32 bit floating
point. Default is now back to 64bit floating point.
- Takehiro Tominaga: Modified PE formula to use
ATH.
- S.T.L.: README.DJGPP - instructions for compiling
LAME with DJGPP, the dos version of gcc.
LAME 3.84beta 2000 6 30
- Mark Weinstein: .wav file output (with --decode option) was writing the
wrong filesize in the .wav file. Now fixed.
- Mark Taylor: (optional) Vorbis support, both encoding and decoding. LAME
can now produce .ogg files, or even re-encode your entire .ogg collection into
mp3. (Just kidding: it is always a bad idea to convert from one lossy format
to another)
- ?: Bug fixed causing VBR to crash under windows. (pretab[] array
overflow)
- Sergey Sapelin: Another bug found in the mpg123 MPEG2 tables. Now fixed
for the mpg123 based decoder in LAME.
- Marco Remondini: VBR histogram works in win32. compile with -DBRHIST
-DNOTERMCAP
- Takehiro Tominaga: LAME CBR will now use
scalefac_scale to expand the dynamic range of the scalefactors.
- Iwasa Kazmi: Library improvements: exit()'s,
printf, fprintf's are being replaced by interceptable macros.
LAME 3.83beta 2000 5 19
- Mark Taylor: Bug in buffering routines: in some
cases, could cause MDCT to read past end of buffer. Rare in MPEG2, even more
rare for MPEG1, but potentially serious!
- Mark Taylor: MDCT/polyphase filterbank was not being "primed" properly.
Does not effect output unless you set the encoder delay lower than the default
of 576 samples.
- Mark Taylor: "vdbj" and "Caster" found several VBR
bugs (now fixed): 1. Analog silence detection only checked frequencies up to
16 kHz. 2. VBR mode could still somehow avoid -F mode. 3. VBR mode would
ignore noise above 16 kHz (scalefactor band 22), Now calc_noise1 will compute
the noise in this band when in VBR mode. Not calculated in CBR mode since CBR
algorithm has no way of using this information.
- Mark Taylor: scalefactor band 22 info (masking(=ATH), noise and energy)
now displayed in frame analyzer.
- VBR code ATH tuning was disabled by accident in 3.81,
now fixed.
- Mark Taylor: lame --decode will produce .wav files.
(oops - size is off by a factor of 4)
LAME 3.82beta 2000 5 11
- Robert Hegemann: Fixed bug in high bitrate joint stereo encodings.
- Naoki Shibata: new long block MDCT
routine
LAME 3.81beta 2000 5 8
- all ISO code removed!
- Takehiro Tominaga and Naoki Shibata: new window
subband routines.
- Naoki Shibata: Bug fix in mpglib (decoding) lib: in
some cases, MDCT coefficients from previous granule was incorrectly used for
the next granule.
- ISO 7680 bit buffer limitation removed. It can be
reactivated with "--strictly-enforce-ISO" Please report any trouble with high
bitrates.
LAME 3.80beta 2000 5 6
- Takehiro Tominaga: more efficient and faster huffman
encoding!
- Takehiro Tominaga and Mark Taylor: much improved
short block compression!
- Tomasz Motylewski and Mark Taylor: MPEG2.5 now
supported!
- Mark Taylor: incorporated Takehiro's bitstream.c!
bitstream.c used by default, but old ISO bitstream code can also be
used.
- Scott Manley and Mark Taylor: good resampling
routine finaly in LAME. uses a 19 point FIR filter with Blackman window. Very
slow for non integer resampling ratios.
- Iwasa Kazmi: fixed SIGBUS error: VBR and id3 tags
were using data after it was free()'d.
- Robert Hegemann: Improved VBR tuning. #define
RH_QUALITY_CONTROL and #RH_SIDE_VBR now the defaults.
- Robert Hegemann: LAME version string now added to
ancillary data.
- Kimmo Mustonen: VBR histogram support for Amiga.
- Casper Gripenberg: VBR stats (but not histogram) for DOS verson.
- Robert Hegemann: rare VBR overflow bug fixed.
- Zack: -F option strictly enforces the VBR min bitrate. Without -F, LAME
will ignore the minimum bitrate when encoding analog silence.
- Shawn Riley: User can now specify a compression ratio (--comp <arg>)
instead of a bit rate. Default settings based on a compression ratio of
11.0
- Mark Taylor: free format bitstreams can be created with --freeformat, and
specify any integer bitrate from 8 to 320kbs with -b.
- Mark Taylor: lame be used as a decoder (output raw pcm only): lame
--decode input.mp3 output.pcm
LAME 3.70 2000 4 6
- "LAME 3.69beta" becomes LAME 3.70 "stable"
LAME 3.69beta 2000 4 6
- "spahm": default mode selection bug fixed. In some cases, lame was
defaulting to regular stereo instead of jstereo when the user did not specify a
mode.
LAME 3.68beta 2000 4 4
- Mark Taylor: mono encoding bug in DLL fixed.
- Ingo Saitz: bug in --cwlimit argument parsing fixed.
- Scott Manly: bug in 4-point resample code
fixed.
LAME 3.67beta 2000 3 27
- Robert Hegemann: jstereo now enabled for MPEG2
encodings
- Mark Taylor: old M/S stereo mode which used L/R maskings has been
removed.
- Mark Taylor: Xing MPEG2 VBR headers now working.
- Mark Taylor: When quantized coefficients are all 0
in a band, set scalefactors to 0 also to save a few bits.
- Ingo Saitz: Problems with framesize calculation when
using -f fast-math option fixed.
LAME 3.66beta 2000 3 21
- Bug fixes in BladeEnc DLL, possible click in last mp3 frame, VBR historgram
display, byteswapping option, ASM quantize routines work for both float and
double.
LAME 3.65beta 2000 3 17
- Enabled ASM version of quantize_xrpow() - accidently disabled in
lame3.64.
LAME 3.64beta 2000 3 16
- Don Melton: id3v1.1 tags & id3 bugfixes
- Gabriel Bouvigne: L/R matching block type
fix
- Bug fixed which was allowing quantized values to
exceed the maximum when not using -h
- Mark Taylor: Fitlers based on polyphase filterbank.
should be slightly better since the responce is independent of the blocktype,
and they are slightly faster.
- Mark Taylor: API: the API changed slightly - and this should be the final
version. There is a new routine: lame_encode_buffer() which takes an arbritray
sized input buffer, resamples & filters if necessary, encodes, and returns
the mp3buffer. There are also several new #defines, so it is possible to
compile a simple encoding library with no decoding or file I/O or command line
parsing. see the file API for details.
- Mark Taylor: MSVC stuff: lame.exe (with and without the frame analyzer)
and the CDex lame_enc.dll
should compile under MSVC. The MSVC5 project files may need some tweaking. In
particular,
you need to make sure LAMEPARSE, LAMESNDFILE and HAVEMPGLIB
are defined. (and HAVEGTK for the GTK stuff).
LAME 3.63beta 2000 2 20
- Robert Hegemann: FPE with -h fixed?
- Mathey Hendry: FPE error catching for Cygwin, FPE fix for vbr mode and
output to /dev/null
- Jeremy Hall: Fixed problems with input files where the number of samples
is not known.
- Mathew Hendry: ASM quantize_xrpow() for GNU
i386
- Wilfried Behne quantize_xrpow ()for PowerPC and
non-ASM
- Takehiro Tominaga: GOGO FFTs (not yet
used?)
LAME 3.62beta 2000 2 9
- Iwasa Kazmi: frame analyzer short block display of
single subblocks (press 1,2 or 3)
- Ingo Saitz: --help option added, with output to
stdout
- Alfred Weyers: short block AAC spreading function bug
fixed
- Takehiro Tominaga: new scalefac data structure -
improves performance!
- Lionel Bonnet: Bug fixed in MPEG2 scalefactor
routine: scalefactors were being severly limited.
- Takehiro Tominaga: faster FFT routines from. These
routines are also compatible with the GOGO routines, in case someone is
interested in porting them back to LAME.
- Sigbjørn Skjæret, Takehiro Tominaga: faster pow()
code.
- Joachim Kuebart: Found some unitialized variables
that were effecting quality for encodings which did not use the -h option (now
fixed).
- Mark Taylor: More modularization work. It is now possible to use LAME as
a library where you can set the encoding parameters directly and do your own
file i/o. The calling program is now it's own mp3 output. For an example of
the LAME API, see main.c, or mp3rtp.c or mp3x.c. These can all be compiled as
stand alone programs which link with libmp3lame.a.
- Felix vos Leitner: mp3rtp fixes. mp3rtp is a standalone program which
will encode and stream with RTP.
- Robert Hegemann: Information written to stderr displaying exactly which
type of lowpass filter (if any) is being used.
- Iwasa Kazmi: mpglib (the mpg123 decoder) scsfi decoding fixes.
- Takehiro Tominaga: More mpglib scsfi decoding fixes.
LAME 3.61beta 2000 1 14
- Mark Taylor: Fixed bug with lowpass filters when
using VBR with a 64kbs or lower min bitrate setting.
- Takehiro Tominaga: more efficient huffman encoding
splitting.
LAME 3.60beta 2000 1 9
- Mark Taylor: Distribution now comes with self test. Needs work to be
automated, see 'make test' in Makefile.
- Mark Taylor: AAC spreading function now the
default
- Gabriel Bouvigne: updated HTML docs
- Felix von Leitner: compute correct file length from Xing header (if
present) when input file is a mp3 file
- Felix von Leitner: mp3rtp (standalone) program now included. Not yet
tested. mp3rtp ip:port:ttl <infile> /dev/null will stream directly to
ip:port using RTP.
LAME 3.59beta 2000 1 4
- Takehiro Tominaga: --noath option. Disables ATH maskings.
- Gabriel Bouvigne: updated HTML docs.
- Iwasa Kazmi: makefile fixes
- Mark Taylor: Fixed bug where first frame of data was always overwritten
with 0's. Thanks to 'gol'
- Mark Taylor: bug fixes in mid/side masking ratios
(thanks to Menno Bakker)
- Mark Taylor: replaced norm_l, norm_s table data with formulas.
LAME 3.58beta 1999 12 13
- Segher Boessenkool: More accurate quantization
procedure! Enabled with -h.
- Mathew Hendry, Acy Stapp and Takehiro Tominaga: ASM
optimizations for quantize_xrpow and quantize_xrpow_ISO.
- Chuck Zenkus: "encoder inside" logo on web page
- Mark Taylor: a couple people have asked for this. Allow LAME to overide
VBR_min_bitrate if analog_silence detected. Analog_silence defined a la
Robert: energy < ATH.
- An Van Lam: Valid bitrates were being printed for layer 2, not layer
3!
- Ethan Yeo: Makefile.MSVC updated
- Mark Stephens: updated all MSVC project files
- Robert Hegemann: lowpass and highpass filters can be enabled with
--lowpass, --highpass
- Mark Taylor: MS switching is now smoother: ms_ratio
average over 4 granules
- Takehiro Tominaga: Scalefactor pre-emphasis fixed
(and now turned back on)
- Takehiro Tominaga: Bug in M/S maskings: switch to
turn on stereo demasking code was buggy.
LAME 3.57beta 1999 11 22
- Sigbjørn Skjæret, patch to allow encoding from 8bit input files when using
LIBSNDFILE
- Mark Taylor: Automatic downsampling to nearest valid samplerate.
- Mark Taylor: Scalefactor bands demarked on MDCT plot in frameanalyzer
- Mark Taylor: Scalefactor preemphasis disabled for now. The algorithm was
often doing more harm than good.
LAME 3.56beta 1999 11 19
- Kimmo Mustonen: portabilty code cleanup.
- Vladimir Marek: id3 genre patch.
- Conrad Sanderson: new applypatch script.
- Mark Taylor: Initial window type now "STOP_TYPE" to reduce initial
attenuation. This is needed because the new encoder delay is so short. With a
NORM_TYPE, the first 240 samples would be attenuated.
- Mark Taylor: Padding at end of file now adjusted (hopefully!) to produce as
little padding as possible while still guarantee all input samples are
encoded.
- Takehiro Tominaga: Reduced shortblock extra bit
allocation formulas by 10% since new huffman coding is at least 10% more
efficient.
LAME 3.55beta 1999 11 11
- Albert Faber: updated BladeEnc.dll
- Mark Taylor: Simple lowpass filter added to linear downsampling
routine.
- Nils Faerber: updated man page.
- Mark Taylor: All floating point variables are delcared FLOAT or FLOAT8.
Change the definition of FLOAT8 in machine.h to run at 32bit preceision.
- Mark Taylor: Bug (introduced in 3.54beta) in stereo->mono downsampling
fixed.
LAME 3.54beta 1999 11 8
- Mark Taylor: Encoder delay is now 48 samples. Can be adjusted to 1160 to
sync with FhG (see ENCDELAY in encoder.h) This is kind of amazing, since if
Takehiro put his MDCT/filterbank routine in a decoder, we could have a total
delay of only 96 samples.
- Mark Taylor: More inconstancies found and fixed in
MPEG2 tables.
- Mark Taylor: Resampling from an MP3 input file now works. But we still
dont have a lowpass filter so dont expect good results.
LAME 3.53beta 1999 11 8
- Takehiro Tominaga: Fixed MPEG2 problem in new MDCT
routines. Takehiro's combined filterbank/MDCT routine is now the default.
Removes all buffering from psymodel.c and the filterbanks/MDCT
routines.
LAME 3.52beta 1999 11 8
- By permission of copyright holders of all GPL code in LAME, all GPL code
is now released under a modified version of the LGPL (see the README file)
- By popular demand, all C++ comments changed to C style comments
- Mark Taylor: Linear resampling now works. Use --resample to set an output
samplerate different from the input samplerate. (doesn't seem to work with mp3
input files, and there is no lowpass filter, so dont expect good results just
yet)
- Takehiro Tominaga: Faster Huffman encoding
routines
The following changes are disabled because of MPEG2
problems. But to try them, set MDCTDELAY=48 in encoder.h, instead of
MDCTDELAY=528.:
- Takehiro Tominaga: New MDCT routines with shorter
delay (48 samples instead of 528) and even faster than the old
routines.
- Takehiro Tominaga: Removed extra buffering in
psymodel.c
LAME 3.51 1999 11 7
- Takehiro Tominaga: Bug in quantize.c absolute threshold of hearing
calculation for non-44.1 kHz input files.
LAME 3.50 1999 11 1
- LAME 3.37beta becomes official LAME 3.50 release
LAME 3.37beta 1999 11 1
- Lionel Bonnet: Found severe bug in MPEG2 Short block
SNR.
- Sergey Sapelin: VBR Toc improvement.
- Sergey Dubov: fskip() routine
- Conrad Sanderson: replacement for filterbank.c. Not much faster but
amazingly simpler.
LAME 3.36beta 1999 10 25
- Albert Faber: more MSVC and BladeDLL updates
- Kimmo Mustonen: Much code cleanup and Amiga updates
- Anton Oleynikov: Borland C updates
- Mark Taylor: More stdin fixes: For some reason, forward fseek()'s would
fail when used on pipes even though it is okay with redirection from "<". So
I changed all the forward fseek()'s to use fread(). This should improve stdin
support for wav/aiff files. If you know the input file is raw pcm, you can
still use the '-r' option to avoid *all* seeking of any kind.
LAME 3.35beta 1999 10 21
- Leonid Kulakov: Serious bug in MPEG2 scalefactor
band tables fixed.
- Portability patches from: Anton Oleynikov, Sigbjørn Skjæret, Mathew
Hendry, Richard Gorton
- Alfred Weyers: compiler options, updated timestatus.
- Albert Faber: BladeDll and other updates (new machine.h).
- Monty: updated Makefile to fix gcc inline math bug.
LAME 3.34beta 1999 10 12
- Mark Taylor: Bug fixed: minimum bitrate in VBR mode
could be ignored for a few frames.
- Mark Taylor: New (minor) VBR tunings.
- Tim Ruddick: New wav/aiff header parsing routines. Better parsing and
fewer fseek()'s.
- Anton Oleynikov: patches to work with Borland C
- Gabriel Bouvigne: Experimental voice option enabled
with --voice
LAME 3.33beta 1999 10 11
- Robert Hegemann: RH VBR mode now the default and only
VBR mode. The new code will always quantize to 0 distortion and the quality is
increased by reducing the masking from the psy-model. -X0 is still the default
for now.
- Robert Hegemann: new -X5 mode
- Mathew Hendry: New timing code, removes the need for HAVETIMES
- Mathew Hendry: assembler quantize_xrpow for
Windows
- Iwasa Kazmi: stdin/stdout patch for Windows
- Mark Taylor: New option: "--athonly" will ignore the psy-model output and
use only the absolute threshold of hearing for the masking.
LAME 3.32beta 1999 10 8
- Takehiro Tominaga: faster long block spreading
function convolution for non 44.1 kHz sampling frequencies, and faster short
block spreading function convolution for all sampling frequencies.
- Takehiro Tominaga: Completly rewritten huffman table
selection and count_bits(). More efficient table selection results in many
more bits per frame.
- Takehiro Tominaga: More efficient scalefac compress
setting.
- Mike Cheng: new calc_noise2()
- Alfred Weyers: patch for timestatus() seconds rollover
LAME 3.31beta 1999 9 28
- Albert Faber: updated his BladeDLL code. This allows LAME to be compiled
into a BladeEnc compatiable .dll.
- Mike Cheng: faster l3psycho_ener()
routine.
- Sigbjørn Skjæret: more code cleanup.
LAME 3.30beta 1999 9 27
- Conrad Sanderson: ID3 tag code added (type 'lame' for instructions)
- new mdct.c from Mike Cheng (no faster, but much cleaner code)
- Mathew Hendry: Microsoft nmake makefile and a couple other changes for
MSVC
- More modulization work: One input sound file interface handles mp3's,
uncompressed audio, with or without LIBSNDFILE. Fixes (hopefully) a bunch of
file I/O bugs introduced in 3.29 (Mark Taylor)
- LAME will now print valid samplerate/bitrate combinations (Mark
Taylor)
- stdin/stdout fix for OS/2 (Paul Hartman)
- For mp3 input files, totalframes estimated based on filesize and first
frame bitrate. (Mark Taylor)
- Updated all functions with new style prototypes. (Sigbjørn Skjæret)
LAME 3.29beta 1999 9 21
- Bug in bigv_bitcount fixed. Loop.c was
overestimating the number of bits needed, resulting in wasted bits every
frame. (Leonid A. Kulakov)
- Bug in *_choose_table() fixed These routines would
not sellect the optimal Huffman table in some cases. (Leonid A.
Kulakov)
- Tuning of ATH normalization (macik)
- Removed unused variables and fixed function prototypes (Sigbjørn
Skjæret)
- Sami Farin sent a .wav file that LAME built in support choked on. I
added a slightly more sophisticated wav header parsing to handle this, but if
you have trouble, use libsndfile.
- Resampling hooks and options added. Buffering and resampling routines need
to be written.
- LAME will now take an mp3 file as input. When resampling code is working,
LAME will be able to (for example) convert a high bitrate stereo mp3 to a low
bitrate mono mp3 for streaming.
LAME 3.28beta 1999 9 15
- Serious bug fixed in high frequency MDCT
coefficients. Huffman coding was reversing the order of the count1 block
quadruples. (Leonid A. Kulakov)
- nint() problems under Tru64 unix fixed and preprocessor variable HAVE_NINT
removed. (Bob Bell)
- Compiler warning fixes and code cleanup (Sigbjørn Skjæret, Lionel
Bonnet)
- USAGE file now includes suggestions for downsampling. For low bitrate
encodings, proper downsampling can give dramatically better results. (John
Hayward-Warburton)
LAME 3.27beta 1999 9 12
- Several bugs in encode.c and l3bitstream.c fixed by Lionel Bonnet.
- Bugs in new VBR (#define RH) formula for mono input file and mid/side
encoding fixed.
LAME 3.26beta 1999 9 10
- The "-m m" option (mono .mp3 file) will automatically mix left and right
channels if the input file is stereo. (Alfred Weyers)
- New quant_compare algorithm (method for deciding
which of two quantizations is better) enabled with -X4 (Greg
Maxwell)
- New mid/side VBR bit allocation formula. Mid channel
bits are set by the quality requirements, and then the side channel uses a
reduced number of bits (in a proportion coming from the fixed bitrate code).
This might not be optimal, but it should be pretty good and no one knows what
the optimal solution should be. (Greg Maxwell)
- New VBR (#define RH) tunings based on detailed
listening tests by Macik and Greg Maxwell.
- Sigbjørn Skjæret fixed several compiler warnings (which turned out to be
potential bugs)
- Takehiro Tominaga fixed a low bitrate bug in reduce_side()
- Alfred Weyers fixed some buffer overflows.
- New ATH (absolute threshold of hearing) formula
replaces buggy ISO code, and adds analog silence treatment (removal of
coefficients below below ATH). These are turned on by default but have not
been fully tested. (Robert Hegemann)
- Bug in short block spreading function fixed. (Robert
Hegemann)
LAME 3.25beta 1999 8 22
- Sigbjørn Skjæret fixed a zero byte malloc call. This bug was introduced
in 3.24 and causes problems on non Linux systems.
- Bit allocation routines would sometimes allocate more than 4095 bits to one
channel of one granule. A couple of people reported problems that might be
caused by this, especially at higher bitrates.
- Nils Faerber updated the man page and fixed many of the compiler
warnings.
LAME 3.24beta 1999 8 15
- This release contains the following new code (for developers) which is
disabled by default:
- Robert Hegemann: Completely overhauled VBR code. Now computes exact
number of bits required for the given qualty and then quantized with the
appropriate bitrate.
- Several new quantization quality measures.
LAME 3.23beta 1999 8 8
- Very nice continuously updated VBR histogram display from Iwasa Kazmi.
(disabled with --nohist).
- More modulerization work. The encoding engine can now be compiled into
libmp3lame, but the interface is awkward.
- Bug fixed in FFT Hann window formula (Leonid A.
Kulakov).
- New LAME logo on the download page. Created by Chris Michalisles.
- Several VBR algorithm improvements from Robert
Hegemann. New quantization noise metrics and VBR quality measure takes into
account mid/side encoding. Should produce smaller files with the same quality,
especially when using jstereo.
LAME 3.22beta 1999 7 27
- Downsampling (stereo to mono) bug with MPEG2 fixed. (Mike Oliphant)
- Downsampling now merges L & R channels - before it only took the L
channel.
- More modularization and code cleanup from Albert Faber and myself.
- Input filesize limit removed for raw pcm input files. For other file
types, LAME will still only read the first 2^32 samples, (27 hours of playing
time at 44.1 kHz).
LAME 3.21beta 1999 7 26
- Correct Mid/Side masking thresholds for JSTEREO
mode! This is enabled with -h. It makes LAME about 20% slower since it
computes psycho-acoustics for L,R Mid and Side channels.
- "Analog silence" threshold added. Keeps VBR from
upping the bitrate during very quite passages. (Robert.Hegemann)
- New VBR quality setting from Robert Hegemann. It is
based on the idea that distortion at lower bit rates sounds worse than at
higher bitrates, and so the allowed distortion (VBR quality setting) is
proportional to the bitrate. Because of this, default minimum bitrate is now
32kbs.
- Expermental subblock gain code enabled with
-Z.
- New "-r" option for raw pcm input files. With -r, LAME will not do any
fseek()'s or look for wav and aiff headers on the input file.
- Bug fixes in mp3x (frame analyzer) for viewing frames near end of the
file.
- Bug fixed to allow setting the sampling rate of raw pcm input files.
LAME 3.20beta 1999 7 19
- Bug in get_audio.c fixed. Libsndfile wrappers would not compile (Miguel
Revilla Rodriguez)
- Nils Faerber found some unitialized variables and some wierd extranous
computations in filter_subband, now fixed. This was causing seg faults on some
machines.
LAME 3.19beta 1999 7 18
- Oops! Robert Hegemann immediatly found a bug in the
new (old -Z option) quantization code. calc_noise1 was not returning
tot_noise, so non ms-stereo frames were buggy.
LAME 3.18beta 1999 7 17
- Many psycho-acoustic bug fixes. Dan Nelson
discovered a bug in MPEG2: For short blocks, the code assumes 42 partition
bands. MPEG1 sometimes has less, MPEG2 can have more. In MPEG1, this bug
would not have effected the output if your compiler initializes static
variables to 0 on creation. In MPEG2 it leads to array out-of-bounds access
errors. Finally, there was a related bug in MPEG1/MPEG2, short & long
blocks where the energy above 16 kHz was all added to partition band 0. (the
lowest frequeny partition band!)
- The -Z option (Gabriel Bouvigne's idea of using total
quantization noise to choose between two quantizations with the same value of
"over") is now the default. I believe this helps remove the trilling sound in
Jan's testsignal4.wav. The quality of testsignal2.wav and testsignal4.wav are
now better than Xing and getting closer to FhG.
- Bug fixes in frame & sample count for downsampling mode. (ben
"jacobs")
- Patches to improve modulization. (ben "jacobs")
LAME 3.17beta 1999 7 11
- substantial code cleanup towards goal of making LAME more modular.
LAME 3.16beta 1999 7 11
- New tunings of window switching, and better bit
allocation based on pe. (Jan Rafaj. improves both testsignal2.wav and
testsignal4.wav).
- Bug in mid/side quantization when side channel was
zero fixed. (Albert Faber)
- Removed some extranous computations in l3psy.c (Robert Hegemann)
- More detailed timing status info, including hours display. (Sakari Ailus)
and percentage indicator (Conrad Sanderson).
- Window_subband and calc_noise1,calc_noise2 speedups.
Quantize_xrpow speedup should be significant on non GNU/intel systems. (Mike
Cheng)
- Better initial guess for VBR bitrate. Should speed
up VBR encoding. (Gabriel Bouvigne)
- More advanced .wav header parsing. fixes bugs involving click in first
frame. (Robert.Hegemann)
- Correct filesize and total frame computation when using LIBSNDFILE (ben
"jacobs")
- Click in last frame (buffering problem) when using libsndfile fixed.
- Audio I/O code overhauled. There is now a uniform audio i/o interface to
libsndfile or the LAME built in wav/aiff routines. All audio i/o code
localized to get_audio.c.
LAME 3.15beta
- times()/clock() problem fixed for non-unix OS. (Ben "Jacobs")
- Fixed uninitialized pe[] when using fast mode. (Ben "Jacobs")
LAME 3.13 1999 6 24
- Patches for BeOS from Gertjan van Ratingen.
- Makefile info for OS/2 Warp 4.0 (from dink.org).
- Status display now based on wall clock time, not cpu time.
- mem_alloc no longer allocates twice as much memory as needed (Jan
Peman).
3.12pre9
- Updated BLADEDLL code to handle recent changes (Albert Faber).
- Bug fixed in parsing options when not using GTK (Albert Faber).
- MPEG2 Layer III psycho acoustics now
working.
- Improved huffman encoding Chris Matrakidis. (10%
faster). I dont know how he finds these improvements! LAME with full quality
now encodes faster than real time on my PII 266.
- Fixed time display when encoding takes more than 60 minutes.
3.12pre8
- Newmid/side
stereocriterion. LAME will use mid/side stereo only when the difference
between L & R masking thresholds (averaged over all scalefactors) is less
then 5db. In several test samples it does a very good job mimicking the FhG
encoder.
- Bug in mid/side stereo fixed: independent variation
of mid & side channel scalefactors disabled. Because of the way outer_loop
is currently coded, when encoding mid/side coefficietns using left/right
thresholds, you have to vary the scalefactors simultaneously.
- Bug in side/mid energy ratio calculation fixed.
(Thanks to Robert Hegemann)
- Default mode is stereo (not jstereo) if bitrate is chosen as 192kbs or
higher. Tero Auvinen first pointed out that FhG seems to think at 160kbs,
their encoder is so good it doesn't need jstereo tricks. Since LAME is not as
good as FhG, I am going to claim that 192kbs LAME is so good it doens't need
jstereo tricks, and thus it is disabled by default.
- WAV header parsing for big-endian machines, and automatic detection of
big-endian machines. (Thanks to Sigbjørn Skjæret).
- added 56 sample delay to sync LAME with FhG.
- MP3x (frame analyzer) can now handle MPEG2 streams.
3.12pre7
- MPEG2 layer III now working! lower bit rates (down to 8kbs) and 3 more
sampling frequencies: 16000, 22050, 24000Hz. Quality is poor - the psy-model
does not yet work with these sampling frequencies.
- Fixed "ERROR: outer_loop(): huff_bits < 0." bug when using VBR.
- bash and sh scripts to run LAME on multiple files now included. (from
Robert Hegemann and Gerhard Wesp respectively)
- bug fix in encoding times for longer files from (Alvaro Martinez
Echevarria)
- yet another segfault in the frame analyzer fixed.
- ISO psy-model/bit allocation routines removed. This allowed makeframe() to
be made much simpler, and most of the complicated buffering is now gone.
Eventually I would like the encoding engine to be a stand alone library.
3.12pre6
- Better VBR tuning. Find minimum bitrate with
distortion less than the allows maximum. A minimum bit rate is imposed on
frames with short blocks (where the measured distortion can not be trusted).
A minimum frame bitrate can be specified with -b, default=64kbs.
- LIBSNDFILEsupport.
With libsndfile, LAME can encode almost all sound formats. Albert Faber did
the work for this, including getting libsndfile running under win32.
- CRC checksum now working! (Thanks to Johannes Overmann )
- frame analyzer will now work with mono .mp3 files
- more code tweeks from Jan Peman.
- Compaq-Alpha(Linux) fixes and speedups from Nils
Faerber.
- Faster bin_search_StepSize from Juha
Laukala.
- Faster quantize() from Mike Cheng
- Faster quantize_xrpow() from Chris Matrakidis.
xrpow_flag removed since this option is now on by default.
- Fixed .wav header parsing from Nils Faerber.
- Xing VBR frame info header code from Albert Faber. "Xing" and "LAME 3.12"
embedded in first frame.
- Bug in VBR bit allocation based on "over" value
fixed.
LAME 3.11 1999 6 3
- Almost all warnings (-Wall) now fixed! (Thanks to Jan Peman)
- More coding improvements from Gabriel Bouvigne and Warren Toomey.
- VBR (variable bit rate). Increases bit rate for
short blocks and for frames where the number of bands containing audible
distortion is greater than a given value. Much tuning needs to be
done.
- Patch to remove all atan() calls from James Droppo.
LAME 3.10 1999 5 30
- Fast mode (-f) disables psycho-acoustic model for
real time encoding on older machines. Thanks to Lauri Ahonen who first sent a
patch for this.
- New bit reservoir usage scheme to accommodate the new
pre-echo detection formulas.
- Tuning of AWS and ENER_AWS pre-echo formulas by
Gabriel Bouvigne and myself. They work great! now on by default.
- In jstereo, force blocktypes for left & right channels to be
identical. FhG seems to do this. It can be disabled with "-d".
- Patches to compile MP3x under win32 (Thanks to Albert Faber).
- bin_serach_stepsize limited to a quantizationStepSize
of -210 through 45.
- outer_loop() will now vary Mid & Side
scalefactors independently. Can lead to better quantizations, but it is slower
(twice as many quantizations to look at). Running with "-m f" does not need
this and will run at the old speed
- Bug in inner_loop would allow quantizations larger
than allowed. (introduced in lame3.04, now fixed.)
- Updated HTML documentation from Gabriel Bouvigne.
- Unix man page from William Schelter.
- numlines[] bug fixed. (Thanks to Rafael Luebbert,
MPecker author).
- Quantization speed improvements from Chirs
Matrakidis.
- When comparing quantizations with the same number of
bands with audible distortion, use the one with the largest scalefactors, not
the first one outer_loop happened to find.
- Improved defination of best quantization when using -f (fast mode).
- subblock code now working. But no algorithm to choose subblock gains
yet.
- Linux now segfaults on floating point exceptions. Should prevent me from
releasing binaries that crash on other operating systems.
LAME 3.04 1999 5 22
- Preliminary documentation from Gabriel Bouvigne.
- I wouldn't have thought it was possible, but now
there are even more speed improvements from Chris Matrakidis! Removed one FFT
when using joint stereo, and many improvements in loop.c.
- "Fake" ms_stereo mode renamed "Force" ms_stereo since it forces mid/side
stereo on all frames. For some music this is said to be a problem, but for
most music mode is probably better than the default jstereo because it uses
specialized mid/side channel masking thresholds.
- Small bugs in Force ms_stereo mode fixed.
- Compaq Alpha fixes from Nathan Slingerland.
- Some new experimental pre-echo detection formulas in
l3psy.c (#ifdef AWS and #ifdef ENER_AWS, both off by default. Thanks to
Gabriel Bouvigne and Andre Osterhues)
- Several bugs in the syncing of data displayed by mp3x (the frame analyzer)
were fixed.
- highq (-h) option added. This turns on things (just one so far) that
should sound better but slow down LAME.
LAME 3.03 1999 5 18
- Faster (20%) & cleaner FFT (Thanks to Chris
Matrakidis
http://www.geocities.com/ResearchTriangle/8869/fft_summary.html)
- mods so it works with VC++ (Thanks to Gabriel Bouvigne,
www.mp3tech.org)
- MP3s marked "original" by default (Thanks to Gabriel Bouvigne,
www.mp3tech.org)
- Can now be compiled into a BladeEnc compatible .DLL (Thanks to Albert
Faber, CDex author)
- Patches for "silent mode" and stdin/stdout (Thanks to Lars Magne
Ingebrigtsen)
- Fixed rare bug: if a long_block is sandwiched between
two short_blocks, it must be changed to a short_block, but the short_block
ratios have not been computed in l3psy.c. Now always compute short_block
ratios just in case.
- Fixed bug with initial quantize step size when many
coefficients are zero. (Thanks to Martin Weghofer).
- Bug fixed in MP3x display of audible distortion.
- improved status display (Thanks to Lauri Ahonen).
LAME 3.02 1999 5 12
- encoder could use ms_stereo even if channel 0 and 1
block types were different. (Thanks to Jan Rafaj)
- added -k option to disable the 16 kHz cutoff at
128kbs. This cutoff is never used at higher bitrates. (Thanks to Jan
Rafaj)
- modified pe bit allocation formula to make sense at
bit rates other than 128kbs.
- fixed l3_xmin initialization problem which showed up under FreeBSD.
(Thanks to Warren Toomey)
LAME 3.01 1999 5 11
- max_name_size increased to 300 (Thanks to Mike Oliphant)
- patch to allow seeks on input file (Thanks to Scott Manley)
- fixes for mono modes (everyone who pointed this out)
- overflow in calc_noise2 fixed
- bit reservoir overflow when encoding lots of frames with all zeros (Jani
Frilander)
LAME 3.0 1999 5 10
- GPSYCHOの追加 (Mark Taylor)
- MP3xの追加 (Mark Taylor)
- LAMEはMark Taylorによってメンテナンスされます。
最終更新:2008年05月13日 09:54