history.html 102 KB

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