source: extensions/gsdl-video/trunk/installed/cmdline/share/doc/lame/html/history.html@ 18425

Last change on this file since 18425 was 18425, checked in by davidb, 15 years ago

Video extension to Greenstone

File size: 76.3 KB
1<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
4<meta http-equiv="Content-Type"
5 content="text/html; charset=iso-8859-1">
6<meta name="GENERATOR"
7 content="Mozilla/4.7 [en] (X11; I; Linux 2.2.12-20 i686) [Netscape]">
8<meta http-equiv="content-type"
9 content="text/html; charset=ISO-8859-1">
10<title>LAME Changelog</title>
12<body text="#000000" bgcolor="#ffffff" link="#888888" vlink="#555555"
13 alink="#bbbbbb">
15 <h1> History</h1>
17Starting with LAME 3.0: <br>
18<font color="#ff0000">red = features and bug fixes which affect quality</font>
20<font color="#3366ff">blue = features and bug fixes which affect speed</font>
22black = usability, portability, other
24<h3>LAME 3.97&nbsp; &nbsp;September 24 2006</h3>
26 <li>3.97 beta 3 becomes 3.97
27 </li>
30<h3>LAME 3.97 beta 3&nbsp; &nbsp;August 19 2006</h3>
32 <li>Gabriel Bouvigne:
33 <ul>
34 <li><font color="#ff0000">Workaround against a short blocks detection issue</font></li>
35 </ul>
36 </li>
39<h3>LAME 3.97 beta 2&nbsp; &nbsp;November 26 2005</h3>
41 <li>Gabriel Bouvigne:
42 <ul>
43 <li>Fixed an initialization error when input is not using a standard sampling frequency</li>
44 <li>Fixed a possible assertion failure in very low bitrate encoding</li>
45 <li><font color="#ff0000">Slight change regarding ATH adjustment with V5</font></li>
46 <li><font color="#ff0000">Reinstated bit reservoir for 320kbps CBR</font></li>
47 <li><font color="#3366ff">ReplayGain analysis should now be faster when encountering silent parts</font></li>
48 </ul>
49 </li>
50 <li>Takehiro Tominaga:
51 <ul>
52 <li>Fixed a possible link problem of assembly code</li>
53 </ul>
54 </li>
57<h3>LAME 3.97 beta 1&nbsp; &nbsp;September 12 2005</h3>
59 <li>Takehiro Tominaga:
60 <ul>
61 <li>Fixed an out of array access in mp3rtp
62 <li><font color="#ff0000">Fixed a quality setting in DLL</font></li>
63 <li>Fixed display when using --silent</li>
64 </ul>
65 </li>
66 <li>Vitaly Ivanov:
67 <ul>
68 <li>Updated DirectShow interface</li>
69 </ul>
70 </li>
71 <li>Robert Hegemann:
72 <ul>
73 <li><font color="#ff0000">Fixed an out of array access</font></li>
74 <li><font color="#ff0000">Fixed some small rounding problem in vbr-new quantization routines</font></li>
75 <li><font color="#ff0000">Fixed a bug in vbr-new regarding high frequencies (sfb21) when using -Y</font></li>
76 <li><font color="#ff0000">Fixed a few bugs in vbr-new when using -Y</font></li>
77 <li><font color="#ff0000">Updated scalefactors allocation scheme in vbr-new</font></li>
78 <li>Fixed mingw32 configure problems</li>
79 <li>Resolved some compiler warnings</li>
80 <li>Updated command-line visualisation</li>
81 </ul>
82 </li>
83 <li>Gabriel Bouvigne:
84 <ul>
85 <li>Changed some FLOAT8 to FLOAT</li>
86 <li>Added project files for VC7</li>
87 <li><font color="#ff0000">Reworked -q1 and -q0</font></li>
88 <li><font color="#ff0000">Updated presets</font></li>
89 <li><font color="#ff0000">Fixed an error in ISO quantization on systems not using the IEEE754 hack</font></li>
90 <li><font color="#3366ff">Faster quantization</font></li>
91 <li><font color="#3366ff">SSE version of init_xrpow</font></li>
92 </ul>
93 </li>
94 <li>Rogério Brito:
95 <ul>
96 <li>Updated Debian packaging</li>
97 <li>Documentation work</li>
98 </ul>
99 </li>
100 <li>Chris Miller:
101 <ul>
102 <li>Support for x64 platform SDK in makefile.msvc</li>
103 </ul>
104 </li>
107<h3>LAME 3.96.1 &nbsp; &nbsp;July 25 2004</h3>
109 <li>Robert Hegemann:
110 <ul>
111 <li><font color="#ff0000">Fixed a rare bug in vbr-new (could lead to crashes or data corruption)</font></li>
112 </ul>
113 </li>
114 <li>Gabriel Bouvigne:
115 <ul>
116 <li>some fixes in ACM codec</li>
117 <li>fixed padding when encoding to 320kbps</li>
118 <li><font color="#ff0000">fixed block size selection for mid and side channels</font></li>
119 </ul>
120 </li>
123<h3>LAME 3.96 &nbsp; &nbsp;April 11 2004</h3>
125 <li>Gabriel Bouvigne:
126 <ul>
127 <li><font color="#ff0000">new quantization selection mode (used in ABR/CBR)</font></li>
128 <li><font color="#ff0000">set sfscale for ABR/CBR up to 160kbps</font></li>
133<h3>LAME 3.96 beta 2 &nbsp; &nbsp;March 28 2004</h3>
135 <li>Takehiro Tominaga:
136 <ul>
137 <li><font color="#3366ff">removed unnecessary integer convertion in resampling</font></li>
139 <li>Robert Hegemann:
140 <ul>
141 <li><font color="#ff0000">reworked scalefactor allocation in vbr-new</font></li>
142 <li>fixed a freeformat decoding problem</li>
144 <li>Gabriel Bouvigne:
145 <ul>
146 <li><font color="#ff0000">updated minimal bitrate for V1 and V2</font></li>
149 <li>Aleksander Korzynski:
150 <ul>
151 <li>added ability to disable ReplayGain analysis</li>
156<h3>LAME 3.96 beta &nbsp; &nbsp;March 7 2004</h3>
158 <li>Takehiro Tominaga:
159 <ul>
160 <li>fixed decoding issue</li>
162 <li>Aleksander Korzynski:
163 <ul>
164 <li>changed internal ReplayGain handling</li>
165 <li>fixed some issues when ReplayGain is used with resampling</li>
168 <li>Robert Hegemann:
169 <ul>
170 <li>added standard ISO quantization for vbr-new, used at lower quality settings</li>
171 <li><font color="#3366ff">faster count_bits for vbr-new</font></li>
172 <li><font color="#3366ff">faster find_scalefac_ave function for vbr-new</font></li>
173 <li><font color="#ff0000">fixed an out of array access in psychoacoustic models;
174 this bug could make some psy calculations worthless and sometimes let lame crash</font></li>
175 <li><font color="#ff0000">fixed an error on silent scalefactor bands;
176 this bug resulted in huffman data overrun problems while decoding,
177 resulting in audible glitches</font></li>
178 <li>fixed a freeformat decoding bug</li>
180 <li>Gabriel Bouvigne:
181 <ul>
182 <li><font color="#ff0000">adjusted short block thresholds</font></li>
183 <li>fixed some array addressing bugs</li>
184 <li>made ReplayGain analysis reentrant</li>
187 <li>David Chandler: fixed a crash in quantize_xrpow
189 <li>Michal Bacik: fixed a crash when using 8kHz
191 <li>Goran Markovic: fixed some decoding bugs
193 <li>John Edwards: fixed a too small buffer in ReplayGain code</li>
196<h3>LAME 3.95.1 &nbsp; &nbsp;January 12 2004</h3>
198 <li>Gabriel Bouvigne:
199 <ul>
200 <li>fixed a crash when using vbr-new</li>
201 <li>changed ReplayGain reference level to 89dB</li>
205<h3>LAME 3.95 &nbsp; &nbsp;January 11 2004</h3>
207 <li>Gabriel Bouvigne:
208 <ul>
209 <li><font color="#ff0000">fixed lowpass values when using vbr with mono files</font></li>
210 <li><font color="#3366ff">faster quantization loops</font></li>
211 <li><font color="#3366ff">faster count_bits</font></li>
212 <li>fixed a buffer requirement error in ACM codec</li>
213 </ul></li>
214 <li>Takehiro TOMINAGA:
215 <ul>
216 <li>fixed mpglib and other decoding support code to prevent the crash when invalid mp3 input</li>
217 </ul></li>
218 <li>removed Layer I decoding support</li>
219 <li><font color="#3366ff">use FastLog and IEEE 754 hack on PowerPC too (approx. 10 percent faster)</font></li>
222<h3>LAME 3.94 beta December 15 2003</h3>
224 <li>Takehiro Tominaga:
225 <ul>
226 <li><font color="#ff0000">fixed block switching of nspsytune</font></li>
227 <li><font color="#ff0000">best huffman divide in the inner loop.</font>
228 This should improve the quality, but PAINFULLY slow. So it is not enabled
229 by default. Use -q0 to use it.</li>
230 <li>Changed -q option mapping. "-q2" until version 3.93 is now "-q3".</li>
231 <li><font color="#ff0000">saving bits by better scalefactor storing</font></li>
232 <li>removed Vorbis support</li>
233 <li><font color="#ff0000">substep quantization.</font>This should help breaking
234 the SFB21 bloating problem</li>
235 <li><font color="#ff0000">made psychoacoustic model aware of ATH adjustements</font></li>
236 <li><font color="#ff0000">use ATH value as short block masking lower limit</font></li>
237 <li><font color="#ff0000">several fixes in psychoacoustic model</font></li>
238 <li>more robust decoding</li>
239 </ul></li>
240 <li>Mark Taylor / Gabriel Bouvigne: fixed issues in VBR header</li>
241 <li>Mark Taylor: workaround against some hardware decoder defficiencies</li>
242 <li>Aleksander Korzynski: ability to compute the "Radio" ReplayGain and detect clipping
243 on the fly. The ReplayGain value is stored in the Lame tag.</li>
244 <li>Gabriel Bouvigne:
245 <ul>
246 <li><font color="#ff0000">work on presets</font></li>
247 <li><font color="#ff0000">use presets by default for cbr/abr</font></li>
248 <li><font color="#ff0000">use presets by default for vbr</font></li>
249 <li><font color="#ff0000">analog silence detection in partitionned sfb21</font></li>
250 <li><font color="#3366ff">do not compute noise in upper 0 part of the spectrum</font></li>
251 <li><font color="#3366ff">only compute noise in modified scalefactor bands</font></li>
252 </ul></li>
253 <li>Guillaume Lessard:
254 <ul>
255 <li>nogap related changes</li>
256 </ul></li>
257 <li>Alexander Leidinger:
258 <ul>
259 <li>prevent closing the input fd prematurely if the input is a named pipe</li>
260 </ul></li>
263<h3>LAME 3.93.1 &nbsp; &nbsp;December 1 2002</h3>
265 <li>Gabriel Bouvigne:
266 <ul>
267 <li>preset medium added to the dll interface</li>
268 <li><font color="#ff0000">fix for abr/cbr presets</font></li>
269 <li><font color="#ff0000">fix -q0 switch</font></li>
270 </ul>
271 </li>
272 <li>Alexander Leidinger: fix link problem on systems where socket() resides
273 in libsocket</li>
276<h3>LAME 3.93 &nbsp; &nbsp;November 16 2002</h3>
278 <li>Takehiro Tominaga:
279 <ul>
280 <li><font color="#ff0000">bit allocation for pre-echo control improved for
281 single channel encodings</font></li>
282 <li><font color="#ff0000">substep noise shaping</font></li>
283 <li><font color="#3366ff">optimizations by changing data structure</font></li>
284 <li><font color="#ff0000">noise shaping model 2 fix</font></li>
285 <li><font color="#3366ff">nspsytune FIR filter clean up</font></li>
286 <li><font color="#ff0000">fix small psymodel bugs(DC current estimation,
287 preecho detection of non-VBR mode, and nspsymode initialization)</font></li>
288 <li>portability fixes for Tru64 UNIX</li>
289 </ul>
290 </li>
291 <li>Albert Faber: some fixes in the DLL</li>
292 <li>Simon Blandford: fixes for channel scaling in mono mode</li>
293 <li><font color="#3366ff">Dominique Duvivier: some optimizations and a faster
294 log10 function</font></li>
295 <li>Mark Taylor:
296 <ul>
297 <li>some tag related fixes in the direct show filter and in the ACM codec</li>
298 <li><font color="#3366ff">fixed a mono encoding bug found by Justin Schoeman</font></li>
299 <li>calc_noise bug fix</li>
300 <li>other fixes</li>
301 </ul>
302 </li>
303 <li>Alexander Leidinger:
304 <ul>
305 <li>update to autoconf 2.53, rewrite some configure tests</li>
306 <li>Akos Maroy: determine gcc version even with gcc 3.1</li>
307 <li>Andrew Bachmann: compile shared libs on BeOS (and perhaps other arches)</li>
308 <li>ultrasparc switches for gcc 3.1</li>
309 <li>fixes for SunOS 4.x</li>
310 <li>fixes for 64bit arches</li>
311 <li>CFLAGS fix for IRIX</li>
312 <li>don't override CFLAGS if exptopt isn't requested</li>
313 </ul>
314 </li>
315 <li>Robert Hegeman:
316 <ul>
317 <li><font color="#3366ff">some fixes</font></li>
318 <li><font color="#ff0000">some fixes for VBR</font></li>
319 </ul>
320 </li>
321 <li>Gabriel Bouvigne:
322 <ul>
323 <li>--noasm switch. Might help Cyrix/Via users</li>
324 <li><font color="#ff0000">presets and alt-presets merged</font></li>
325 </ul>
326 </li>
329<h3>LAME 3.92 &nbsp; &nbsp;April 14 2002</h3>
331 <li><font color="#ff0000">Alexander Leidinger:&nbsp; add non linear psymodel
332 (compile time option, disabled by default)</font>, workaround a bug in gcc
333 3.0.3 (compiler options, based upon suggestions from various people, see archives
334 and changelog for more)</li>
335 <li>Steve Lhomme:&nbsp; ACM wrapper (MS-Windows codec)</li>
336 <li><font color="#3366ff">Steve Lhomme:&nbsp; less memory copying on stereo
337 (interleaved) input</font></li>
338 <li> <font color="#ff0000">Takehiro Tominaga: Inter-channel masking, enables
339 with --interch x option</font></li>
340 <li> For buggy versions of gcc compiler (2.96*), back off on some of the advanced
341 compiler options<br>
342 </li>
345<h3>LAME 3.91 &nbsp; &nbsp;December 29 2001</h3>
347 <li><font color="#ff0000">Darin Morrison:&nbsp; Bugfix for --alt-preset (for
348 content with low volume, clean vocals), only important for the "fast standard"
349 preset</font>
350 </li>
351 <li>Alexander Leidinger:
352 <ul>
353 <li>add some missing files to the distribution</li>
354 <li>add --alt-preset to the man page</li>
355 </ul>
356 </li>
359<h3>LAME 3.90 &nbsp; &nbsp;December 21 2001</h3>
361 <li><font color="#ff0000">Many small improvements and bug fixes not added to
362 history</font></li>
363 <li><font color="#ff0000">John Dahlstrom:&nbsp; more fine tuning on the auto
364 adjustment of the ATH</font></li>
365 <li><font color="#3366ff">Robert Hegemann:&nbsp; small speed and quality improvements
366 for the old VBR code (--vbr-old).</font> </li>
367 <li><font color="#ff0000">Robert Hegemann:&nbsp; some short block bug fixes</font>
368 </li>
369 <li><font color="#ff0000">Robert Hegemann:&nbsp; Big improvements to --vbr-mtrh,
370 now encodes much more frequencies over 16khz</font> </li>
371 <li><font color="#ff0000">Robert Hegemann:&nbsp; --vbr-new code disabled (outdated
372 and lower quality) and replaced with --vbr-mtrh (Both --vbr-new and --vbr-mtrh
373 now default to mtrh)</font> </li>
374 <li>Robert Hegemann:&nbsp; reordering of --longhelp to give more information,
375 --extrahelp dropped </li>
376 <li>Darin Morrison:&nbsp; Totally revamped and extremely high quality unified
377 preset system and other general quality improvements now available with --alt-presets:
378 <ul>
379 <li> <font color="#ff0000">some improvements to psychoacoustics (vast improvements
380 over default L.A.M.E. modes) when --alt-preset is used including:</font></li>
381 <ul>
382 <li> <font color="#ff0000">Improved tuning of short block usage.</font></li>
383 <li> <font color="#ff0000">Improved quantization selection usage (the
384 -X modes), now adapts between appropriate modes on the fly. Also helps
385 on "dropout" problems and with pre-echo cases.</font></li>
386 <li> <font color="#ff0000">Improved joint stereo usage. Thresholds are
387 better tuned now and fix some "dropout" problems L.A.M.E. suffers from
388 on clips like serioustrouble.</font></li>
389 <li> <font color="#ff0000">Improved noise shaping usage. Now switches
390 between noise shaping modes on the fly (toggles -Z on and off when appropriate)
391 which allows lower bitrates but without the quality compromise.</font></li>
392 <li> <font color="#ff0000">Clips vastly improved over default L.A.M.E.
393 modes (vbr/cbr/abr, including --r3mix): castanets, florida_seq, death2,
394 fatboy, spahm, gbtinc, ravebase, short, florida_seq, hihat, bassdrum,
395 2nd_vent_clip, serioustrouble, bloodline, and others. No degraded clips
396 known.</font></li>
397 <li> VBR bitrates are now more "stable" with less fluctuation -- not dipping
398 too low on some music and not increasing too high unnecessarily on other
399 music. "--alt-preset standard" provides bitrates roughly within the
400 range of 180-220kbps, often averaging close to 192kbps.</li>
401 </ul>
402 <li> --alt-presets replace the --dm-presets and "metal" preset is removed
403 and replaced with generic abr and cbr presets.</li>
404 <li> --alt-preset extreme (note the 'e') replaces xtreme to help eliminate
405 some confusion</li>
406 <li> --alt-preset vbr modes now have a fast option which offers almost no
407 compromise in speed.</li>
408 <li> --alt-preset standard (and "fast standard") are now much lower in bitrate,
409 matching --r3mix with an overall average, though offering higher quality
410 especially on difficult test samples.</li>
411 <li> --alt-presets are no longer just "presets" as in a collection of switches,
412 instead they are now quality "modes" because of special code level tunings
413 (those mentioned above).</li>
414 <li> Use --alt-preset help for more information.</li>
415 </ul>
416 </li>
417 <li>Roel VdB: more tuning on the --r3mix preset </li>
418 <li>Jon Dee, Roel VdB:&nbsp; INFO tag</li>
419 <li>Alexander Leidinger, [email protected]:&nbsp; added --scale-l and --scale-r
420 to scale stereo channels independantly </li>
421 <li>Takehiro Tominaga:&nbsp; <font color="#ff0000">new noise shaping mode, offering
422 more "cutting edge" shaping according to masking, enabled via -q0</font> </li>
423 <li>Mark Taylor:&nbsp; More work on --nogap </li>
424 <li>Gabriel Bouvigne:&nbsp; Small changes to abr code for more accurate final
425 bitrate </li>
426 <li>Gabriel Bouvigne, [email protected]:&nbsp; Preliminary <a
427 href=""> ReplayGain</a> analysis code added (not functional
428 yet) </li>
429 <li>Gabriel Bouvigne, Alexander Leidinger:&nbsp; Documentation updates </li>
430 <li>John Dahlstrom, [email protected]:&nbsp; floating point interface function
431 in the Windows DLL</li>
434<h3>LAME 3.89beta&nbsp; &nbsp;July 5 2001</h3>
436 <li> John Stewart:&nbsp; long filename support for Win9x/NT.</li>
437 <li> Takehiro Tominaga:&nbsp; LAME can calculate the CRC of VBR header, so now
438 "lame -pv" works fine.</li>
439 <li><font color="#ff0000">Robert Hegemann:&nbsp; Improvements of the new VBR
440 code (--vbr-mtrh).</font></li>
441 <li><font color="#3366ff">Robert Hegemann: New VBR code (--vbr-mtrh) is now
442 defaulted to get more feedback. The VBR speed is now on par with CBR. We will
443 use the old VBR code in the release.</font></li>
444 <li><font color="#ff0000">Gabriel Bouvigne: Change of the maximum frame size
445 limit. LAME should now be more friendly with hardware players.</font></li>
446 <li>Gabriel Bouvigne: Size of VBR is now more balanced according to the -V value.</li>
447 <li>Alexander Leidinger: Finished the implementation of the set/get functions.</li>
448 <li>John Dahlstrom: LAME now handles 24bits input</li>
449 <li>Mark Taylor: bugs in lame --decode causing truncation of mp3 file fixed</li>
450 <li>Mark Taylor: preliminary --nogap support</li>
451 <li>"Final" API completed: shared library safe! &nbsp;This API is frozen and
452 should be backwords compatiable with future versions of, but
453 we will continue to add new functionality. &nbsp;<br>
454 </li>
456<h3> LAME 3.88beta&nbsp;&nbsp; March 25 2001</h3>
458 <li> <font color="#ff0000">A lot of work that was never added to the History!</font></li>
459 <li> <font color="#ff0000">Frank Klemm and Gabriel Bouvigne:&nbsp; New ATH formula.&nbsp;
460 Big improvement for high bitrate encodings.</font></li>
461 <li> <font color="#ff0000">Takehiro Tominaga: Temporal masking</font></li>
462 <li> <font color="#ff0000">Gabriel Bouvigne/Mark Taylor: auto adjustment of
463 ATH</font></li>
464 <li> <font color="#ff0000">Robert Hegemann:&nbsp; Better outer_loop stopping
465 criterion.&nbsp; Enabled with -q2 or better.</font></li>
466 <li> <font color="#ff0000">Robert Hegemann/Naoki Shibata:&nbsp; slow/carefull
467 noise shaping.&nbsp; -q3..9:&nbsp; amplify all distorted bands.&nbsp; -q2:
468 amplify distorted bands within 50%.&nbsp; -q1-0:&nbsp; amplify only most distorted
469 band at each iteration.</font></li>
470 <li> <font color="#ff0000">Takehiro Tominaga: Interframe, shortblock temporal
471 masking.</font></li>
472 <li> Takehiro Tominaga:&nbsp; LAME restructured into a shared library and front
473 end application.&nbsp; Slight changes to the API. More changes are coming
474 to turn LAME into a true shared library (right now you have to recompile if
475 you upgrade the library :-(</li>
476 <li> <font color="#000000">Naoki Shibata:</font></li>
477 <ul>
478 <li> <font color="#ff0000">improvements to psychoacoustics</font><font
479 color="#000000"> (--nspsytune)</font></li>
480 <li> <font color="#ff0000">BUG in long block pre echo control fixed </font><font color="#000000">
481 (some out of range array access in M/S psychoacoustics)</font></li>
482 </ul>
483 <li> <font color="#000000">Ralf Kempkens:&nbsp;&nbsp;&nbsp; Visual Basic Script
484 for lame, suggested to put it on your Windows Desktop and you can drag'n'drop
485 Waves to encode on it.</font></li>
486 <li> <font color="#000000">Alexander Stumpf:&nbsp;&nbsp;&nbsp; improved lame.bat
487 for 4Dos users</font></li>
488 <li> <font color="#000000">Mark Taylor: Several bugs fixed in the resampling
489 code.</font></li>
490 <li> <font color="#000000">Frank Klemm, Robert Hegemann:&nbsp;&nbsp;&nbsp; added
491 assembler code for CPU feature detection on runtime (MMX, 3DNow, SIMD)</font></li>
492 <li> <font color="#3366ff">Takehiro Tominaga: 3DNow FFT code.</font></li>
493 <li> <font color="#000000">Florian Bome, Alexander Leidinger:&nbsp;&nbsp;&nbsp;
494 more work on configure stuff</font></li>
495 <li> <font color="#000000">Alexander Leidinger:&nbsp;&nbsp; automake/libtool
496 generated Makefiles and TONS of other work.</font></li>
497 <li> <font color="#000000">Alexander Leidinger:&nbsp;&nbsp; Much work towards
498 shared library style API.</font></li>
499 <li> <font color="#000000">Anonymous: New more efficient RTP code.</font></li>
500 <li> <font color="#ff0000">Mark Taylor: psycho-acoustic data now computed for
501 all scalefactor bands (up to 24 kHz)</font></li>
502 <li> <font color="#ff0000">Mark Taylor, Takehiro Tominaga: All ISO table data
503 replaced by formulas - should improve MPEG2.5 results for which we never had
504 correct table data.</font></li>
506<h3> LAME 3.87alpha&nbsp; September 25 2000</h3>
508 <li> Mark Taylor:&nbsp; Bug fixed in LAME/mpglib error recovery when encountering
509 a corrupt&nbsp; MP3 frame during *decoding*.</li>
510 <li> Albert Faber:&nbsp; added LayerI+II decoding support</li>
511 <li> <font color="#000000">Frank Klemm:&nbsp; added improved CRC calculation</font></li>
512 <li> <font color="#000000">Frank Klemm: substantial code cleanup/improvements</font></li>
513 <li> Robert Hegemann:&nbsp; Bug fixes</li>
514 <ul>
515 <li> <font color="#ff0000">in huffman_init</font>, could lead to segmentation
516 faults (only in rare cases, most likely at lower sample rates)</li>
517 <li> <font color="#ff0000">M/S switching at lower sample rates</font> (the
518 fact there is no 2nd granule was ignored)</li>
519 </ul>
520 <li> <font color="#3366ff">Robert Hegemann:&nbsp; speed up in&nbsp; VBR</font></li>
521 <li> Jarmo Laakkonen:&nbsp; Amiga/GCC settings for Makefile.unix.</li>
522 <li> Magnus Holmgren:&nbsp; README and Makefile for (free) Borland C++&nbsp;
523 compiler. Will also compile lame_enc.dll, but this is untested.</li>
524 <li> Florian Bome:&nbsp;&nbsp; LAME finally has a&nbsp; ./configure script!!</li>
526<h3> LAME 3.86beta&nbsp; August 6 2000</h3>
528 <li> Christopher Wise:&nbsp; A makefile for DJGPP, the DOS version of gcc.&nbsp;
529 Now most windows users should be able to compile LAME with minimal effort.</li>
530 <li> <font color="#ff0000">Robert Hegemann:&nbsp; old VBR:&nbsp;&nbsp; fixed
531 some bugs and Takehiro's scalefac_scale feature (not yet on by&nbsp; default.)&nbsp;
532 older LAME versions did not allow to spent more than 2500 bits of 4095 possible
533 bits to a granule per channel, now fixed.</font></li>
534 <li> Robert Hegemann:&nbsp; new VBR:&nbsp;&nbsp; analog silence treatment like
535 in old VBR</li>
536 <li> William Welch:&nbsp; Improved options for Linux/Alpha gcc and ccc compilers
537 in Makefile.</li>
538 <li> Mathew Hendry:&nbsp; setting appropriate CRC bit for additional Xing-VBR
539 tagging frame</li>
540 <li> Don Melton:&nbsp; added ID3 version 2 TAG support</li>
541 <li> <font color="#000000">John Dahlstrom: fixed bug allowing timing information
542 (for status in command line encoder) to overflow.</font></li>
543 <li> <font color="#000000">Tamito KAJIYAMA, Fixed several bugs in the LAME/Vorbis
544 interface.</font></li>
545 <li> <font color="#000000">Mark Taylor:&nbsp; lame --decode will recognize <a href="">Album
546 ID tags</a></font></li>
547 <li> <font color="#ff0000">Naoki Shibata:&nbsp; Additive masking and other improvements
548 to psycho acoustics.&nbsp; (not yet on by default)</font></li>
550<h3> LAME 3.85beta&nbsp;&nbsp; July 3 2000</h3>
552 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; mid/side stereo demasking
553 thresholds updated.</font></li>
554 <li> Takehiro Tominaga: New short block MDCT coefficient data structure.&nbsp;
555 Should allow for future speed improvements.</li>
556 <li> Robert Hegemann:&nbsp; fixed bug in old VBR routine, the --noath mode messed
557 up the VBR routine resulting in very large files</li>
558 <li> Robert Hegemann: found bugs in some sections when using 32 bit floating
559 point.&nbsp; Default is now back to 64bit floating point.</li>
560 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; Modified PE formula to use
561 ATH.</font></li>
562 <li> <font color="#000000">S.T.L.:&nbsp; README.DJGPP - instructions for compiling
563 LAME with DJGPP, the dos version of gcc.</font></li>
565<h3> LAME 3.84beta&nbsp; June 30&nbsp; 2000</h3>
567 <li> Mark Weinstein:&nbsp; .wav file output (with --decode option) was writing
568 the wrong filesize in the .wav file.&nbsp; Now fixed.</li>
569 <li> Mark Taylor:&nbsp; (optional) Vorbis support, both encoding and decoding.&nbsp;
570 LAME can now produce .ogg files, or even re-encode your entire .ogg collection
571 into mp3.&nbsp;&nbsp; (Just kidding: it is always a bad idea to convert from
572 one lossy format to another)</li>
573 <li> ?: Bug fixed causing VBR to crash under windows.&nbsp;&nbsp; (pretab[]
574 array overflow)</li>
575 <li> Sergey Sapelin: Another bug found in the mpg123 MPEG2 tables.&nbsp; Now
576 fixed for the mpg123 based decoder in LAME.</li>
577 <li> Marco Remondini:&nbsp; VBR histogram works in win32.&nbsp; compile with
579 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; LAME CBR will now use scalefac_scale
580 to expand the dynamic range of the scalefactors.</font></li>
581 <li> <font color="#000000">Iwasa Kazmi:&nbsp; Library improvements:&nbsp; exit()'s,
582 printf, fprintf's are being replaced by interceptable macros.</font></li>
584<h3> LAME 3.83beta&nbsp; May 19&nbsp; 2000</h3>
586 <li> <font color="#ff0000">Mark Taylor:&nbsp; Bug in buffering routines:&nbsp;
587 in some cases, could cause MDCT&nbsp; to read past end of buffer.&nbsp; Rare
588 in MPEG2, even more rare for MPEG1, but potentially serious!</font></li>
589 <li> Mark Taylor:&nbsp; MDCT/polyphase filterbank was not being "primed" properly.&nbsp;
590 Does not effect output unless you set the encoder delay lower than the default
591 of 576 samples.</li>
592 <li> <font color="#ff0000">Mark Taylor:&nbsp; "vdbj" and "Caster"&nbsp; found
593 several VBR bugs (now fixed):&nbsp;&nbsp; 1.&nbsp; Analog silence detection
594 only checked frequencies up to 16 kHz.&nbsp; 2.&nbsp; VBR mode could still
595 somehow avoid -F mode.&nbsp; 3.&nbsp; VBR mode would ignore noise above 16
596 kHz (scalefactor band 22), Now calc_noise1 will compute the noise in this
597 band when in VBR mode.&nbsp; Not calculated in CBR&nbsp; mode since CBR algorithm
598 has no way of using this information.</font></li>
599 <li> Mark Taylor:&nbsp; scalefactor band 22 info (masking(=ATH),&nbsp; noise
600 and energy) now displayed in frame analyzer.</li>
601 <li> <font color="#ff0000">VBR code ATH tuning was disabled by accident in 3.81,
602 now fixed.</font></li>
603 <li> <font color="#000000">Mark Taylor:&nbsp; lame --decode will produce .wav
604 files.&nbsp; (oops - size is off by a factor of 4)</font></li>
606<h3> LAME 3.82beta&nbsp;&nbsp; May 11 2000</h3>
608 <li> Robert Hegemann:&nbsp; Fixed bug in high bitrate joint stereo encodings.</li>
609 <li> <font color="#3366ff">Naoki Shibata:&nbsp; new long block MDCT routine</font></li>
611<h3> LAME 3.81beta&nbsp; May 8 2000</h3>
613 <li> all ISO code removed!</li>
614 <li> <font color="#3366ff">Takehiro Tominaga and Naoki Shibata:&nbsp; new window
615 subband routines.</font></li>
616 <li> <font color="#000000">Naoki Shibata:&nbsp; Bug fix in mpglib (decoding)
617 lib:&nbsp; in some cases, MDCT coefficients from previous granule was incorrectly
618 used for the next granule.</font></li>
619 <li> <font color="#ff0000">ISO 7680 bit buffer limitation removed.&nbsp; It
620 can be reactivated with "--strictly-enforce-ISO"&nbsp; Please report any trouble
621 with high bitrates.</font></li>
623<h3> LAME 3.80beta&nbsp; May 6 2000</h3>
625 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; more efficient and faster
626 huffman encoding!</font></li>
627 <li> <font color="#ff0000">Takehiro Tominaga and Mark Taylor:&nbsp; much improved
628 short block compression!</font></li>
629 <li> <font color="#000000">Tomasz Motylewski and Mark Taylor:&nbsp; MPEG2.5
630 now supported!</font></li>
631 <li> <font color="#000000">Mark Taylor: incorporated Takehiro's bitstream.c!&nbsp;
632 bitstream.c used by default, but old ISO bitstream code can also be used.</font></li>
633 <li> <font color="#ff0000">Scott&nbsp; Manley and Mark Taylor:&nbsp; good resampling
634 routine finaly in LAME.&nbsp; uses a 19 point FIR filter with Blackman window.&nbsp;
635 Very slow for non integer resampling ratios.</font></li>
636 <li> <font color="#000000">Iwasa Kazmi:&nbsp; fixed SIGBUS error:&nbsp; VBR
637 and id3 tags were using data after it was free()'d.</font></li>
638 <li> <font color="#ff0000">Robert Hegemann:&nbsp; Improved VBR tuning.&nbsp;
639 #define RH_QUALITY_CONTROL and #RH_SIDE_VBR now the defaults.</font></li>
640 <li> <font color="#000000">Robert Hegemann:&nbsp;&nbsp; LAME version string
641 now added to ancillary data.</font></li>
642 <li> Kimmo Mustonen:&nbsp; VBR histogram support for Amiga.</li>
643 <li> Casper Gripenberg:&nbsp; VBR stats (but not histogram) for DOS verson.</li>
644 <li> Robert Hegemann:&nbsp; rare VBR overflow bug fixed.</li>
645 <li> Zack:&nbsp; -F option strictly enforces the VBR min bitrate.&nbsp; Without
646 -F, LAME will ignore the minimum bitrate when encoding analog silence.</li>
647 <li> Shawn Riley:&nbsp; User can now specify a compression ratio (--comp &lt;arg&gt;)
648 instead of a bit rate.&nbsp; Default settings based on a compression ratio
649 of 11.0</li>
650 <li> Mark Taylor:&nbsp; free format bitstreams can be created with --freeformat,
651 and specify any integer bitrate from 8 to 320kbs with -b.</li>
652 <li> Mark Taylor: lame be used as a decoder (output raw pcm only):&nbsp; lame
653 --decode input.mp3 output.pcm</li>
655<h3> LAME 3.70&nbsp;&nbsp; April 6 2000</h3>
657 <li> "LAME 3.69beta" becomes LAME 3.70 "stable"</li>
659<h3> LAME 3.69beta&nbsp;&nbsp; April 6 2000</h3>
661 <li> "spahm":&nbsp; default mode selection bug fixed.&nbsp; In some cases, lame
662 was defaulting to regular stereo instead of jstereo when the user did not
663 specify a mode.</li>
665<h3> LAME 3.68beta&nbsp; April 4 2000</h3>
667 <li> Mark Taylor: mono encoding bug in DLL fixed.</li>
668 <li> Ingo Saitz: bug in --cwlimit argument parsing fixed.</li>
669 <li> <font color="#ff0000">Scott Manly: bug in 4-point resample code fixed.</font></li>
671<h3> LAME 3.67beta&nbsp; March 27 2000</h3>
673 <li> <font color="#ff0000">Robert Hegemann:&nbsp; jstereo now enabled for MPEG2
674 encodings</font></li>
675 <li> Mark Taylor: old M/S stereo mode which used L/R maskings has been removed.</li>
676 <li> Mark Taylor: Xing MPEG2 VBR headers now working.</li>
677 <li> <font color="#ff0000">Mark Taylor:&nbsp; When quantized coefficients are
678 all 0 in a band, set scalefactors to 0 also to save a few bits.</font></li>
679 <li> <font color="#000000">Ingo Saitz:&nbsp; Problems with framesize calculation
680 when using -f fast-math option fixed.</font></li>
682<h3> LAME 3.66beta March 21 2000</h3>
684 <li> Bug fixes in BladeEnc DLL, possible click in last mp3 frame, VBR historgram
685 display, byteswapping option, ASM quantize routines work for both float and
686 double.</li>
688<h3> LAME 3.65beta&nbsp;&nbsp; March 17 2000</h3>
690 <li> Enabled ASM version of quantize_xrpow() - accidently disabled in lame3.64.</li>
692<h3> LAME 3.64beta&nbsp; March 16 2000</h3>
694 <li> Don Melton:&nbsp; id3v1.1 tags &amp; id3 bugfixes</li>
695 <li> <font color="#ff0000">Gabriel Bouvigne:&nbsp; L/R matching block type fix</font></li>
696 <li> <font color="#ff0000">Bug fixed which was allowing quantized values to
697 exceed the maximum when not using -h</font></li>
698 <li> <font color="#3366ff">Mark Taylor: Fitlers based on polyphase filterbank.&nbsp;
699 should be slightly better since the responce is independent of the blocktype,
700 and they are slightly faster.</font></li>
701 <li> Mark Taylor: API:&nbsp; the API changed slightly - and this should be the
702 final version. There is a new routine: lame_encode_buffer() which takes an
703 arbritray sized input buffer, resamples &amp; filters if necessary, encodes,
704 and returns the mp3buffer.&nbsp; There are also several new #defines, so it
705 is possible to compile a simple encoding library with no decoding or file
706 I/O or command line parsing.&nbsp; see the file API for details.</li>
707 <li> Mark Taylor: MSVC stuff:&nbsp; lame.exe (with and without the frame analyzer)
708 and the CDex lame_enc.dll</li>
709 <br>
710 should compile under MSVC.&nbsp; The MSVC5 project files may need some tweaking.&nbsp;
711 In particular, <br>
712 you need to make sure LAMEPARSE, LAMESNDFILE and HAVEMPGLIB <br>
713 are defined.&nbsp; (and HAVEGTK for the GTK stuff).
715<h3> LAME 3.63beta&nbsp; February 20&nbsp; 2000</h3>
717 <li> Robert Hegemann:&nbsp; FPE with -h fixed?</li>
718 <li> Mathey Hendry:&nbsp; FPE error catching for Cygwin, FPE fix for vbr mode
719 and output to /dev/null</li>
720 <li> Jeremy Hall:&nbsp; Fixed problems with input files where the number of
721 samples is not known.</li>
722 <li> <font color="#3366ff">Mathew Hendry:&nbsp; ASM quantize_xrpow() for GNU
723 i386</font></li>
724 <li> <font color="#3366ff">Wilfried Behne&nbsp; quantize_xrpow ()for PowerPC
725 and non-ASM</font></li>
726 <li> <font color="#3366ff">Takehiro Tominaga:&nbsp; GOGO FFTs&nbsp; (not yet
727 used?)</font></li>
728 <br>
729 &nbsp;
731<h3> LAME 3.62beta&nbsp;&nbsp; February 9 2000</h3>
733 <li> <font color="#000000">Iwasa Kazmi:&nbsp; frame analyzer short block display
734 of single subblocks (press 1,2&nbsp; or 3)</font></li>
735 <li> <font color="#000000">Ingo Saitz:&nbsp; --help option added, with output
736 to stdout</font></li>
737 <li> <font color="#ff0000">Alfred Weyers: short block AAC spreading function
738 bug fixed</font></li>
739 <li> <font color="#3366ff">Takehiro Tominaga:&nbsp; new scalefac data structure
740 - improves performance!</font></li>
741 <li> <font color="#ff0000">Lionel Bonnet:&nbsp; Bug fixed in MPEG2 scalefactor
742 routine: scalefactors were being severly limited.</font></li>
743 <li> <font color="#3366ff">Takehiro Tominaga:&nbsp; faster FFT routines from.&nbsp;
744 These routines are also compatible with the GOGO routines, in case someone
745 is interested in porting them back to LAME.</font></li>
746 <li> <font color="#3366ff">Sigbj&oslash;rn Skj&aelig;ret, Takehiro Tominaga:&nbsp;
747 faster pow() code.</font></li>
748 <li> <font color="#ff0000">Joachim Kuebart:&nbsp; Found some unitialized variables
749 that were effecting quality for encodings which did not use the -h option
750 (now fixed).</font></li>
751 <li> Mark Taylor: More modularization work.&nbsp;&nbsp; It is now possible to
752 use LAME as a library where you can set the encoding parameters directly and
753 do your own file i/o.&nbsp;&nbsp; The calling program is now it's own mp3
754 output.&nbsp; For an example of the LAME API, see main.c, or mp3rtp.c or mp3x.c.&nbsp;
755 These can all be compiled as stand alone programs which link with libmp3lame.a.</li>
756 <li> Felix vos Leitner:&nbsp; mp3rtp fixes.&nbsp; mp3rtp is a standalone program
757 which will encode and stream with RTP.</li>
758 <li> Robert Hegemann:&nbsp; Information written to stderr displaying exactly
759 which type of lowpass filter (if any) is being used.</li>
760 <li> Iwasa Kazmi:&nbsp; mpglib (the mpg123 decoder) scsfi decoding fixes.</li>
761 <li> Takehiro Tominaga:&nbsp; More mpglib scsfi decoding fixes.</li>
763<h3> LAME 3.61beta&nbsp; January 14 2000</h3>
765 <li> <font color="#ff0000">Mark Taylor: Fixed bug with lowpass filters when
766 using VBR with a 64kbs or lower min bitrate setting.</font></li>
767 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; more efficient huffman encoding
768 splitting.</font></li>
770<h3> LAME 3.60beta&nbsp;&nbsp; January 9 2000</h3>
772 <li> Mark Taylor: Distribution now comes with self test.&nbsp; Needs work to
773 be automated, see 'make test' in Makefile.</li>
774 <li> <font color="#ff0000">Mark Taylor: AAC spreading function now the default</font></li>
775 <li> Gabriel Bouvigne: updated HTML docs</li>
776 <li> Felix von Leitner: compute correct file length from Xing header (if present)
777 when input file is a mp3 file</li>
778 <li> Felix von Leitner: mp3rtp (standalone) program now included.&nbsp; Not
779 yet tested.&nbsp; mp3rtp ip:port:ttl&nbsp; &lt;infile&gt;&nbsp;&nbsp; /dev/null
780 will stream directly to ip:port using&nbsp; RTP.</li>
781 <br>
782 &nbsp;
784<h3> LAME 3.59beta&nbsp; January 4 2000</h3>
786 <li> Takehiro Tominaga:&nbsp; --noath option.&nbsp; Disables ATH maskings.</li>
787 <li> Gabriel Bouvigne:&nbsp; updated HTML docs.</li>
788 <li> Iwasa Kazmi:&nbsp; makefile fixes</li>
789 <li> Mark Taylor:&nbsp; Fixed bug where first frame of data was always overwritten
790 with 0's.&nbsp; Thanks to 'gol'</li>
791 <li> <font color="#ff0000">Mark Taylor:&nbsp; bug fixes in mid/side masking
792 ratios (thanks to Menno Bakker)</font></li>
793 <li> Mark Taylor:&nbsp; replaced norm_l, norm_s table data with formulas.</li>
795<h3> LAME 3.58beta&nbsp; December 13 1999</h3>
797 <li> <font color="#ff0000">Segher Boessenkool:&nbsp; More accurate quantization
798 procedure!&nbsp; Enabled with -h.</font></li>
799 <li> <font color="#3366ff">Mathew Hendry, Acy Stapp and Takehiro Tominaga: ASM
800 optimizations for quantize_xrpow and quantize_xrpow_ISO.</font></li>
801 <li> Chuck Zenkus:&nbsp; "encoder inside" logo on web page</li>
802 <li> Mark Taylor:&nbsp;&nbsp; a couple people have asked for this.&nbsp;&nbsp;
803 Allow LAME to overide VBR_min_bitrate if analog_silence detected.&nbsp;&nbsp;
804 Analog_silence defined a la Robert:&nbsp;&nbsp; energy&nbsp; &lt; ATH.</li>
805 <li> An Van Lam: Valid bitrates were being printed for layer 2, not layer 3!</li>
806 <li> Ethan Yeo:&nbsp; Makefile.MSVC updated</li>
807 <li> Mark Stephens:&nbsp; updated all MSVC project files</li>
808 <li> Robert Hegemann:&nbsp; lowpass and highpass filters can be enabled with
809 --lowpass, --highpass</li>
810 <li> <font color="#ff0000">Mark Taylor:&nbsp; MS switching is now smoother:
811 ms_ratio average over 4 granules</font></li>
812 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; Scalefactor pre-emphasis
813 fixed (and now turned back on)</font></li>
814 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; Bug in M/S maskings:&nbsp;
815 switch to turn on stereo demasking code was buggy.</font></li>
817<h3> LAME 3.57beta&nbsp; November 22 1999</h3>
819 <li> Sigbj&oslash;rn Skj&aelig;ret, patch to allow encoding from 8bit input
820 files when using LIBSNDFILE</li>
821 <li> Mark Taylor: Automatic downsampling to nearest valid samplerate.</li>
822 <li> Mark Taylor: Scalefactor bands demarked on MDCT plot in frameanalyzer</li>
823 <li> Mark Taylor: Scalefactor preemphasis disabled for now.&nbsp;&nbsp; The
824 algorithm was often doing more harm than good.</li>
826<h3> LAME 3.56beta&nbsp; November 19 1999</h3>
828 <li> Kimmo Mustonen: portabilty code cleanup.</li>
829 <li> Vladimir Marek: id3 genre patch.</li>
830 <li> Conrad Sanderson: new applypatch script.</li>
831 <li> Mark Taylor: Initial window type now "STOP_TYPE" to reduce initial attenuation.&nbsp;
832 This is needed because the new encoder delay is so short.&nbsp; With a NORM_TYPE,
833 the first 240 samples would be attenuated.</li>
834 <li> Mark Taylor: Padding at end of file now adjusted (hopefully!) to produce
835 as little padding as possible while still guarantee all input samples are
836 encoded.</li>
837 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; Reduced shortblock extra
838 bit allocation formulas by 10% since new huffman coding is at least 10% more
839 efficient.</font></li>
841<h3> LAME 3.55beta&nbsp; November 11 1999</h3>
843 <li> Albert Faber:&nbsp; updated BladeEnc.dll</li>
844 <li> Mark Taylor: Simple lowpass filter added to linear downsampling routine.</li>
845 <li> Nils Faerber: updated man page.</li>
846 <li> Mark Taylor: All floating point variables are delcared FLOAT or&nbsp; FLOAT8.&nbsp;
847 Change the definition of FLOAT8 in machine.h to run at 32bit preceision.</li>
848 <li> Mark Taylor: Bug (introduced in 3.54beta) in stereo-&gt;mono downsampling
849 fixed.</li>
851<h3> LAME 3.54beta&nbsp; November 8 1999</h3>
853 <li> Mark Taylor: Encoder delay is now 48 samples.&nbsp; Can be adjusted to
854 1160 to sync with FhG (see ENCDELAY in encoder.h)&nbsp; This is kind of amazing,
855 since if Takehiro put his MDCT/filterbank routine in a decoder, we could have
856 a total&nbsp; delay of only 96 samples.</li>
857 <li> <font color="#ff0000">Mark Taylor: More inconstancies found and fixed in
858 MPEG2 tables.</font></li>
859 <li> Mark Taylor: Resampling from an MP3 input file now works.&nbsp; But we
860 still dont have a lowpass filter so dont expect good results.</li>
862<h3> LAME 3.53beta&nbsp; November 8 1999</h3>
864 <li> <font color="#3366ff">Takehiro Tominaga:&nbsp; Fixed MPEG2 problem in new
865 MDCT routines.&nbsp; Takehiro's combined filterbank/MDCT routine is now the
866 default.&nbsp; Removes all buffering from psymodel.c and the filterbanks/MDCT
867 routines.</font></li>
869<h3> LAME 3.52beta&nbsp; November 8 1999</h3>
871 <li> By permission of copyright holders of all GPL code in LAME,&nbsp; all GPL
872 code is now released under a modified version of the LGPL (see the README
873 file)</li>
874 <li> By popular demand, all C++ comments changed to C style comments</li>
875 <li> Mark Taylor: Linear resampling now works.&nbsp; Use --resample to set an
876 output samplerate different from the input samplerate.&nbsp; (doesn't seem
877 to work with mp3 input files, and there is no lowpass filter, so dont expect
878 good results just yet)</li>
879 <li> <font color="#3366ff">Takehiro Tominaga:&nbsp; Faster Huffman encoding
880 routines</font></li>
882<font color="#3366ff">The following changes are disabled because of MPEG2 problems.&nbsp;
883But to try them, set MDCTDELAY=48 in encoder.h, instead of MDCTDELAY=528.:</font>
885 <li> <font color="#3366ff">Takehiro Tominaga:&nbsp; New MDCT routines with shorter
886 delay (48 samples instead of 528) and even faster than the old routines.</font></li>
887 <li> <font color="#3366ff">Takehiro Tominaga:&nbsp; Removed extra buffering
888 in psymodel.c</font></li>
890<h3> LAME 3.51&nbsp; November 7 1999</h3>
892 <li> Takehiro Tominaga: Bug in quantize.c absolute threshold of hearing calculation
893 for non-44.1 kHz input files.</li>
895<h3> LAME 3.50&nbsp; November 1 1999</h3>
897 <li> LAME 3.37beta becomes official LAME 3.50 release</li>
899<h3> LAME 3.37beta&nbsp; November 1 1999</h3>
901 <li> <font color="#ff0000">Lionel Bonnet:&nbsp; Found severe bug in MPEG2 Short
902 block SNR.</font></li>
903 <li> Sergey Sapelin:&nbsp; VBR Toc improvement.</li>
904 <li> Sergey Dubov: fskip() routine</li>
905 <li> Conrad Sanderson: replacement for filterbank.c.&nbsp;&nbsp; Not much faster
906 but amazingly simpler.</li>
908<h3> LAME 3.36beta&nbsp; October 25 1999</h3>
910 <li> Albert Faber:&nbsp; more MSVC and BladeDLL updates</li>
911 <li> Kimmo Mustonen:&nbsp; Much code cleanup and Amiga updates</li>
912 <li> Anton Oleynikov: Borland C updates</li>
913 <li> Mark Taylor: More stdin fixes:&nbsp; For some reason, forward fseek()'s
914 would fail when used on pipes even though it is okay with redirection from
915 "&lt;". So I changed all the forward fseek()'s to use fread().&nbsp; This
916 should improve stdin support for wav/aiff files.&nbsp; If you know the input
917 file is raw pcm, you can still use the '-r' option to avoid *all* seeking
918 of any kind.</li>
919 <br>
920 &nbsp;
922<h3> LAME 3.35beta&nbsp; October 21 1999</h3>
924 <li> <font color="#ff0000">Leonid Kulakov:&nbsp; Serious bug in MPEG2 scalefactor
925 band tables fixed.</font></li>
926 <li> Portability patches from:&nbsp; Anton Oleynikov, Sigbj&oslash;rn Skj&aelig;ret,
927 Mathew Hendry, Richard Gorton</li>
928 <li> Alfred Weyers: compiler options, updated timestatus.</li>
929 <li> Albert Faber:&nbsp; BladeDll and other updates (new machine.h).</li>
930 <li> Monty:&nbsp; updated Makefile to fix gcc inline math bug.</li>
931 <br>
932 &nbsp;
934<h3> LAME 3.34beta&nbsp; October 12 1999</h3>
936 <li> <font color="#ff0000">Mark Taylor: Bug fixed:&nbsp; minimum bitrate in
937 VBR mode could be ignored for a few frames.</font></li>
938 <li> <font color="#ff0000">Mark Taylor: New (minor) VBR tunings.</font></li>
939 <li> Tim Ruddick: New wav/aiff header parsing routines.&nbsp; Better parsing
940 and fewer fseek()'s.</li>
941 <li> Anton Oleynikov:&nbsp; patches to work with Borland C</li>
942 <li> <font color="#ff0000">Gabriel Bouvigne:&nbsp; Experimental voice option
943 enabled with --voice</font></li>
945<h3> LAME 3.33beta&nbsp; October 11 1999</h3>
947 <li> <font color="#ff0000">Robert Hegemann: RH VBR mode now the default and
948 only VBR mode.&nbsp; The new code will always quantize to 0 distortion and
949 the quality is increased by reducing the masking from the psy-model.&nbsp;
950 -X0 is still the default for now.</font></li>
951 <li> <font color="#ff0000">Robert Hegemann: new -X5 mode</font></li>
952 <li> Mathew Hendry: New timing code, removes the need for HAVETIMES</li>
953 <li> <font color="#3366ff">Mathew Hendry:&nbsp; assembler quantize_xrpow for
954 Windows</font></li>
955 <li> Iwasa Kazmi:&nbsp; stdin/stdout patch for Windows</li>
956 <li> Mark Taylor: New option: "--athonly" will ignore the psy-model output and
957 use only the absolute threshold of hearing for the masking.</li>
958 <br>
959 &nbsp;
961<h3> LAME 3.32beta&nbsp; October 8 1999</h3>
963 <li> <font color="#3366ff">Takehiro Tominaga:&nbsp; faster long block spreading
964 function convolution for non 44.1 kHz sampling frequencies, and faster short
965 block spreading function convolution for all sampling frequencies.</font></li>
966 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; Completly rewritten huffman
967 table selection and count_bits().&nbsp; More efficient table selection results
968 in many more bits per frame.</font></li>
969 <li> <font color="#ff0000">Takehiro Tominaga:&nbsp; More efficient scalefac
970 compress setting.</font></li>
971 <li> <font color="#3366ff">Mike Cheng: new calc_noise2()</font></li>
972 <li> Alfred Weyers: patch for timestatus() seconds rollover</li>
973 <br>
974 &nbsp;
976<h3> LAME 3.31beta&nbsp; September 28 1999</h3>
978 <li> Albert Faber:&nbsp; updated his BladeDLL code.&nbsp; This allows LAME to
979 be compiled into a BladeEnc compatiable .dll.</li>
980 <li> <font color="#3366ff">Mike Cheng: faster l3psycho_ener() routine.</font></li>
981 <li> Sigbj&oslash;rn Skj&aelig;ret: more code cleanup.</li>
983<h3> LAME&nbsp; 3.30beta&nbsp; September 27 1999</h3>
985 <li> Conrad Sanderson:&nbsp; ID3 tag code added (type 'lame' for instructions)</li>
986 <li> new mdct.c from Mike Cheng (no faster, but much cleaner code)</li>
987 <li> Mathew Hendry: Microsoft nmake makefile and a couple other changes for
988 MSVC</li>
989 <li> More modulization work:&nbsp; One input sound file interface handles mp3's,
990 uncompressed audio, with or without LIBSNDFILE.&nbsp; Fixes (hopefully) a
991 bunch of file I/O bugs introduced in 3.29 (Mark Taylor)</li>
992 <li> LAME will now print valid samplerate/bitrate combinations (Mark Taylor)</li>
993 <li> stdin/stdout fix for OS/2 (Paul Hartman)</li>
994 <li> For mp3 input files, totalframes estimated based on filesize and first
995 frame bitrate. (Mark Taylor)</li>
996 <li> Updated all functions with new style prototypes.&nbsp; (Sigbj&oslash;rn
997 Skj&aelig;ret)</li>
998 <br>
999 &nbsp;
1001<h3> LAME 3.29beta&nbsp; September 21 1999</h3>
1003 <li> <font color="#ff0000">Bug in bigv_bitcount fixed.&nbsp; Loop.c was overestimating
1004 the number of bits needed, resulting in wasted bits every frame.&nbsp; (Leonid
1005 A. Kulakov)</font></li>
1006 <li> <font color="#ff0000">Bug in *_choose_table() fixed&nbsp;&nbsp; These routines
1007 would not sellect the optimal Huffman table in some cases.&nbsp;&nbsp; (Leonid
1008 A. Kulakov)</font></li>
1009 <li> <font color="#ff0000">Tuning of ATH normalization (macik)</font></li>
1010 <li> Removed unused variables and fixed function prototypes (Sigbj&oslash;rn
1011 Skj&aelig;ret)</li>
1012 <li> Sami Farin sent a&nbsp; .wav&nbsp; file that&nbsp; LAME built in support
1013 choked on.&nbsp;&nbsp; I added a slightly more sophisticated wav header parsing
1014 to handle this, but if you have trouble, use libsndfile.</li>
1015 <li> Resampling hooks and options added.&nbsp; Buffering and resampling routines
1016 need to be written.</li>
1017 <li> LAME will now take an mp3 file as input.&nbsp; When resampling code is
1018 working, LAME will be able to (for example) convert a high bitrate stereo
1019 mp3 to a low bitrate mono mp3 for streaming.</li>
1021<h3> LAME 3.28beta&nbsp; September 15 1999</h3>
1023 <li> <font color="#ff0000">Serious bug fixed in high frequency MDCT coefficients.&nbsp;
1024 Huffman coding was reversing the order of the count1 block quadruples.&nbsp;&nbsp;
1025 (Leonid A. Kulakov)</font></li>
1026 <li> nint() problems under Tru64 unix fixed and preprocessor variable HAVE_NINT
1027 removed.&nbsp; (Bob Bell)</li>
1028 <li> Compiler warning fixes and code cleanup&nbsp;&nbsp; (Sigbj&oslash;rn Skj&aelig;ret,
1029 Lionel Bonnet)</li>
1030 <li> USAGE file now includes suggestions for downsampling.&nbsp; For low bitrate
1031 encodings, proper downsampling can give dramatically better results.&nbsp;
1032 (John Hayward-Warburton)</li>
1034<h3> LAME 3.27beta&nbsp; September 12 1999</h3>
1036 <li> Several bugs in encode.c and l3bitstream.c fixed by Lionel Bonnet.</li>
1037 <li> Bugs in new VBR (#define RH) formula for mono input file and mid/side encoding
1038 fixed.</li>
1040<h3> LAME 3.26beta&nbsp; September 10 1999</h3>
1042 <li> The "-m m" option (mono .mp3 file) will automatically mix left and right
1043 channels if the input file is stereo.&nbsp; (Alfred Weyers)</li>
1044 <li> <font color="#ff0000">New quant_compare algorithm (method for deciding
1045 which of two quantizations is better) enabled with -X4 (Greg Maxwell)</font></li>
1046 <li> <font color="#ff0000">New mid/side VBR bit allocation formula.&nbsp; Mid
1047 channel bits are set by the quality requirements, and then the side channel
1048 uses a reduced number of bits (in a proportion coming from the fixed bitrate
1049 code).&nbsp; This might not be optimal, but it should be pretty good and no
1050 one knows what the optimal solution should be.&nbsp; (Greg Maxwell)</font></li>
1051 <li> <font color="#ff0000">New VBR (#define RH) tunings based on detailed listening
1052 tests by Macik and Greg Maxwell.</font></li>
1053 <li> Sigbj&oslash;rn Skj&aelig;ret fixed several compiler warnings (which turned
1054 out to be potential bugs)</li>
1055 <li> Takehiro Tominaga fixed a low bitrate bug in reduce_side()</li>
1056 <li> Alfred Weyers fixed some buffer overflows.</li>
1057 <li> <font color="#ff0000">New ATH (absolute threshold of hearing) formula replaces
1058 buggy ISO code, and adds&nbsp; analog silence treatment&nbsp; (removal of
1059 coefficients below below ATH).&nbsp;&nbsp; These are turned on by default
1060 but have not been fully tested.&nbsp; (Robert Hegemann)</font></li>
1061 <li> <font color="#ff0000">Bug in short block spreading function fixed.&nbsp;
1062 (Robert Hegemann)</font></li>
1064<h3> LAME 3.25beta&nbsp; August 22 1999</h3>
1066 <li> Sigbj&oslash;rn Skj&aelig;ret fixed a zero byte malloc call.&nbsp; This
1067 bug&nbsp; was introduced in 3.24 and causes problems on non Linux systems.</li>
1068 <li> Bit allocation routines would sometimes allocate more than 4095 bits to
1069 one channel of one granule.&nbsp; A couple of people reported problems that
1070 might be caused by this, especially at higher bitrates.</li>
1071 <li> Nils Faerber updated the man page and fixed many of the compiler warnings.</li>
1072 <br>
1073 &nbsp;
1075<h3> LAME 3.24beta&nbsp;&nbsp; August 15 1999</h3>
1077 <li> This release contains the following new code (for developers) which is
1078 disabled by default:</li>
1079 <li> Robert Hegemann:&nbsp; Completely overhauled VBR code.&nbsp; Now computes
1080 exact number of bits required for the given qualty and then quantized with
1081 the appropriate bitrate.</li>
1082 <li> Several new quantization quality measures.</li>
1084<h3> LAME 3.23beta&nbsp; August 8 1999</h3>
1086 <li> Very nice continuously updated VBR histogram display from Iwasa Kazmi.&nbsp;
1087 (disabled with --nohist).</li>
1088 <li> More modulerization work.&nbsp; The encoding engine can now be compiled
1089 into libmp3lame, but the interface is awkward.</li>
1090 <li> <font color="#ff0000">Bug fixed in FFT Hann window formula (Leonid A. Kulakov).</font></li>
1091 <li> New LAME logo on the download page.&nbsp; Created by Chris Michalisles.</li>
1092 <li> <font color="#ff0000">Several VBR algorithm improvements from Robert Hegemann.&nbsp;
1093 New quantization noise metrics and VBR quality measure takes into account
1094 mid/side encoding.&nbsp; Should produce smaller files with the same quality,
1095 especially when using jstereo.</font></li>
1097<h3> LAME 3.22beta&nbsp; July 27 1999</h3>
1099 <li> Downsampling (stereo to mono) bug with MPEG2 fixed.&nbsp; (Mike Oliphant)</li>
1100 <li> Downsampling now merges L &amp; R channels - before it only took the L
1101 channel.</li>
1102 <li> More modularization and code cleanup from Albert Faber and myself.</li>
1103 <li> Input filesize limit removed for raw pcm input files.&nbsp; For other file
1104 types, LAME will still only read the first 2^32 samples, (27 hours of playing
1105 time at 44.1 kHz).</li>
1106 <br>
1107 &nbsp;
1109<h3> LAME 3.21beta&nbsp; July 26 1999</h3>
1111 <li> <font color="#ff0000">Correct Mid/Side masking thresholds for JSTEREO mode!&nbsp;
1112 This is enabled with -h.&nbsp; It&nbsp; makes LAME about 20% slower since
1113 it computes psycho-acoustics for L,R Mid and Side channels.</font></li>
1114 <li> <font color="#ff0000">"Analog silence" threshold added.&nbsp; Keeps VBR
1115 from upping the bitrate during very quite passages.&nbsp; (Robert.Hegemann)</font></li>
1116 <li> <font color="#ff0000">New VBR quality setting from Robert Hegemann.&nbsp;
1117 It is based on the idea that distortion at lower bit rates sounds worse than
1118 at higher bitrates, and so the allowed distortion (VBR quality setting) is
1119 proportional to the bitrate.&nbsp; Because of this, default minimum bitrate
1120 is now 32kbs.</font></li>
1121 <li> <font color="#ff0000">Expermental subblock gain code enabled with -Z.</font></li>
1122 <li> New "-r" option for raw pcm input files.&nbsp; With -r, LAME will not do
1123 any fseek()'s or look for wav and aiff headers on the input file.</li>
1124 <li> Bug fixes in mp3x (frame analyzer) for viewing frames near end of the file.</li>
1125 <li> Bug fixed to allow setting the sampling rate of raw pcm input files.</li>
1127<h3> LAME 3.20beta&nbsp; July 19 1999</h3>
1129 <li> Bug in get_audio.c fixed.&nbsp; Libsndfile wrappers would not compile (Miguel
1130 Revilla&nbsp; Rodriguez)</li>
1131 <li> Nils Faerber found some unitialized variables and some wierd extranous
1132 computations in filter_subband, now fixed.&nbsp; This was causing seg faults
1133 on some machines.</li>
1134 <br>
1135 &nbsp;
1137<h3> LAME 3.19beta&nbsp; July 18 1999</h3>
1139 <li> <font color="#ff0000">Oops!&nbsp; Robert Hegemann immediatly found a bug
1140 in the new&nbsp; (old -Z option) quantization code.&nbsp; calc_noise1 was
1141 not returning tot_noise, so non ms-stereo frames were buggy.</font></li>
1142 <br>
1143 &nbsp;
1145<h3> LAME 3.18beta&nbsp; July 17 1999</h3>
1147 <li> <font color="#ff0000">Many psycho-acoustic bug fixes.&nbsp; Dan Nelson
1148 discovered a bug in MPEG2: For short blocks, the code assumes 42 partition
1149 bands.&nbsp; MPEG1 sometimes has less, MPEG2 can have more.&nbsp; In MPEG1,
1150 this bug would not have effected the output if your compiler initializes static
1151 variables to 0 on creation.&nbsp; In MPEG2 it leads to array out-of-bounds
1152 access errors. Finally, there was a related bug in MPEG1/MPEG2, short &amp;
1153 long blocks where the energy above 16 kHz was all added to partition band
1154 0. (the lowest frequeny partition band!)</font></li>
1155 <li> <font color="#ff0000">The -Z option (Gabriel Bouvigne's idea of using total
1156 quantization noise to choose between two quantizations with the same value
1157 of "over") is now the default.&nbsp; I believe this helps remove the trilling
1158 sound in Jan's testsignal4.wav.&nbsp; The quality of testsignal2.wav and testsignal4.wav
1159 are now better than Xing and getting closer to FhG.</font></li>
1160 <li> Bug fixes in frame &amp; sample count for downsampling mode. (ben "jacobs")</li>
1161 <li> Patches to improve modulization.&nbsp; (ben "jacobs")</li>
1163<h3> LAME 3.17beta&nbsp; July 11 1999</h3>
1165 <li> substantial code cleanup towards goal of making LAME more modular.</li>
1167<h3> LAME 3.16beta&nbsp; July 11 1999</h3>
1169 <li> <font color="#ff0000">New tunings of window switching, and better bit allocation
1170 based on pe.&nbsp; (Jan Rafaj.&nbsp; improves both testsignal2.wav and testsignal4.wav).</font></li>
1171 <li> <font color="#ff0000">Bug in mid/side quantization when side channel was
1172 zero fixed.&nbsp; (Albert Faber)</font></li>
1173 <li> Removed some extranous computations in l3psy.c (Robert Hegemann)</li>
1174 <li> More detailed timing status info, including hours display. (Sakari Ailus)
1175 and percentage indicator (Conrad Sanderson).</li>
1176 <li> <font color="#3366ff">Window_subband and calc_noise1,calc_noise2 speedups.&nbsp;
1177 Quantize_xrpow speedup should be significant on non GNU/intel systems. (Mike
1178 Cheng)</font></li>
1179 <li> <font color="#3366ff">Better initial guess for VBR bitrate.&nbsp; Should
1180 speed up VBR encoding.&nbsp; (Gabriel Bouvigne)</font></li>
1181 <li> More advanced .wav header parsing.&nbsp; fixes bugs involving click in
1182 first frame. (Robert.Hegemann)</li>
1183 <li> Correct filesize and total frame computation when using LIBSNDFILE (ben
1184 "jacobs")</li>
1185 <li> Click in last frame (buffering problem) when using libsndfile fixed.</li>
1186 <li> Audio I/O code overhauled.&nbsp; There is now a uniform audio i/o interface
1187 to libsndfile or the LAME built in wav/aiff routines.&nbsp; All audio i/o
1188 code localized to get_audio.c.</li>
1189 <br>
1190 &nbsp;
1192<h3> LAME 3.15beta</h3>
1194 <li> times()/clock() problem fixed for non-unix OS.&nbsp; (Ben "Jacobs")</li>
1195 <li> Fixed uninitialized pe[] when using fast mode.&nbsp; (Ben "Jacobs")</li>
1197<h3> LAME 3.13&nbsp; June 24 1999</h3>
1199 <li> Patches for BeOS from Gertjan van Ratingen.</li>
1200 <li> Makefile info for OS/2 Warp 4.0&nbsp; (from</li>
1201 <li> Status display now based on wall clock time, not cpu time.</li>
1202 <li> mem_alloc no longer allocates twice as much memory as needed (Jan Peman).</li>
1204<h3> 3.12pre9</h3>
1206 <li> Updated BLADEDLL code to handle recent changes (Albert Faber).</li>
1207 <li> Bug fixed in parsing options when not using GTK (Albert Faber).</li>
1208 <li> <font color="#ff0000">MPEG2 Layer III psycho acoustics now working.</font></li>
1209 <li> <font color="#3366ff">Improved huffman encoding Chris Matrakidis. (10%
1210 faster).&nbsp; I dont know how he finds these improvements!&nbsp; LAME with
1211 full quality now encodes faster than real time on my PII 266.</font></li>
1212 <li> Fixed time display when encoding takes more than 60 minutes.</li>
1214<h3> 3.12pre8</h3>
1216 <li> <font color="#ff0000">New <a href="gpsycho/ms_stereo.html">mid/side stereo</a>
1217 criterion.&nbsp; LAME will use mid/side stereo only when the difference between
1218 L &amp; R masking thresholds (averaged over all scalefactors) is less then
1219 5db.&nbsp; In several test samples it does a very good job mimicking the FhG
1220 encoder.</font></li>
1221 <li> <font color="#ff0000">Bug in mid/side stereo fixed:&nbsp; independent variation
1222 of mid &amp; side channel scalefactors disabled.&nbsp; Because of the way
1223 outer_loop is currently coded, when encoding mid/side coefficietns using left/right
1224 thresholds, you have to vary the scalefactors simultaneously.</font></li>
1225 <li> <font color="#ff0000">Bug in side/mid energy ratio calculation fixed. (Thanks
1226 to Robert Hegemann)</font></li>
1227 <li> Default mode is stereo (not jstereo) if bitrate is chosen as 192kbs or
1228 higher.&nbsp; Tero Auvinen first pointed out that FhG seems to think at 160kbs,
1229 their encoder is so good it doesn't need jstereo tricks. Since LAME is not
1230 as good as FhG, I am going to claim that 192kbs LAME is so good it doens't
1231 need jstereo tricks, and thus it is disabled by default.</li>
1232 <li> WAV header parsing for big-endian machines, and automatic detection of
1233 big-endian machines.&nbsp; (Thanks to&nbsp; Sigbj&oslash;rn Skj&aelig;ret).</li>
1234 <li> added 56 sample delay to sync LAME with FhG.</li>
1235 <li> MP3x (frame analyzer) can now handle MPEG2 streams.</li>
1237<h3> 3.12pre7</h3>
1239 <li> MPEG2 layer III now working!&nbsp; lower bit rates (down to 8kbs) and 3
1240 more sampling frequencies:&nbsp; 16000, 22050, 24000Hz. Quality is poor -
1241 the psy-model does not yet work with these sampling frequencies.</li>
1242 <li> Fixed "ERROR: outer_loop(): huff_bits &lt; 0." bug when using VBR.</li>
1243 <li> bash and sh scripts to run LAME on multiple files now included.&nbsp; (from
1244 Robert Hegemann and Gerhard Wesp respectively)</li>
1245 <li> bug fix in encoding times for longer files from&nbsp; (Alvaro Martinez
1246 Echevarria)</li>
1247 <li> yet another segfault in the frame analyzer fixed.</li>
1248 <li> ISO psy-model/bit allocation routines removed.&nbsp; This allowed makeframe()
1249 to be made much simpler, and most of the complicated buffering is now gone.
1250 Eventually I would like the encoding engine to be a stand alone library.</li>
1252<h3> 3.12pre6</h3>
1254 <li> <font color="#ff0000">Better VBR tuning.&nbsp; Find minimum bitrate with
1255 distortion less than the allows maximum.&nbsp; A minimum bit rate is imposed
1256 on frames with short blocks (where the measured distortion can not be trusted).&nbsp;&nbsp;
1257 A minimum frame bitrate can be specified with -b, default=64kbs.</font></li>
1258 <li> <a href="">LIBSNDFILE</a> support.&nbsp;
1259 With libsndfile, LAME can encode almost all sound formats.&nbsp; Albert Faber
1260 did the work for this, including getting libsndfile running under win32.</li>
1261 <li> CRC checksum now working!&nbsp;&nbsp; (Thanks to Johannes Overmann )</li>
1262 <li> frame analyzer will now work with mono .mp3 files</li>
1263 <li> <font color="#3366ff">more code tweeks from Jan Peman.</font></li>
1264 <li> <font color="#3366ff">Compaq-Alpha(Linux) fixes and speedups from Nils
1265 Faerber.</font></li>
1266 <li> <font color="#3366ff">Faster bin_search_StepSize from Juha Laukala.</font></li>
1267 <li> <font color="#3366ff">Faster quantize() from Mike Cheng</font></li>
1268 <li> <font color="#3366ff">Faster quantize_xrpow() from Chris Matrakidis.&nbsp;
1269 xrpow_flag removed since this option is now on by default.</font></li>
1270 <li> Fixed .wav header parsing from Nils Faerber.</li>
1271 <li> Xing VBR frame info header code from Albert Faber.&nbsp;&nbsp; "Xing" and
1272 "LAME 3.12" embedded in first frame.</li>
1273 <li> <font color="#ff0000">Bug in VBR bit allocation based on "over" value fixed.</font></li>
1275<h3> LAME 3.11&nbsp; June 3 1999</h3>
1277 <li> Almost all warnings (-Wall) now fixed!&nbsp; (Thanks to Jan Peman)</li>
1278 <li> More coding improvements from Gabriel Bouvigne and Warren Toomey.</li>
1279 <li> <font color="#ff0000">VBR&nbsp; (variable bit rate).&nbsp;&nbsp; Increases
1280 bit rate for short blocks and for frames where the number of bands containing
1281 audible distortion is greater than a given value.&nbsp; Much tuning needs
1282 to be done.</font></li>
1283 <li> Patch to remove all atan() calls from James Droppo.</li>
1286<h3> LAME 3.10 May 30 1999</h3>
1288 <li> <font color="#3366ff">Fast mode (-f)&nbsp; disables psycho-acoustic model
1289 for real time encoding on older machines.&nbsp; Thanks to Lauri Ahonen who
1290 first sent a patch for this.</font></li>
1291 <li> <font color="#ff0000">New bit reservoir usage scheme to accommodate the
1292 new pre-echo detection formulas.</font></li>
1293 <li> <font color="#ff0000">Tuning of AWS and ENER_AWS pre-echo formulas by Gabriel
1294 Bouvigne and myself.&nbsp; They work great!&nbsp; now on by default.</font></li>
1295 <li> In jstereo, force blocktypes for left &amp; right channels to be identical.&nbsp;
1296 FhG seems to do this.&nbsp; It can be disabled with "-d".</li>
1297 <li> Patches to compile MP3x under win32 (Thanks to Albert Faber).</li>
1298 <li> <font color="#3366ff">bin_serach_stepsize limited to a quantizationStepSize
1299 of&nbsp; -210 through 45.</font></li>
1300 <li> <font color="#ff0000">outer_loop()&nbsp; will now vary Mid &amp; Side scalefactors
1301 independently.&nbsp; Can lead to better quantizations, but it is slower (twice
1302 as many quantizations to look at).&nbsp; Running with "-m f" does not need
1303 this and will run at the old speed</font></li>
1304 <li> <font color="#ff0000">Bug in inner_loop would allow quantizations larger
1305 than allowed.&nbsp; (introduced in lame3.04, now fixed.)</font></li>
1306 <li> Updated HTML documentation from Gabriel Bouvigne.</li>
1307 <li> Unix&nbsp; man page from William Schelter.</li>
1308 <li> <font color="#ff0000">numlines[] bug fixed.&nbsp; (Thanks to Rafael Luebbert,
1309 MPecker author).</font></li>
1310 <li> <font color="#3366ff">Quantization speed improvements from Chirs Matrakidis.</font></li>
1311 <li> <font color="#ff0000">When comparing quantizations with the same number
1312 of bands with audible distortion, use the one with the largest scalefactors,
1313 not the first one outer_loop happened to find.</font></li>
1314 <li> Improved defination of best quantization when using -f (fast mode).</li>
1315 <li> subblock code now working.&nbsp; But no algorithm to choose subblock gains
1316 yet.</li>
1317 <li> Linux now segfaults on floating point exceptions.&nbsp; Should prevent
1318 me from releasing binaries that crash on other operating systems.</li>
1320<h3> LAME 3.04 May 22 1999</h3>
1322 <li>Preliminary documentation from Gabriel Bouvigne.</li>
1323 <li> <font color="#3366ff">I wouldn't have thought it was possible, but now
1324 there are even more speed improvements from Chris Matrakidis!&nbsp; Removed
1325 one FFT when using joint stereo, and many improvements in loop.c.</font></li>
1326 <li> "Fake" ms_stereo mode renamed "Force" ms_stereo since it forces mid/side
1327 stereo on all frames.&nbsp; For some music this is said to be a problem, but
1328 for most music mode is probably better than the default jstereo because it
1329 uses specialized mid/side channel masking thresholds.</li>
1330 <li> Small bugs in Force ms_stereo mode fixed.</li>
1331 <li> Compaq Alpha fixes from Nathan Slingerland.</li>
1332 <li> <font color="#ff0000">Some new experimental pre-echo detection formulas
1333 in l3psy.c (#ifdef AWS and #ifdef ENER_AWS, both off by default.&nbsp; Thanks
1334 to Gabriel Bouvigne and Andre Osterhues)</font></li>
1335 <li> Several bugs in the syncing of data displayed by mp3x (the frame analyzer)
1336 were fixed.</li>
1337 <li> highq (-h) option added.&nbsp; This turns on things (just one so far) that
1338 should sound better but slow down LAME.</li>
1340<h3>LAME 3.03 May 18 1999 </h3>
1342 <li> <font color="#3366ff">Faster (20%) &amp; cleaner FFT (Thanks to Chris Matrakidis&nbsp;
1344 <li> mods so it works with VC++ (Thanks to Gabriel Bouvigne,</li>
1345 <li> MP3s marked "original" by default&nbsp; (Thanks to Gabriel Bouvigne,</li>
1346 <li> Can now be compiled into a BladeEnc compatible .DLL&nbsp;&nbsp; (Thanks
1347 to&nbsp; Albert Faber, CDex author)</li>
1348 <li> Patches for "silent mode" and stdin/stdout&nbsp; (Thanks to Lars Magne
1349 Ingebrigtsen)</li>
1350 <li> <font color="#ff0000">Fixed rare bug: if a long_block is sandwiched between
1351 two short_blocks, it must be changed to a short_block, but the short_block
1352 ratios have not been computed in l3psy.c.&nbsp; Now always compute short_block
1353 ratios just in case.</font></li>
1354 <li> <font color="#ff0000">Fixed bug with initial quantize step size when many
1355 coefficients are zero.&nbsp; (Thanks to Martin Weghofer).</font></li>
1356 <li> Bug fixed in MP3x display of audible distortion.</li>
1357 <li> improved status display (Thanks to Lauri Ahonen).</li>
1359<h3> LAME 3.02 May 12 1999</h3>
1361 <li> <font color="#ff0000">encoder could use ms_stereo even if channel 0 and
1362 1 block types were different.&nbsp; (Thanks to Jan Rafaj)</font></li>
1363 <li> <font color="#ff0000">added -k option to disable the 16 kHz cutoff at 128kbs.&nbsp;
1364 This cutoff is never used at higher bitrates. (Thanks to Jan Rafaj)</font></li>
1365 <li> <font color="#ff0000">modified pe bit allocation formula to make sense
1366 at bit rates other than 128kbs.</font></li>
1367 <li> fixed l3_xmin initialization problem which showed up under FreeBSD.&nbsp;
1368 (Thanks to Warren Toomey)</li>
1370<h3><b>LAME 3.01 May 11 1999</b> </h3>
1372 <li> max_name_size increased to 300&nbsp; (Thanks to Mike Oliphant)</li>
1373 <li> patch to allow seeks on input file (Thanks to Scott Manley)</li>
1374 <li> fixes for mono modes (Thanks to everyone who pointed this out)</li>
1375 <li> overflow in calc_noise2 fixed</li>
1376 <li> bit reservoir overflow when encoding lots of frames with all zeros&nbsp;
1377 (Thanks to Jani Frilander)</li>
1380 <b>LAME 3.0 May 10 1999</b> </h3>
1382 <li><font color="#ff0000">added GPSYCHO (developed by Mark Taylor)</font></li>
1383 <li> <font color="#000000">added MP3x (developed by Mark Taylor)</font></li>
1384 <li> LAME now maintained by Mark Taylor</li>
1386<b>November 8 1998</b>
1388 <li> Version 2.1f released</li>
1389 <li> 50% faster filter_subband() routine in encode.c contributed by James Droppo</li>
1391<b>November 2 1998</b>
1393 <li> Version 2.1e released.</li>
1394 <li> New command line switch <b>-a</b> auto-resamples a stereo input file to
1395 mono.</li>
1396 <li> New command line switch <b>-r</b> resamples from 44.1 kHz to 32 kHz [this
1397 switch doesn't work really well. Very tinny sounding output files. Has to
1398 do with the way I do the resampling probably]</li>
1399 <li> Both of these were put into the ISO code in the encode.c file, and are
1400 simply different ways of filling the input buffers from a file.</li>
1402<b>October 31 1998</b>
1404 <li> Version 2.1d released</li>
1405 <li> Fixed memory alloc in musicin.c (for l3_sb_sample)</li>
1406 <li> Added new command line switch (-x) to force swapping of byte order</li>
1407 <li> Cleaned up memory routines in l3psy.c. All the mem_alloc() and free() routines
1408 where changed so that it was only done <i>once</i> and not every single time
1409 the routine was called.</li>
1410 <li> Added a compile time switch -DTIMER that includes all timing info. It's
1411 a switch for the time being until some other people have tested on their system.
1412 Timing code has a tendency to do different things on different platforms.</li>
1414<b>October 18 1998</b>
1416 <li> Version 2.1b released.</li>
1417 <li> Fixed up bug: all PCM files were being read as WAV.</li>
1418 <li> Played with the mem_alloc routine to fix crash under amigaos (just allocating
1419 twice as much memory as needed). Might see if we can totally do without this
1420 routine. Individual malloc()s where they are needed instead</li>
1421 <li> Put Jan Peman's quality switch back in. This reduces quality via the '-q&nbsp;<int>'
1422 switch. Fun speedup which is mostly harmless if you're not concerned with
1423 quality.</int></li>
1424 <li> Compiling with amiga-gcc works fine</li>
1426<b>October 16 1998</b>
1428 <li> Version 2.1a released. User input/output has been cleaned up a bit. WAV
1429 file reading is there in a very rudimentary sense ie the program will recognize
1430 the header and skip it, but not read it. The WAV file is assumed to be 16bit
1431 stereo 44.1 kHz.</li>
1433<b>October 6 1998</b>
1435 <li> Version 2.1 released with all tables now incorporated into the exe. Thanks
1436 to <b>Lars Magne Ingebrigtseni</b>([email protected])</li>
1438<b>October 4 1998</b>In response to some concerns about the quality of the encoder,
1439I have rebuilt the encoder from scratch and carefully compared output at all stages
1440with the output of the unmodified ISO encoder. <a
1441 href=""> Version2.0</a> of
1442LAME is built from the ISO source code (dist10), and incorporates modifications
1443from myself and the 8hz effort. The output file from LAME v2.0 is <i>identical</i>
1444to the output of the ISO encoder for my test file.Since I do not have heaps of
1445time, I left the ISO AIFF file reader in the code, and did not incorporate a WAV
1446file reader.Added section on <a
1447 href=""> quality</a><b> October
14481 1998</b>
1450 <li> Updated web page and released LAME v1.0</li>
1452<b>Up to September 1998</b>
1454 Working on the 8hz source code...
1455 <ul>
1456 <li> Patched the <a href="">8hz</a> source code</li>
1457 <li> 45% faster than original source (on my freebsd p166).</li>
1458 <ul>
1459 <li> m1 - sped up the mdct.c and quantize() functions [MDCTD, MDCTD2, LOOPD]</li>
1460 <li> m2 - sped up the filter_subband routine using <b>Stephane Tavenard</b>
1461 's work from musicin [FILTST]</li>
1462 <li> m2 - minor cleanup of window_subband [WINDST2]</li>
1463 <li> m2 - Cleaned up a few bits in l3psy.c. Replaced a sparse matrix multiply
1464 with a hand configured unrolling [PSYD]</li>
1465 <li> m3 - (amiga only) Added in the asm FFT for m68k (based on sources from
1466 <b>Henryk Richter</b> and <b>Stephane Tavenard</b>)</li>
1467 <li> m4 - raw pcm support back in</li>
1468 <li> m5 - put in a byte-ordering switch for raw PCM reading (just in case)</li>
1469 <li> m6 - reworked the whole fft.c file. fft now 10-15% faster.</li>
1470 <li> m7 - totally new fft routine. exploits fact that this is a real-&gt;complex
1471 fft. About twice as fast as previous fastest fft (in m6). (C fft routine
1472 is faster than the asm one on an m68k!)</li>
1473 <li> m8</li>
1474 <ul>
1475 <li> - Now encodes from stdin. Use '-' as the input filename. Thanks to
1476 <b>Brad Threatt</b></li>
1477 <li> - Worked out that the 1024point FFT only ever uses the first 6 phi
1478 values, and the first 465 energy values. Saves a bunch of calculations.</li>
1479 <li> - Added a speed-up/quality switch. Speed is increased but quality
1480 is decreased <i>slightly</i>. My ears are bad enough not to be able
1481 to notice the difference in quality at low settings :). Setting '-q
1482 1' improves speed by about 10%. '-q 100' improves speed by about 26%.
1483 Enoding of my test track goes from 111s (at default '-q 0') to 82s (at
1484 -q 100). Thanks to <b> Jan Peman</b> for this tip.</li>
1485 </ul>
1486 <li> m9 - fixed an error in l3psy.c. numlines[] is overwritten with incorrect
1487 data. Added a new variable numlines_s[] to fix this. Thanks again to <b>Jan
1488 Peman</b>.</li>
1489 <li> m10 - Down to 106 seconds by selecting a few more compiler options.
1490 Also added a pow20() function in l3loop.c to speed up (ever so slightly)
1491 calls to pow(2.0, x)</li>
1492 <li> m11</li>
1493 <ul>
1494 <li> No speedups. Just cleaned up some bits of the code.</li>
1495 <li> Changed K&amp;R prototyping to 'normal' format. Thanks to <b>Steffan
1496 Haeuser</b> for his help here.</li>
1497 <li> Changed some C++ style comments to normal C comments in huffman.c</li>
1498 <li> Removed the #warning from psy_data.h (it was getting annoying!)</li>
1499 <li> Removed reference in bitstream.c to malloc.h. Is there a system left
1500 where malloc.h hasn't been superceded by stdlib.h?</li>
1501 </ul>
1502 <li> In Progess:</li>
1503 <ul>
1504 <li> my PSYD hack for the spreading functions is only valid for 44.1 kHz
1505 - Should really put in a "if freq = 44.1 kHz" switch for it. Someone
1506 might want to extend the speedup for 48 and 32 kHz.</li>
1507 <li> Putting in Jan Peman's quantanf_init speedup.</li>
1508 </ul>
1509 </ul>
1510 </ul>
Note: See TracBrowser for help on using the repository browser.