1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3<html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 6 <meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; I; Linux 2.2.12-20 i686) [Netscape]"> 7 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 8 <title>LAME Changelog</title> 9 </head> 10 <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" alink="#bbbbbb" link="#888888" vlink="#555555"> 11 <center> 12 <h1>History</h1> 13 </center> 14 Starting with LAME 3.0: <br> 15 <font color="#ff0000">red = features and bug fixes which affect quality</font> <br> 16 <font color="#3366ff">blue = features and bug fixes which affect speed</font> <br> 17 black = usability, portability, other 18 <hr> 19 <h3>LAME 3.100.1 under construction</h3> 20 <ul> 21 <li> 22 Robert Hegemann 23 <ul> 24 <li>Patch submitted by KO Myung-Hun, patch ticket <i>[ #80 ] OS/2 patches</i> 25 </li> 26 <li>Patch submitted by Elio Blanca, patch ticket <i>[ #82 ] Take advantage of terminal width on printing file names</i> 27 </li> 28 <li><font color="#ff0000"> 29 Bug fix for item <i>[ #496 ] A critical bug in init_xrpow_core_sse</i> 30 </font> 31 </li> 32 <li><font color="#ff0000"> 33 Bug fix for item <i>[ #500 ] Buffer overflow in encoder</i> 34 </font> 35 </li> 36 <li><font color="#ff0000"> 37 Bug fix for item <i>[ #501 ] Encoder: Assertion 'eov->bitrate_index <= cfg->vbr_max_bitrate_index' failed during ABR encoding</i> 38 </font> 39 </li> 40 <li>Bug fix for item <i>[ #444 ] msacmdrv.h (structure packing alignment)</i> 41 </li> 42 </ul> 43 </li> 44 <li> 45 Alexander Leidinger 46 <ul> 47 <li><font color="#3366ff">Add faster CRC routine. The speed improvement is very small for typical use cases, but may be valuable if a lot of independent encodes are running and/or for a very long time. Patch by Robert Kausch of the fre:ac project. 48 </font> 49 </li> 50 <li><font color="#3366ff">Fix configure script glob-ranges matching of compiler versions. This may result in faster code if no compiler optimization flags are specified during the configure step. This is part of patch ticket <i>[ #491 ] lame 3.100 slower than 3.99.5</i> 51 </font> 52 </li> 53 <li><font color="#3366ff">Disable Takehiros IEEE753 hack by default. On modern CPUs (anything more recent from AMD than hammer/k8; Intel: Core2, i3/5/7/9 and similar -- no idea about recent Atom/Pentium) it is a speed pessimization. Add a configure option for it so that it can be enabled on old CPUs. 54 </font> 55 </li> 56 <li>Update to more recent autotools based scripts, this may or may not fix issues during the configure stage for less popular or more recent OS or architectures. 57 </li> 58 </ul> 59 </li> 60 </ul> 61 <br> 62 <h3>LAME 3.100 October 13 2017</h3> 63 <ul> 64 <li> 65 Rogério Brito 66 <ul> 67 <li> 68 Don't include the debian directory as one that is needed during 69 builds. Patch taken from Debian's packaging of lame. 70 </li> 71 <li> 72 Resurrect Owen Taylor's code dated from 97-11-3 to properly deal 73 with GTK1. This was transplanted back from aclocal.m4 with a patch 74 provided by Andres Mejia. This change makes it easy to regenerate 75 autotools' files with a simple invocation of <code>autoconf -vfi</code>. 76 </li> 77 <li> 78 Fix possible race condition causing build failures in libmp3lame. 79 Discovered in automated builds by the Debian project with patch 80 provided by Andres Mejia. 81 </li> 82 </ul> 83 </li> 84 <li> 85 Robert Hegemann 86 <ul> 87 <li> 88 Improved detection of MPEG audio data in RIFF WAVE files. 89 Tracker item <i>[ 3545112 ] Invalid sampling detection</i> 90 </li> 91 <li> 92 New switch <b>--gain <decibel></b>, range -20.0 to 93 +12.0, a more convenient way to apply Gain adjustment in 94 decibels, than the use of <i>--scale <factor></i>. 95 </li> 96 <li> 97 Fix for tracker item <i>[ 3558466 ] Bug in path handling</i> 98 </li> 99 <li> 100 Fix for tracker item <i>[ 3567844 ] problem with Tag 101 genre</i> 102 </li> 103 <li> 104 Fix for tracker item <i>[ 3565659 ] no progress 105 indication with pipe input</i> 106 </li> 107 <li> 108 Fix for tracker item <i>[ 3544957 ] scale (empty) silent 109 encode without warning</i> 110 </li> 111 <li> 112 Fix for tracker item <i>[ 3580176 ] environment variable 113 LAMEOPT doesn't work anymore</i> 114 </li> 115 <li> 116 Fix for tracker item <i>[ 3608583 ] input file name 117 displayed with wrong character encoding (on windows 118 console with CP_UTF8)</i> 119 </li> 120 <li> 121 Fix for bug ticket <i>[ #447 ] Fix dereference NULL and 122 Buffer not NULL terminated issues. Thanks to Surabhi 123 Mishra</i> 124 </li> 125 <li> 126 Fix for bug ticket <i>[ #445 ] dereference of a null 127 pointer possible in loop. Thanks to Renu Tyagi</i> 128 </li> 129 <li> 130 Fix for bug ticket <i>[ #449 ] Make sure functions with 131 SSE instructions maintain their own properly aligned 132 stack. Thanks to Fabian Greffrath</i> 133 </li> 134 <li> 135 Fix for bug ticket <i>[ #458 ] Multiple Stack and Heap 136 Corruptions from Malicious File. Thanks to Gareth Evans 137 and Elio Blanca</i> 138 </li> 139 <li> 140 Fix for bug ticket <i>[ #460 ] A division by zero 141 vulnerability. Thanks to Wang Shiyang, Liu Bingchang</i> 142 </li> 143 <li> 144 Fix for bug ticket <i>[ #461 ] CVE-2017-9410 145 fill_buffer_resample function in libmp3lame/util.c 146 heap-based buffer over-read and ap</i> 147 </li> 148 <li> 149 Fix for bug ticket <i>[ #462 ] CVE-2017-9411 150 fill_buffer_resample function in libmp3lame/util.c 151 invalid memory read and application crash</i> 152 </li> 153 <li> 154 Fix for bug ticket <i>[ #463 ] CVE-2017-9412 155 unpack_read_samples function in frontend/get_audio.c 156 invalid memory read and application crash</i> 157 </li> 158 <li> 159 Fix for bug ticket <i>[ #434 ] clip detect scale 160 suggestion unaware of scale input value</i> 161 </li> 162 <li> 163 HIP decoder bug fixed: decoding mixed blocks of lower 164 sample frequency Layer3 data resulted in internal buffer 165 overflow (write). Thanks to Henri Salo</i> 166 </li> 167 </ul> 168 </li> 169 <li> 170 Alexander Leidinger 171 <ul> 172 <li> 173 Feature request, patch ticket <i>[ #27 ] Add 174 lame_encode_buffer_interleaved_int() by Michael Fink</i> 175 </li> 176 </ul> 177 </li> 178 </ul> 179 <br> 180 <hr> 181 <h3>LAME 3.99.5 February 28 2012</h3> 182 <ul> 183 <li> 184 Rogério Brito 185 <ul> 186 <li> 187 autotools: Fix compilation on alpha using proper ifdef 188 guards. Thanks to Andres Mejia. 189 </li> 190 <li>Small correction of the documentation.</li> 191 </ul> 192 </li> 193 <li> 194 Robert Hegemann 195 <ul> 196 <li> 197 Workaround for cygwin build problem. Tracker item 198 <i>[ 3480692 ] mingw-w64 compilation error</i> 199 </li> 200 <li> 201 Fix for a problem when LAME is compiled with <i>fast 202 floating point math</i>. It could result in <i>bitrate 203 bloat</i> with silent input data. 204 </li> 205 <li> 206 <font color="#ff0000">Bug fix for tracker item <i>[ 207 3486753 ] Artifacts at the beginning of <b>decoded</b> 208 file</i></font> 209 </li> 210 </ul> 211 </li> 212 </ul> 213 <br> 214 <h3>LAME 3.99.4 January 25 2012</h3> 215 <ul> 216 <li> 217 Robert Hegemann 218 <ul> 219 <li> 220 Fix for tracker item <i>[ 3475581 ] lame crashes at .w64 221 input file</i> 222 </li> 223 <li> 224 Addressing things brought to attention by tracker item 225 <i>[ 3463197 ] 3.99.x problem WFED and PCST frames </i> 226 <ul> 227 <li> 228 WFED and PCST frames can now be added, to tag 229 podcasts iTunes recognizes</li> 230 <li>USER frames are now supported</li> 231 <li> 232 COMM frames can now have a description, when 233 passed via --tv "COMM=description=full text" 234 </li> 235 <li> 236 possible divide-by-zero exception should be fixed 237 </li> 238 <li> 239 adding malformed user-defined-frames could result 240 in abnormal program termination, fixed 241 </li> 242 </ul> 243 </li> 244 </ul> 245 </li> 246 </ul> 247 <br> 248 <h3>LAME 3.99.3 November 26 2011</h3> 249 <ul> 250 <li> 251 Robert Hegemann 252 <ul> 253 <li> 254 Fix for tracker item <i>[ 3441349 ] --tg does not handle 255 genre number when adding unicode tag</i> 256 </li> 257 </ul> 258 </li> 259 </ul> 260 <br> 261 <h3>LAME 3.99.2 November 18 2011</h3> 262 <ul> 263 <li> 264 Robert Hegemann 265 <ul> 266 <li> 267 Due to some bugs in 3rd party HW/SW decoders, those were not 268 be able to make use of LAME's extended info tag anymore, 269 resulting in problems with things like gapless playback. 270 </li> 271 </ul> 272 </li> 273 </ul> 274 <br> 275 <h3>LAME 3.99.1 November 5 2011</h3> 276 <ul> 277 <li> 278 Robert Hegemann 279 <ul> 280 <li> 281 Fixes for several issues with ID3v2 unicode tags, using 282 Big-Endian text encodings. Because of several other 283 software (like Windows Media Player), 284 LAME writes Little-Endian unicode tags only.<br> 285 Thanks to Taihei Monma, for reporting these issues. 286 Tracker items: <i>[ 3431203, 3431222, 3431241 ]</i> 287 </li> 288 </ul> 289 </li> 290 </ul> 291 <br> 292 <h3>LAME 3.99 October 15 2011</h3> 293 <ul> 294 <li>3.99 beta 1 becomes 3.99</li> 295 </ul> 296 <br> 297 <h3>LAME 3.99 beta 1 not yet released</h3> 298 <ul> 299 <li> 300 Robert Hegemann 301 <ul> 302 <li> 303 Fix for Bugtracker item <i>[ 3395813 ] 304 id3tag_set_fieldvalue for URL link frames Broken</i> 305 </li> 306 <li> 307 Fix for Bugtracker item <i>[ 3368977 ] Wave Parser 308 doesn't pad chunks</i> 309 </li> 310 <li> 311 Fix for Bugtracker item <i>[ 3034259 ] confusing fatal 312 error: can't update LAME-tag frame!</i> 313 </li> 314 </ul> 315 </li> 316 </ul> 317 <h3>LAME 3.99 beta 0 not officially released</h3> 318 <ul> 319 <li> 320 Josep Maria Antolín Segura 321 <ul> 322 <li> 323 Documentation work 324 </li> 325 </ul> 326 </li> 327 <li> 328 Rogério Brito 329 <ul> 330 <li> 331 Improve Debian packaging. 332 <ul> 333 <li>Include suggestions made by Fabian Greffrath</li> 334 <li> 335 Update version of the Debian package to reflect 336 that it is taken from CVS. 337 </li> 338 <li>Get rid of a transitional package</li> 339 <li>Much more to come...</li> 340 </ul> 341 <li>Minor fix to validate the history file correctly</li> 342 </ul> 343 </li> 344 <li> 345 Robert Hegemann 346 <ul> 347 <li> 348 Porting of LAME <b>mp3rtp</b> program to Windows platform 349 </li> 350 <li> 351 Fix: <font color="#ff0000">for free format mp3 above 320 352 kbps, the maximum allowed bits was limited too far.</font> 353 </li> 354 <li> 355 Changed behaviour: LAME replaces common suffixes by 356 MP3/WAV when no output filename was given. For example, 357 a simple <tt>lame x.wav</tt> will create output file 358 <tt>x.mp3</tt> 359 </li> 360 <li> 361 UNICODE support on Windows OS, file names and ID3v2 tags; 362 related: Bugtracker item <i>[ 3052230 ] Lame.exe can't 363 find files with non-ASCII names</i> 364 </li> 365 <li> 366 Added support for WAVE FORMAT IEEE FLOAT input files 367 </li> 368 <li> 369 New switch <b>--swap-channel</b> added, see tracker 370 item <i>[ 1118412 ] RFE: option to swap L and R channels</i> 371 </li> 372 <li> 373 New switches <b>-m l</b> and <b>-m r</b> to select either 374 left or right channel for mono encoding. 375 </li> 376 <li> 377 Feature request item <i>[ 3134258 ] Allow larger images 378 with LAME (>128KB)</i> 379 </li> 380 <li> 381 Fix for Bugtracker item <i>[ 2962223 ] Encoder delay 382 and padding values ignored when re-encoding</i> 383 </li> 384 <li> 385 Fix for Bugtracker item <i>[ 2986823 ] Error when 386 building Lame with NASM support -still exists</i> 387 </li> 388 <li> 389 Fix for Bugtracker item <i>[ 3125235 ] make -f 390 Makefile.mingw32 fails</i> 391 </li> 392 <li> 393 Fix for Bugtracker item <i>[ 3021935 ] ID3 tag TXXX 394 cannot be used more than once</i> 395 </li> 396 <li> 397 Fix for Bugtracker item <i>[ 3025801 ] gain_analysis.h 398 needs int constants</i> 399 </li> 400 <li> 401 Fix for Bugtracker item <i>[ 3277412 ] Segmentation 402 fault at layer2.c:105 with --decode</i> 403 </li> 404 <li> 405 Changes in new VBR code: 406 <ul> 407 <li><font color="#ff0000">tuning on PSY model</font></li> 408 <li> 409 <font color="#770000">tuning on VBR scale and 410 resulting bitrates</font> 411 </li> 412 <li> 413 <font color="#ff0000">Minor bug fix for sfb21 414 encoding</font> 415 </li> 416 </ul> 417 </li> 418 <li> 419 <font color="#ff0000">All encoding modes use the PSY 420 model from new VBR code, addresses Bugtracker item <i>[ 421 3187397 ] Strange compression behavior</i></font> 422 </li> 423 <li> 424 Fix for a possible out of bounds array access in HIP 425 decoder, addresses Bugtracker item <i>[ 3091776 ] 426 crash at III_dequantize_sample</i> 427 </li> 428 </ul> 429 </li> 430 </ul> 431 <hr> 432 <h3>LAME 3.98.4 March 22 2010</h3> 433 <ul> 434 <li> 435 Joseph Flynn 436 <ul> 437 <li> 438 Improvements for LAME DirectShow filter: 439 <ul> 440 <li>Added support for the DirectShow IAMStreamConfig Interface to the LAME encoder filter output pin. 441 </li> 442 <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. 443 </li> 444 <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. 445 </li> 446 <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. 447 </li> 448 <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. 449 </li> 450 </ul> 451 </li> 452 </ul> 453 </li> 454 <li> 455 Robert Hegemann 456 <ul> 457 <li><font color="#ff0000">Fix for Bugtracker item <i>[ 2973877 ] A problem regarding the new drain code</i></font> 458 </li> 459 </ul> 460 </li> 461 </ul> 462 <h3>LAME 3.98.3 February 27 2010</h3> 463 <ul> 464 <li> 465 Rogério Brito: 466 <ul> 467 <li>Update the debian packaging for the new release. 468 </li> 469 </ul> 470 </li> 471 <li> 472 Robert Hegemann 473 <ul> 474 <li>The <b>ignore-tag-errors</b> switch had no effect when embedding album art, fixed.</li> 475 <li>Library API change: lame_decode functions are now obsolete but still present, please use hip_decode instead. 476 The reason for this change is: lame_decode functions use a single global variable within the library 477 to store decoder setup, hip_decode functions don't. 478 The encoder now uses hip_decode internally and it is now possible to use <b>clipdetect</b> 479 feature while reencoding mp3 to mp3. 480 </li> 481 <li>Workaround for FFMPEG bug, which uses to call lame_encode_flush more than once in a loop. 482 </li> 483 <li>Windows: program icon and version info added (when building with VC9) 484 </li> 485 <li>Fix for Bugtracker item <i>[ 2688413 ] lib name problem in Microsoft Visual Studio 6</i> 486 </li> 487 <li>Fix for Bugtracker items <i>[ 2051870, 2423650, 2928684 ] several small documentation issues</i> 488 </li> 489 <li>Fix for Bugtracker item <i>[ 2723518 ] resampling in 3.98 and 3.99alpha</i> 490 </li> 491 <li>Fix for Bugtracker item <i>[ 2891879 ] Because of Windows API change, there was a problem with the <b>prority</b> switch.</i> 492 </li> 493 <li>Fix for Bugtracker item <i>[ 2893101 ] Access Violation in BladeMP3EncDLL if UNICODE was defined.</i> 494 </li> 495 <li>Fix for Bugtracker item <i>[ 2887359 ] Wrong length in ID3v2 tag when num_samples isn't set</i> 496 </li> 497 <li>Fix for Bugtracker item <i>[ 2872590 ] LameTAG: "Music length" missmatch in LAME 3.98</i> 498 </li> 499 <li>Fix for Bugtracker item <i>[ 2824296 ] wrong enc_padding value in LAME 3.99a and 3.98.3 (from CVS)</i> 500 </li> 501 <li><font color="#ff0000">Revisiting the FhG decoder problem (FhG V1.5 build 50, ships with MS Windows): 502 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> 503 </li> 504 <li>Patch submitted by Bernhard Doebler, tracker item <i>[ 2807676 ] Error when building Lame with NASM support</i> 505 </li> 506 <li>Patch submitted by Mancuso Raffaele, tracker item <i>[ 2406420 ] compile lame_enc.dll under cygwin</i> 507 </li> 508 </ul> 509 </li> 510 </ul> 511 <h3>LAME 3.98.2 September 22 2008</h3> 512 <ul> 513 <li> 514 Robert Hegemann 515 <ul> 516 <li>Fix for Bugtracker item <i>[ 2123206 ] lame 3.98.1 segfaults with -h</i> 517 </li> 518 </ul> 519 </li> 520 </ul> 521 <h3>LAME 3.98.1 September 21 2008</h3> 522 <ul> 523 <li> 524 Rogério Brito: 525 <ul> 526 <li> 527 More fixes for the abx tool for Unix systems: 528 <ul> 529 <li>Plugged a memory leak.</li> 530 <li>Fixed an endianness problem: users of big-endian machines 531 can now do abx tests. 532 </li> 533 </ul> 534 </li> 535 <li>Fixed history's HTML doctype</li> 536 <li> 537 Fixed history so that it <em>finally</em> validates 538 at <a href="http://validator.w3.org/">W3's validator</a> 539 </li> 540 <li> 541 Fixed compilation of frontend <code>mp3rtp.c</code>. Thanks to Kris Karas. 542 Bugtracker item <i>[ 2015432 ] mp3rtp missing uint16_t in lame 3.98</i> 543 </li> 544 </ul> 545 </li> 546 <li> 547 Robert Hegemann: 548 <ul> 549 <li>Fix for Bugtracker item <i>[ 2031704 ] --id3v1-only didnt work in 3.98-final</i></li> 550 <li>Fix for Bugtracker item <i>[ 2022035 ] encoder_padding value and resampling</i></li> 551 <li>Fix for Bugtracker item <i>[ 2029282 ] Frequency filtering API broken in 3.98</i></li> 552 <li>Fix for Bugtracker item <i>[ 2039648 ] potential memory leak in parse_args() function in parse.c</i></li> 553 <li> 554 Fix for some tagging issues: 555 <ul> 556 <li> 557 Made search for ID3v1 genres more sloppy, abbrevations may match more often as some simple typos. 558 Examples: 559 <ul> 560 <li>--tg "Alt. Rock" matches genre "Alternate Rock"</li> 561 <li>--tg "acapela" matches genre "A Cappella"</li> 562 </ul> 563 </li> 564 <li>New switch --pad-id3v2-size "n": adds ID3v2 tag with n padding bytes.</li> 565 </ul> 566 </li> 567 </ul> 568 </li> 569 </ul> 570 <hr> 571 <h3>LAME 3.98 July 4 2008</h3> 572 <ul> 573 <li> 574 Anton Sergunov: 575 <ul> 576 <li>Frontend DirectShow: enabling LAME dshow filter to connect to "File Writer Filter". 577 </li> 578 </ul> 579 </li> 580 <li> 581 Rogério Brito: 582 <ul> 583 <li>Updates to the Debian Packaging</li> 584 <li>Fixes to the abx tool for Unix systems (so that more people 585 can evaluate LAME's compression against the original files) 586 </li> 587 </ul> 588 </li> 589 <li> 590 Alexander Leidinger: 591 <ul> 592 <li>explicitely link the math lib to the lame lib</li> 593 <li>add switch to disable the use of the compaq optimized math lib</li> 594 </ul> 595 </li> 596 </ul> 597 <h3>LAME 3.98 beta 8 April 13 2008</h3> 598 <ul> 599 <li> 600 Robert Hegemann: 601 <ul> 602 <li>LAME now accepts a floating point value in the range [0,...,10[ as VBR quality setting, like <b>-V5.678</b> 603 </li> 604 <li>Found and fixed some suspicious code in additive masking calculation for VBR-NEW 605 </li> 606 <li>bug-fix:<font color="#ff0000">experimental code was defaulted by accident for VBR-NEW</font> 607 </li> 608 <li>fix for some endianess problem on big-endian machines 609 </li> 610 </ul> 611 </li> 612 </ul> 613 <h3>LAME 3.98 beta 7 April 6 2008</h3> 614 <ul> 615 <li> 616 Robert Hegemann: 617 <ul> 618 <li>libmp3lame API: allow frontends to separately retrieve LAME/Xing and ID3 data, because the old library automatism 619 makes it impossible to make fully buffered encodes. 620 </li> 621 <li>libmp3lame API: added some experimental unicode ID3 tagging code. 622 </li> 623 <li>frontends: write itself final ID3 tags and LAME/Xing header frame 624 </li> 625 <li>lame_enc.dll: writes itself final LAME/Xing header frame 626 </li> 627 <li> 628 Latest changes to the new VBR psymodel: 629 <ul> 630 <li>uses a different spreading function 631 </li> 632 <li><font color="#ff0000">bug-fix for out-of-bounds array access (program stack corruption possible)</font> 633 </li> 634 </ul> 635 </li> 636 </ul> 637 </li> 638 </ul> 639 <h3>LAME 3.98 beta 6 December 16 2007</h3> 640 <ul> 641 <li> 642 Robert Hegemann: 643 <ul> 644 <li>Feature request <i>[ 1811483 ] WAVE_FORMAT_EXTENSIBLE support (PCM)</i> 645 </li> 646 <li><font color="#ff0000">Fix for some rare scalefactor selection issue the newer vbr code had at low compression levels 647 </font> 648 </li> 649 <li>Fix for Bugtracker item<i>[ 1813496 ] AIFF parsing bug</i> 650 </li> 651 <li> 652 Latest changes to the new VBR code: 653 <ul> 654 <li><font color="#3366ff">it now has its own psy model, a derivation from NSPSY.</font> 655 </li> 656 <li><font color="#ff0000">some more tuning has been done for this new psy model.</font> 657 Many thanks to Horst Albrecht and Myles Thaiss. 658 </li> 659 <li><font color="#ff0000">the "out-of-bits" strategy is reworked</font> 660 </li> 661 </ul> 662 <li><font color="#ff0000">It was possible, that the "interchannel masking effects feature" 663 was used by the dual-channel-mode for bi-lingual encodings too. It was meant to work 664 on stereo L/R channels only.</font> 665 </li> 666 </ul> 667 </li> 668 </ul> 669 <h3>LAME 3.98 beta 5 August 12 2007</h3> 670 <ul> 671 <li> 672 Jonathan Stott: 673 <ul> 674 <li>Bug tracker items: <i>[ 1590693 ] ID3v2 tag not writing, [ 1636267 ] ID3v2 tags overwritten</i><br> 675 If the output file is opened 'write-only', then LAME can't update the LAME tag. 676 In this case LAME silently overwrote the first bytes of the file and an 677 optional ID3v2 tag disappeared. Now an error message will be printed and 678 no data is written in this case. 679 </li> 680 </ul> 681 </li> 682 <li> 683 Robert Hegemann: 684 <ul> 685 <li>Fix for Bugtracker item <i>[ 1719593 ] Track numbers > 255 not allowed even with --id3v2-only</i> 686 <li>Fix for Bugtracker item <i>[ 1742623 ] fail(lame --mp3input -m m -b 128 --resample 8 *.mp3 **.mp3)</i><br> 687 The problem here was, the input files are MPEG-1 Layer2 files named as MP3s. Even if you leave out 688 the --mp3input switch LAME tried to decode the input files as Layer3 files because of the file name 689 extension and because it found some valid looking Layer3 synchronization header. 690 The fixed LAME version does not assume the file name extension is always correct and treats the files 691 depending on the first found MPEG sync word. The files in question are now correctly detected as 692 Layer2 files and transcoding does succeed. 693 </li> 694 <li>Fix for Bugtracker item <i>[ 1445175 ] Input being stdin fails in Windows on WAV files</i><br> 695 The problem here was, seeking on pipes shows some different behaviour depending on C-Library 696 implementations. The workaround tries to detect it's working on a pipe and doing some 697 reading instead of seeking in that case. 698 </li> 699 <li>Fixing some memory leak in the 'lame_enc.dll'. 700 </li> 701 <li>Fix for Bugtracker items <i>[ 1160757, 1160741 ] --little-endian / --big-endian not working</i><br> 702 These switches where originally intended to be used together with Libsndfile only. 703 </li> 704 <li>Fix for Bugtracker item <i>[ 1746336 ] Incorrect Bitrate with ABR und --resample, LAME 3.98b4</i><br> 705 Some earlier bug-fix had some typo. As a result, when adding a '--resample 123' switch, 706 the average bitrate rised upto maximum bitrate. 707 </li> 708 </ul> 709 </li> 710 </ul> 711 <h3>LAME 3.98 beta 4 June 23 2007</h3> 712 <ul> 713 <li>Dennis Lambe Jr: Added support for total track count (id3v2) in the frontend 714 </li> 715 <li> 716 Nyaochi: 717 <ul> 718 <li>Ability to set user-defined ID3v2.3 frame</li> 719 <li>Ability to include albumArt in ID3v2.3 tag</li> 720 </ul> 721 </li> 722 <li> 723 Robert Hegemann: 724 <ul> 725 <li>Bugfix: the "play length in ms", which is stored in the ID3v2 tag TLEN, was not correctly computed. 726 Some hardware and software players were confused by this garbage data. 727 </li> 728 <li><font color="#ff0000">Out of bits strategy for the newer VBR code overhauled</font></li> 729 <li>LAME API: the ID3 tag functions do not store the pointers passed anymore, 730 they do make deep copies of strings passed as parameters. 731 </li> 732 <li>Changes in LAME frontend switches regarding ID3 tags: 733 <br><tt>--tg "MyGenre"</tt> will route unknown ID3v1 genres to "Other" for ID3v1 tags 734 and will be stored as plain text "MyGenre" for ID3v2 tags. Genres given by known 735 ID3v1 numbers will be stored as its corresponding text in ID3v2 tags. 736 <br><tt>--tn "02/02"</tt> will store the track number specified as plain text as-is 737 for ID3v2 tags. 738 </li> 739 </ul> 740 </li> 741 </ul> 742 <br> 743 <h3>LAME 3.98 beta 3 May 22 2007</h3> 744 <ul> 745 <li> 746 Robert Hegemann: 747 <ul> 748 <li>Fixes regarding max number of bits limitation</li> 749 </ul> 750 </li> 751 </ul> 752 <br> 753 <h3>LAME 3.98 beta 2 May 20 2007</h3> 754 <ul> 755 <li> 756 Robert Hegemann: 757 <ul> 758 <li>Bug tracker item: <i>[ 1693461 ];</i> 759 Fixed memory leaks in ACM codec 760 </li> 761 <li>Fixed encoding of non-standard sampling rates in CBR</li> 762 <li><font color="#ff0000">Improved VBR strategy when running out of bits</font></li> 763 </ul> 764 </li> 765 </ul> 766 <br> 767 <h3>LAME 3.98 beta 1 May 16 2007</h3> 768 <ul> 769 <li> 770 Alexander Leidinger: 771 <ul> 772 <li>Add TLEN (ID3v2) support (Submitted by: Linus Walleij).</li> 773 <li>Add number of total tracks per album (ID3v2) support 774 (Submitted by: Kyle VanderBeek). 775 </li> 776 <li>Some seatbelts for overflowing arrays in the ID3v2 777 support. 778 </li> 779 <li>Update the RPM spec (Submitted by: Kyle VanderBeek).</li> 780 <li>Fix some mem-leaks in the error case.</li> 781 <li>Update to newer autotools versions.</li> 782 <li>Update to use a recent libsndfile (submitted by 783 libsndfile author). 784 </li> 785 <li><font color="#3366ff">Intrinsics support 786 enabled for gcc</font> 787 </li> 788 </ul> 789 </li> 790 <li> 791 Robert Hegemann: 792 <ul> 793 <li><font color="#3366ff">The newer VBR code is now LAME's default 794 VBR routine</font> 795 </li> 796 <li><font color="#ff0000">Fixed: in case of 797 not enough bits the new vbr code incorrectly used old vbr routine</font> 798 </li> 799 <li><font color="#ff0000">Improved ATH 800 adjustment in low volume cases</font> 801 </li> 802 <li><font color="#ff0000">Fixed (PSY model): mapping from convolution bands 803 to partition bands was broken since we replaced tables by own calculation 804 several years ago</font> 805 </li> 806 <li><font color="#ff0000">Fixed (PSY model): loss of fraction in equal loudness weighting</font></li> 807 <li><font color="#ff0000">Fixed (PSY model): in NSPSY highpass filter, out of bounds access in fircoef</font></li> 808 <li><font color="#ff0000">Known problem samples for the new VBR code: 809 many of them are at an acceptable quality level now;</font> 810 with a big <b>'Thank You'</b> to Francis Niechcial 811 </li> 812 <li><font color="#ff0000">Modified VBR strategy to handle out of bits cases</font></li> 813 <li>Restricted bitreservoir size for 320 kbps frames to 814 the size used for sideinfo, because of decoding problems 815 with FhG decoders installed on almost every Windows system 816 </li> 817 <li>LAME aborts on unsupported input files 818 or unrecognized parameter options passed more often now 819 </li> 820 <li>Bug tracker item: <i>[ 1596306 ] "fatal error during initialization";</i> 821 an invalid MPEG samplerate was returned by optimum_samplefreq function 822 </li> 823 <li>Bug tracker item: <i>[ 1585942 ] lame not --silent when TERM not set;</i> 824 in case LAME was build with TERMCAP defined and no TERM 825 environment is defined, now we do not issue an error message and 826 silently fallback to the default behaviour as if LAME was 827 compiled without TERMCAP defined. 828 </li> 829 <li>Bug tracker item: <i>[ 1711980 ] LAME writes invalid Xing header when ID3 tags exist;</i> 830 LAME was sometimes writing an invalid Xing/Info header 831 </li> 832 <li>Feature request: <i>[ 1588283 ] Flushing output stream in lame.exe;</i> 833 'flush' option added 834 </li> 835 <li><font color="#3366ff">Added FFTSSE and FFT3DNOW assembler code from 836 Lame4 branch</font> 837 </li> 838 <li>Changes in lame frontend switches: 839 -k removed, add lowpass and highpass switches if you need to change 840 them; --short/noshort/allshort - degraded into DEVELOPER ONLY switches 841 normal users shouldn't use them; -X -Z degraded to 842 DEVELOPER ONLY switches, -X is too tough to communicate to 843 end users and -Z isn't used actualy 844 </li> 845 <li>Fixed some console printing problems</li> 846 <li>Windows: ACM code now uses LAME library API only, all 847 references to private include files are removed 848 </li> 849 <li>Windows: DirectShow code now uses LAME library API only, all 850 references to private include files are removed 851 </li> 852 <li>Windows: disabled code that resets processor affinity, 853 because this doesn't belong to LAME, but seems to work around 854 some problems the parent process has (in most cases EAC) 855 </li> 856 </ul> 857 </li> 858 <li> 859 John33: 860 <ul> 861 <li> 862 Fixed mp2 and mp3 decoding: For mp3 and mp2 decoding, 863 this now yields the same output as foobar2000 but the 864 error checking remains unchanged 865 </li> 866 </ul> 867 </li> 868 <li> 869 Gabriel Bouvigne: 870 <ul> 871 <li>VC8 project files</li> 872 <li>Added support for x64 under VC8</li> 873 <li>Restricted MPEG 2.5 to 64kbps frames</li> 874 </ul> 875 </li> 876 <li> 877 Takehiro Tominaga: 878 <ul> 879 <li><font color="#3366ff">SSE version of FFT</font></li> 880 </ul> 881 </li> 882 </ul> 883 <br> 884 <h3>LAME 3.97 September 24 2006</h3> 885 <ul> 886 <li>3.97 beta 3 becomes 3.97 </li> 887 </ul> 888 <br> 889 <h3>LAME 3.97 beta 3 August 19 2006</h3> 890 <ul> 891 <li> 892 Gabriel Bouvigne: 893 <ul> 894 <li><font color="#ff0000">Workaround against a 895 short blocks detection issue</font> 896 </li> 897 </ul> 898 </li> 899 </ul> 900 <br> 901 <h3>LAME 3.97 beta 2 November 26 2005</h3> 902 <ul> 903 <li> 904 Gabriel Bouvigne: 905 <ul> 906 <li>Fixed an initialization error when input is not using a 907 standard sampling frequency 908 </li> 909 <li>Fixed a possible assertion failure in very low bitrate 910 encoding 911 </li> 912 <li><font color="#ff0000">Slight change 913 regarding ATH adjustment with V5</font> 914 </li> 915 <li><font color="#ff0000">Reinstated bit 916 reservoir for 320kbps CBR</font> 917 </li> 918 <li><font color="#3366ff">ReplayGain analysis 919 should now be faster when encountering silent parts</font> 920 </li> 921 </ul> 922 </li> 923 <li> 924 Takehiro Tominaga: 925 <ul> 926 <li>Fixed a possible link problem of assembly code</li> 927 </ul> 928 </li> 929 </ul> 930 <br> 931 <h3>LAME 3.97 beta 1 September 12 2005</h3> 932 <ul> 933 <li> 934 Takehiro Tominaga: 935 <ul> 936 <li>Fixed an out of array access in mp3rtp </li> 937 <li><font color="#ff0000">Fixed a quality 938 setting in DLL</font> 939 </li> 940 <li>Fixed display when using --silent</li> 941 </ul> 942 </li> 943 <li> 944 Vitaly Ivanov: 945 <ul> 946 <li>Updated DirectShow interface</li> 947 </ul> 948 </li> 949 <li> 950 Robert Hegemann: 951 <ul> 952 <li><font color="#ff0000">Fixed an out of 953 array access</font> 954 </li> 955 <li><font color="#ff0000">Fixed some small 956 rounding problem in vbr-new quantization routines</font> 957 </li> 958 <li><font color="#ff0000">Fixed a bug in 959 vbr-new regarding high frequencies (sfb21) when using -Y</font> 960 </li> 961 <li><font color="#ff0000">Fixed a few bugs in 962 vbr-new when using -Y</font> 963 </li> 964 <li><font color="#ff0000">Updated scalefactors 965 allocation scheme in vbr-new</font> 966 </li> 967 <li>Fixed mingw32 configure problems</li> 968 <li>Resolved some compiler warnings</li> 969 <li>Updated command-line visualisation</li> 970 </ul> 971 </li> 972 <li> 973 Gabriel Bouvigne: 974 <ul> 975 <li>Changed some FLOAT8 to FLOAT</li> 976 <li>Added project files for VC7</li> 977 <li><font color="#ff0000">Reworked -q1 and -q0</font></li> 978 <li><font color="#ff0000">Updated presets</font></li> 979 <li><font color="#ff0000">Fixed an error in 980 ISO quantization on systems not using the IEEE754 hack</font> 981 </li> 982 <li><font color="#3366ff">Faster quantization</font></li> 983 <li><font color="#3366ff">SSE version of 984 init_xrpow</font> 985 </li> 986 </ul> 987 </li> 988 <li> 989 Rogério Brito: 990 <ul> 991 <li>Updated Debian packaging</li> 992 <li>Documentation work</li> 993 </ul> 994 </li> 995 <li> 996 Chris Miller: 997 <ul> 998 <li>Support for x64 platform SDK in makefile.msvc</li> 999 </ul> 1000 </li> 1001 </ul> 1002 <br> 1003 <h3>LAME 3.96.1 July 25 2004</h3> 1004 <ul> 1005 <li> 1006 Robert Hegemann: 1007 <ul> 1008 <li><font color="#ff0000">Fixed a rare bug in 1009 vbr-new (could lead to crashes or data corruption)</font> 1010 </li> 1011 </ul> 1012 </li> 1013 <li> 1014 Gabriel Bouvigne: 1015 <ul> 1016 <li>some fixes in ACM codec</li> 1017 <li>fixed padding when encoding to 320kbps</li> 1018 <li><font color="#ff0000">fixed block size 1019 selection for mid and side channels</font> 1020 </li> 1021 </ul> 1022 </li> 1023 </ul> 1024 <br> 1025 <h3>LAME 3.96 April 11 2004</h3> 1026 <ul> 1027 <li> 1028 Gabriel Bouvigne: 1029 <ul> 1030 <li><font color="#ff0000">new quantization 1031 selection mode (used in ABR/CBR)</font> 1032 </li> 1033 <li><font color="#ff0000">set sfscale for 1034 ABR/CBR up to 160kbps</font> 1035 </li> 1036 </ul> 1037 </li> 1038 </ul> 1039 <br> 1040 <h3>LAME 3.96 beta 2 March 28 2004</h3> 1041 <ul> 1042 <li> 1043 Takehiro Tominaga: 1044 <ul> 1045 <li><font color="#3366ff">removed unnecessary 1046 integer convertion in resampling</font> 1047 </li> 1048 </ul> 1049 </li> 1050 <li> 1051 Robert Hegemann: 1052 <ul> 1053 <li><font color="#ff0000">reworked scalefactor 1054 allocation in vbr-new</font> 1055 </li> 1056 <li>fixed a freeformat decoding problem</li> 1057 </ul> 1058 </li> 1059 <li> 1060 Gabriel Bouvigne: 1061 <ul> 1062 <li><font color="#ff0000">updated minimal 1063 bitrate for V1 and V2</font> 1064 </li> 1065 </ul> 1066 </li> 1067 <li> 1068 Aleksander Korzynski: 1069 <ul> 1070 <li>added ability to disable ReplayGain analysis</li> 1071 </ul> 1072 </li> 1073 </ul> 1074 <br> 1075 <h3>LAME 3.96 beta March 7 2004</h3> 1076 <ul> 1077 <li> 1078 Takehiro Tominaga: 1079 <ul> 1080 <li>fixed decoding issue</li> 1081 </ul> 1082 </li> 1083 <li> 1084 Aleksander Korzynski: 1085 <ul> 1086 <li>changed internal ReplayGain handling</li> 1087 <li>fixed some issues when ReplayGain is used with 1088 resampling 1089 </li> 1090 </ul> 1091 </li> 1092 <li> 1093 Robert Hegemann: 1094 <ul> 1095 <li>added standard ISO quantization for vbr-new, used at 1096 lower quality settings 1097 </li> 1098 <li><font color="#3366ff">faster count_bits 1099 for vbr-new</font> 1100 </li> 1101 <li><font color="#3366ff">faster 1102 find_scalefac_ave function for vbr-new</font> 1103 </li> 1104 <li><font color="#ff0000">fixed an out of 1105 array access in psychoacoustic models; this bug could make some psy 1106 calculations worthless and sometimes let lame crash</font> 1107 </li> 1108 <li><font color="#ff0000">fixed an error on 1109 silent scalefactor bands; this bug resulted in huffman data overrun 1110 problems while decoding, resulting in audible glitches</font> 1111 </li> 1112 <li>fixed a freeformat decoding bug</li> 1113 </ul> 1114 </li> 1115 <li> 1116 Gabriel Bouvigne: 1117 <ul> 1118 <li><font color="#ff0000">adjusted short block 1119 thresholds</font> 1120 </li> 1121 <li>fixed some array addressing bugs</li> 1122 <li>made ReplayGain analysis reentrant</li> 1123 </ul> 1124 </li> 1125 <li>David Chandler: fixed a crash in quantize_xrpow </li> 1126 <li>Michal Bacik: fixed a crash when using 8kHz </li> 1127 <li>Goran Markovic: fixed some decoding bugs </li> 1128 <li>John Edwards: fixed a too small buffer in ReplayGain code</li> 1129 </ul> 1130 <br> 1131 <h3>LAME 3.95.1 January 12 2004</h3> 1132 <ul> 1133 <li> 1134 Gabriel Bouvigne: 1135 <ul> 1136 <li>fixed a crash when using vbr-new</li> 1137 <li>changed ReplayGain reference level to 89dB</li> 1138 </ul> 1139 </li> 1140 </ul> 1141 <br> 1142 <h3>LAME 3.95 January 11 2004</h3> 1143 <ul> 1144 <li> 1145 Gabriel Bouvigne: 1146 <ul> 1147 <li><font color="#ff0000">fixed lowpass values 1148 when using vbr with mono files</font> 1149 </li> 1150 <li><font color="#3366ff">faster quantization 1151 loops</font> 1152 </li> 1153 <li><font color="#3366ff">faster count_bits</font></li> 1154 <li>fixed a buffer requirement error in ACM codec</li> 1155 </ul> 1156 </li> 1157 <li> 1158 Takehiro TOMINAGA: 1159 <ul> 1160 <li>fixed mpglib and other decoding support code to prevent 1161 the crash when invalid mp3 input 1162 </li> 1163 </ul> 1164 </li> 1165 <li>removed Layer I decoding support</li> 1166 <li><font color="#3366ff">use FastLog and IEEE 754 1167 hack on PowerPC too (approx. 10 percent faster)</font> 1168 </li> 1169 </ul> 1170 <br> 1171 <h3>LAME 3.94 beta December 15 2003</h3> 1172 <ul> 1173 <li> 1174 Takehiro Tominaga: 1175 <ul> 1176 <li><font color="#ff0000">fixed block 1177 switching of nspsytune</font> 1178 </li> 1179 <li><font color="#ff0000">best huffman divide 1180 in the inner loop.</font> This should improve the quality, but 1181 PAINFULLY slow. So it is not enabled by default. Use -q0 to use it. 1182 </li> 1183 <li>Changed -q option mapping. "-q2" until version 3.93 is 1184 now "-q3". 1185 </li> 1186 <li><font color="#ff0000">saving bits by 1187 better scalefactor storing</font> 1188 </li> 1189 <li>removed Vorbis support</li> 1190 <li><font color="#ff0000">substep quantization.</font>This 1191 should help breaking the SFB21 bloating problem 1192 </li> 1193 <li><font color="#ff0000">made psychoacoustic 1194 model aware of ATH adjustements</font> 1195 </li> 1196 <li><font color="#ff0000">use ATH value as 1197 short block masking lower limit</font> 1198 </li> 1199 <li><font color="#ff0000">several fixes in 1200 psychoacoustic model</font> 1201 </li> 1202 <li>more robust decoding</li> 1203 </ul> 1204 </li> 1205 <li>Mark Taylor / Gabriel Bouvigne: fixed issues in VBR header</li> 1206 <li>Mark Taylor: workaround against some hardware decoder 1207 defficiencies 1208 </li> 1209 <li>Aleksander Korzynski: ability to compute the "Radio" 1210 ReplayGain and detect clipping on the fly. The ReplayGain value is 1211 stored in the Lame tag. 1212 </li> 1213 <li> 1214 Gabriel Bouvigne: 1215 <ul> 1216 <li><font color="#ff0000">work on presets</font></li> 1217 <li><font color="#ff0000">use presets by 1218 default for cbr/abr</font> 1219 </li> 1220 <li><font color="#ff0000">use presets by 1221 default for vbr</font> 1222 </li> 1223 <li><font color="#ff0000">analog silence 1224 detection in partitionned sfb21</font> 1225 </li> 1226 <li><font color="#3366ff">do not compute noise 1227 in upper 0 part of the spectrum</font> 1228 </li> 1229 <li><font color="#3366ff">only compute noise 1230 in modified scalefactor bands</font> 1231 </li> 1232 </ul> 1233 </li> 1234 <li> 1235 Guillaume Lessard: 1236 <ul> 1237 <li>nogap related changes</li> 1238 </ul> 1239 </li> 1240 <li> 1241 Alexander Leidinger: 1242 <ul> 1243 <li>prevent closing the input fd prematurely if the input 1244 is a named pipe 1245 </li> 1246 </ul> 1247 </li> 1248 </ul> 1249 <br> 1250 <h3>LAME 3.93.1 December 1 2002</h3> 1251 <ul> 1252 <li> 1253 Gabriel Bouvigne: 1254 <ul> 1255 <li>preset medium added to the dll interface</li> 1256 <li><font color="#ff0000">fix for abr/cbr 1257 presets</font> 1258 </li> 1259 <li><font color="#ff0000">fix -q0 switch</font></li> 1260 </ul> 1261 </li> 1262 <li>Alexander Leidinger: fix link problem on systems where 1263 socket() resides in libsocket 1264 </li> 1265 </ul> 1266 <br> 1267 <h3>LAME 3.93 November 16 2002</h3> 1268 <ul> 1269 <li> 1270 Takehiro Tominaga: 1271 <ul> 1272 <li><font color="#ff0000">bit allocation for 1273 pre-echo control improved for single channel encodings</font> 1274 </li> 1275 <li><font color="#ff0000">substep noise shaping</font></li> 1276 <li><font color="#3366ff">optimizations by 1277 changing data structure</font> 1278 </li> 1279 <li><font color="#ff0000">noise shaping model 1280 2 fix</font> 1281 </li> 1282 <li><font color="#3366ff">nspsytune FIR filter 1283 clean up</font> 1284 </li> 1285 <li><font color="#ff0000">fix small psymodel 1286 bugs(DC current estimation, preecho detection of non-VBR mode, and 1287 nspsymode initialization)</font> 1288 </li> 1289 <li>portability fixes for Tru64 UNIX</li> 1290 </ul> 1291 </li> 1292 <li>Albert Faber: some fixes in the DLL</li> 1293 <li>Simon Blandford: fixes for channel scaling in mono mode</li> 1294 <li><font color="#3366ff">Dominique Duvivier: some 1295 optimizations and a faster log10 function</font> 1296 </li> 1297 <li> 1298 Mark Taylor: 1299 <ul> 1300 <li>some tag related fixes in the direct show filter and in 1301 the ACM codec 1302 </li> 1303 <li><font color="#3366ff">fixed a mono 1304 encoding bug found by Justin Schoeman</font> 1305 </li> 1306 <li>calc_noise bug fix</li> 1307 <li>other fixes</li> 1308 </ul> 1309 </li> 1310 <li> 1311 Alexander Leidinger: 1312 <ul> 1313 <li>update to autoconf 2.53, rewrite some configure tests</li> 1314 <li>Akos Maroy: determine gcc version even with gcc 3.1</li> 1315 <li>Andrew Bachmann: compile shared libs on BeOS (and 1316 perhaps other arches) 1317 </li> 1318 <li>ultrasparc switches for gcc 3.1</li> 1319 <li>fixes for SunOS 4.x</li> 1320 <li>fixes for 64bit arches</li> 1321 <li>CFLAGS fix for IRIX</li> 1322 <li>don't override CFLAGS if exptopt isn't requested</li> 1323 </ul> 1324 </li> 1325 <li> 1326 Robert Hegeman: 1327 <ul> 1328 <li><font color="#3366ff">some fixes</font></li> 1329 <li><font color="#ff0000">some fixes for VBR</font></li> 1330 </ul> 1331 </li> 1332 <li> 1333 Gabriel Bouvigne: 1334 <ul> 1335 <li>--noasm switch. Might help Cyrix/Via users</li> 1336 <li><font color="#ff0000">presets and 1337 alt-presets merged</font> 1338 </li> 1339 </ul> 1340 </li> 1341 </ul> 1342 <br> 1343 <h3>LAME 3.92 April 14 2002</h3> 1344 <ul> 1345 <li><font color="#ff0000">Alexander 1346 Leidinger: add non linear psymodel (compile time option, 1347 disabled by default)</font>, workaround a bug in gcc 3.0.3 1348 (compiler options, based upon suggestions from various people, see 1349 archives and changelog for more) 1350 </li> 1351 <li>Steve Lhomme: ACM wrapper (MS-Windows codec)</li> 1352 <li><font color="#3366ff">Steve Lhomme: 1353 less memory copying on stereo (interleaved) input</font> 1354 </li> 1355 <li><font color="#ff0000">Takehiro Tominaga: 1356 Inter-channel masking, enables with --interch x option</font> 1357 </li> 1358 <li>For buggy versions of gcc compiler (2.96*), back off on 1359 some of the advanced compiler options<br> 1360 </li> 1361 </ul> 1362 <br> 1363 <h3>LAME 3.91 December 29 2001</h3> 1364 <ul> 1365 <li><font color="#ff0000">Darin 1366 Morrison: Bugfix for --alt-preset (for content with low 1367 volume, clean vocals), only important for the "fast standard" preset</font> 1368 </li> 1369 <li> 1370 Alexander Leidinger: 1371 <ul> 1372 <li>add some missing files to the distribution</li> 1373 <li>add --alt-preset to the man page</li> 1374 </ul> 1375 </li> 1376 </ul> 1377 <br> 1378 <h3>LAME 3.90 December 21 2001</h3> 1379 <ul> 1380 <li><font color="#ff0000">Many small improvements 1381 and bug fixes not added to history</font> 1382 </li> 1383 <li><font color="#ff0000">John 1384 Dahlstrom: more fine tuning on the auto adjustment of the ATH</font> 1385 </li> 1386 <li><font color="#3366ff">Robert 1387 Hegemann: small speed and quality improvements for the old 1388 VBR code (--vbr-old).</font> 1389 </li> 1390 <li><font color="#ff0000">Robert 1391 Hegemann: some short block bug fixes</font> 1392 </li> 1393 <li><font color="#ff0000">Robert 1394 Hegemann: Big improvements to --vbr-mtrh, now encodes much 1395 more frequencies over 16khz</font> 1396 </li> 1397 <li><font color="#ff0000">Robert 1398 Hegemann: --vbr-new code disabled (outdated and lower 1399 quality) and replaced with --vbr-mtrh (Both --vbr-new and --vbr-mtrh 1400 now default to mtrh)</font> 1401 </li> 1402 <li>Robert Hegemann: reordering of --longhelp to give 1403 more information, --extrahelp dropped 1404 </li> 1405 <li> 1406 Darin Morrison: Totally revamped and extremely 1407 high quality unified preset system and other general quality 1408 improvements now available with --alt-presets: 1409 <ul> 1410 <li> 1411 <font color="#ff0000">some improvements 1412 to psychoacoustics (vast improvements over default L.A.M.E. modes) when 1413 --alt-preset is used including:</font> 1414 <ul> 1415 <li><font color="#ff0000">Improved tuning 1416 of short block usage.</font> 1417 </li> 1418 <li><font color="#ff0000">Improved 1419 quantization selection usage (the -X modes), now adapts between 1420 appropriate modes on the fly. Also helps on "dropout" problems and with 1421 pre-echo cases.</font> 1422 </li> 1423 <li><font color="#ff0000">Improved joint 1424 stereo usage. Thresholds are better tuned now and fix some "dropout" 1425 problems L.A.M.E. suffers from on clips like serioustrouble.</font> 1426 </li> 1427 <li><font color="#ff0000">Improved noise 1428 shaping usage. Now switches between noise shaping modes on the fly 1429 (toggles -Z on and off when appropriate) which allows lower bitrates 1430 but without the quality compromise.</font> 1431 </li> 1432 <li><font color="#ff0000">Clips vastly 1433 improved over default L.A.M.E. modes (vbr/cbr/abr, including --r3mix): 1434 castanets, florida_seq, death2, fatboy, spahm, gbtinc, ravebase, short, 1435 florida_seq, hihat, bassdrum, 2nd_vent_clip, serioustrouble, bloodline, 1436 and others. No degraded clips known.</font> 1437 </li> 1438 <li>VBR bitrates are now more "stable" with less 1439 fluctuation -- not dipping too low on some music and not increasing too 1440 high unnecessarily on other music. "--alt-preset standard" provides 1441 bitrates roughly within the range of 180-220kbps, often averaging close 1442 to 192kbps. 1443 </li> 1444 </ul> 1445 </li> 1446 <li>--alt-presets replace the --dm-presets and "metal" 1447 preset is removed and replaced with generic abr and cbr presets. 1448 </li> 1449 <li>--alt-preset extreme (note the 'e') replaces xtreme to 1450 help eliminate some confusion 1451 </li> 1452 <li>--alt-preset vbr modes now have a fast option which 1453 offers almost no compromise in speed. 1454 </li> 1455 <li>--alt-preset standard (and "fast standard") are now 1456 much lower in bitrate, matching --r3mix with an overall average, though 1457 offering higher quality especially on difficult test samples. 1458 </li> 1459 <li>--alt-presets are no longer just "presets" as in a 1460 collection of switches, instead they are now quality "modes" because of 1461 special code level tunings (those mentioned above). 1462 </li> 1463 <li>Use --alt-preset help for more information.</li> 1464 </ul> 1465 </li> 1466 <li>Roel VdB: more tuning on the --r3mix preset </li> 1467 <li>Jon Dee, Roel VdB: INFO tag</li> 1468 <li>Alexander Leidinger, mp3gain@hotmail.com: added 1469 --scale-l and --scale-r to scale stereo channels independantly 1470 </li> 1471 <li>Takehiro Tominaga: <font color="#ff0000">new 1472 noise shaping mode, offering more "cutting edge" shaping according to 1473 masking, enabled via -q0</font> 1474 </li> 1475 <li>Mark Taylor: More work on --nogap </li> 1476 <li>Gabriel Bouvigne: Small changes to abr code for 1477 more accurate final bitrate 1478 </li> 1479 <li>Gabriel Bouvigne, mp3gain@hotmail.com: 1480 Preliminary <a href="http://www.replaygain.org"> 1481 ReplayGain</a> analysis code added (not functional yet) 1482 </li> 1483 <li>Gabriel Bouvigne, Alexander Leidinger: 1484 Documentation updates 1485 </li> 1486 <li>John Dahlstrom, DSPguru@math.com: floating point 1487 interface function in the Windows DLL 1488 </li> 1489 </ul> 1490 <br> 1491 <h3>LAME 3.89beta July 5 2001</h3> 1492 <ul> 1493 <li>John Stewart: long filename support for Win9x/NT.</li> 1494 <li>Takehiro Tominaga: LAME can calculate the CRC of 1495 VBR header, so now "lame -pv" works fine. 1496 </li> 1497 <li><font color="#ff0000">Robert 1498 Hegemann: Improvements of the new VBR code (--vbr-mtrh).</font> 1499 </li> 1500 <li><font color="#3366ff">Robert Hegemann: New VBR 1501 code (--vbr-mtrh) is now defaulted to get more feedback. The VBR speed 1502 is now on par with CBR. We will use the old VBR code in the release.</font> 1503 </li> 1504 <li><font color="#ff0000">Gabriel Bouvigne: Change 1505 of the maximum frame size limit. LAME should now be more friendly with 1506 hardware players.</font> 1507 </li> 1508 <li>Gabriel Bouvigne: Size of VBR is now more balanced 1509 according to the -V value. 1510 </li> 1511 <li>Alexander Leidinger: Finished the implementation of the 1512 set/get functions. 1513 </li> 1514 <li>John Dahlstrom: LAME now handles 24bits input</li> 1515 <li>Mark Taylor: bugs in lame --decode causing truncation of 1516 mp3 file fixed 1517 </li> 1518 <li>Mark Taylor: preliminary --nogap support</li> 1519 <li>"Final" API completed: shared library safe! This 1520 API is frozen and should be backwords compatiable with future versions 1521 of libmp3lame.so, but we will continue to add new functionality. 1522 <br> 1523 </li> 1524 </ul> 1525 <h3> LAME 3.88beta March 25 2001</h3> 1526 <ul> 1527 <li><font color="#ff0000">A lot of work that was 1528 never added to the History!</font> 1529 </li> 1530 <li><font color="#ff0000">Frank Klemm and 1531 Gabriel Bouvigne: New ATH formula. Big improvement 1532 for high bitrate encodings.</font> 1533 </li> 1534 <li><font color="#ff0000">Takehiro Tominaga: 1535 Temporal masking</font> 1536 </li> 1537 <li><font color="#ff0000">Gabriel Bouvigne/Mark 1538 Taylor: auto adjustment of ATH</font> 1539 </li> 1540 <li><font color="#ff0000">Robert 1541 Hegemann: Better outer_loop stopping criterion. 1542 Enabled with -q2 or better.</font> 1543 </li> 1544 <li><font color="#ff0000">Robert Hegemann/Naoki 1545 Shibata: slow/carefull noise shaping. 1546 -q3..9: amplify all distorted bands. -q2: amplify 1547 distorted bands within 50%. -q1-0: amplify only 1548 most distorted band at each iteration.</font> 1549 </li> 1550 <li><font color="#ff0000">Takehiro Tominaga: 1551 Interframe, shortblock temporal masking.</font> 1552 </li> 1553 <li>Takehiro Tominaga: LAME restructured into a 1554 shared library and front end application. Slight changes to 1555 the API. More changes are coming to turn LAME into a true shared 1556 library (right now you have to recompile if you upgrade the library :-( 1557 </li> 1558 <li> 1559 <font color="#000000">Naoki Shibata:</font> 1560 <ul> 1561 <li><font color="#ff0000">improvements to 1562 psychoacoustics</font><font color="#000000"> 1563 (--nspsytune)</font> 1564 <li><font color="#ff0000">BUG in long block 1565 pre echo control fixed </font><font color="#000000"> 1566 (some out of range array access in M/S psychoacoustics)</font> 1567 </li> 1568 </ul> 1569 </li> 1570 <li><font color="#000000">Ralf 1571 Kempkens: Visual Basic Script for lame, 1572 suggested to put it on your Windows Desktop and you can drag'n'drop 1573 Waves to encode on it.</font> 1574 </li> 1575 <li><font color="#000000">Alexander 1576 Stumpf: improved lame.bat for 4Dos users</font> 1577 </li> 1578 <li><font color="#000000">Mark Taylor: Several 1579 bugs fixed in the resampling code.</font> 1580 </li> 1581 <li><font color="#000000">Frank Klemm, Robert 1582 Hegemann: added assembler code for CPU 1583 feature detection on runtime (MMX, 3DNow, SIMD)</font> 1584 </li> 1585 <li><font color="#3366ff">Takehiro Tominaga: 1586 3DNow FFT code.</font> 1587 </li> 1588 <li><font color="#000000">Florian Bome, 1589 Alexander Leidinger: more work on 1590 configure stuff</font> 1591 </li> 1592 <li><font color="#000000">Alexander 1593 Leidinger: automake/libtool generated Makefiles and 1594 TONS of other work.</font> 1595 </li> 1596 <li><font color="#000000">Alexander 1597 Leidinger: Much work towards shared library style 1598 API.</font> 1599 </li> 1600 <li><font color="#000000">Anonymous: New more 1601 efficient RTP code.</font> 1602 </li> 1603 <li><font color="#ff0000">Mark Taylor: 1604 psycho-acoustic data now computed for all scalefactor bands (up to 24 1605 kHz)</font> 1606 </li> 1607 <li><font color="#ff0000">Mark Taylor, Takehiro 1608 Tominaga: All ISO table data replaced by formulas - should improve 1609 MPEG2.5 results for which we never had correct table data.</font> 1610 </li> 1611 </ul> 1612 <h3> LAME 3.87alpha September 25 2000</h3> 1613 <ul> 1614 <li>Mark Taylor: Bug fixed in LAME/mpglib error 1615 recovery when encountering a corrupt MP3 frame during 1616 *decoding*. 1617 </li> 1618 <li>Albert Faber: added LayerI+II decoding support</li> 1619 <li><font color="#000000">Frank Klemm: 1620 added improved CRC calculation</font> 1621 </li> 1622 <li><font color="#000000">Frank Klemm: 1623 substantial code cleanup/improvements</font> 1624 </li> 1625 <li> 1626 Robert Hegemann: Bug fixes 1627 <ul> 1628 <li><font color="#ff0000">in huffman_init</font>, 1629 could lead to segmentation faults (only in rare cases, most likely at 1630 lower sample rates) 1631 </li> 1632 <li><font color="#ff0000">M/S switching at 1633 lower sample rates</font> (the fact there is no 2nd granule was 1634 ignored) 1635 </li> 1636 </ul> 1637 </li> 1638 <li><font color="#3366ff">Robert 1639 Hegemann: speed up in VBR</font> 1640 </li> 1641 <li>Jarmo Laakkonen: Amiga/GCC settings for 1642 Makefile.unix. 1643 </li> 1644 <li>Magnus Holmgren: README and Makefile for (free) 1645 Borland C++ compiler. Will also compile lame_enc.dll, but 1646 this is untested. 1647 </li> 1648 <li>Florian Bome: LAME finally has 1649 a ./configure script!! 1650 </li> 1651 </ul> 1652 <h3> LAME 3.86beta August 6 2000</h3> 1653 <ul> 1654 <li>Christopher Wise: A makefile for DJGPP, the DOS 1655 version of gcc. Now most windows users should be able to 1656 compile LAME with minimal effort. 1657 </li> 1658 <li><font color="#ff0000">Robert 1659 Hegemann: old VBR: fixed some bugs and 1660 Takehiro's scalefac_scale feature (not yet on by 1661 default.) older LAME versions did not allow to spent more 1662 than 2500 bits of 4095 possible bits to a granule per channel, now 1663 fixed.</font> 1664 </li> 1665 <li>Robert Hegemann: new VBR: 1666 analog silence treatment like in old VBR 1667 </li> 1668 <li>William Welch: Improved options for Linux/Alpha 1669 gcc and ccc compilers in Makefile. 1670 </li> 1671 <li>Mathew Hendry: setting appropriate CRC bit for 1672 additional Xing-VBR tagging frame 1673 </li> 1674 <li>Don Melton: added ID3 version 2 TAG support</li> 1675 <li><font color="#000000">John Dahlstrom: fixed 1676 bug allowing timing information (for status in command line encoder) to 1677 overflow.</font> 1678 </li> 1679 <li><font color="#000000">Tamito KAJIYAMA, Fixed 1680 several bugs in the LAME/Vorbis interface.</font> 1681 </li> 1682 <li><font color="#000000">Mark Taylor: 1683 lame --decode will recognize <a href="http://albumid.cjb.net">Album 1684 ID tags</a></font> 1685 </li> 1686 <li><font color="#ff0000">Naoki 1687 Shibata: Additive masking and other improvements to psycho 1688 acoustics. (not yet on by default)</font> 1689 </li> 1690 </ul> 1691 <h3> LAME 3.85beta July 3 2000</h3> 1692 <ul> 1693 <li><font color="#ff0000">Takehiro 1694 Tominaga: mid/side stereo demasking thresholds updated.</font> 1695 </li> 1696 <li>Takehiro Tominaga: New short block MDCT coefficient data 1697 structure. Should allow for future speed improvements. 1698 </li> 1699 <li>Robert Hegemann: fixed bug in old VBR routine, 1700 the --noath mode messed up the VBR routine resulting in very large files 1701 </li> 1702 <li>Robert Hegemann: found bugs in some sections when using 32 1703 bit floating point. Default is now back to 64bit floating 1704 point. 1705 </li> 1706 <li><font color="#ff0000">Takehiro 1707 Tominaga: Modified PE formula to use ATH.</font> 1708 </li> 1709 <li><font color="#000000">S.T.L.: 1710 README.DJGPP - instructions for compiling LAME with DJGPP, the dos 1711 version of gcc.</font> 1712 </li> 1713 </ul> 1714 <h3> LAME 3.84beta June 30 2000</h3> 1715 <ul> 1716 <li>Mark Weinstein: .wav file output (with --decode 1717 option) was writing the wrong filesize in the .wav file. Now 1718 fixed. 1719 </li> 1720 <li>Mark Taylor: (optional) Vorbis support, both 1721 encoding and decoding. LAME can now produce .ogg files, or 1722 even re-encode your entire .ogg collection into 1723 mp3. (Just kidding: it is always a bad idea to 1724 convert from one lossy format to another) 1725 </li> 1726 <li>?: Bug fixed causing VBR to crash under 1727 windows. (pretab[] array overflow) 1728 </li> 1729 <li>Sergey Sapelin: Another bug found in the mpg123 MPEG2 1730 tables. Now fixed for the mpg123 based decoder in LAME. 1731 </li> 1732 <li>Marco Remondini: VBR histogram works in 1733 win32. compile with -DBRHIST -DNOTERMCAP 1734 </li> 1735 <li><font color="#ff0000">Takehiro 1736 Tominaga: LAME CBR will now use scalefac_scale to expand the 1737 dynamic range of the scalefactors.</font> 1738 </li> 1739 <li><font color="#000000">Iwasa Kazmi: 1740 Library improvements: exit()'s, printf, fprintf's are being 1741 replaced by interceptable macros.</font> 1742 </li> 1743 </ul> 1744 <h3> LAME 3.83beta May 19 2000</h3> 1745 <ul> 1746 <li><font color="#ff0000">Mark Taylor: 1747 Bug in buffering routines: in some cases, could cause 1748 MDCT to read past end of buffer. Rare in MPEG2, 1749 even more rare for MPEG1, but potentially serious!</font> 1750 </li> 1751 <li>Mark Taylor: MDCT/polyphase filterbank was not 1752 being "primed" properly. Does not effect output unless you 1753 set the encoder delay lower than the default of 576 samples. 1754 </li> 1755 <li><font color="#ff0000">Mark Taylor: 1756 "vdbj" and "Caster" found several VBR bugs (now 1757 fixed): 1. Analog silence detection only 1758 checked frequencies up to 16 kHz. 2. VBR mode could 1759 still somehow avoid -F mode. 3. VBR mode would 1760 ignore noise above 16 kHz (scalefactor band 22), Now calc_noise1 will 1761 compute the noise in this band when in VBR mode. Not 1762 calculated in CBR mode since CBR algorithm has no way of 1763 using this information.</font> 1764 </li> 1765 <li>Mark Taylor: scalefactor band 22 info 1766 (masking(=ATH), noise and energy) now displayed in frame 1767 analyzer. 1768 </li> 1769 <li><font color="#ff0000">VBR code ATH tuning 1770 was disabled by accident in 3.81, now fixed.</font> 1771 </li> 1772 <li><font color="#000000">Mark Taylor: 1773 lame --decode will produce .wav files. (oops - size is off by 1774 a factor of 4)</font> 1775 </li> 1776 </ul> 1777 <h3> LAME 3.82beta May 11 2000</h3> 1778 <ul> 1779 <li>Robert Hegemann: Fixed bug in high bitrate joint 1780 stereo encodings. 1781 </li> 1782 <li><font color="#3366ff">Naoki 1783 Shibata: new long block MDCT routine</font> 1784 </li> 1785 </ul> 1786 <h3> LAME 3.81beta May 8 2000</h3> 1787 <ul> 1788 <li>all ISO code removed!</li> 1789 <li><font color="#3366ff">Takehiro Tominaga and 1790 Naoki Shibata: new window subband routines.</font> 1791 </li> 1792 <li><font color="#000000">Naoki 1793 Shibata: Bug fix in mpglib (decoding) lib: in some 1794 cases, MDCT coefficients from previous granule was incorrectly used for 1795 the next granule.</font> 1796 </li> 1797 <li><font color="#ff0000">ISO 7680 bit buffer 1798 limitation removed. It can be reactivated with 1799 "--strictly-enforce-ISO" Please report any trouble with high 1800 bitrates.</font> 1801 </li> 1802 </ul> 1803 <h3> LAME 3.80beta May 6 2000</h3> 1804 <ul> 1805 <li><font color="#ff0000">Takehiro 1806 Tominaga: more efficient and faster huffman encoding!</font> 1807 </li> 1808 <li><font color="#ff0000">Takehiro Tominaga and 1809 Mark Taylor: much improved short block compression!</font> 1810 </li> 1811 <li><font color="#000000">Tomasz Motylewski and 1812 Mark Taylor: MPEG2.5 now supported!</font> 1813 </li> 1814 <li><font color="#000000">Mark Taylor: 1815 incorporated Takehiro's bitstream.c! bitstream.c used by 1816 default, but old ISO bitstream code can also be used.</font> 1817 </li> 1818 <li><font color="#ff0000">Scott Manley 1819 and Mark Taylor: good resampling routine finaly in 1820 LAME. uses a 19 point FIR filter with Blackman 1821 window. Very slow for non integer resampling ratios.</font> 1822 </li> 1823 <li><font color="#000000">Iwasa Kazmi: 1824 fixed SIGBUS error: VBR and id3 tags were using data after it 1825 was free()'d.</font> 1826 </li> 1827 <li><font color="#ff0000">Robert 1828 Hegemann: Improved VBR tuning. #define 1829 RH_QUALITY_CONTROL and #RH_SIDE_VBR now the defaults.</font> 1830 </li> 1831 <li><font color="#000000">Robert 1832 Hegemann: LAME version string now added to 1833 ancillary data.</font> 1834 </li> 1835 <li>Kimmo Mustonen: VBR histogram support for Amiga.</li> 1836 <li>Casper Gripenberg: VBR stats (but not histogram) 1837 for DOS verson. 1838 </li> 1839 <li>Robert Hegemann: rare VBR overflow bug fixed.</li> 1840 <li>Zack: -F option strictly enforces the VBR min 1841 bitrate. Without -F, LAME will ignore the minimum bitrate 1842 when encoding analog silence. 1843 </li> 1844 <li>Shawn Riley: User can now specify a compression 1845 ratio (--comp <arg>) instead of a bit rate. 1846 Default settings based on a compression ratio of 11.0 1847 </li> 1848 <li>Mark Taylor: free format bitstreams can be 1849 created with --freeformat, and specify any integer bitrate from 8 to 1850 320kbs with -b. 1851 </li> 1852 <li>Mark Taylor: lame be used as a decoder (output raw pcm 1853 only): lame --decode input.mp3 output.pcm 1854 </li> 1855 </ul> 1856 <h3> LAME 3.70 April 6 2000</h3> 1857 <ul> 1858 <li>"LAME 3.69beta" becomes LAME 3.70 "stable"</li> 1859 </ul> 1860 <h3> LAME 3.69beta April 6 2000</h3> 1861 <ul> 1862 <li>"spahm": default mode selection bug 1863 fixed. In some cases, lame was defaulting to regular stereo 1864 instead of jstereo when the user did not specify a mode. 1865 </li> 1866 </ul> 1867 <h3> LAME 3.68beta April 4 2000</h3> 1868 <ul> 1869 <li>Mark Taylor: mono encoding bug in DLL fixed.</li> 1870 <li>Ingo Saitz: bug in --cwlimit argument parsing fixed.</li> 1871 <li><font color="#ff0000">Scott Manly: bug in 1872 4-point resample code fixed.</font> 1873 </li> 1874 </ul> 1875 <h3> LAME 3.67beta March 27 2000</h3> 1876 <ul> 1877 <li><font color="#ff0000">Robert 1878 Hegemann: jstereo now enabled for MPEG2 encodings</font> 1879 </li> 1880 <li>Mark Taylor: old M/S stereo mode which used L/R maskings 1881 has been removed. 1882 </li> 1883 <li>Mark Taylor: Xing MPEG2 VBR headers now working.</li> 1884 <li><font color="#ff0000">Mark Taylor: 1885 When quantized coefficients are all 0 in a band, set scalefactors to 0 1886 also to save a few bits.</font> 1887 </li> 1888 <li><font color="#000000">Ingo Saitz: 1889 Problems with framesize calculation when using -f fast-math option 1890 fixed.</font> 1891 </li> 1892 </ul> 1893 <h3> LAME 3.66beta March 21 2000</h3> 1894 <ul> 1895 <li>Bug fixes in BladeEnc DLL, possible click in last mp3 1896 frame, VBR historgram display, byteswapping option, ASM quantize 1897 routines work for both float and double. 1898 </li> 1899 </ul> 1900 <h3> LAME 3.65beta March 17 2000</h3> 1901 <ul> 1902 <li>Enabled ASM version of quantize_xrpow() - accidently 1903 disabled in lame3.64. 1904 </li> 1905 </ul> 1906 <h3> LAME 3.64beta March 16 2000</h3> 1907 <ul> 1908 <li>Don Melton: id3v1.1 tags & id3 bugfixes</li> 1909 <li><font color="#ff0000">Gabriel 1910 Bouvigne: L/R matching block type fix</font> 1911 </li> 1912 <li><font color="#ff0000">Bug fixed which was 1913 allowing quantized values to exceed the maximum when not using -h</font> 1914 </li> 1915 <li><font color="#3366ff">Mark Taylor: Fitlers 1916 based on polyphase filterbank. should be slightly better 1917 since the responce is independent of the blocktype, and they are 1918 slightly faster.</font> 1919 </li> 1920 <li>Mark Taylor: API: the API changed slightly - and 1921 this should be the final version. There is a new routine: 1922 lame_encode_buffer() which takes an arbritray sized input buffer, 1923 resamples & filters if necessary, encodes, and returns the 1924 mp3buffer. There are also several new #defines, so it is 1925 possible to compile a simple encoding library with no decoding or file 1926 I/O or command line parsing. see the file API for details. 1927 </li> 1928 <li>Mark Taylor: MSVC stuff: lame.exe (with and 1929 without the frame analyzer) and the CDex lame_enc.dll 1930 should compile under MSVC. The MSVC5 project files may need 1931 some tweaking. In particular, 1932 you need to make sure LAMEPARSE, LAMESNDFILE and HAVEMPGLIB 1933 are defined. (and HAVEGTK for the GTK stuff). 1934 </li> 1935 </ul> 1936 <h3>LAME 3.63beta February 20 2000</h3> 1937 <ul> 1938 <li>Robert Hegemann: FPE with -h fixed?</li> 1939 <li>Mathey Hendry: FPE error catching for Cygwin, 1940 FPE fix for vbr mode and output to /dev/null 1941 </li> 1942 <li>Jeremy Hall: Fixed problems with input files 1943 where the number of samples is not known. 1944 </li> 1945 <li><font color="#3366ff">Mathew 1946 Hendry: ASM quantize_xrpow() for GNU i386</font> 1947 </li> 1948 <li><font color="#3366ff">Wilfried 1949 Behne quantize_xrpow ()for PowerPC and non-ASM</font> 1950 </li> 1951 <li><font color="#3366ff">Takehiro 1952 Tominaga: GOGO FFTs (not yet used?)</font> 1953 </li> 1954 </ul> 1955 <h3>LAME 3.62beta February 9 2000</h3> 1956 <ul> 1957 <li><font color="#000000">Iwasa Kazmi: 1958 frame analyzer short block display of single subblocks (press 1959 1,2 or 3)</font> 1960 </li> 1961 <li><font color="#000000">Ingo Saitz: 1962 --help option added, with output to stdout</font> 1963 </li> 1964 <li><font color="#ff0000">Alfred Weyers: short 1965 block AAC spreading function bug fixed</font> 1966 </li> 1967 <li><font color="#3366ff">Takehiro 1968 Tominaga: new scalefac data structure - improves performance!</font> 1969 </li> 1970 <li><font color="#ff0000">Lionel 1971 Bonnet: Bug fixed in MPEG2 scalefactor routine: scalefactors 1972 were being severly limited.</font> 1973 </li> 1974 <li><font color="#3366ff">Takehiro 1975 Tominaga: faster FFT routines from. These routines 1976 are also compatible with the GOGO routines, in case someone is 1977 interested in porting them back to LAME.</font> 1978 </li> 1979 <li><font color="#3366ff">Sigbjørn 1980 Skjæret, Takehiro Tominaga: faster pow() code.</font> 1981 </li> 1982 <li><font color="#ff0000">Joachim 1983 Kuebart: Found some unitialized variables that were effecting 1984 quality for encodings which did not use the -h option (now fixed).</font> 1985 </li> 1986 <li>Mark Taylor: More modularization work. 1987 It is now possible to use LAME as a library where you can set the 1988 encoding parameters directly and do your own file 1989 i/o. The calling program is now it's own mp3 1990 output. For an example of the LAME API, see main.c, or 1991 mp3rtp.c or mp3x.c. These can all be compiled as stand alone 1992 programs which link with libmp3lame.a. 1993 </li> 1994 <li>Felix vos Leitner: mp3rtp fixes. 1995 mp3rtp is a standalone program which will encode and stream with RTP. 1996 </li> 1997 <li>Robert Hegemann: Information written to stderr 1998 displaying exactly which type of lowpass filter (if any) is being used. 1999 </li> 2000 <li>Iwasa Kazmi: mpglib (the mpg123 decoder) scsfi 2001 decoding fixes. 2002 </li> 2003 <li>Takehiro Tominaga: More mpglib scsfi decoding 2004 fixes. 2005 </li> 2006 </ul> 2007 <h3>LAME 3.61beta January 14 2000</h3> 2008 <ul> 2009 <li><font color="#ff0000">Mark Taylor: Fixed bug 2010 with lowpass filters when using VBR with a 64kbs or lower min bitrate 2011 setting.</font> 2012 </li> 2013 <li><font color="#ff0000">Takehiro 2014 Tominaga: more efficient huffman encoding splitting.</font> 2015 </li> 2016 </ul> 2017 <h3> LAME 3.60beta January 9 2000</h3> 2018 <ul> 2019 <li>Mark Taylor: Distribution now comes with self 2020 test. Needs work to be automated, see 'make test' in Makefile. 2021 </li> 2022 <li><font color="#ff0000">Mark Taylor: AAC 2023 spreading function now the default</font> 2024 </li> 2025 <li>Gabriel Bouvigne: updated HTML docs</li> 2026 <li>Felix von Leitner: compute correct file length from Xing 2027 header (if present) when input file is a mp3 file 2028 </li> 2029 <li>Felix von Leitner: mp3rtp (standalone) program now 2030 included. Not yet tested. mp3rtp 2031 ip:port:ttl <infile> 2032 /dev/null will stream directly to ip:port using RTP. 2033 </li> 2034 </ul> 2035 <h3>LAME 3.59beta January 4 2000</h3> 2036 <ul> 2037 <li>Takehiro Tominaga: --noath option. 2038 Disables ATH maskings. 2039 </li> 2040 <li>Gabriel Bouvigne: updated HTML docs.</li> 2041 <li>Iwasa Kazmi: makefile fixes</li> 2042 <li>Mark Taylor: Fixed bug where first frame of data 2043 was always overwritten with 0's. Thanks to 'gol' 2044 </li> 2045 <li><font color="#ff0000">Mark Taylor: 2046 bug fixes in mid/side masking ratios (thanks to Menno Bakker)</font> 2047 </li> 2048 <li>Mark Taylor: replaced norm_l, norm_s table data 2049 with formulas. 2050 </li> 2051 </ul> 2052 <h3>LAME 3.58beta December 13 1999</h3> 2053 <ul> 2054 <li><font color="#ff0000">Segher 2055 Boessenkool: More accurate quantization procedure! 2056 Enabled with -h.</font> 2057 </li> 2058 <li><font color="#3366ff">Mathew Hendry, Acy 2059 Stapp and Takehiro Tominaga: ASM optimizations for quantize_xrpow and 2060 quantize_xrpow_ISO.</font> 2061 </li> 2062 <li>Chuck Zenkus: "encoder inside" logo on web page</li> 2063 <li>Mark Taylor: a couple people have 2064 asked for this. Allow LAME to overide 2065 VBR_min_bitrate if analog_silence detected. 2066 Analog_silence defined a la Robert: 2067 energy < ATH. 2068 </li> 2069 <li>An Van Lam: Valid bitrates were being printed for layer 2, 2070 not layer 3! 2071 </li> 2072 <li>Ethan Yeo: Makefile.MSVC updated</li> 2073 <li>Mark Stephens: updated all MSVC project files</li> 2074 <li>Robert Hegemann: lowpass and highpass filters 2075 can be enabled with --lowpass, --highpass 2076 </li> 2077 <li><font color="#ff0000">Mark Taylor: 2078 MS switching is now smoother: ms_ratio average over 4 granules</font> 2079 </li> 2080 <li><font color="#ff0000">Takehiro 2081 Tominaga: Scalefactor pre-emphasis fixed (and now turned back 2082 on)</font> 2083 </li> 2084 <li><font color="#ff0000">Takehiro 2085 Tominaga: Bug in M/S maskings: switch to turn on 2086 stereo demasking code was buggy.</font> 2087 </li> 2088 </ul> 2089 <h3>LAME 3.57beta November 22 1999</h3> 2090 <ul> 2091 <li>Sigbjørn Skjæret, patch to allow 2092 encoding from 8bit input files when using LIBSNDFILE 2093 </li> 2094 <li>Mark Taylor: Automatic downsampling to nearest valid 2095 samplerate. 2096 </li> 2097 <li>Mark Taylor: Scalefactor bands demarked on MDCT plot in 2098 frameanalyzer 2099 </li> 2100 <li>Mark Taylor: Scalefactor preemphasis disabled for 2101 now. The algorithm was often doing more harm than 2102 good. 2103 </li> 2104 </ul> 2105 <h3>LAME 3.56beta November 19 1999</h3> 2106 <ul> 2107 <li>Kimmo Mustonen: portabilty code cleanup.</li> 2108 <li>Vladimir Marek: id3 genre patch.</li> 2109 <li>Conrad Sanderson: new applypatch script.</li> 2110 <li>Mark Taylor: Initial window type now "STOP_TYPE" to reduce 2111 initial attenuation. This is needed because the new encoder 2112 delay is so short. With a NORM_TYPE, the first 240 samples 2113 would be attenuated. 2114 </li> 2115 <li>Mark Taylor: Padding at end of file now adjusted 2116 (hopefully!) to produce as little padding as possible while still 2117 guarantee all input samples are encoded. 2118 </li> 2119 <li><font color="#ff0000">Takehiro 2120 Tominaga: Reduced shortblock extra bit allocation formulas by 2121 10% since new huffman coding is at least 10% more efficient.</font> 2122 </li> 2123 </ul> 2124 <h3>LAME 3.55beta November 11 1999</h3> 2125 <ul> 2126 <li>Albert Faber: updated BladeEnc.dll</li> 2127 <li> 2128 Mark Taylor: Simple lowpass filter added to linear 2129 downsampling routine. 2130 </li> 2131 <li>Nils Faerber: updated man page.</li> 2132 <li> 2133 Mark Taylor: All floating point variables are delcared 2134 FLOAT or FLOAT8. Change the definition of FLOAT8 in 2135 machine.h to run at 32bit preceision. 2136 </li> 2137 <li> 2138 Mark Taylor: Bug (introduced in 3.54beta) in 2139 stereo->mono downsampling fixed. 2140 </li> 2141 </ul> 2142 <h3>LAME 3.54beta November 8 1999</h3> 2143 <ul> 2144 <li> 2145 Mark Taylor: Encoder delay is now 48 samples. Can be adjusted to 2146 1160 to sync with FhG (see ENCDELAY in encoder.h) This is kind 2147 of amazing, since if Takehiro put his MDCT/filterbank routine in 2148 a decoder, we could have a total delay of only 96 samples. 2149 </li> 2150 <li> 2151 <font color="#ff0000">Mark Taylor: More inconstancies found and 2152 fixed in MPEG2 tables.</font> 2153 </li> 2154 <li> 2155 Mark Taylor: Resampling from an MP3 input file now works. But we 2156 still dont have a lowpass filter so dont expect good results. 2157 </li> 2158 </ul> 2159 <h3>LAME 3.53beta November 8 1999</h3> 2160 <ul> 2161 <li> 2162 <font color="#3366ff">Takehiro Tominaga: Fixed MPEG2 problem in 2163 new MDCT routines. Takehiro's combined filterbank/MDCT routine is 2164 now the default. Removes all buffering from psymodel.c and the 2165 filterbanks/MDCT routines.</font> 2166 </li> 2167 </ul> 2168 <h3>LAME 3.52beta November 8 1999</h3> 2169 <ul> 2170 <li> 2171 By permission of copyright holders of all GPL code in 2172 LAME, all GPL code is now released under a modified version 2173 of the LGPL (see the README file) 2174 </li> 2175 <li> 2176 By popular demand, all C++ comments changed to C style 2177 comments 2178 </li> 2179 <li> 2180 Mark Taylor: Linear resampling now works. Use 2181 --resample to set an output samplerate different from the input 2182 samplerate. (doesn't seem to work with mp3 input files, and 2183 there is no lowpass filter, so dont expect good results just yet) 2184 </li> 2185 <li> 2186 <font color="#3366ff">Takehiro Tominaga: Faster Huffman encoding 2187 routines</font> 2188 </li> 2189 </ul> 2190 <font color="#3366ff">The following changes are disabled 2191 because of MPEG2 problems. But to try them, set MDCTDELAY=48 2192 in encoder.h, instead of MDCTDELAY=528.:</font> 2193 <ul> 2194 <li> 2195 <font color="#3366ff">Takehiro Tominaga: New MDCT routines with 2196 shorter delay (48 samples instead of 528) and even faster than 2197 the old routines.</font> 2198 </li> 2199 <li> 2200 <font color="#3366ff">Takehiro Tominaga: Removed extra buffering 2201 in psymodel.c</font> 2202 </li> 2203 </ul> 2204 <h3>LAME 3.51 November 7 1999</h3> 2205 <ul> 2206 <li> 2207 Takehiro Tominaga: Bug in quantize.c absolute threshold of 2208 hearing calculation for non-44.1 kHz input files. 2209 </li> 2210 </ul> 2211 <h3>LAME 3.50 November 1 1999</h3> 2212 <ul> 2213 <li>LAME 3.37beta becomes official LAME 3.50 release</li> 2214 </ul> 2215 <h3>LAME 3.37beta November 1 1999</h3> 2216 <ul> 2217 <li> 2218 <font color="#ff0000">Lionel Bonnet: Found severe bug in MPEG2 2219 Short block SNR.</font> 2220 </li> 2221 <li>Sergey Sapelin: VBR Toc improvement.</li> 2222 <li>Sergey Dubov: fskip() routine</li> 2223 <li> 2224 Conrad Sanderson: replacement for filterbank.c. Not much faster 2225 but amazingly simpler. 2226 </li> 2227 </ul> 2228 <h3>LAME 3.36beta October 25 1999</h3> 2229 <ul> 2230 <li>Albert Faber: more MSVC and BladeDLL updates</li> 2231 <li>Kimmo Mustonen: Much code cleanup and Amiga updates</li> 2232 <li>Anton Oleynikov: Borland C updates</li> 2233 <li> 2234 Mark Taylor: More stdin fixes: For some reason, forward 2235 fseek()'s would fail when used on pipes even though it is okay 2236 with redirection from "<". So I changed all the forward 2237 fseek()'s to use fread(). This should improve stdin support for 2238 wav/aiff files. If you know the input file is raw pcm, you can 2239 still use the '-r' option to avoid *all* seeking of any kind. 2240 </li> 2241 </ul> 2242 <h3>LAME 3.35beta October 21 1999</h3> 2243 <ul> 2244 <li> 2245 <font color="#ff0000">Leonid Kulakov: Serious bug in MPEG2 2246 scalefactor band tables fixed.</font> 2247 </li> 2248 <li> 2249 Portability patches from: Anton Oleynikov, Sigbjørn 2250 Skjæret, Mathew Hendry, Richard Gorton 2251 </li> 2252 <li>Alfred Weyers: compiler options, updated timestatus.</li> 2253 <li>Albert Faber: BladeDll and other updates (new machine.h).</li> 2254 <li>Monty: updated Makefile to fix gcc inline math bug.</li> 2255 </ul> 2256 <h3>LAME 3.34beta October 12 1999</h3> 2257 <ul> 2258 <li> 2259 <font color="#ff0000">Mark Taylor: Bug fixed: minimum bitrate in 2260 VBR mode could be ignored for a few frames.</font> 2261 </li> 2262 <li><font color="#ff0000">Mark Taylor: New (minor) VBR tunings.</font></li> 2263 <li> 2264 Tim Ruddick: New wav/aiff header parsing routines. Better parsing 2265 and fewer fseek()'s. 2266 </li> 2267 <li>Anton Oleynikov: patches to work with Borland C</li> 2268 <li> 2269 <font color="#ff0000">Gabriel Bouvigne: Experimental voice option 2270 enabled with --voice</font> 2271 </li> 2272 </ul> 2273 <h3>LAME 3.33beta October 11 1999</h3> 2274 <ul> 2275 <li> 2276 <font color="#ff0000">Robert Hegemann: RH VBR mode now the 2277 default and only VBR mode. The new code will always quantize to 2278 0 distortion and the quality is increased by reducing the 2279 masking from the psy-model. -X0 is still the default for now.</font> 2280 </li> 2281 <li><font color="#ff0000">Robert Hegemann: new -X5 mode</font></li> 2282 <li>Mathew Hendry: New timing code, removes the need for HAVETIMES</li> 2283 <li> 2284 <font color="#3366ff">Mathew 2285 Hendry: assembler quantize_xrpow for Windows</font> 2286 </li> 2287 <li>Iwasa Kazmi: stdin/stdout patch for Windows</li> 2288 <li> 2289 Mark Taylor: New option: "--athonly" will ignore the psy-model 2290 output and use only the absolute threshold of hearing for the 2291 masking. 2292 </li> 2293 </ul> 2294 <h3>LAME 3.32beta October 8 1999</h3> 2295 <ul> 2296 <li> 2297 <font color="#3366ff">Takehiro Tominaga: faster long block 2298 spreading function convolution for non 44.1 kHz sampling 2299 frequencies, and faster short block spreading function 2300 convolution for all sampling frequencies.</font> 2301 </li> 2302 <li> 2303 <font color="#ff0000">Takehiro Tominaga: Completly rewritten 2304 huffman table selection and count_bits(). More efficient table 2305 selection results in many more bits per frame.</font> 2306 </li> 2307 <li> 2308 <font color="#ff0000">Takehiro Tominaga: More efficient scalefac 2309 compress setting.</font> 2310 </li> 2311 <li><font color="#3366ff">Mike Cheng: new calc_noise2()</font></li> 2312 <li>Alfred Weyers: patch for timestatus() seconds rollover</li> 2313 </ul> 2314 <h3>LAME 3.31beta September 28 1999</h3> 2315 <ul> 2316 <li> 2317 Albert Faber: updated his BladeDLL code. This allows LAME to be 2318 compiled into a BladeEnc compatiable .dll. 2319 </li> 2320 <li> 2321 <font color="#3366ff">Mike Cheng: faster l3psycho_ener() 2322 routine.</font> 2323 </li> 2324 <li>Sigbjørn Skjæret: more code cleanup.</li> 2325 </ul> 2326 <h3>LAME 3.30beta September 27 1999</h3> 2327 <ul> 2328 <li> 2329 Conrad Sanderson: ID3 tag code added (type 'lame' for 2330 instructions) 2331 </li> 2332 <li>new mdct.c from Mike Cheng (no faster, but much cleaner code)</li> 2333 <li> 2334 Mathew Hendry: Microsoft nmake makefile and a couple other 2335 changes for MSVC 2336 </li> 2337 <li> 2338 More modulization work: One input sound file interface handles 2339 mp3's, uncompressed audio, with or without LIBSNDFILE. Fixes 2340 (hopefully) a bunch of file I/O bugs introduced in 3.29 (Mark Taylor) 2341 </li> 2342 <li> 2343 LAME will now print valid samplerate/bitrate combinations 2344 (Mark Taylor) 2345 </li> 2346 <li>stdin/stdout fix for OS/2 (Paul Hartman)</li> 2347 <li> 2348 For mp3 input files, total frames estimated based on 2349 filesize and first frame bitrate. (Mark Taylor) 2350 </li> 2351 <li> 2352 Updated all functions with new style prototypes. 2353 (Sigbjørn Skjæret) 2354 </li> 2355 </ul> 2356 <h3>LAME 3.29beta September 21 1999</h3> 2357 <ul> 2358 <li> 2359 <font color="#ff0000">Bug in bigv_bitcount fixed. Loop.c was 2360 overestimating the number of bits needed, resulting in wasted 2361 bits every frame. (Leonid A. Kulakov)</font> 2362 </li> 2363 <li> 2364 <font color="#ff0000">Bug in *_choose_table() fixed These 2365 routines would not sellect the optimal Huffman table in some 2366 cases. (Leonid A. Kulakov)</font> 2367 </li> 2368 <li><font color="#ff0000">Tuning of ATH normalization (macik)</font></li> 2369 <li> 2370 Removed unused variables and fixed function prototypes 2371 (Sigbjørn Skjæret) 2372 </li> 2373 <li> 2374 Sami Farin sent a .wav file that LAME built in support choked 2375 on. I added a slightly more sophisticated wav header parsing to 2376 handle this, but if you have trouble, use libsndfile. 2377 </li> 2378 <li> 2379 Resampling hooks and options added. Buffering 2380 and resampling routines need to be written. 2381 </li> 2382 <li> 2383 LAME will now take an mp3 file as input. When resampling code 2384 is working, LAME will be able to (for example) convert a high 2385 bitrate stereo mp3 to a low bitrate mono mp3 for streaming. 2386 </li> 2387 </ul> 2388 <h3>LAME 3.28beta September 15 1999</h3> 2389 <ul> 2390 <li> 2391 <font color="#ff0000">Serious bug fixed in 2392 high frequency MDCT coefficients. Huffman coding was 2393 reversing the order of the count1 block quadruples. 2394 (Leonid A. Kulakov)</font> 2395 </li> 2396 <li> 2397 nint() problems under Tru64 unix fixed and preprocessor 2398 variable HAVE_NINT removed. (Bob Bell) 2399 </li> 2400 <li> 2401 Compiler warning fixes and code cleanup (Sigbjørn 2402 Skjæret, Lionel Bonnet) 2403 </li> 2404 <li> 2405 USAGE file now includes suggestions for 2406 downsampling. For low bitrate encodings, proper downsampling 2407 can give dramatically better results. (John Hayward-Warburton) 2408 </li> 2409 </ul> 2410 <h3>LAME 3.27beta September 12 1999</h3> 2411 <ul> 2412 <li> 2413 Several bugs in encode.c and l3bitstream.c fixed by Lionel 2414 Bonnet. 2415 </li> 2416 <li> 2417 Bugs in new VBR (#define RH) formula for mono input file 2418 and mid/side encoding fixed. 2419 </li> 2420 </ul> 2421 <h3>LAME 3.26beta September 10 1999</h3> 2422 <ul> 2423 <li> 2424 The "-m m" option (mono .mp3 file) will automatically mix 2425 left and right channels if the input file is stereo. (Alfred 2426 Weyers) 2427 </li> 2428 <li> 2429 <font color="#ff0000">New quant_compare algorithm (method for 2430 deciding which of two quantizations is better) enabled with -X4 2431 (Greg Maxwell)</font> 2432 </li> 2433 <li> 2434 <font color="#ff0000">New mid/side VBR bit allocation formula. 2435 Mid channel bits are set by the quality requirements, and then 2436 the side channel uses a reduced number of bits (in a proportion 2437 coming from the fixed bitrate code). This might not be optimal, 2438 but it should be pretty good and no one knows what the optimal 2439 solution should be. (Greg Maxwell)</font> 2440 </li> 2441 <li> 2442 <font color="#ff0000">New VBR (#define RH) tunings based on 2443 detailed listening tests by Macik and Greg Maxwell.</font> 2444 </li> 2445 <li> 2446 Sigbjørn Skjæret fixed several 2447 compiler warnings (which turned out to be potential bugs) 2448 </li> 2449 <li>Takehiro Tominaga fixed a low bitrate bug in reduce_side()</li> 2450 <li>Alfred Weyers fixed some buffer overflows.</li> 2451 <li> 2452 <font color="#ff0000">New ATH (absolute threshold of hearing) 2453 formula replaces buggy ISO code, and adds analog silence 2454 treatment (removal of coefficients below below ATH). These are 2455 turned on by default but have not been fully tested. (Robert 2456 Hegemann)</font> 2457 </li> 2458 <li> 2459 <font color="#ff0000">Bug in short block 2460 spreading function fixed. (Robert Hegemann)</font> 2461 </li> 2462 </ul> 2463 <h3>LAME 3.25beta August 22 1999</h3> 2464 <ul> 2465 <li> 2466 Sigbjørn Skjæret fixed a zero byte malloc call. 2467 This bug was introduced in 3.24 and causes problems on non 2468 Linux systems. 2469 </li> 2470 <li> 2471 Bit allocation routines would sometimes allocate more than 2472 4095 bits to one channel of one granule. A couple of people 2473 reported problems that might be caused by this, especially at 2474 higher bitrates. 2475 </li> 2476 <li> 2477 Nils Faerber updated the man page and fixed many of the 2478 compiler warnings. 2479 </li> 2480 </ul> 2481 <h3>LAME 3.24beta August 15 1999</h3> 2482 <ul> 2483 <li> 2484 This release contains the following new code (for 2485 developers) which is disabled by default: 2486 </li> 2487 <li> 2488 Hegemann: Completely overhauled VBR code. Now computes exact 2489 number of bits required for the given qualty and then quantized 2490 with the appropriate bitrate. 2491 </li> 2492 <li>Several new quantization quality measures.</li> 2493 </ul> 2494 <h3>LAME 3.23beta August 8 1999</h3> 2495 <ul> 2496 <li> 2497 Very nice continuously updated VBR histogram display from 2498 Iwasa Kazmi. (disabled with --nohist). 2499 </li> 2500 <li> 2501 More modulerization work. The encoding engine can now be 2502 compiled into libmp3lame, but the interface is awkward. 2503 </li> 2504 <li> 2505 <font color="#ff0000">Bug fixed in FFT Hann window formula 2506 (Leonid A. Kulakov).</font> 2507 </li> 2508 <li> 2509 New LAME logo on the download page. Created by Chris Michalisles. 2510 </li> 2511 <li> 2512 <font color="#ff0000">Several VBR algorithm 2513 improvements from Robert Hegemann. New quantization noise 2514 metrics and VBR quality measure takes into account mid/side 2515 encoding. Should produce smaller files with the same quality, 2516 especially when using jstereo.</font> 2517 </li> 2518 </ul> 2519 <h3>LAME 3.22beta July 27 1999</h3> 2520 <ul> 2521 <li> 2522 Downsampling (stereo to mono) bug with MPEG2 fixed. (Mike 2523 Oliphant) 2524 </li> 2525 <li> 2526 Downsampling now merges L & R channels - before it 2527 only took the L channel. 2528 </li> 2529 <li> 2530 More modularization and code cleanup from Albert Faber and 2531 myself. 2532 </li> 2533 <li> 2534 Input filesize limit removed for raw pcm input 2535 files. For other file types, LAME will still only read the 2536 first 2^32 samples, (27 hours of playing time at 44.1 kHz). 2537 </li> 2538 </ul> 2539 <h3>LAME 3.21beta July 26 1999</h3> 2540 <ul> 2541 <li> 2542 <font color="#ff0000">Correct Mid/Side masking thresholds for 2543 JSTEREO mode! This is enabled with-h. It makes LAME about 20% 2544 slower since it computes psycho-acoustics for L,R Mid and Side 2545 channels.</font> 2546 </li> 2547 <li> 2548 <font color="#ff0000">"Analog silence" 2549 threshold added. Keeps VBR from upping the bitrate during 2550 very quite passages. (Robert.Hegemann)</font> 2551 </li> 2552 <li> 2553 <font color="#ff0000">New VBR quality setting from Robert 2554 Hegemann. It is based on the idea that distortion at lower bit 2555 rates sounds worse than at higher bitrates, and so the allowed 2556 distortion (VBR quality setting) is proportional to the bitrate. 2557 Because of this, default minimum bitrate is now 32kbs.</font> 2558 </li> 2559 <li> 2560 <font color="#ff0000">Expermental subblock gain code enabled 2561 with -Z.</font> 2562 </li> 2563 <li> 2564 New "-r" option for raw pcm input files. With -r, LAME will not 2565 do any fseek()'s or look for wav and aiff headers on 2566 the input file. 2567 </li> 2568 <li> 2569 Bug fixes in mp3x (frame analyzer) for viewing frames near 2570 end of the file. 2571 </li> 2572 <li> 2573 Bug fixed to allow setting the sampling rate of raw pcm 2574 input files. 2575 </li> 2576 </ul> 2577 <h3>LAME 3.20beta July 19 1999</h3> 2578 <ul> 2579 <li> 2580 Bug in get_audio.c fixed. Libsndfile wrappers would not compile 2581 (Miguel Revilla Rodriguez) 2582 </li> 2583 <li> 2584 Nils Faerber found some unitialized variables and some 2585 wierd extranous computations in filter_subband, now fixed. 2586 This was causing seg faults on some machines. 2587 </li> 2588 </ul> 2589 <h3> LAME 3.19beta July 18 1999</h3> 2590 <ul> 2591 <li> 2592 <font color="#ff0000">Oops! Robert Hegemann immediatly found a 2593 bug in the new (old -Z option) quantization code. calc_noise1 2594 was not returning tot_noise, so non ms-stereo frames were 2595 buggy.</font> 2596 </li> 2597 </ul> 2598 <h3>LAME 3.18beta July 17 1999</h3> 2599 <ul> 2600 <li> 2601 <font color="#ff0000">Many psycho-acoustic bug fixes. Dan 2602 Nelson discovered a bug in MPEG2: For short blocks, the code 2603 assumes 42 partition bands. MPEG1 sometimes has less, MPEG2 2604 can have more. In MPEG1, this bug would not have effected the 2605 output if your compiler initializes static variables to 0 on 2606 creation. In MPEG2 it leads to array out-of-bounds access 2607 errors. Finally, there was a related bug in MPEG1/MPEG2, short 2608 & long blocks where the energy above 16 kHz was all added to 2609 partition band 0. (the lowest frequeny partition band!)</font> 2610 </li> 2611 <li> 2612 <font color="#ff0000">The -Z option (Gabriel Bouvigne's idea of 2613 using total quantization noise to choose between two 2614 quantizations with the same value of "over") is now the default. 2615 I believe this helps remove the trilling sound in Jan's 2616 testsignal4.wav. The quality of testsignal2.wav and 2617 testsignal4.wav are now better than Xing and getting closer to FhG.</font> 2618 </li> 2619 <li> 2620 Bug fixes in frame & sample count for downsampling 2621 mode. (ben "jacobs") 2622 </li> 2623 <li>Patches to improve modulization. (ben "jacobs")</li> 2624 </ul> 2625 <h3>LAME 3.17beta July 11 1999</h3> 2626 <ul> 2627 <li> 2628 substantial code cleanup towards goal of making LAME more 2629 modular. 2630 </li> 2631 </ul> 2632 <h3>LAME 3.16beta July 11 1999</h3> 2633 <ul> 2634 <li> 2635 <font color="#ff0000">New tunings of window switching, and 2636 better bit allocation based on pe. (Jan Rafaj. improves both 2637 testsignal2.wav and testsignal4.wav).</font> 2638 </li> 2639 <li> 2640 <font color="#ff0000">Bug in mid/side quantization when side 2641 channel was zero fixed. (Albert Faber)</font> 2642 </li> 2643 <li> 2644 Removed some extranous computations in l3psy.c (Robert 2645 Hegemann) 2646 </li> 2647 <li> 2648 More detailed timing status info, including hours display. 2649 (Sakari Ailus) and percentage indicator (Conrad Sanderson). 2650 </li> 2651 <li> 2652 <font color="#3366ff">Window_subband and calc_noise1, 2653 calc_noise2 speedups. Quantize_xrpow speedup should be 2654 significant on non GNU/intel systems. (Mike Cheng)</font> 2655 </li> 2656 <li> 2657 <font color="#3366ff">Better initial guess for VBR bitrate. 2658 Should speed up VBR encoding. (Gabriel Bouvigne)</font> 2659 </li> 2660 <li> 2661 More advanced .wav header parsing. fixes bugs involving click 2662 in first frame. (Robert.Hegemann) 2663 </li> 2664 <li> 2665 Correct filesize and total frame computation when using 2666 LIBSNDFILE (ben "jacobs") 2667 </li> 2668 <li> 2669 Click in last frame (buffering problem) when using 2670 libsndfile fixed. 2671 </li> 2672 <li> 2673 Audio I/O code overhauled. There is now a uniform audio i/o 2674 interface to libsndfile or the LAME built in wav/aiff 2675 routines. All audio i/o code localized to get_audio.c. 2676 </li> 2677 </ul> 2678 <h3>LAME 3.15beta</h3> 2679 <ul> 2680 <li> 2681 times()/clock() problem fixed for non-unix OS. (Ben "Jacobs") 2682 </li> 2683 <li> 2684 Fixed uninitialized pe[] when using fast mode. (Ben "Jacobs") 2685 </li> 2686 </ul> 2687 <h3>LAME 3.13 June 24 1999</h3> 2688 <ul> 2689 <li>Patches for BeOS from Gertjan van Ratingen.</li> 2690 <li>Makefile info for OS/2 Warp 4.0 (from dink.org).</li> 2691 <li>Status display now based on wall clock time, not cpu time.</li> 2692 <li> 2693 mem_alloc no longer allocates twice as much memory as 2694 needed (Jan Peman). 2695 </li> 2696 </ul> 2697 <h3>LAME 3.12pre9</h3> 2698 <ul> 2699 <li> 2700 Updated BLADEDLL code to handle recent changes (Albert 2701 Faber). 2702 </li> 2703 <li> 2704 Bug fixed in parsing options when not using GTK (Albert 2705 Faber). 2706 </li> 2707 <li> 2708 <font color="#ff0000">MPEG2 Layer III psycho acoustics now 2709 working.</font> 2710 </li> 2711 <li> 2712 <font color="#3366ff">Improved huffman encoding Chris 2713 Matrakidis. (10% faster). I dont know how he finds these 2714 improvements! LAME with full quality now encodes 2715 faster than real time on my PII 266.</font> 2716 </li> 2717 <li> 2718 Fixed time display when encoding takes more than 60 2719 minutes. 2720 </li> 2721 </ul> 2722 <h3>LAME 3.12pre8</h3> 2723 <ul> 2724 <li> 2725 <font color="#ff0000">New <a href="gpsycho/ms_stereo.html"> 2726 mid/side stereo</a> criterion. LAME will use mid/side stereo 2727 only when the difference between L & R masking thresholds 2728 (averaged over all scalefactors) is less then 5db. In several 2729 test samples it does a very good job mimicking the FhG 2730 encoder.</font> 2731 </li> 2732 <li> 2733 <font color="#ff0000">Bug in mid/side stereo fixed: independent 2734 variation of mid & side channel scalefactors disabled. 2735 Because of the way outer_loop is currently coded, when encoding 2736 mid/side coefficietns using left/right thresholds, you have 2737 to vary the scalefactors simultaneously.</font> 2738 </li> 2739 <li> 2740 <font color="#ff0000">Bug in side/mid energy 2741 ratio calculation fixed. (Thanks to Robert Hegemann)</font> 2742 </li> 2743 <li> 2744 Default mode is stereo (not jstereo) if bitrate is chosen 2745 as 192kbs or higher. Tero Auvinen first pointed out that FhG 2746 seems to think at 160kbs, their encoder is so good it doesn't 2747 need jstereo tricks. Since LAME is not as good as FhG, I am 2748 going to claim that 192kbs LAME is so good it doens't need 2749 jstereo tricks, and thus it is disabled by default. 2750 </li> 2751 <li> 2752 WAV header parsing for big-endian machines, and automatic 2753 detection of big-endian machines. (Thanks to Sigbjørn 2754 Skjæret). 2755 </li> 2756 <li>added 56 sample delay to sync LAME with FhG.</li> 2757 <li>MP3x (frame analyzer) can now handle MPEG2 streams.</li> 2758 </ul> 2759 <h3>LAME 3.12pre7</h3> 2760 <ul> 2761 <li> 2762 MPEG2 layer III now working! lower bit rates (down to 8kbs) 2763 and 3 more sampling frequencies: 16000, 22050, 24000Hz. Quality 2764 is poor - the psy-model does not yet work with these 2765 sampling frequencies. 2766 </li> 2767 <li> 2768 Fixed "ERROR: outer_loop(): huff_bits < 0." bug 2769 when using VBR. 2770 </li> 2771 <li> 2772 bash and sh scripts to run LAME on multiple files now 2773 included. (from Robert Hegemann and Gerhard Wesp respectively) 2774 </li> 2775 <li> 2776 bug fix in encoding times for longer files from 2777 (Alvaro Martinez Echevarria) 2778 </li> 2779 <li>yet another segfault in the frame analyzer fixed.</li> 2780 <li> 2781 ISO psy-model/bit allocation routines removed. This allowed 2782 makeframe() to be made much simpler, and most of the complicated 2783 buffering is now gone. Eventually I would like the encoding 2784 engine to be a stand alone library. 2785 </li> 2786 </ul> 2787 <h3>LAME 3.12pre6</h3> 2788 <ul> 2789 <li> 2790 <font color="#ff0000">Better VBR 2791 tuning. Find minimum bitrate with distortion less than the 2792 allows maximum. A minimum bit rate is imposed on frames with 2793 short blocks (where the measured distortion can not be 2794 trusted). A minimum frame bitrate can be specified 2795 with -b, default=64kbs.</font> 2796 </li> 2797 <li> 2798 <a href="http://www.zip.com.au/%7Eerikd/libsndfile">LIBSNDFILE</a> 2799 support. With libsndfile, LAME can encode almost all sound 2800 formats. Albert Faber did the work for this, including 2801 getting libsndfile running under win32. 2802 </li> 2803 <li>CRC checksum now working! (Thanks to Johannes Overmann)</li> 2804 <li>frame analyzer will now work with mono .mp3 files</li> 2805 <li><font color="#3366ff">more code tweeks from Jan Peman.</font></li> 2806 <li> 2807 <font color="#3366ff">Compaq-Alpha(Linux) fixes and speedups 2808 from Nils Faerber.</font> 2809 </li> 2810 <li> 2811 <font color="#3366ff">Faster bin_search_StepSize from Juha 2812 Laukala.</font> 2813 </li> 2814 <li> 2815 <font color="#3366ff">Faster quantize() from Mike Cheng</font> 2816 </li> 2817 <li> 2818 <font color="#3366ff">Faster 2819 quantize_xrpow() from Chris Matrakidis. xrpow_flag removed 2820 since this option is now on by default.</font> 2821 </li> 2822 <li>Fixed .wav header parsing from Nils Faerber.</li> 2823 <li> 2824 Xing VBR frame info header code from Albert 2825 Faber. "Xing" and "LAME 3.12" embedded in first 2826 frame. 2827 </li> 2828 <li> 2829 <font color="#ff0000">Bug in VBR bit allocation based on "over" 2830 value fixed.</font> 2831 </li> 2832 </ul> 2833 <h3>LAME 3.11 June 3 1999</h3> 2834 <ul> 2835 <li>Almost all warnings (-Wall) now fixed! (Thanks to Jan Peman)</li> 2836 <li> 2837 More coding improvements from Gabriel Bouvigne and Warren 2838 Toomey. 2839 </li> 2840 <li> 2841 <font color="#ff0000">VBR (variable bit rate). Increases bit 2842 rate for short blocks and for frames where the number of bands 2843 containing audible distortion is greater than a given value. 2844 Much tuning needs to be done.</font> 2845 </li> 2846 <li>Patch to remove all atan() calls from James Droppo.</li> 2847 </ul> 2848 <h3>LAME 3.10 May 30 1999</h3> 2849 <ul> 2850 <li> 2851 <font color="#3366ff">Fast mode 2852 (-f) disables psycho-acoustic model for real time encoding on 2853 older machines. Thanks to Lauri Ahonen who first sent a patch 2854 for this.</font> 2855 </li> 2856 <li> 2857 <font color="#ff0000">New bit reservoir usage scheme to 2858 accommodate the new pre-echo detection formulas.</font> 2859 </li> 2860 <li> 2861 <font color="#ff0000">Tuning of AWS and ENER_AWS pre-echo 2862 formulas by Gabriel Bouvigne and myself. They work great! now 2863 on by default.</font> 2864 </li> 2865 <li> 2866 In jstereo, force blocktypes for left & right 2867 channels to be identical. FhG seems to do this. It 2868 can be disabled with "-d". 2869 </li> 2870 <li>Patches to compile MP3x under win32 (Thanks to Albert Faber).</li> 2871 <li> 2872 <font color="#3366ff">bin_serach_stepsize 2873 limited to a quantizationStepSize of -210 through 45.</font> 2874 </li> 2875 <li> 2876 <font color="#ff0000">outer_loop() will now vary Mid & Side 2877 scalefactors independently. Can lead to better quantizations, 2878 but it is slower (twice as many quantizations to look at). 2879 Running with "-m f" does not need this and will run at the 2880 old speed</font> 2881 </li> 2882 <li> 2883 <font color="#ff0000">Bug in inner_loop 2884 would allow quantizations larger than allowed. (introduced in 2885 lame3.04, now fixed.)</font> 2886 </li> 2887 <li>Updated HTML documentation from Gabriel Bouvigne.</li> 2888 <li>Unix man page from William Schelter.</li> 2889 <li> 2890 <font color="#ff0000">numlines[] bug fixed. (Thanks to Rafael 2891 Luebbert, MPecker author).</font> 2892 </li> 2893 <li> 2894 <font color="#3366ff">Quantization speed improvements from Chris 2895 Matrakidis.</font> 2896 </li> 2897 <li> 2898 <font color="#ff0000">When comparing quantizations with the same 2899 number of bands with audible distortion, use the one with the 2900 largest scalefactors, not the first one outer_loop 2901 happened to find.</font> 2902 </li> 2903 <li> 2904 Improved defination of best quantization when using -f 2905 (fast mode). 2906 </li> 2907 <li> 2908 subblock code now working. But no algorithm to 2909 choose subblock gains yet. 2910 </li> 2911 <li> 2912 Linux now segfaults on floating point exceptions. Should 2913 prevent me from releasing binaries that crash on other 2914 operating systems. 2915 </li> 2916 </ul> 2917 <h3>LAME 3.04 May 22 1999</h3> 2918 <ul> 2919 <li>Preliminary documentation from Gabriel Bouvigne.</li> 2920 <li> 2921 <font color="#3366ff">I wouldn't have thought it was possible, 2922 but now there are even more speed improvements from Chris 2923 Matrakidis! Removed one FFT when using joint stereo, and many 2924 improvements in loop.c.</font> 2925 </li> 2926 <li> 2927 "Fake" ms_stereo mode renamed "Force" ms_stereo since it forces 2928 mid/side stereo on all frames. For some music this is said to be 2929 a problem, but for most music mode is probably better than the 2930 default jstereo because it uses specialized mid/side channel 2931 masking thresholds. 2932 </li> 2933 <li>Small bugs in Force ms_stereo mode fixed.</li> 2934 <li>Compaq Alpha fixes from Nathan Slingerland.</li> 2935 <li> 2936 <font color="#ff0000">Some new experimental pre-echo detection 2937 formulas in l3psy.c (#ifdef AWS and #ifdef ENER_AWS, 2938 both off by default. Thanks to Gabriel Bouvigne and Andre 2939 Osterhues)</font> 2940 </li> 2941 <li> 2942 Several bugs in the syncing of data displayed by mp3x (the 2943 frame analyzer) were fixed. 2944 </li> 2945 <li> 2946 highq (-h) option added. This turns on things 2947 (just one so far) that should sound better but slow down LAME. 2948 </li> 2949 </ul> 2950 <h3>LAME 3.03 May 18 1999 </h3> 2951 <ul> 2952 <li> 2953 <font color="#3366ff">Faster (20%) & 2954 cleaner FFT (Thanks to Chris Matrakidis 2955 http://www.geocities.com/ResearchTriangle/8869/fft_summary.html)</font> 2956 </li> 2957 <li> 2958 mods so it works with VC++ (Thanks to Gabriel Bouvigne, 2959 www.mp3tech.org) 2960 </li> 2961 <li> 2962 MP3s marked "original" by default (Thanks to 2963 Gabriel Bouvigne, www.mp3tech.org) 2964 </li> 2965 <li> 2966 Can now be compiled into a BladeEnc compatible .DLL (Thanks to 2967 Albert Faber, CDex author) 2968 </li> 2969 <li> 2970 Patches for "silent mode" and stdin/stdout (Thanks to Lars Magne 2971 Ingebrigtsen) 2972 </li> 2973 <li> 2974 <font color="#ff0000">Fixed rare bug: if a long_block is 2975 sandwiched between two short_blocks, it must be changed to a 2976 short_block, but the short_block ratios have not been computed in 2977 l3psy.c. Now always compute short_block ratios just in case.</font> 2978 </li> 2979 <li> 2980 <font color="#ff0000">Fixed bug with initial quantize step size 2981 when many coefficients are zero. (Thanks to Martin Weghofer).</font> 2982 </li> 2983 <li>Bug fixed in MP3x display of audible distortion.</li> 2984 <li>improved status display (Thanks to Lauri Ahonen).</li> 2985 </ul> 2986 <h3>LAME 3.02 May 12 1999</h3> 2987 <ul> 2988 <li> 2989 <font color="#ff0000">encoder could use ms_stereo even if 2990 channel 0 and 1 block types were different. (Thanks to Jan 2991 Rafaj)</font> 2992 </li> 2993 <li> 2994 <font color="#ff0000">added -k option to 2995 disable the 16 kHz cutoff at 128kbs. This cutoff is never 2996 used at higher bitrates. (Thanks to Jan Rafaj)</font> 2997 </li> 2998 <li> 2999 <font color="#ff0000">modified pe bit allocation formula to 3000 make sense at bit rates other than 128kbs.</font> 3001 </li> 3002 <li> 3003 fixed l3_xmin initialization problem which showed up under 3004 FreeBSD. (Thanks to Warren Toomey) 3005 </li> 3006 </ul> 3007 <h3><b>LAME 3.01 May 11 1999</b> </h3> 3008 <ul> 3009 <li>max_name_size increased to 300 (Thanks to Mike Oliphant)</li> 3010 <li>patch to allow seeks on input file (Thanks to Scott Manley)</li> 3011 <li> 3012 fixes for mono modes (Thanks to everyone who pointed this out) 3013 </li> 3014 <li>overflow in calc_noise2 fixed</li> 3015 <li> 3016 it reservoir overflow when encoding lots of frames with 3017 all zeros (Thanks to Jani Frilander) 3018 </li> 3019 </ul> 3020 <hr> 3021 <h3>LAME 3.0 May 10 1999</h3> 3022 <ul> 3023 <li> 3024 <font color="#ff0000">added GPSYCHO (developed by Mark Taylor) 3025 </font> 3026 </li> 3027 <li> 3028 <font color="#000000">added MP3x (developed by Mark Taylor)</font> 3029 </li> 3030 <li>LAME now maintained by Mark Taylor</li> 3031 </ul> 3032 <h3>November 8 1998</h3> 3033 <ul> 3034 <li>Version 2.1f released</li> 3035 <li> 3036 50% faster filter_subband() routine in encode.c 3037 contributed by James Droppo 3038 </li> 3039 </ul> 3040 <h3>November 2 1998</h3> 3041 <ul> 3042 <li>Version 2.1e released.</li> 3043 <li> 3044 New command line switch <b>-a</b> auto-resamples a stereo input 3045 file to mono. 3046 </li> 3047 <li> 3048 New command line switch <b>-r</b> resamples from 44.1 kHz to 32 3049 kHz [this switch doesn't work really well. Very tinny sounding 3050 output files. Has to do with the way I do the resampling 3051 probably] 3052 </li> 3053 <li> 3054 Both of these were put into the ISO code in the encode.c file, 3055 and are simply different ways of filling the input buffers from 3056 a file. 3057 </li> 3058 </ul> 3059 <h3>October 31 1998</h3> 3060 <ul> 3061 <li>Version 2.1d released</li> 3062 <li>Fixed memory alloc in musicin.c (for l3_sb_sample)</li> 3063 <li> 3064 Added new command line switch (-x) to force swapping of 3065 byte order 3066 </li> 3067 <li> 3068 Cleaned up memory routines in l3psy.c. All the mem_alloc() and 3069 free() routines where changed so that it was only done <i>once</i> 3070 and not every single time the routine was called. 3071 </li> 3072 <li> 3073 Added a compile time switch -DTIMER that includes all timing 3074 info. It's a switch for the time being until some other people 3075 have tested on their system. Timing code has a tendency to do 3076 different things on different platforms. 3077 </li> 3078 </ul> 3079 <h3>October 18 1998</h3> 3080 <ul> 3081 <li>Version 2.1b released.</li> 3082 <li>Fixed up bug: all PCM files were being read as WAV.</li> 3083 <li> 3084 Played with the mem_alloc routine to fix crash under amigaos 3085 (just allocating twice as much memory as needed). Might see if 3086 we can totally do without this routine. Individual malloc()s 3087 where they are needed instead 3088 </li> 3089 <li> 3090 Put Jan Peman's quality switch back in. This reduces quality 3091 via the '-q <int>' switch. Fun speedup which is 3092 mostly harmless if you're not concerned with quality. 3093 </li> 3094 <li>Compiling with amiga-gcc works fine</li> 3095 </ul> 3096 <h3>October 16 1998</h3> 3097 <ul> 3098 <li> 3099 Version 2.1a released. User input/output has been cleaned up a 3100 bit. WAV file reading is there in a very rudimentary sense ie 3101 the program will recognize the header and skip it, but not read 3102 it. The WAV file is assumed to be 16bit stereo 44.1 kHz. 3103 </li> 3104 </ul> 3105 <h3>October 6 1998</h3> 3106 <ul> 3107 <li> 3108 Version 2.1 released with all tables now incorporated into 3109 the exe. Thanks to <b>Lars Magne Ingebrigtseni</b> 3110 </li> 3111 </ul> 3112 <h3>October 4 1998</h3> 3113 <ul> 3114 <li> 3115 In response to some concerns about the quality of the encoder, I 3116 have rebuilt the encoder from scratch and carefully compared output 3117 at all stages with the output of the unmodified ISO encoder. 3118 </li> 3119 <li> 3120 <a href="http://www.uq.net.au/%7Ezzmcheng/lame/download.html"> 3121 Version 2.0</a> of LAME is built from the ISO source code (dist10), 3122 and incorporates modifications from myself and the 8hz effort. The 3123 output file from LAME v2.0 is <em>identical</em> to the output of 3124 the ISO encoder for my test file. Since I do not have heaps of time, 3125 I left the ISO AIFF file reader in the code, and did not incorporate 3126 a WAV file reader. 3127 </li> 3128 <li> 3129 Added section 3130 on <a href="http://www.uq.net.au/%7Ezzmcheng/lame/quality.html"> 3131 quality</a>. 3132 </li> 3133 </ul> 3134 <h3> October 1 1998</h3> 3135 <ul> 3136 <li>Updated web page and released LAME v1.0</li> 3137 </ul> 3138 <hr> 3139 <h3>Up to September 1998</h3> 3140 <p>Working on the 8hz source code...</p> 3141 <ul> 3142 <li> 3143 Patched the <a href="http://www.8hz.com/">8hz</a> source 3144 code 3145 </li> 3146 <li> 3147 45% faster than original source (on my freebsd p166). 3148 <ul> 3149 <li> 3150 m1 - sped up the mdct.c and quantize() functions [MDCTD, 3151 MDCTD2, LOOPD] 3152 </li> 3153 <li> 3154 m2 - sped up the filter_subband routine using <b>Stephane 3155 Tavenard</b>'s work from musicin [FILTST] 3156 </li> 3157 <li>m2 - minor cleanup of window_subband [WINDST2]</li> 3158 <li> 3159 m2 - Cleaned up a few bits in l3psy.c. Replaced a sparse 3160 matrix multiply with a hand configured unrolling [PSYD] 3161 </li> 3162 <li> 3163 m3 - (amiga only) Added in the asm FFT for m68k (based on 3164 sources from <b>Henryk Richter</b> and <b>Stephane Tavenard</b>) 3165 </li> 3166 <li>m4 - raw pcm support back in</li> 3167 <li> 3168 m5 - put in a byte-ordering switch for raw PCM reading 3169 (just in case) 3170 </li> 3171 <li> 3172 m6 - reworked the whole fft.c file. fft now 10-15% 3173 faster. 3174 </li> 3175 <li> 3176 m7 - totally new fft routine. exploits fact that this is 3177 a real->complex fft. About twice as fast as previous 3178 fastest fft (in m6). (C fft routine is faster than the 3179 asm one on an m68k!) 3180 </li> 3181 <li> 3182 m8 3183 <ul> 3184 <li> 3185 Now encodes from stdin. Use '-' as the input 3186 filename. Thanks to <b>Brad Threatt</b> 3187 </li> 3188 <li> 3189 Worked out that the 1024point FFT only ever uses 3190 the first 6 phi values, and the first 465 energy 3191 values. Saves a bunch of calculations. 3192 </li> 3193 <li> 3194 Added a speed-up/quality switch. Speed is 3195 increased but quality is decreased <i>slightly</i>. 3196 My ears are bad enough not to be able to notice 3197 the difference in quality at low settings :). 3198 Setting '-q 1' improves speed by about 10%. '-q 3199 100' improves speed by about 26%. Enoding of my 3200 test track goes from 111s (at default '-q 0') 3201 to 82s (at -q 100). Thanks to <b>Jan Peman</b> 3202 for this tip. 3203 </li> 3204 </ul> 3205 </li> 3206 <li> 3207 m9 - fixed an error in l3psy.c. numlines[] is overwritten 3208 with incorrect data. Added a new variable numlines_s[] 3209 to fix this. Thanks again to <b>Jan Peman</b>. 3210 </li> 3211 <li> 3212 m10 - Down to 106 seconds by selecting a few more compiler 3213 options. Also added a pow20() function in l3loop.c to 3214 speed up (ever so slightly) calls to pow(2.0, x) 3215 </li> 3216 <li> 3217 m11 3218 <ul> 3219 <li> 3220 No speedups. Just cleaned up some bits of the code. 3221 </li> 3222 <li> 3223 Changed K&R prototyping to 'normal' format. 3224 Thanks to <b>Steffan Haeuser</b> for his help here. 3225 </li> 3226 <li> 3227 Changed some C++ style comments to normal C comments in 3228 huffman.c 3229 </li> 3230 <li> 3231 Removed the #warning from psy_data.h (it was getting 3232 annoying!) 3233 </li> 3234 <li> 3235 Removed reference in bitstream.c to malloc.h. Is there a 3236 system left where malloc.h hasn't been superceded by 3237 stdlib.h? 3238 </li> 3239 </ul> 3240 </li> 3241 </ul> 3242 <li> 3243 In Progess: 3244 <ul> 3245 <li> 3246 my PSYD hack for the spreading functions is only valid for 3247 44.1 kHz - Should really put in a "if freq = 44.1 kHz" 3248 switch for it. Someone might want to extend the speedup for 3249 48 and 32 kHz. 3250 </li> 3251 <li> 3252 Putting in Jan Peman's quantanf_init speedup. 3253 </li> 3254 </ul> 3255 </li> 3256 </ul> 3257 <hr> 3258 <center> 3259 <p> 3260 <a href="http://validator.w3.org/check?uri=referer"> 3261 <img src="images/valid-html401.png" alt="Valid HTML 4.01 3262 Transitional" height="31" width="88"> 3263 </a> 3264 </p> 3265 </center> 3266 </body> 3267</html> 3268