of a header.
Default compiler setup in netbsd disables SSE, we cannot compile stuff
that uses it - but we do have the headers for it.
Allows us to get rid of SSE disabling for sunpro compiler, it should
fail the compile test as well.
Patch from FreeBSD (pointed out by John D. Baker)
Fixes PR pkg/51209: audio/lame build fails on i386-7.99.30
Problems found with existing distfiles:
/pub/pkgsrc/distfiles/amp-0.7.6.tgz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-music-32000-1.0.8.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-music-48000-1.0.8.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-en-us-callie-32000-1.0.22.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-en-us-callie-48000-1.0.22.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-32000-1.0.18.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-48000-1.0.18.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-16000-1.0.12.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-32000-1.0.12.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-48000-1.0.12.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-8000-1.0.12.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-32000-1.0.18.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-48000-1.0.18.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-32000-1.0.13.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-48000-1.0.13.tar.gz
/pub/pkgsrc/distfiles/kid3-3.3.0.tar.gz
/pub/pkgsrc/distfiles/libdca-0.0.5.tar.bz2
/pub/pkgsrc/distfiles/mp3to.gz
/pub/pkgsrc/distfiles/squeezeboxserver-7.5.1-noCPAN.tgz
No changes made to these file.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
LAME 3.99.5 February 28 2012
* Rogerio Brito
* autotools: Fix compilation on alpha using proper ifdef guards. Thanks to Andres Mejia.
* Small correction of the documentation.
* Robert Hegemann
* Workaround for cygwin build problem. Tracker item [ 3480692 ] mingw-w64 compilation error
* Fix for a problem when LAME is compiled with fast floating point math. It could result in bitrate bloat with silent input data.
* Bug fix for tracker item [ 3486753 ] Artifacts at the beginning of decoded file
LAME 3.99.4 January 25 2012
* Robert Hegemann
* Fix for tracker item [ 3475581 ] lame crashes at .w64 input file
* Addressing things brought to attention by tracker item [ 3463197 ] 3.99.x problem WFED and PCST frames
* WFED and PCST frames can now be added, to tag podcasts iTunes recognizes
* USER frames are now supported
* COMM frames can now have a description, when passed via --tv "COMM=description=full text"
* possible divide-by-zero exception should be fixed
* adding malformed user-defined-frames could result in abnormal program termination, fixed
LAME 3.99.3 November 26 2011
Robert Hegemann
Fix for tracker item [ 3441349 ] --tg does not handle genre number when adding unicode tag
LAME 3.99.2 November 18 2011
Robert Hegemann
Due to some bugs in 3rd party HW/SW decoders, those were not be able to make use of LAME's extended info tag anymore, resulting in problems with things like gapless playback.
LAME 3.99.1 November 5 2011
Robert Hegemann
Fixes for several issues with ID3v2 unicode tags, using Big-Endian text encodings. Because of several other software (like Windows Media Player), LAME writes Little-Endian unicode tags only.
Thanks to Taihei Monma, for reporting these issues. Tracker items: [ 3431203, 3431222, 3431241 ]
LAME 3.99 October 15 2011
3.99 beta 1 becomes 3.99
LAME 3.99 beta 1 not yet released
Robert Hegemann
Fix for Bugtracker item [ 3395813 ] id3tag_set_fieldvalue for URL link frames Broken
Fix for Bugtracker item [ 3368977 ] Wave Parser doesn't pad chunks
Fix for Bugtracker item [ 3034259 ] confusing fatal error: can't update LAME-tag frame!
LAME 3.99 beta 0 not officially released
Josep Maria Antolín Segura
Documentation work
Rogério Brito
Improve Debian packaging.
Include suggestions made by Fabian Greffrat
Update version of the Debian package to reflect that it is taken from CVS.
Get rid of a transitional package
Much more to come...
Minor fix to validate the history file correctly
Robert Hegemann
Porting of LAME mp3rtp program to Windows platform
Fix: for free format mp3 above 320 kbps, the maximum allowed bits was limited too far.
Changed behaviour: LAME replaces common suffixes by MP3/WAV when no output filename was given. For example, a simple lame x.wav will create output file x.mp3
UNICODE support on Windows OS, file names and ID3v2 tags; related: Bugtracker item [ 3052230 ] Lame.exe can't find files with non-ASCII names
Added support for WAVE FORMAT IEEE FLOAT input files
New switch --swap-channel added, see tracker item [ 1118412 ] RFE: option to swap L and R channels
New switches -m l and -m r to select either left or right channel for mono encoding.
Feature request item [ 3134258 ] Allow larger images with LAME (>128KB)
Fix for Bugtracker item [ 2962223 ] Encoder delay and padding values ignored when re-encoding
Fix for Bugtracker item [ 2986823 ] Error when building Lame with NASM support -still exists
Fix for Bugtracker item [ 3125235 ] make -f Makefile.mingw32 fails
Fix for Bugtracker item [ 3021935 ] ID3 tag TXXX cannot be used more than once
Fix for Bugtracker item [ 3025801 ] gain_analysis.h needs int constants
Fix for Bugtracker item [ 3277412 ] Segmentation fault at layer2.c:105 with --decode
Changes in new VBR code:
tuning on PSY model
tuning on VBR scale and resulting bitrates
Minor bug fix for sfb21 encoding
All encoding modes use the PSY model from new VBR code, addresses Bugtracker item [ 3187397 ] Strange compression behavior
Fix for a possible out of bounds array access in HIP decoder, addresses Bugtracker item [ 3091776 ] crash at III_dequantize_sample
LAME 3.98.4 March 22 2010
Joseph Flynn
Improvements for LAME DirectShow filter:
Added support for the DirectShow IAMStreamConfig Interface to the LAME encoder filter output pin.
Modified the DirectShow filter registration section so that the LAME Encoder filter is correctly registered in the Audio Compressors filter category. This will allow third-party encoding applications using the DirectShow System Device Enumerator Interface to correctly detect the LAME encoder when querying the Audio Compressors filter group.
Modified the filter registration information so that the MP3 audio subtype is correctly reported as being supported on the encoder output pin. This will allow third-party encoding applications using the DirectShow IFilterMapper2 Interface to recognize that the LAME encoder supports MP3 output.
Altered the Filter Merit Value that was being used when the filter was registered so that it is now using the standard DirectShow compressor filter merit value of MERIT_DO_NOT_USE (0x200000). Previously, the filter was being registered using a value of MERIT_SW_COMPRESSOR (0x100000), which was at a lower priority (i.e. worse priority) than MERIT_DO_NOT_USE. This prevented the LAME Encoder filter from being selected for use by some third-party encoding applications.
Added code to calculate the frame length of the audio frames used for the nBlockSize element of the WAVEFORMATEX output structure. Previously this value was simply hard-coded to 1.
Robert Hegemann
Fix for Bugtracker item [ 2973877 ] A problem regarding the new drain code
LAME 3.98.3 February 27 2010
Rogério Brito:
Update the debian packaging for the new release.
Robert Hegemann
The ignore-tag-errors switch had no effect when embedding album art, fixed.
Library API change: lame_decode functions are now obsolete but still present, please use hip_decode instead. The reason for this change is: lame_decode functions use a single global variable within the library to store decoder setup, hip_decode functions don't. The encoder now uses hip_decode internally and it is now possible to use clipdetect feature while reencoding mp3 to mp3.
Workaround for FFMPEG bug, which uses to call lame_encode_flush more than once in a loop.
Windows: program icon and version info added (when building with VC9)
Fix for Bugtracker item [ 2688413 ] lib name problem in Microsoft Visual Studio 6
Fix for Bugtracker items [ 2051870, 242365tracker item [ 2723518 ] resampling in 3.98 and 3.99alpha
Fix for Bugtracker item [ 2891879 ] Because of Windows API change, there was a problem with the prority switch.
Fix for Bugtracker item [ 2893101 ] Access Violation in BladeMP3EncDL0, ships with MS Windows): enabling the new-drain-code seems to solve that issue better, than restricting the buffer size (see below: 3.98 beta 1, May 16 2007).
Patch submitted by Bernhard Doebler, tracker item [ 2807676 ] Error when building Lametem [ 2406420 ] compile lame_enc.dll under cygwin
LAME 3.98.3 February 27 2010
* Rogério Brito:
o Update the debian packaging for the new release.
* Robert Hegemann
o The ignore-tag-errors switch had no effect when embedding
album art, fixed.
o Library API change: lame_decode functions are now
obsolete but still present, please use hip_decode instead.
The reason for this change is: lame_decode functions use
a single global variable within the library to store
decoder setup, hip_decode functions don't. The encoder
now uses hip_decode internally and it is now possible to
use clipdetect feature while reencoding mp3 to mp3.
o Workaround for FFMPEG bug, which uses to call
lame_encode_flush more than once in a loop.
o Windows: program icon and version info added (when
building with VC9)
o Fix for Bugtracker item [ 2688413 ] lib name problem
in Microsoft Visual Studio 6
o Fix for Bugtracker items [ 2051870, 2423650, 2928684
] several small documentation issues
o Fix for Bugtracker item [ 2723518 ] resampling in 3.98
and 3.99alpha
o Fix for Bugtracker item [ 2891879 ] Because of Windows
API change, there was a problem with the prority switch.
o Fix for Bugtracker item [ 2893101 ] Access Violation
in BladeMP3EncDLL if UNICODE was defined.
o Fix for Bugtracker item [ 2887359 ] Wrong length in
ID3v2 tag when num_samples isn't set
o Fix for Bugtracker item [ 2872590 ] LameTAG: "Music
length" missmatch in LAME 3.98
o Fix for Bugtracker item [ 2824296 ] wrong enc_padding
value in LAME 3.99a and 3.98.3 (from CVS)
o Revisiting the FhG decoder problem (FhG V1.5 build 50,
ships with MS Windows): enabling the new-drain-code seems
to solve that issue better, than restricting the buffer
size (see below: 3.98 beta 1, May 16 2007).
o Patch submitted by Bernhard Doebler, tracker item [
2807676 ] Error when building Lame with NASM support
o Patch submitted by Mancuso Raffaele, tracker item [
2406420 ] compile lame_enc.dll under cygwin
the "ffmpeg" package. "ffmpeg" can now generate ".flv" files with
audio again. Bump package revision.
Extra testing by Matthias Drochner, approved by Alistair Crooks.
LAME 3.98.1 September 21 2008
* Rogerio Brito:
* More fixes for the abx tool for Unix systems:
* Plugged a memory leak.
* Fixed an endianness problem: users of big-endian machines
can now do abx tests.
* Fixed history's HTML doctype
* Fixed history so that it finally validates at W3's validator
* Fixed compilation of frontend mp3rtp.c. Thanks to Kris Karas.
Bugtracker item [ 2015432 ] mp3rtp missing uint16_t in lame 3.98
* Robert Hegemann:
* Fix for Bugtracker item [ 2031704 ] --id3v1-only didnt work in
3.98-final
* Fix for Bugtracker item [ 2022035 ] encoder_padding value and
resampling
* Fix for Bugtracker item [ 2029282 ] Frequency filtering API
broken in 3.98
* Fix for Bugtracker item [ 2039648 ] potential memory leak in
parse_args() function in parse.c
* Fix for some tagging issues:
* Made search for ID3v1 genres more sloppy, abbrevations may
match more often as some simple typos. Examples:
* --tg "Alt. Rock" matches genre "Alternate Rock"
* --tg "acapela" matches genre "A Cappella"
* New switch --pad-id3v2-size "n": adds ID3v2 tag with n
padding bytes.
LAME 3.98 July 4 2008
* Anton Sergunov:
* Frontend DirectShow: enabling LAME dshow filter to connect to
"File Writer Filter".
* Rogerio Brito:
* Updates to the Debian Packaging
* Fixes to the abx tool for Unix systems (so that more people can
evaluate LAME's compression against the original files)
* Alexander Leidinger:
* explicitely link the math lib to the lame lib
* add switch to disable the use of the compaq optimized math lib
LAME 3.98 beta 8 April 13 2008
* 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 April 6 2008
* 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 December 16 2007
* 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 August 12 2007
* 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 June 23 2007
* 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 May 22 2007
* Robert Hegemann:
* Fixes regarding max number of bits limitation
LAME 3.98 beta 2 May 20 2007
* 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 May 16 2007
* 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:
* SSE version of FFT
LAME 3.97 September 24 2006
* 3.97 beta 3 becomes 3.97
LAME 3.97 beta 3 August 19 2006
* Gabriel Bouvigne:
o Workaround against a short blocks detection issue
LAME 3.97 beta 2 November 26 2005
* Gabriel Bouvigne:
o Fixed an initialization error when input is not using a standard sampling frequency
o Fixed a possible assertion failure in very low bitrate encoding
o Slight change regarding ATH adjustment with V5
o Reinstated bit reservoir for 320kbps CBR
o ReplayGain analysis should now be faster when encountering silent parts
* Takehiro Tominaga:
o Fixed a possible link problem of assembly code
LAME 3.97 beta 1 September 12 2005
* Takehiro Tominaga:
o Fixed an out of array access in mp3rtp
o Fixed a quality setting in DLL
o Fixed display when using --silent
* Vitaly Ivanov:
o Updated DirectShow interface
* Robert Hegemann:
o Fixed an out of array access
o Fixed some small rounding problem in vbr-new quantization routines
o Fixed a bug in vbr-new regarding high frequencies (sfb21) when using -Y
o Fixed a few bugs in vbr-new when using -Y
o Updated scalefactors allocation scheme in vbr-new
o Fixed mingw32 configure problems
o Resolved some compiler warnings
o Updated command-line visualisation
* Gabriel Bouvigne:
o Changed some FLOAT8 to FLOAT
o Added project files for VC7
o Reworked -q1 and -q0
o Updated presets
o Fixed an error in ISO quantization on systems not using the IEEE754 hack
o Faster quantization
o SSE version of init_xrpow
* Rog�io Brito:
o Updated Debian packaging
o Documentation work
* Chris Miller:
o Support for x64 platform SDK in makefile.msvc
If we're going to mess with defining FLOAT on the command line
(done for alpha from before), we should also define FLOAT_MAX.
Pull in <float.h> in libmp3lib/machine.h, so that DBL_MAX is
available for that purpose.
* improved presets
* fixed issues in VBR header
* more robust decoding
* several fixes in psychoacoustic model
* removed Vorbis support
* 10% faster on PowerPC
Changes:
LAME 3.93.1 December 1 2002
* 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 November 16 2002
* 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
* 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
Update requested by Brad Forschinger <bnjf@optushome.com.au> in private mail.
Changes since 3.89:
* Darin Morrison: Bugfix for --alt-preset (for content with low volume,
clean vocals), only important for the "fast standard" preset
* Alexander Leidinger: <BR
* add some missing files to the distribution
* add --alt-preset to the man page
* 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 -q1
* Mark Taylor: More work on --nogap
* Gabriel Bouvigne: Small changes to abr code for more accurate final
bitrate
* Gabriel Bouvigne, mp3gain@hotmail.com: Preliminary ReplayGain
analysis code added (not functional yet)
* Gabriel Bouvigne, Alexander Leidinger: Documentation updates
* John Dahlstrom, DSPguru@math.com: floating point interface function
in the Windows DLL
pkgsrc related changes:
-use default install, so we get the library installed too
(needed eg. as audacity plugin)
-this version knows about libffm (on alpha), removed corresponding
patches (untested)
changelog:
LAME 3.89alpha July 5 2001
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.
Robert Hegemann: New VBR code is now defaulted. 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 March 25 2001
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 24khz)
Mark Taylor, Takehiro Tominaga: All ISO table data replaced by formulas -
should improve MPEG2.5 results for which we never had correct
table data.