| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
| "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <head> |
| |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| |
| <meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; I; Linux 2.2.12-20 i686) [Netscape]"> |
| |
| <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> |
| <title>LAME Changelog</title> |
| |
| |
| </head> |
| |
| |
| <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" alink="#bbbbbb" link="#888888" vlink="#555555"> |
| |
| <center> |
| <h1>History</h1> |
| |
| </center> |
| |
| Starting with LAME 3.0: <br> |
| |
| <font color="#ff0000">red = features and bug fixes which |
| affect quality</font> <br> |
| |
| <font color="#3366ff">blue = features and bug fixes which |
| affect speed</font> <br> |
| |
| black = usability, portability, other |
| <hr> |
| |
| <hr> |
| <h3>LAME 3.98.4 March 22 2010</h3> |
| <ul> |
| <li>Joseph Flynn |
| <ul> |
| <li>Improvements for LAME DirectShow filter: |
| <ul> |
| <li>Added support for the DirectShow IAMStreamConfig Interface to the LAME encoder filter output pin. |
| </li> |
| <li>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. |
| </li> |
| <li>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. |
| </li> |
| <li>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. |
| </li> |
| <li>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. |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| |
| <li>Robert Hegemann |
| <ul> |
| <li><font color="#ff0000">Fix for Bugtracker item <i>[ 2973877 ] A problem regarding the new drain code</i></font> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h3>LAME 3.98.3 February 27 2010</h3> |
| <ul> |
| <li>Rogério Brito: |
| <ul> |
| <li>Update the debian packaging for the new release. |
| </li> |
| </ul> |
| </li> |
| <li>Robert Hegemann |
| <ul> |
| <li>The <b>ignore-tag-errors</b> switch had no effect when embedding album art, fixed.</li> |
| <li>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 <b>clipdetect</b> |
| feature while reencoding mp3 to mp3. |
| </li> |
| <li>Workaround for FFMPEG bug, which uses to call lame_encode_flush more than once in a loop. |
| </li> |
| <li>Windows: program icon and version info added (when building with VC9) |
| </li> |
| <li>Fix for Bugtracker item <i>[ 2688413 ] lib name problem in Microsoft Visual Studio 6</i> |
| </li> |
| <li>Fix for Bugtracker items <i>[ 2051870, 2423650, 2928684 ] several small documentation issues</i> |
| </li> |
| <li>Fix for Bugtracker item <i>[ 2723518 ] resampling in 3.98 and 3.99alpha</i> |
| </li> |
| <li>Fix for Bugtracker item <i>[ 2891879 ] Because of Windows API change, there was a problem with the <b>prority</b> switch.</i> |
| </li> |
| <li>Fix for Bugtracker item <i>[ 2893101 ] Access Violation in BladeMP3EncDLL if UNICODE was defined.</i> |
| </li> |
| <li>Fix for Bugtracker item <i>[ 2887359 ] Wrong length in ID3v2 tag when num_samples isn't set</i> |
| </li> |
| <li>Fix for Bugtracker item <i>[ 2872590 ] LameTAG: "Music length" missmatch in LAME 3.98</i> |
| </li> |
| <li>Fix for Bugtracker item <i>[ 2824296 ] wrong enc_padding value in LAME 3.99a and 3.98.3 (from CVS)</i> |
| </li> |
| <li><font color="#ff0000">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).</font> |
| </li> |
| <li>Patch submitted by Bernhard Doebler, tracker item <i>[ 2807676 ] Error when building Lame with NASM support</i> |
| </li> |
| <li>Patch submitted by Mancuso Raffaele, tracker item <i>[ 2406420 ] compile lame_enc.dll under cygwin</i> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h3>LAME 3.98.2 September 22 2008</h3> |
| <ul> |
| <li>Robert Hegemann</li> |
| <ul> |
| <li>Fix for Bugtracker item <i>[ 2123206 ] lame 3.98.1 segfaults with -h</i> |
| </li> |
| </ul> |
| </ul> |
| |
| <h3>LAME 3.98.1 September 21 2008</h3> |
| <ul> |
| <li>Rogério Brito: |
| <ul> |
| <li>More fixes for the abx tool for Unix systems: |
| <ul> |
| <li>Plugged a memory leak.</li> |
| <li>Fixed an endianness problem: users of big-endian machines |
| can now do abx tests.</li> |
| </ul> |
| </li> |
| <li>Fixed history's HTML doctype</li> |
| <li> |
| Fixed history so that it <em>finally</em> validates |
| at <a href="http://validator.w3.org/">W3's validator</a> |
| </li> |
| <li> |
| Fixed compilation of frontend <code>mp3rtp.c</code>. Thanks to Kris Karas. |
| Bugtracker item <i>[ 2015432 ] mp3rtp missing uint16_t in lame 3.98</i> |
| </li> |
| </ul> |
| </li> |
| <li>Robert Hegemann: |
| <ul> |
| <li>Fix for Bugtracker item <i>[ 2031704 ] --id3v1-only didnt work in 3.98-final</i></li> |
| <li>Fix for Bugtracker item <i>[ 2022035 ] encoder_padding value and resampling</i></li> |
| <li>Fix for Bugtracker item <i>[ 2029282 ] Frequency filtering API broken in 3.98</i></li> |
| <li>Fix for Bugtracker item <i>[ 2039648 ] potential memory leak in parse_args() function in parse.c</i></li> |
| <li>Fix for some tagging issues: |
| <ul> |
| <li>Made search for ID3v1 genres more sloppy, abbrevations may match more often as some simple typos. |
| Examples:<ul><li>--tg "Alt. Rock" matches genre "Alternate Rock"</li> |
| <li>--tg "acapela" matches genre "A Cappella"</li> |
| </ul></li> |
| <li>New switch --pad-id3v2-size "n": adds ID3v2 tag with n padding bytes.</li> |
| </ul></li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h3>LAME 3.98 July 4 2008</h3> |
| <ul> |
| <li>Anton Sergunov: |
| <ul> |
| <li>Frontend DirectShow: enabling LAME dshow filter to connect to "File Writer Filter". |
| </li> |
| </ul> |
| </li> |
| <li>Rogério Brito: |
| <ul> |
| <li>Updates to the Debian Packaging</li> |
| <li>Fixes to the abx tool for Unix systems (so that more people |
| can evaluate LAME's compression against the original files)</li> |
| </ul> |
| </li> |
| <li>Alexander Leidinger: |
| <ul> |
| <li>explicitely link the math lib to the lame lib</li> |
| <li>add switch to disable the use of the compaq optimized math lib</li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h3>LAME 3.98 beta 8 April 13 2008</h3> |
| <ul> |
| <li>Robert Hegemann: |
| <ul> |
| <li>LAME now accepts a floating point value in the range [0,...,10[ as VBR quality setting, like <b>-V5.678</b> |
| </li> |
| <li>Found and fixed some suspicious code in additive masking calculation for VBR-NEW |
| </li> |
| <li>bug-fix:<font color="#ff0000">experimental code was defaulted by accident for VBR-NEW</font> |
| </li> |
| <li>fix for some endianess problem on big-endian machines |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h3>LAME 3.98 beta 7 April 6 2008</h3> |
| |
| <ul> |
| <li>Robert Hegemann: |
| <ul> |
| <li>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. |
| </li> |
| <li>libmp3lame API: added some experimental unicode ID3 tagging code. |
| </li> |
| <li>frontends: write itself final ID3 tags and LAME/Xing header frame |
| </li> |
| <li>lame_enc.dll: writes itself final LAME/Xing header frame |
| </li> |
| <li>Latest changes to the new VBR psymodel: |
| <ul> |
| <li>uses a different spreading function |
| </li> |
| <li><font color="#ff0000">bug-fix for out-of-bounds array access (program stack corruption possible)</font> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <h3>LAME 3.98 beta 6 December 16 2007</h3> |
| |
| <ul> |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li>Feature request <i>[ 1811483 ] WAVE_FORMAT_EXTENSIBLE support (PCM)</i> |
| </li> |
| |
| <li><font color="#ff0000">Fix for some rare scalefactor selection issue the newer vbr code had at low compression levels |
| </font></li> |
| |
| <li>Fix for Bugtracker item<i>[ 1813496 ] AIFF parsing bug</i> |
| </li> |
| |
| <li>Latest changes to the new VBR code: |
| <ul> |
| |
| <li><font color="#3366ff">it now has its own psy model, a derivation from NSPSY.</font> |
| </li> |
| |
| <li><font color="#ff0000">some more tuning has been done for this new psy model.</font> |
| Many thanks to Horst Albrecht and Myles Thaiss. |
| </li> |
| |
| <li><font color="#ff0000">the "out-of-bits" strategy is reworked</font> |
| </li> |
| |
| </ul> |
| |
| <li><font color="#ff0000">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.</font> |
| </li> |
| |
| </ul> |
| </li> |
| </ul> |
| |
| <h3>LAME 3.98 beta 5 August 12 2007</h3> |
| |
| <ul> |
| |
| <li>Jonathan Stott: |
| |
| <ul> |
| |
| <li>Bug tracker items: <i>[ 1590693 ] ID3v2 tag not writing, [ 1636267 ] ID3v2 tags overwritten</i><br> |
| 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. |
| </li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li>Fix for Bugtracker item <i>[ 1719593 ] Track numbers > 255 not allowed even with --id3v2-only</i> |
| |
| <li>Fix for Bugtracker item <i>[ 1742623 ] fail(lame --mp3input -m m -b 128 --resample 8 *.mp3 **.mp3)</i><br> |
| 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. |
| </li> |
| |
| <li>Fix for Bugtracker item <i>[ 1445175 ] Input being stdin fails in Windows on WAV files</i><br> |
| 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. |
| </li> |
| |
| <li>Fixing some memory leak in the 'lame_enc.dll'. |
| </li> |
| |
| <li>Fix for Bugtracker items <i>[ 1160757, 1160741 ] --little-endian / --big-endian not working</i><br> |
| These switches where originally intended to be used together with Libsndfile only. |
| </li> |
| |
| <li>Fix for Bugtracker item <i>[ 1746336 ] Incorrect Bitrate with ABR und --resample, LAME 3.98b4</i><br> |
| Some earlier bug-fix had some typo. As a result, when adding a '--resample 123' switch, |
| the average bitrate rised upto maximum bitrate. |
| </li> |
| |
| </ul> |
| </li> |
| |
| </ul> |
| |
| <h3>LAME 3.98 beta 4 June 23 2007</h3> |
| |
| <ul> |
| |
| <li>Dennis Lambe Jr: Added support for total track count (id3v2) in the frontend |
| </li> |
| |
| <li>Nyaochi: |
| <ul> |
| |
| <li>Ability to set user-defined ID3v2.3 frame</li> |
| |
| <li>Ability to include albumArt in ID3v2.3 tag</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li>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.</li> |
| |
| <li><font color="#ff0000">Out of bits strategy for the newer VBR code overhauled</font></li> |
| |
| <li>LAME API: the ID3 tag functions do not store the pointers passed anymore, |
| they do make deep copies of strings passed as parameters. |
| </li> |
| |
| <li>Changes in LAME frontend switches regarding ID3 tags: |
| <br><tt>--tg "MyGenre"</tt> 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. |
| <br><tt>--tn "02/02"</tt> will store the track number specified as plain text as-is |
| for ID3v2 tags. |
| </li> |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.98 beta 3 May 22 2007</h3> |
| |
| <ul> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li>Fixes regarding max number of bits limitation</li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.98 beta 2 May 20 2007</h3> |
| |
| <ul> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li>Bug tracker item: <i>[ 1693461 ];</i> |
| Fixed memory leaks in ACM codec</li> |
| |
| <li>Fixed encoding of non-standard sampling rates in CBR</li> |
| |
| <li><font color="#ff0000">Improved VBR strategy when running out of bits</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.98 beta 1 May 16 2007</h3> |
| |
| <ul> |
| |
| <li>Alexander Leidinger: |
| <ul> |
| |
| <li>Add TLEN (ID3v2) support (Submitted by: Linus Walleij).</li> |
| |
| <li>Add number of total tracks per album (ID3v2) support |
| (Submitted by: Kyle VanderBeek).</li> |
| |
| <li>Some seatbelts for overflowing arrays in the ID3v2 |
| support.</li> |
| |
| <li>Update the RPM spec (Submitted by: Kyle VanderBeek).</li> |
| |
| <li>Fix some mem-leaks in the error case.</li> |
| |
| <li>Update to newer autotools versions.</li> |
| |
| <li>Update to use a recent libsndfile (submitted by |
| libsndfile author).</li> |
| |
| <li><font color="#3366ff">Intrinsics support |
| enabled for gcc</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li><font color="#3366ff">The newer VBR code is now LAME's default |
| VBR routine</font></li> |
| |
| <li><font color="#ff0000">Fixed: in case of |
| not enough bits the new vbr code incorrectly used old vbr routine</font></li> |
| |
| <li><font color="#ff0000">Improved ATH |
| adjustment in low volume cases</font></li> |
| |
| <li><font color="#ff0000">Fixed (PSY model): mapping from convolution bands |
| to partition bands was broken since we replaced tables by own calculation |
| several years ago</font></li> |
| |
| <li><font color="#ff0000">Fixed (PSY model): loss of fraction in equal loudness weighting</font></li> |
| |
| <li><font color="#ff0000">Fixed (PSY model): in NSPSY highpass filter, out of bounds access in fircoef</font></li> |
| |
| <li><font color="#ff0000">Known problem samples for the new VBR code: |
| many of them are at an acceptable quality level now;</font> |
| with a big <b>'Thank You'</b> to Francis Niechcial</li> |
| |
| <li><font color="#ff0000">Modified VBR strategy to handle out of bits cases</font></li> |
| |
| <li>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</li> |
| |
| <li>LAME aborts on unsupported input files |
| or unrecognized parameter options passed more often now </li> |
| |
| <li>Bug tracker item: <i>[ 1596306 ] "fatal error during initialization";</i> |
| an invalid MPEG samplerate was returned by optimum_samplefreq function</li> |
| |
| <li>Bug tracker item: <i>[ 1585942 ] lame not --silent when TERM not set;</i> |
| 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.</li> |
| |
| <li>Bug tracker item: <i>[ 1711980 ] LAME writes invalid Xing header when ID3 tags exist;</i> |
| LAME was sometimes writing an invalid Xing/Info header</li> |
| |
| <li>Feature request: <i>[ 1588283 ] Flushing output stream in lame.exe;</i> |
| 'flush' option added</li> |
| |
| <li><font color="#3366ff">Added FFTSSE and FFT3DNOW assembler code from |
| Lame4 branch</font></li> |
| |
| <li>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</li> |
| |
| <li>Fixed some console printing problems</li> |
| |
| <li>Windows: ACM code now uses LAME library API only, all |
| references to private include files are removed</li> |
| |
| <li>Windows: DirectShow code now uses LAME library API only, all |
| references to private include files are removed</li> |
| |
| <li>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)</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>John33: |
| <ul> |
| |
| <li>Fixed mp2 and mp3 decoding: For mp3 and mp2 decoding, |
| this now yields the same output as foobar2000 but the error checking |
| remains unchanged</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li>VC8 project files</li> |
| |
| <li>Added support for x64 under VC8</li> |
| |
| <li>Restricted MPEG 2.5 to 64kbps frames</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Takehiro Tominaga: |
| <ul> |
| |
| <li><font color="#3366ff">SSE version of FFT</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.97 September 24 2006</h3> |
| |
| <ul> |
| |
| <li>3.97 beta 3 becomes 3.97 </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.97 beta 3 August 19 2006</h3> |
| |
| <ul> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li><font color="#ff0000">Workaround against a |
| short blocks detection issue</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.97 beta 2 November 26 2005</h3> |
| |
| <ul> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li>Fixed an initialization error when input is not using a |
| standard sampling frequency</li> |
| |
| <li>Fixed a possible assertion failure in very low bitrate |
| encoding</li> |
| |
| <li><font color="#ff0000">Slight change |
| regarding ATH adjustment with V5</font></li> |
| |
| <li><font color="#ff0000">Reinstated bit |
| reservoir for 320kbps CBR</font></li> |
| |
| <li><font color="#3366ff">ReplayGain analysis |
| should now be faster when encountering silent parts</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Takehiro Tominaga: |
| <ul> |
| |
| <li>Fixed a possible link problem of assembly code</li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.97 beta 1 September 12 2005</h3> |
| |
| <ul> |
| |
| <li>Takehiro Tominaga: |
| <ul> |
| |
| <li>Fixed an out of array access in mp3rtp </li> |
| |
| <li><font color="#ff0000">Fixed a quality |
| setting in DLL</font></li> |
| |
| <li>Fixed display when using --silent</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Vitaly Ivanov: |
| <ul> |
| |
| <li>Updated DirectShow interface</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li><font color="#ff0000">Fixed an out of |
| array access</font></li> |
| |
| <li><font color="#ff0000">Fixed some small |
| rounding problem in vbr-new quantization routines</font></li> |
| |
| <li><font color="#ff0000">Fixed a bug in |
| vbr-new regarding high frequencies (sfb21) when using -Y</font></li> |
| |
| <li><font color="#ff0000">Fixed a few bugs in |
| vbr-new when using -Y</font></li> |
| |
| <li><font color="#ff0000">Updated scalefactors |
| allocation scheme in vbr-new</font></li> |
| |
| <li>Fixed mingw32 configure problems</li> |
| |
| <li>Resolved some compiler warnings</li> |
| |
| <li>Updated command-line visualisation</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li>Changed some FLOAT8 to FLOAT</li> |
| |
| <li>Added project files for VC7</li> |
| |
| <li><font color="#ff0000">Reworked -q1 and -q0</font></li> |
| |
| <li><font color="#ff0000">Updated presets</font></li> |
| |
| <li><font color="#ff0000">Fixed an error in |
| ISO quantization on systems not using the IEEE754 hack</font></li> |
| |
| <li><font color="#3366ff">Faster quantization</font></li> |
| |
| <li><font color="#3366ff">SSE version of |
| init_xrpow</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Rogério Brito: |
| <ul> |
| |
| <li>Updated Debian packaging</li> |
| |
| <li>Documentation work</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Chris Miller: |
| <ul> |
| |
| <li>Support for x64 platform SDK in makefile.msvc</li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.96.1 July 25 2004</h3> |
| |
| <ul> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li><font color="#ff0000">Fixed a rare bug in |
| vbr-new (could lead to crashes or data corruption)</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li>some fixes in ACM codec</li> |
| |
| <li>fixed padding when encoding to 320kbps</li> |
| |
| <li><font color="#ff0000">fixed block size |
| selection for mid and side channels</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.96 April 11 2004</h3> |
| |
| <ul> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li><font color="#ff0000">new quantization |
| selection mode (used in ABR/CBR)</font></li> |
| |
| <li><font color="#ff0000">set sfscale for |
| ABR/CBR up to 160kbps</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.96 beta 2 March 28 2004</h3> |
| |
| <ul> |
| |
| <li>Takehiro Tominaga: |
| <ul> |
| |
| <li><font color="#3366ff">removed unnecessary |
| integer convertion in resampling</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li><font color="#ff0000">reworked scalefactor |
| allocation in vbr-new</font></li> |
| |
| <li>fixed a freeformat decoding problem</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li><font color="#ff0000">updated minimal |
| bitrate for V1 and V2</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Aleksander Korzynski: |
| <ul> |
| |
| <li>added ability to disable ReplayGain analysis</li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.96 beta March 7 2004</h3> |
| |
| <ul> |
| |
| <li>Takehiro Tominaga: |
| <ul> |
| |
| <li>fixed decoding issue</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Aleksander Korzynski: |
| <ul> |
| |
| <li>changed internal ReplayGain handling</li> |
| |
| <li>fixed some issues when ReplayGain is used with |
| resampling</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Robert Hegemann: |
| <ul> |
| |
| <li>added standard ISO quantization for vbr-new, used at |
| lower quality settings</li> |
| |
| <li><font color="#3366ff">faster count_bits |
| for vbr-new</font></li> |
| |
| <li><font color="#3366ff">faster |
| find_scalefac_ave function for vbr-new</font></li> |
| |
| <li><font color="#ff0000">fixed an out of |
| array access in psychoacoustic models; this bug could make some psy |
| calculations worthless and sometimes let lame crash</font></li> |
| |
| <li><font color="#ff0000">fixed an error on |
| silent scalefactor bands; this bug resulted in huffman data overrun |
| problems while decoding, resulting in audible glitches</font></li> |
| |
| <li>fixed a freeformat decoding bug</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li><font color="#ff0000">adjusted short block |
| thresholds</font></li> |
| |
| <li>fixed some array addressing bugs</li> |
| |
| <li>made ReplayGain analysis reentrant</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>David Chandler: fixed a crash in quantize_xrpow </li> |
| |
| <li>Michal Bacik: fixed a crash when using 8kHz </li> |
| |
| <li>Goran Markovic: fixed some decoding bugs </li> |
| |
| <li>John Edwards: fixed a too small buffer in ReplayGain code</li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.95.1 January 12 2004</h3> |
| |
| <ul> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li>fixed a crash when using vbr-new</li> |
| |
| <li>changed ReplayGain reference level to 89dB</li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.95 January 11 2004</h3> |
| |
| <ul> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li><font color="#ff0000">fixed lowpass values |
| when using vbr with mono files</font></li> |
| |
| <li><font color="#3366ff">faster quantization |
| loops</font></li> |
| |
| <li><font color="#3366ff">faster count_bits</font></li> |
| |
| <li>fixed a buffer requirement error in ACM codec</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Takehiro TOMINAGA: |
| <ul> |
| |
| <li>fixed mpglib and other decoding support code to prevent |
| the crash when invalid mp3 input</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>removed Layer I decoding support</li> |
| |
| <li><font color="#3366ff">use FastLog and IEEE 754 |
| hack on PowerPC too (approx. 10 percent faster)</font></li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.94 beta December 15 2003</h3> |
| |
| <ul> |
| |
| <li>Takehiro Tominaga: |
| <ul> |
| |
| <li><font color="#ff0000">fixed block |
| switching of nspsytune</font></li> |
| |
| <li><font color="#ff0000">best huffman divide |
| in the inner loop.</font> This should improve the quality, but |
| PAINFULLY slow. So it is not enabled by default. Use -q0 to use it.</li> |
| |
| <li>Changed -q option mapping. "-q2" until version 3.93 is |
| now "-q3".</li> |
| |
| <li><font color="#ff0000">saving bits by |
| better scalefactor storing</font></li> |
| |
| <li>removed Vorbis support</li> |
| |
| <li><font color="#ff0000">substep quantization.</font>This |
| should help breaking the SFB21 bloating problem</li> |
| |
| <li><font color="#ff0000">made psychoacoustic |
| model aware of ATH adjustements</font></li> |
| |
| <li><font color="#ff0000">use ATH value as |
| short block masking lower limit</font></li> |
| |
| <li><font color="#ff0000">several fixes in |
| psychoacoustic model</font></li> |
| |
| <li>more robust decoding</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Mark Taylor / Gabriel Bouvigne: fixed issues in VBR header</li> |
| |
| <li>Mark Taylor: workaround against some hardware decoder |
| defficiencies</li> |
| |
| <li>Aleksander Korzynski: ability to compute the "Radio" |
| ReplayGain and detect clipping on the fly. The ReplayGain value is |
| stored in the Lame tag.</li> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li><font color="#ff0000">work on presets</font></li> |
| |
| <li><font color="#ff0000">use presets by |
| default for cbr/abr</font></li> |
| |
| <li><font color="#ff0000">use presets by |
| default for vbr</font></li> |
| |
| <li><font color="#ff0000">analog silence |
| detection in partitionned sfb21</font></li> |
| |
| <li><font color="#3366ff">do not compute noise |
| in upper 0 part of the spectrum</font></li> |
| |
| <li><font color="#3366ff">only compute noise |
| in modified scalefactor bands</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Guillaume Lessard: |
| <ul> |
| |
| <li>nogap related changes</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Alexander Leidinger: |
| <ul> |
| |
| <li>prevent closing the input fd prematurely if the input |
| is a named pipe</li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.93.1 December 1 2002</h3> |
| |
| <ul> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li>preset medium added to the dll interface</li> |
| |
| <li><font color="#ff0000">fix for abr/cbr |
| presets</font></li> |
| |
| <li><font color="#ff0000">fix -q0 switch</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Alexander Leidinger: fix link problem on systems where |
| socket() resides in libsocket</li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.93 November 16 2002</h3> |
| |
| <ul> |
| |
| <li>Takehiro Tominaga: |
| <ul> |
| |
| <li><font color="#ff0000">bit allocation for |
| pre-echo control improved for single channel encodings</font></li> |
| |
| <li><font color="#ff0000">substep noise shaping</font></li> |
| |
| <li><font color="#3366ff">optimizations by |
| changing data structure</font></li> |
| |
| <li><font color="#ff0000">noise shaping model |
| 2 fix</font></li> |
| |
| <li><font color="#3366ff">nspsytune FIR filter |
| clean up</font></li> |
| |
| <li><font color="#ff0000">fix small psymodel |
| bugs(DC current estimation, preecho detection of non-VBR mode, and |
| nspsymode initialization)</font></li> |
| |
| <li>portability fixes for Tru64 UNIX</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Albert Faber: some fixes in the DLL</li> |
| |
| <li>Simon Blandford: fixes for channel scaling in mono mode</li> |
| |
| <li><font color="#3366ff">Dominique Duvivier: some |
| optimizations and a faster log10 function</font></li> |
| |
| <li>Mark Taylor: |
| <ul> |
| |
| <li>some tag related fixes in the direct show filter and in |
| the ACM codec</li> |
| |
| <li><font color="#3366ff">fixed a mono |
| encoding bug found by Justin Schoeman</font></li> |
| |
| <li>calc_noise bug fix</li> |
| |
| <li>other fixes</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Alexander Leidinger: |
| <ul> |
| |
| <li>update to autoconf 2.53, rewrite some configure tests</li> |
| |
| <li>Akos Maroy: determine gcc version even with gcc 3.1</li> |
| |
| <li>Andrew Bachmann: compile shared libs on BeOS (and |
| perhaps other arches)</li> |
| |
| <li>ultrasparc switches for gcc 3.1</li> |
| |
| <li>fixes for SunOS 4.x</li> |
| |
| <li>fixes for 64bit arches</li> |
| |
| <li>CFLAGS fix for IRIX</li> |
| |
| <li>don't override CFLAGS if exptopt isn't requested</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Robert Hegeman: |
| <ul> |
| |
| <li><font color="#3366ff">some fixes</font></li> |
| |
| <li><font color="#ff0000">some fixes for VBR</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Gabriel Bouvigne: |
| <ul> |
| |
| <li>--noasm switch. Might help Cyrix/Via users</li> |
| |
| <li><font color="#ff0000">presets and |
| alt-presets merged</font></li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.92 April 14 2002</h3> |
| |
| <ul> |
| |
| <li><font color="#ff0000">Alexander |
| Leidinger: add non linear psymodel (compile time option, |
| disabled by default)</font>, workaround a bug in gcc 3.0.3 |
| (compiler options, based upon suggestions from various people, see |
| archives and changelog for more)</li> |
| |
| <li>Steve Lhomme: ACM wrapper (MS-Windows codec)</li> |
| |
| <li><font color="#3366ff">Steve Lhomme: |
| less memory copying on stereo (interleaved) input</font></li> |
| |
| <li> <font color="#ff0000">Takehiro Tominaga: |
| Inter-channel masking, enables with --interch x option</font></li> |
| |
| <li> For buggy versions of gcc compiler (2.96*), back off on |
| some of the advanced compiler options<br> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.91 December 29 2001</h3> |
| |
| <ul> |
| |
| <li><font color="#ff0000">Darin |
| Morrison: Bugfix for --alt-preset (for content with low |
| volume, clean vocals), only important for the "fast standard" preset</font> |
| </li> |
| |
| <li>Alexander Leidinger: |
| <ul> |
| |
| <li>add some missing files to the distribution</li> |
| |
| <li>add --alt-preset to the man page</li> |
| |
| </ul> |
| |
| </li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.90 December 21 2001</h3> |
| |
| <ul> |
| |
| <li><font color="#ff0000">Many small improvements |
| and bug fixes not added to history</font></li> |
| |
| <li><font color="#ff0000">John |
| Dahlstrom: more fine tuning on the auto adjustment of the ATH</font></li> |
| |
| <li><font color="#3366ff">Robert |
| Hegemann: small speed and quality improvements for the old |
| VBR code (--vbr-old).</font> </li> |
| |
| <li><font color="#ff0000">Robert |
| Hegemann: some short block bug fixes</font> </li> |
| |
| <li><font color="#ff0000">Robert |
| Hegemann: Big improvements to --vbr-mtrh, now encodes much |
| more frequencies over 16khz</font> </li> |
| |
| <li><font color="#ff0000">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)</font> </li> |
| |
| <li>Robert Hegemann: reordering of --longhelp to give |
| more information, --extrahelp dropped </li> |
| |
| <li>Darin Morrison: Totally revamped and extremely |
| high quality unified preset system and other general quality |
| improvements now available with --alt-presets: |
| <ul> |
| |
| <li> <font color="#ff0000">some improvements |
| to psychoacoustics (vast improvements over default L.A.M.E. modes) when |
| --alt-preset is used including:</font> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Improved tuning |
| of short block usage.</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#ff0000">Improved joint |
| stereo usage. Thresholds are better tuned now and fix some "dropout" |
| problems L.A.M.E. suffers from on clips like serioustrouble.</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> 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.</li> |
| |
| </ul></li> |
| |
| <li> --alt-presets replace the --dm-presets and "metal" |
| preset is removed and replaced with generic abr and cbr presets.</li> |
| |
| <li> --alt-preset extreme (note the 'e') replaces xtreme to |
| help eliminate some confusion</li> |
| |
| <li> --alt-preset vbr modes now have a fast option which |
| offers almost no compromise in speed.</li> |
| |
| <li> --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.</li> |
| |
| <li> --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).</li> |
| |
| <li> Use --alt-preset help for more information.</li> |
| |
| </ul> |
| |
| </li> |
| |
| <li>Roel VdB: more tuning on the --r3mix preset </li> |
| |
| <li>Jon Dee, Roel VdB: INFO tag</li> |
| |
| <li>Alexander Leidinger, mp3gain@hotmail.com: added |
| --scale-l and --scale-r to scale stereo channels independantly </li> |
| |
| <li>Takehiro Tominaga: <font color="#ff0000">new |
| noise shaping mode, offering more "cutting edge" shaping according to |
| masking, enabled via -q0</font> </li> |
| |
| <li>Mark Taylor: More work on --nogap </li> |
| |
| <li>Gabriel Bouvigne: Small changes to abr code for |
| more accurate final bitrate </li> |
| |
| <li>Gabriel Bouvigne, mp3gain@hotmail.com: |
| Preliminary <a href="http://www.replaygain.org"> |
| ReplayGain</a> analysis code added (not functional yet) </li> |
| |
| <li>Gabriel Bouvigne, Alexander Leidinger: |
| Documentation updates </li> |
| |
| <li>John Dahlstrom, DSPguru@math.com: floating point |
| interface function in the Windows DLL</li> |
| |
| </ul> |
| |
| <br> |
| |
| <h3>LAME 3.89beta July 5 2001</h3> |
| |
| <ul> |
| |
| <li> John Stewart: long filename support for Win9x/NT.</li> |
| |
| <li> Takehiro Tominaga: LAME can calculate the CRC of |
| VBR header, so now "lame -pv" works fine.</li> |
| |
| <li><font color="#ff0000">Robert |
| Hegemann: Improvements of the new VBR code (--vbr-mtrh).</font></li> |
| |
| <li><font color="#3366ff">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.</font></li> |
| |
| <li><font color="#ff0000">Gabriel Bouvigne: Change |
| of the maximum frame size limit. LAME should now be more friendly with |
| hardware players.</font></li> |
| |
| <li>Gabriel Bouvigne: Size of VBR is now more balanced |
| according to the -V value.</li> |
| |
| <li>Alexander Leidinger: Finished the implementation of the |
| set/get functions.</li> |
| |
| <li>John Dahlstrom: LAME now handles 24bits input</li> |
| |
| <li>Mark Taylor: bugs in lame --decode causing truncation of |
| mp3 file fixed</li> |
| |
| <li>Mark Taylor: preliminary --nogap support</li> |
| |
| <li>"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. |
| <br> |
| |
| </li> |
| |
| </ul> |
| |
| <h3> LAME 3.88beta March 25 2001</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">A lot of work that was |
| never added to the History!</font></li> |
| |
| <li> <font color="#ff0000">Frank Klemm and |
| Gabriel Bouvigne: New ATH formula. Big improvement |
| for high bitrate encodings.</font></li> |
| |
| <li> <font color="#ff0000">Takehiro Tominaga: |
| Temporal masking</font></li> |
| |
| <li> <font color="#ff0000">Gabriel Bouvigne/Mark |
| Taylor: auto adjustment of ATH</font></li> |
| |
| <li> <font color="#ff0000">Robert |
| Hegemann: Better outer_loop stopping criterion. |
| Enabled with -q2 or better.</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#ff0000">Takehiro Tominaga: |
| Interframe, shortblock temporal masking.</font></li> |
| |
| <li> 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 :-(</li> |
| |
| <li> <font color="#000000">Naoki Shibata:</font> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">improvements to |
| psychoacoustics</font><font color="#000000"> |
| (--nspsytune)</font> |
| |
| <li> <font color="#ff0000">BUG in long block |
| pre echo control fixed </font><font color="#000000"> |
| (some out of range array access in M/S psychoacoustics)</font></li> |
| |
| </ul> |
| </li> |
| |
| <li> <font color="#000000">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.</font></li> |
| |
| <li> <font color="#000000">Alexander |
| Stumpf: improved lame.bat for 4Dos users</font></li> |
| |
| <li> <font color="#000000">Mark Taylor: Several |
| bugs fixed in the resampling code.</font></li> |
| |
| <li> <font color="#000000">Frank Klemm, Robert |
| Hegemann: added assembler code for CPU |
| feature detection on runtime (MMX, 3DNow, SIMD)</font></li> |
| |
| <li> <font color="#3366ff">Takehiro Tominaga: |
| 3DNow FFT code.</font></li> |
| |
| <li> <font color="#000000">Florian Bome, |
| Alexander Leidinger: more work on |
| configure stuff</font></li> |
| |
| <li> <font color="#000000">Alexander |
| Leidinger: automake/libtool generated Makefiles and |
| TONS of other work.</font></li> |
| |
| <li> <font color="#000000">Alexander |
| Leidinger: Much work towards shared library style |
| API.</font></li> |
| |
| <li> <font color="#000000">Anonymous: New more |
| efficient RTP code.</font></li> |
| |
| <li> <font color="#ff0000">Mark Taylor: |
| psycho-acoustic data now computed for all scalefactor bands (up to 24 |
| kHz)</font></li> |
| |
| <li> <font color="#ff0000">Mark Taylor, Takehiro |
| Tominaga: All ISO table data replaced by formulas - should improve |
| MPEG2.5 results for which we never had correct table data.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.87alpha September 25 2000</h3> |
| |
| <ul> |
| |
| <li> Mark Taylor: Bug fixed in LAME/mpglib error |
| recovery when encountering a corrupt MP3 frame during |
| *decoding*.</li> |
| |
| <li> Albert Faber: added LayerI+II decoding support</li> |
| |
| <li> <font color="#000000">Frank Klemm: |
| added improved CRC calculation</font></li> |
| |
| <li> <font color="#000000">Frank Klemm: |
| substantial code cleanup/improvements</font></li> |
| |
| <li> Robert Hegemann: Bug fixes |
| |
| <ul> |
| |
| <li> <font color="#ff0000">in huffman_init</font>, |
| could lead to segmentation faults (only in rare cases, most likely at |
| lower sample rates)</li> |
| |
| <li> <font color="#ff0000">M/S switching at |
| lower sample rates</font> (the fact there is no 2nd granule was |
| ignored)</li> |
| |
| </ul> |
| </li> |
| <li> <font color="#3366ff">Robert |
| Hegemann: speed up in VBR</font></li> |
| |
| <li> Jarmo Laakkonen: Amiga/GCC settings for |
| Makefile.unix.</li> |
| |
| <li> Magnus Holmgren: README and Makefile for (free) |
| Borland C++ compiler. Will also compile lame_enc.dll, but |
| this is untested.</li> |
| |
| <li> Florian Bome: LAME finally has |
| a ./configure script!!</li> |
| |
| </ul> |
| |
| <h3> LAME 3.86beta August 6 2000</h3> |
| |
| <ul> |
| |
| <li> Christopher Wise: A makefile for DJGPP, the DOS |
| version of gcc. Now most windows users should be able to |
| compile LAME with minimal effort.</li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> Robert Hegemann: new VBR: |
| analog silence treatment like in old VBR</li> |
| |
| <li> William Welch: Improved options for Linux/Alpha |
| gcc and ccc compilers in Makefile.</li> |
| |
| <li> Mathew Hendry: setting appropriate CRC bit for |
| additional Xing-VBR tagging frame</li> |
| |
| <li> Don Melton: added ID3 version 2 TAG support</li> |
| |
| <li> <font color="#000000">John Dahlstrom: fixed |
| bug allowing timing information (for status in command line encoder) to |
| overflow.</font></li> |
| |
| <li> <font color="#000000">Tamito KAJIYAMA, Fixed |
| several bugs in the LAME/Vorbis interface.</font></li> |
| |
| <li> <font color="#000000">Mark Taylor: |
| lame --decode will recognize <a href="http://albumid.cjb.net">Album |
| ID tags</a></font></li> |
| |
| <li> <font color="#ff0000">Naoki |
| Shibata: Additive masking and other improvements to psycho |
| acoustics. (not yet on by default)</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.85beta July 3 2000</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: mid/side stereo demasking thresholds updated.</font></li> |
| |
| <li> Takehiro Tominaga: New short block MDCT coefficient data |
| structure. Should allow for future speed improvements.</li> |
| |
| <li> Robert Hegemann: fixed bug in old VBR routine, |
| the --noath mode messed up the VBR routine resulting in very large files</li> |
| |
| <li> Robert Hegemann: found bugs in some sections when using 32 |
| bit floating point. Default is now back to 64bit floating |
| point.</li> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: Modified PE formula to use ATH.</font></li> |
| |
| <li> <font color="#000000">S.T.L.: |
| README.DJGPP - instructions for compiling LAME with DJGPP, the dos |
| version of gcc.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.84beta June 30 2000</h3> |
| |
| <ul> |
| |
| <li> Mark Weinstein: .wav file output (with --decode |
| option) was writing the wrong filesize in the .wav file. Now |
| fixed.</li> |
| |
| <li> 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)</li> |
| |
| <li> ?: Bug fixed causing VBR to crash under |
| windows. (pretab[] array overflow)</li> |
| |
| <li> Sergey Sapelin: Another bug found in the mpg123 MPEG2 |
| tables. Now fixed for the mpg123 based decoder in LAME.</li> |
| |
| <li> Marco Remondini: VBR histogram works in |
| win32. compile with -DBRHIST -DNOTERMCAP</li> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: LAME CBR will now use scalefac_scale to expand the |
| dynamic range of the scalefactors.</font></li> |
| |
| <li> <font color="#000000">Iwasa Kazmi: |
| Library improvements: exit()'s, printf, fprintf's are being |
| replaced by interceptable macros.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.83beta May 19 2000</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">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!</font></li> |
| |
| <li> 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.</li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> Mark Taylor: scalefactor band 22 info |
| (masking(=ATH), noise and energy) now displayed in frame |
| analyzer.</li> |
| |
| <li> <font color="#ff0000">VBR code ATH tuning |
| was disabled by accident in 3.81, now fixed.</font></li> |
| |
| <li> <font color="#000000">Mark Taylor: |
| lame --decode will produce .wav files. (oops - size is off by |
| a factor of 4)</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.82beta May 11 2000</h3> |
| |
| <ul> |
| |
| <li> Robert Hegemann: Fixed bug in high bitrate joint |
| stereo encodings.</li> |
| |
| <li> <font color="#3366ff">Naoki |
| Shibata: new long block MDCT routine</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.81beta May 8 2000</h3> |
| |
| <ul> |
| |
| <li> all ISO code removed!</li> |
| |
| <li> <font color="#3366ff">Takehiro Tominaga and |
| Naoki Shibata: new window subband routines.</font></li> |
| |
| <li> <font color="#000000">Naoki |
| Shibata: Bug fix in mpglib (decoding) lib: in some |
| cases, MDCT coefficients from previous granule was incorrectly used for |
| the next granule.</font></li> |
| |
| <li> <font color="#ff0000">ISO 7680 bit buffer |
| limitation removed. It can be reactivated with |
| "--strictly-enforce-ISO" Please report any trouble with high |
| bitrates.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.80beta May 6 2000</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: more efficient and faster huffman encoding!</font></li> |
| |
| <li> <font color="#ff0000">Takehiro Tominaga and |
| Mark Taylor: much improved short block compression!</font></li> |
| |
| <li> <font color="#000000">Tomasz Motylewski and |
| Mark Taylor: MPEG2.5 now supported!</font></li> |
| |
| <li> <font color="#000000">Mark Taylor: |
| incorporated Takehiro's bitstream.c! bitstream.c used by |
| default, but old ISO bitstream code can also be used.</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#000000">Iwasa Kazmi: |
| fixed SIGBUS error: VBR and id3 tags were using data after it |
| was free()'d.</font></li> |
| |
| <li> <font color="#ff0000">Robert |
| Hegemann: Improved VBR tuning. #define |
| RH_QUALITY_CONTROL and #RH_SIDE_VBR now the defaults.</font></li> |
| |
| <li> <font color="#000000">Robert |
| Hegemann: LAME version string now added to |
| ancillary data.</font></li> |
| |
| <li> Kimmo Mustonen: VBR histogram support for Amiga.</li> |
| |
| <li> Casper Gripenberg: VBR stats (but not histogram) |
| for DOS verson.</li> |
| |
| <li> Robert Hegemann: rare VBR overflow bug fixed.</li> |
| |
| <li> Zack: -F option strictly enforces the VBR min |
| bitrate. Without -F, LAME will ignore the minimum bitrate |
| when encoding analog silence.</li> |
| |
| <li> 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</li> |
| |
| <li> Mark Taylor: free format bitstreams can be |
| created with --freeformat, and specify any integer bitrate from 8 to |
| 320kbs with -b.</li> |
| |
| <li> Mark Taylor: lame be used as a decoder (output raw pcm |
| only): lame --decode input.mp3 output.pcm</li> |
| |
| </ul> |
| |
| <h3> LAME 3.70 April 6 2000</h3> |
| |
| <ul> |
| |
| <li> "LAME 3.69beta" becomes LAME 3.70 "stable"</li> |
| |
| </ul> |
| |
| <h3> LAME 3.69beta April 6 2000</h3> |
| |
| <ul> |
| |
| <li> "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.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.68beta April 4 2000</h3> |
| |
| <ul> |
| |
| <li> Mark Taylor: mono encoding bug in DLL fixed.</li> |
| |
| <li> Ingo Saitz: bug in --cwlimit argument parsing fixed.</li> |
| |
| <li> <font color="#ff0000">Scott Manly: bug in |
| 4-point resample code fixed.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.67beta March 27 2000</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Robert |
| Hegemann: jstereo now enabled for MPEG2 encodings</font></li> |
| |
| <li> Mark Taylor: old M/S stereo mode which used L/R maskings |
| has been removed.</li> |
| |
| <li> Mark Taylor: Xing MPEG2 VBR headers now working.</li> |
| |
| <li> <font color="#ff0000">Mark Taylor: |
| When quantized coefficients are all 0 in a band, set scalefactors to 0 |
| also to save a few bits.</font></li> |
| |
| <li> <font color="#000000">Ingo Saitz: |
| Problems with framesize calculation when using -f fast-math option |
| fixed.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.66beta March 21 2000</h3> |
| |
| <ul> |
| |
| <li> 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.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.65beta March 17 2000</h3> |
| |
| <ul> |
| |
| <li> Enabled ASM version of quantize_xrpow() - accidently |
| disabled in lame3.64.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.64beta March 16 2000</h3> |
| |
| <ul> |
| |
| <li> Don Melton: id3v1.1 tags & id3 bugfixes</li> |
| |
| <li> <font color="#ff0000">Gabriel |
| Bouvigne: L/R matching block type fix</font></li> |
| |
| <li> <font color="#ff0000">Bug fixed which was |
| allowing quantized values to exceed the maximum when not using -h</font></li> |
| |
| <li> <font color="#3366ff">Mark Taylor: Fitlers |
| based on polyphase filterbank. should be slightly better |
| since the responce is independent of the blocktype, and they are |
| slightly faster.</font></li> |
| |
| <li> 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.</li> |
| |
| <li> 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).</li> |
| </ul> |
| |
| <h3> LAME 3.63beta February 20 2000</h3> |
| |
| <ul> |
| |
| <li> Robert Hegemann: FPE with -h fixed?</li> |
| |
| <li> Mathey Hendry: FPE error catching for Cygwin, |
| FPE fix for vbr mode and output to /dev/null</li> |
| |
| <li> Jeremy Hall: Fixed problems with input files |
| where the number of samples is not known.</li> |
| |
| <li> <font color="#3366ff">Mathew |
| Hendry: ASM quantize_xrpow() for GNU i386</font></li> |
| |
| <li> <font color="#3366ff">Wilfried |
| Behne quantize_xrpow ()for PowerPC and non-ASM</font></li> |
| |
| <li> <font color="#3366ff">Takehiro |
| Tominaga: GOGO FFTs (not yet used?)</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.62beta February 9 2000</h3> |
| |
| <ul> |
| |
| <li> <font color="#000000">Iwasa Kazmi: |
| frame analyzer short block display of single subblocks (press |
| 1,2 or 3)</font></li> |
| |
| <li> <font color="#000000">Ingo Saitz: |
| --help option added, with output to stdout</font></li> |
| |
| <li> <font color="#ff0000">Alfred Weyers: short |
| block AAC spreading function bug fixed</font></li> |
| |
| <li> <font color="#3366ff">Takehiro |
| Tominaga: new scalefac data structure - improves performance!</font></li> |
| |
| <li> <font color="#ff0000">Lionel |
| Bonnet: Bug fixed in MPEG2 scalefactor routine: scalefactors |
| were being severly limited.</font></li> |
| |
| <li> <font color="#3366ff">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.</font></li> |
| |
| <li> <font color="#3366ff">Sigbjørn |
| Skjæret, Takehiro Tominaga: faster pow() code.</font></li> |
| |
| <li> <font color="#ff0000">Joachim |
| Kuebart: Found some unitialized variables that were effecting |
| quality for encodings which did not use the -h option (now fixed).</font></li> |
| |
| <li> 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.</li> |
| |
| <li> Felix vos Leitner: mp3rtp fixes. |
| mp3rtp is a standalone program which will encode and stream with RTP.</li> |
| |
| <li> Robert Hegemann: Information written to stderr |
| displaying exactly which type of lowpass filter (if any) is being used.</li> |
| |
| <li> Iwasa Kazmi: mpglib (the mpg123 decoder) scsfi |
| decoding fixes.</li> |
| |
| <li> Takehiro Tominaga: More mpglib scsfi decoding |
| fixes.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.61beta January 14 2000</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Mark Taylor: Fixed bug |
| with lowpass filters when using VBR with a 64kbs or lower min bitrate |
| setting.</font></li> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: more efficient huffman encoding splitting.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.60beta January 9 2000</h3> |
| |
| <ul> |
| |
| <li> Mark Taylor: Distribution now comes with self |
| test. Needs work to be automated, see 'make test' in Makefile.</li> |
| |
| <li> <font color="#ff0000">Mark Taylor: AAC |
| spreading function now the default</font></li> |
| |
| <li> Gabriel Bouvigne: updated HTML docs</li> |
| |
| <li> Felix von Leitner: compute correct file length from Xing |
| header (if present) when input file is a mp3 file</li> |
| |
| <li> 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.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.59beta January 4 2000</h3> |
| |
| <ul> |
| |
| <li> Takehiro Tominaga: --noath option. |
| Disables ATH maskings.</li> |
| |
| <li> Gabriel Bouvigne: updated HTML docs.</li> |
| |
| <li> Iwasa Kazmi: makefile fixes</li> |
| |
| <li> Mark Taylor: Fixed bug where first frame of data |
| was always overwritten with 0's. Thanks to 'gol'</li> |
| |
| <li> <font color="#ff0000">Mark Taylor: |
| bug fixes in mid/side masking ratios (thanks to Menno Bakker)</font></li> |
| |
| <li> Mark Taylor: replaced norm_l, norm_s table data |
| with formulas.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.58beta December 13 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Segher |
| Boessenkool: More accurate quantization procedure! |
| Enabled with -h.</font></li> |
| |
| <li> <font color="#3366ff">Mathew Hendry, Acy |
| Stapp and Takehiro Tominaga: ASM optimizations for quantize_xrpow and |
| quantize_xrpow_ISO.</font></li> |
| |
| <li> Chuck Zenkus: "encoder inside" logo on web page</li> |
| |
| <li> 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.</li> |
| |
| <li> An Van Lam: Valid bitrates were being printed for layer 2, |
| not layer 3!</li> |
| |
| <li> Ethan Yeo: Makefile.MSVC updated</li> |
| |
| <li> Mark Stephens: updated all MSVC project files</li> |
| |
| <li> Robert Hegemann: lowpass and highpass filters |
| can be enabled with --lowpass, --highpass</li> |
| |
| <li> <font color="#ff0000">Mark Taylor: |
| MS switching is now smoother: ms_ratio average over 4 granules</font></li> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: Scalefactor pre-emphasis fixed (and now turned back |
| on)</font></li> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: Bug in M/S maskings: switch to turn on |
| stereo demasking code was buggy.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.57beta November 22 1999</h3> |
| |
| <ul> |
| |
| <li> Sigbjørn Skjæret, patch to allow |
| encoding from 8bit input files when using LIBSNDFILE</li> |
| |
| <li> Mark Taylor: Automatic downsampling to nearest valid |
| samplerate.</li> |
| |
| <li> Mark Taylor: Scalefactor bands demarked on MDCT plot in |
| frameanalyzer</li> |
| |
| <li> Mark Taylor: Scalefactor preemphasis disabled for |
| now. The algorithm was often doing more harm than |
| good.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.56beta November 19 1999</h3> |
| |
| <ul> |
| |
| <li> Kimmo Mustonen: portabilty code cleanup.</li> |
| |
| <li> Vladimir Marek: id3 genre patch.</li> |
| |
| <li> Conrad Sanderson: new applypatch script.</li> |
| |
| <li> 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.</li> |
| |
| <li> 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.</li> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: Reduced shortblock extra bit allocation formulas by |
| 10% since new huffman coding is at least 10% more efficient.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.55beta November 11 1999</h3> |
| |
| <ul> |
| |
| <li> Albert Faber: updated BladeEnc.dll</li> |
| |
| <li> Mark Taylor: Simple lowpass filter added to linear |
| downsampling routine.</li> |
| |
| <li> Nils Faerber: updated man page.</li> |
| |
| <li> Mark Taylor: All floating point variables are delcared |
| FLOAT or FLOAT8. Change the definition of FLOAT8 in |
| machine.h to run at 32bit preceision.</li> |
| |
| <li> Mark Taylor: Bug (introduced in 3.54beta) in |
| stereo->mono downsampling fixed.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.54beta November 8 1999</h3> |
| |
| <ul> |
| |
| <li> 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.</li> |
| |
| <li> <font color="#ff0000">Mark Taylor: More |
| inconstancies found and fixed in MPEG2 tables.</font></li> |
| |
| <li> Mark Taylor: Resampling from an MP3 input file now |
| works. But we still dont have a lowpass filter so dont expect |
| good results.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.53beta November 8 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#3366ff">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.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.52beta November 8 1999</h3> |
| |
| <ul> |
| |
| <li> 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)</li> |
| |
| <li> By popular demand, all C++ comments changed to C style |
| comments</li> |
| |
| <li> 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)</li> |
| |
| <li> <font color="#3366ff">Takehiro |
| Tominaga: Faster Huffman encoding routines</font></li> |
| |
| </ul> |
| |
| <font color="#3366ff">The following changes are disabled |
| because of MPEG2 problems. But to try them, set MDCTDELAY=48 |
| in encoder.h, instead of MDCTDELAY=528.:</font> |
| <ul> |
| |
| <li> <font color="#3366ff">Takehiro |
| Tominaga: New MDCT routines with shorter delay (48 samples |
| instead of 528) and even faster than the old routines.</font></li> |
| |
| <li> <font color="#3366ff">Takehiro |
| Tominaga: Removed extra buffering in psymodel.c</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.51 November 7 1999</h3> |
| |
| <ul> |
| |
| <li> Takehiro Tominaga: Bug in quantize.c absolute threshold of |
| hearing calculation for non-44.1 kHz input files.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.50 November 1 1999</h3> |
| |
| <ul> |
| |
| <li> LAME 3.37beta becomes official LAME 3.50 release</li> |
| |
| </ul> |
| |
| <h3> LAME 3.37beta November 1 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Lionel |
| Bonnet: Found severe bug in MPEG2 Short block SNR.</font></li> |
| |
| <li> Sergey Sapelin: VBR Toc improvement.</li> |
| |
| <li> Sergey Dubov: fskip() routine</li> |
| |
| <li> Conrad Sanderson: replacement for |
| filterbank.c. Not much faster but amazingly simpler.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.36beta October 25 1999</h3> |
| |
| <ul> |
| |
| <li> Albert Faber: more MSVC and BladeDLL updates</li> |
| |
| <li> Kimmo Mustonen: Much code cleanup and Amiga |
| updates</li> |
| |
| <li> Anton Oleynikov: Borland C updates</li> |
| |
| <li> 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.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.35beta October 21 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Leonid |
| Kulakov: Serious bug in MPEG2 scalefactor band tables fixed.</font></li> |
| |
| <li> Portability patches from: Anton Oleynikov, |
| Sigbjørn Skjæret, Mathew Hendry, Richard Gorton</li> |
| |
| <li> Alfred Weyers: compiler options, updated timestatus.</li> |
| |
| <li> Albert Faber: BladeDll and other updates (new |
| machine.h).</li> |
| |
| <li> Monty: updated Makefile to fix gcc inline math |
| bug.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.34beta October 12 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Mark Taylor: Bug |
| fixed: minimum bitrate in VBR mode could be ignored for a few |
| frames.</font></li> |
| |
| <li> <font color="#ff0000">Mark Taylor: New |
| (minor) VBR tunings.</font></li> |
| |
| <li> Tim Ruddick: New wav/aiff header parsing |
| routines. Better parsing and fewer fseek()'s.</li> |
| |
| <li> Anton Oleynikov: patches to work with Borland C</li> |
| |
| <li> <font color="#ff0000">Gabriel |
| Bouvigne: Experimental voice option enabled with --voice</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.33beta October 11 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#ff0000">Robert Hegemann: new |
| -X5 mode</font></li> |
| |
| <li> Mathew Hendry: New timing code, removes the need for |
| HAVETIMES</li> |
| |
| <li> <font color="#3366ff">Mathew |
| Hendry: assembler quantize_xrpow for Windows</font></li> |
| |
| <li> Iwasa Kazmi: stdin/stdout patch for Windows</li> |
| |
| <li> Mark Taylor: New option: "--athonly" will ignore the |
| psy-model output and use only the absolute threshold of hearing for the |
| masking.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.32beta October 8 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#3366ff">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.</font></li> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: Completly rewritten huffman table selection and |
| count_bits(). More efficient table selection results in many |
| more bits per frame.</font></li> |
| |
| <li> <font color="#ff0000">Takehiro |
| Tominaga: More efficient scalefac compress setting.</font></li> |
| |
| <li> <font color="#3366ff">Mike Cheng: new |
| calc_noise2()</font></li> |
| |
| <li> Alfred Weyers: patch for timestatus() seconds rollover</li> |
| |
| </ul> |
| |
| <h3> LAME 3.31beta September 28 1999</h3> |
| |
| <ul> |
| |
| <li> Albert Faber: updated his BladeDLL |
| code. This allows LAME to be compiled into a BladeEnc |
| compatiable .dll.</li> |
| |
| <li> <font color="#3366ff">Mike Cheng: faster |
| l3psycho_ener() routine.</font></li> |
| |
| <li> Sigbjørn Skjæret: more code cleanup.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.30beta September 27 1999</h3> |
| |
| <ul> |
| |
| <li> Conrad Sanderson: ID3 tag code added (type |
| 'lame' for instructions)</li> |
| |
| <li> new mdct.c from Mike Cheng (no faster, but much cleaner |
| code)</li> |
| |
| <li> Mathew Hendry: Microsoft nmake makefile and a couple other |
| changes for MSVC</li> |
| |
| <li> 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)</li> |
| |
| <li> LAME will now print valid samplerate/bitrate combinations |
| (Mark Taylor)</li> |
| |
| <li> stdin/stdout fix for OS/2 (Paul Hartman)</li> |
| |
| <li> For mp3 input files, totalframes estimated based on |
| filesize and first frame bitrate. (Mark Taylor)</li> |
| |
| <li> Updated all functions with new style prototypes. |
| (Sigbjørn Skjæret)</li> |
| |
| </ul> |
| |
| <h3> LAME 3.29beta September 21 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Bug in bigv_bitcount |
| fixed. Loop.c was overestimating the number of bits needed, |
| resulting in wasted bits every frame. (Leonid A. Kulakov)</font></li> |
| |
| <li> <font color="#ff0000">Bug in |
| *_choose_table() fixed These routines would not |
| sellect the optimal Huffman table in some cases. |
| (Leonid A. Kulakov)</font></li> |
| |
| <li> <font color="#ff0000">Tuning of ATH |
| normalization (macik)</font></li> |
| |
| <li> Removed unused variables and fixed function prototypes |
| (Sigbjørn Skjæret)</li> |
| |
| <li> 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.</li> |
| |
| <li> Resampling hooks and options added. Buffering |
| and resampling routines need to be written.</li> |
| |
| <li> 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.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.28beta September 15 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">Serious bug fixed in |
| high frequency MDCT coefficients. Huffman coding was |
| reversing the order of the count1 block quadruples. |
| (Leonid A. Kulakov)</font></li> |
| |
| <li> nint() problems under Tru64 unix fixed and preprocessor |
| variable HAVE_NINT removed. (Bob Bell)</li> |
| |
| <li> Compiler warning fixes and code |
| cleanup (Sigbjørn Skjæret, |
| Lionel Bonnet)</li> |
| |
| <li> USAGE file now includes suggestions for |
| downsampling. For low bitrate encodings, proper downsampling |
| can give dramatically better results. (John Hayward-Warburton)</li> |
| |
| </ul> |
| |
| <h3> LAME 3.27beta September 12 1999</h3> |
| |
| <ul> |
| |
| <li> Several bugs in encode.c and l3bitstream.c fixed by Lionel |
| Bonnet.</li> |
| |
| <li> Bugs in new VBR (#define RH) formula for mono input file |
| and mid/side encoding fixed.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.26beta September 10 1999</h3> |
| |
| <ul> |
| |
| <li> The "-m m" option (mono .mp3 file) will automatically mix |
| left and right channels if the input file is stereo. (Alfred |
| Weyers)</li> |
| |
| <li> <font color="#ff0000">New quant_compare |
| algorithm (method for deciding which of two quantizations is better) |
| enabled with -X4 (Greg Maxwell)</font></li> |
| |
| <li> <font color="#ff0000">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)</font></li> |
| |
| <li> <font color="#ff0000">New VBR (#define RH) |
| tunings based on detailed listening tests by Macik and Greg Maxwell.</font></li> |
| |
| <li> Sigbjørn Skjæret fixed several |
| compiler warnings (which turned out to be potential bugs)</li> |
| |
| <li> Takehiro Tominaga fixed a low bitrate bug in reduce_side()</li> |
| |
| <li> Alfred Weyers fixed some buffer overflows.</li> |
| |
| <li> <font color="#ff0000">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)</font></li> |
| |
| <li> <font color="#ff0000">Bug in short block |
| spreading function fixed. (Robert Hegemann)</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.25beta August 22 1999</h3> |
| |
| <ul> |
| |
| <li> Sigbjørn Skjæret fixed a zero byte |
| malloc call. This bug was introduced in 3.24 and |
| causes problems on non Linux systems.</li> |
| |
| <li> 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.</li> |
| |
| <li> Nils Faerber updated the man page and fixed many of the |
| compiler warnings.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.24beta August 15 1999</h3> |
| |
| <ul> |
| |
| <li> This release contains the following new code (for |
| developers) which is disabled by default:</li> |
| |
| <li> Robert Hegemann: Completely overhauled VBR |
| code. Now computes exact number of bits required for the |
| given qualty and then quantized with the appropriate bitrate.</li> |
| |
| <li> Several new quantization quality measures.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.23beta August 8 1999</h3> |
| |
| <ul> |
| |
| <li> Very nice continuously updated VBR histogram display from |
| Iwasa Kazmi. (disabled with --nohist).</li> |
| |
| <li> More modulerization work. The encoding engine |
| can now be compiled into libmp3lame, but the interface is awkward.</li> |
| |
| <li> <font color="#ff0000">Bug fixed in FFT Hann |
| window formula (Leonid A. Kulakov).</font></li> |
| |
| <li> New LAME logo on the download page. Created by |
| Chris Michalisles.</li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.22beta July 27 1999</h3> |
| |
| <ul> |
| |
| <li> Downsampling (stereo to mono) bug with MPEG2 |
| fixed. (Mike Oliphant)</li> |
| |
| <li> Downsampling now merges L & R channels - before it |
| only took the L channel.</li> |
| |
| <li> More modularization and code cleanup from Albert Faber and |
| myself.</li> |
| |
| <li> 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).</li> |
| |
| </ul> |
| |
| <h3> LAME 3.21beta July 26 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#ff0000">"Analog silence" |
| threshold added. Keeps VBR from upping the bitrate during |
| very quite passages. (Robert.Hegemann)</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#ff0000">Expermental subblock |
| gain code enabled with -Z.</font></li> |
| |
| <li> 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.</li> |
| |
| <li> Bug fixes in mp3x (frame analyzer) for viewing frames near |
| end of the file.</li> |
| |
| <li> Bug fixed to allow setting the sampling rate of raw pcm |
| input files.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.20beta July 19 1999</h3> |
| |
| <ul> |
| |
| <li> Bug in get_audio.c fixed. Libsndfile wrappers |
| would not compile (Miguel Revilla Rodriguez)</li> |
| |
| <li> Nils Faerber found some unitialized variables and some |
| wierd extranous computations in filter_subband, now fixed. |
| This was causing seg faults on some machines.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.19beta July 18 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.18beta July 17 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">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!)</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> Bug fixes in frame & sample count for downsampling |
| mode. (ben "jacobs")</li> |
| |
| <li> Patches to improve modulization. (ben "jacobs")</li> |
| |
| </ul> |
| |
| <h3> LAME 3.17beta July 11 1999</h3> |
| |
| <ul> |
| |
| <li> substantial code cleanup towards goal of making LAME more |
| modular.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.16beta July 11 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">New tunings of window |
| switching, and better bit allocation based on pe. (Jan |
| Rafaj. improves both testsignal2.wav and testsignal4.wav).</font></li> |
| |
| <li> <font color="#ff0000">Bug in mid/side |
| quantization when side channel was zero fixed. (Albert Faber)</font></li> |
| |
| <li> Removed some extranous computations in l3psy.c (Robert |
| Hegemann)</li> |
| |
| <li> More detailed timing status info, including hours display. |
| (Sakari Ailus) and percentage indicator (Conrad Sanderson).</li> |
| |
| <li> <font color="#3366ff">Window_subband and |
| calc_noise1,calc_noise2 speedups. Quantize_xrpow speedup |
| should be significant on non GNU/intel systems. (Mike Cheng)</font></li> |
| |
| <li> <font color="#3366ff">Better initial guess |
| for VBR bitrate. Should speed up VBR encoding. |
| (Gabriel Bouvigne)</font></li> |
| |
| <li> More advanced .wav header parsing. fixes bugs |
| involving click in first frame. (Robert.Hegemann)</li> |
| |
| <li> Correct filesize and total frame computation when using |
| LIBSNDFILE (ben "jacobs")</li> |
| |
| <li> Click in last frame (buffering problem) when using |
| libsndfile fixed.</li> |
| |
| <li> 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.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.15beta</h3> |
| |
| <ul> |
| |
| <li> times()/clock() problem fixed for non-unix OS. |
| (Ben "Jacobs")</li> |
| |
| <li> Fixed uninitialized pe[] when using fast mode. |
| (Ben "Jacobs")</li> |
| |
| </ul> |
| |
| <h3> LAME 3.13 June 24 1999</h3> |
| |
| <ul> |
| |
| <li> Patches for BeOS from Gertjan van Ratingen.</li> |
| |
| <li> Makefile info for OS/2 Warp 4.0 (from dink.org).</li> |
| |
| <li> Status display now based on wall clock time, not cpu time.</li> |
| |
| <li> mem_alloc no longer allocates twice as much memory as |
| needed (Jan Peman).</li> |
| |
| </ul> |
| |
| <h3> 3.12pre9</h3> |
| |
| <ul> |
| |
| <li> Updated BLADEDLL code to handle recent changes (Albert |
| Faber).</li> |
| |
| <li> Bug fixed in parsing options when not using GTK (Albert |
| Faber).</li> |
| |
| <li> <font color="#ff0000">MPEG2 Layer III psycho |
| acoustics now working.</font></li> |
| |
| <li> <font color="#3366ff">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.</font></li> |
| |
| <li> Fixed time display when encoding takes more than 60 |
| minutes.</li> |
| |
| </ul> |
| |
| <h3> 3.12pre8</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">New <a href="gpsycho/ms_stereo.html">mid/side stereo</a> |
| criterion. 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.</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#ff0000">Bug in side/mid energy |
| ratio calculation fixed. (Thanks to Robert Hegemann)</font></li> |
| |
| <li> 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.</li> |
| |
| <li> WAV header parsing for big-endian machines, and automatic |
| detection of big-endian machines. (Thanks to |
| Sigbjørn Skjæret).</li> |
| |
| <li> added 56 sample delay to sync LAME with FhG.</li> |
| |
| <li> MP3x (frame analyzer) can now handle MPEG2 streams.</li> |
| |
| </ul> |
| |
| <h3> 3.12pre7</h3> |
| |
| <ul> |
| |
| <li> 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.</li> |
| |
| <li> Fixed "ERROR: outer_loop(): huff_bits < 0." bug |
| when using VBR.</li> |
| |
| <li> bash and sh scripts to run LAME on multiple files now |
| included. (from Robert Hegemann and Gerhard Wesp respectively)</li> |
| |
| <li> bug fix in encoding times for longer files from |
| (Alvaro Martinez Echevarria)</li> |
| |
| <li> yet another segfault in the frame analyzer fixed.</li> |
| |
| <li> 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.</li> |
| |
| </ul> |
| |
| <h3> 3.12pre6</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <a href="http://www.zip.com.au/%7Eerikd/libsndfile">LIBSNDFILE</a> |
| support. With libsndfile, LAME can encode almost all sound |
| formats. Albert Faber did the work for this, including |
| getting libsndfile running under win32.</li> |
| |
| <li> CRC checksum now working! (Thanks to |
| Johannes Overmann )</li> |
| |
| <li> frame analyzer will now work with mono .mp3 files</li> |
| |
| <li> <font color="#3366ff">more code tweeks from |
| Jan Peman.</font></li> |
| |
| <li> <font color="#3366ff">Compaq-Alpha(Linux) |
| fixes and speedups from Nils Faerber.</font></li> |
| |
| <li> <font color="#3366ff">Faster |
| bin_search_StepSize from Juha Laukala.</font></li> |
| |
| <li> <font color="#3366ff">Faster quantize() from |
| Mike Cheng</font></li> |
| |
| <li> <font color="#3366ff">Faster |
| quantize_xrpow() from Chris Matrakidis. xrpow_flag removed |
| since this option is now on by default.</font></li> |
| |
| <li> Fixed .wav header parsing from Nils Faerber.</li> |
| |
| <li> Xing VBR frame info header code from Albert |
| Faber. "Xing" and "LAME 3.12" embedded in first |
| frame.</li> |
| |
| <li> <font color="#ff0000">Bug in VBR bit |
| allocation based on "over" value fixed.</font></li> |
| |
| </ul> |
| |
| <h3> LAME 3.11 June 3 1999</h3> |
| |
| <ul> |
| |
| <li> Almost all warnings (-Wall) now fixed! (Thanks |
| to Jan Peman)</li> |
| |
| <li> More coding improvements from Gabriel Bouvigne and Warren |
| Toomey.</li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> Patch to remove all atan() calls from James Droppo.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.10 May 30 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#3366ff">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.</font></li> |
| |
| <li> <font color="#ff0000">New bit reservoir |
| usage scheme to accommodate the new pre-echo detection formulas.</font></li> |
| |
| <li> <font color="#ff0000">Tuning of AWS and |
| ENER_AWS pre-echo formulas by Gabriel Bouvigne and myself. |
| They work great! now on by default.</font></li> |
| |
| <li> In jstereo, force blocktypes for left & right |
| channels to be identical. FhG seems to do this. It |
| can be disabled with "-d".</li> |
| |
| <li> Patches to compile MP3x under win32 (Thanks to Albert |
| Faber).</li> |
| |
| <li> <font color="#3366ff">bin_serach_stepsize |
| limited to a quantizationStepSize of -210 through 45.</font></li> |
| |
| <li> <font color="#ff0000">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</font></li> |
| |
| <li> <font color="#ff0000">Bug in inner_loop |
| would allow quantizations larger than allowed. (introduced in |
| lame3.04, now fixed.)</font></li> |
| |
| <li> Updated HTML documentation from Gabriel Bouvigne.</li> |
| |
| <li> Unix man page from William Schelter.</li> |
| |
| <li> <font color="#ff0000">numlines[] bug |
| fixed. (Thanks to Rafael Luebbert, MPecker author).</font></li> |
| |
| <li> <font color="#3366ff">Quantization speed |
| improvements from Chirs Matrakidis.</font></li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> Improved defination of best quantization when using -f |
| (fast mode).</li> |
| |
| <li> subblock code now working. But no algorithm to |
| choose subblock gains yet.</li> |
| |
| <li> Linux now segfaults on floating point |
| exceptions. Should prevent me from releasing binaries that |
| crash on other operating systems.</li> |
| |
| </ul> |
| |
| <h3> LAME 3.04 May 22 1999</h3> |
| |
| <ul> |
| |
| <li>Preliminary documentation from Gabriel Bouvigne.</li> |
| |
| <li> <font color="#3366ff">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.</font></li> |
| |
| <li> "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.</li> |
| |
| <li> Small bugs in Force ms_stereo mode fixed.</li> |
| |
| <li> Compaq Alpha fixes from Nathan Slingerland.</li> |
| |
| <li> <font color="#ff0000">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)</font></li> |
| |
| <li> Several bugs in the syncing of data displayed by mp3x (the |
| frame analyzer) were fixed.</li> |
| |
| <li> highq (-h) option added. This turns on things |
| (just one so far) that should sound better but slow down LAME.</li> |
| |
| </ul> |
| |
| <h3>LAME 3.03 May 18 1999 </h3> |
| |
| <ul> |
| |
| <li> <font color="#3366ff">Faster (20%) & |
| cleaner FFT (Thanks to Chris Matrakidis |
| http://www.geocities.com/ResearchTriangle/8869/fft_summary.html)</font></li> |
| |
| <li> mods so it works with VC++ (Thanks to Gabriel Bouvigne, |
| www.mp3tech.org)</li> |
| |
| <li> MP3s marked "original" by default (Thanks to |
| Gabriel Bouvigne, www.mp3tech.org)</li> |
| |
| <li> Can now be compiled into a BladeEnc compatible |
| .DLL (Thanks to Albert Faber, CDex author)</li> |
| |
| <li> Patches for "silent mode" and stdin/stdout |
| (Thanks to Lars Magne Ingebrigtsen)</li> |
| |
| <li> <font color="#ff0000">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.</font></li> |
| |
| <li> <font color="#ff0000">Fixed bug with initial |
| quantize step size when many coefficients are zero. (Thanks |
| to Martin Weghofer).</font></li> |
| |
| <li> Bug fixed in MP3x display of audible distortion.</li> |
| |
| <li> improved status display (Thanks to Lauri Ahonen).</li> |
| |
| </ul> |
| |
| <h3> LAME 3.02 May 12 1999</h3> |
| |
| <ul> |
| |
| <li> <font color="#ff0000">encoder could use |
| ms_stereo even if channel 0 and 1 block types were different. |
| (Thanks to Jan Rafaj)</font></li> |
| |
| <li> <font color="#ff0000">added -k option to |
| disable the 16 kHz cutoff at 128kbs. This cutoff is never |
| used at higher bitrates. (Thanks to Jan Rafaj)</font></li> |
| |
| <li> <font color="#ff0000">modified pe bit |
| allocation formula to make sense at bit rates other than 128kbs.</font></li> |
| |
| <li> fixed l3_xmin initialization problem which showed up under |
| FreeBSD. (Thanks to Warren Toomey)</li> |
| |
| </ul> |
| |
| <h3><b>LAME 3.01 May 11 1999</b> </h3> |
| |
| <ul> |
| |
| <li> max_name_size increased to 300 (Thanks to Mike |
| Oliphant)</li> |
| |
| <li> patch to allow seeks on input file (Thanks to Scott Manley)</li> |
| |
| <li> fixes for mono modes (Thanks to everyone who pointed this |
| out)</li> |
| |
| <li> overflow in calc_noise2 fixed</li> |
| |
| <li> bit reservoir overflow when encoding lots of frames with |
| all zeros (Thanks to Jani Frilander)</li> |
| |
| </ul> |
| |
| <hr> |
| |
| <h3>LAME 3.0 May 10 1999</h3> |
| |
| <ul> |
| |
| <li><font color="#ff0000">added GPSYCHO (developed |
| by Mark Taylor)</font></li> |
| |
| <li> <font color="#000000">added MP3x (developed |
| by Mark Taylor)</font></li> |
| |
| <li> LAME now maintained by Mark Taylor</li> |
| |
| </ul> |
| |
| <h3>November 8 1998</h3> |
| <ul> |
| |
| <li> Version 2.1f released</li> |
| |
| <li> 50% faster filter_subband() routine in encode.c |
| contributed by James Droppo</li> |
| |
| </ul> |
| |
| <h3>November 2 1998</h3> |
| <ul> |
| |
| <li> Version 2.1e released.</li> |
| |
| <li> New command line switch <b>-a</b> |
| auto-resamples a stereo input file to mono.</li> |
| |
| <li> New command line switch <b>-r</b> resamples |
| from 44.1 kHz to 32 kHz [this switch doesn't work really well. Very |
| tinny sounding output files. Has to do with the way I do the resampling |
| probably]</li> |
| |
| <li> Both of these were put into the ISO code in the encode.c |
| file, and are simply different ways of filling the input buffers from a |
| file.</li> |
| |
| </ul> |
| |
| <h3>October 31 1998</h3> |
| <ul> |
| |
| <li> Version 2.1d released</li> |
| |
| <li> Fixed memory alloc in musicin.c (for l3_sb_sample)</li> |
| |
| <li> Added new command line switch (-x) to force swapping of |
| byte order</li> |
| |
| <li> Cleaned up memory routines in l3psy.c. All the mem_alloc() |
| and free() routines where changed so that it was only done <i>once</i> |
| and not every single time the routine was called.</li> |
| |
| <li> Added a compile time switch -DTIMER that includes all |
| timing info. It's a switch for the time being until some other people |
| have tested on their system. Timing code has a tendency to do different |
| things on different platforms.</li> |
| |
| </ul> |
| |
| <h3>October 18 1998</h3> |
| <ul> |
| |
| <li> Version 2.1b released.</li> |
| |
| <li> Fixed up bug: all PCM files were being read as WAV.</li> |
| |
| <li> Played with the mem_alloc routine to fix crash under |
| amigaos (just allocating twice as much memory as needed). Might see if |
| we can totally do without this routine. Individual malloc()s where they |
| are needed instead</li> |
| |
| <li> Put Jan Peman's quality switch back in. This reduces |
| quality via the '-q <int>' switch. Fun speedup which is |
| mostly harmless if you're not concerned with quality.</li> |
| |
| <li> Compiling with amiga-gcc works fine</li> |
| |
| </ul> |
| |
| <h3>October 16 1998</h3> |
| <ul> |
| |
| <li> Version 2.1a released. User input/output has been cleaned |
| up a bit. WAV file reading is there in a very rudimentary sense ie the |
| program will recognize the header and skip it, but not read it. The WAV |
| file is assumed to be 16bit stereo 44.1 kHz.</li> |
| |
| </ul> |
| |
| <h3>October 6 1998</h3> |
| <ul> |
| |
| <li> Version 2.1 released with all tables now incorporated into |
| the exe. Thanks to <b>Lars Magne Ingebrigtseni</b></li> |
| |
| </ul> |
| |
| <h3>October 4 1998</h3> |
| |
| <ul> |
| <li> |
| In response to some concerns about the quality of the encoder, I |
| have rebuilt the encoder from scratch and carefully compared output |
| at all stages with the output of the unmodified ISO encoder. |
| </li> |
| <li> |
| <a href="http://www.uq.net.au/%7Ezzmcheng/lame/download.html"> |
| Version 2.0</a> of LAME is built from the ISO source code (dist10), |
| and incorporates modifications from myself and the 8hz effort. The |
| output file from LAME v2.0 is <em>identical</em> to the output of |
| the ISO encoder for my test file. Since I do not have heaps of time, |
| I left the ISO AIFF file reader in the code, and did not incorporate |
| a WAV file reader. |
| </li> |
| <li> |
| Added section |
| on <a href="http://www.uq.net.au/%7Ezzmcheng/lame/quality.html"> |
| quality</a>. |
| </li> |
| </ul> |
| |
| <h3> October 1 1998</h3> |
| <ul> |
| <li>Updated web page and released LAME v1.0</li> |
| </ul> |
| |
| <hr> |
| |
| <h3>Up to September 1998</h3> |
| <p>Working on the 8hz source code...</p> |
| <ul> |
| <li> |
| Patched the <a href="http://www.8hz.com/">8hz</a> source |
| code |
| </li> |
| <li> |
| 45% faster than original source (on my freebsd p166). |
| <ul> |
| <li> |
| m1 - sped up the mdct.c and quantize() functions [MDCTD, |
| MDCTD2, LOOPD] |
| </li> |
| <li>m2 - sped up the filter_subband routine using <b>Stephane |
| Tavenard</b>'s work from musicin [FILTST] |
| </li> |
| <li>m2 - minor cleanup of window_subband [WINDST2]</li> |
| <li>m2 - Cleaned up a few bits in l3psy.c. Replaced a sparse |
| matrix multiply with a hand configured unrolling [PSYD]</li> |
| <li>m3 - (amiga only) Added in the asm FFT for m68k (based on |
| sources from <b>Henryk Richter</b> and <b>Stephane Tavenard</b>)</li> |
| <li>m4 - raw pcm support back in</li> |
| <li>m5 - put in a byte-ordering switch for raw PCM reading (just |
| in case)</li> |
| <li>m6 - reworked the whole fft.c file. fft now 10-15% |
| faster.</li> |
| <li>m7 - totally new fft routine. exploits fact that this is a |
| real->complex fft. About twice as fast as previous fastest fft (in |
| m6). (C fft routine is faster than the asm one on an m68k!)</li> |
| <li>m8 |
| <ul> |
| <li> |
| Now encodes from stdin. Use '-' as the input filename. Thanks |
| to <b>Brad Threatt</b> |
| </li> |
| <li> |
| Worked out that the 1024point FFT only ever uses the first 6 |
| phi values, and the first 465 energy values. Saves a bunch of |
| calculations. |
| </li> |
| <li> |
| Added a speed-up/quality switch. Speed is increased but |
| quality is decreased <i>slightly</i>. My ears are bad enough |
| not to be able to notice the difference in quality at low |
| settings :). Setting '-q 1' improves speed by about 10%. '-q |
| 100' improves speed by about 26%. Enoding of my test track |
| goes from 111s (at default '-q 0') to 82s (at -q 100). Thanks |
| to <b>Jan Peman</b> for this tip. |
| </li> |
| </ul> |
| </li> |
| <li> |
| m9 - fixed an error in l3psy.c. numlines[] is overwritten with |
| incorrect data. Added a new variable numlines_s[] to fix |
| this. Thanks again to <b>Jan Peman</b>. |
| </li> |
| <li> |
| m10 - Down to 106 seconds by selecting a few more compiler |
| options. Also added a pow20() function in l3loop.c to speed up |
| (ever so slightly) calls to pow(2.0, x) |
| </li> |
| |
| <li>m11 |
| <ul> |
| <li> |
| No speedups. Just cleaned up some bits of the code. |
| </li> |
| <li> |
| Changed K&R prototyping to 'normal' format. Thanks |
| to <b>Steffan Haeuser</b> for his help here. |
| </li> |
| <li> |
| Changed some C++ style comments to normal C comments in |
| huffman.c |
| </li> |
| <li> |
| Removed the #warning from psy_data.h (it was getting |
| annoying!) |
| </li> |
| <li> |
| Removed reference in bitstream.c to malloc.h. Is there a |
| system left where malloc.h hasn't been superceded by |
| stdlib.h? |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <li>In Progess: |
| <ul> |
| <li> |
| my PSYD hack for the spreading functions is only valid for |
| 44.1 kHz - Should really put in a "if freq = 44.1 kHz" |
| switch for it. Someone might want to extend the speedup for |
| 48 and 32 kHz. |
| </li> |
| <li> |
| Putting in Jan Peman's quantanf_init speedup. |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| <hr> |
| <center> |
| <p> |
| <a href="http://validator.w3.org/check?uri=referer"> |
| <img src="http://www.w3.org/Icons/valid-html401" |
| alt="Valid HTML 4.01 Transitional" height="31" width="88"> |
| </a> |
| </p> |
| </center> |
| |
| </body> |
| </html> |