| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; I; Linux 2.2.12-20 i686) [Netscape]">
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
- <title>LAME Changelog</title>
- </head>
- <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" alink="#bbbbbb" link="#888888" vlink="#555555">
- <center>
- <h1>History</h1>
- </center>
- Starting with LAME 3.0: <br>
- <font color="#ff0000">red = features and bug fixes which
- affect quality</font> <br>
- <font color="#3366ff">blue = features and bug fixes which
- affect speed</font> <br>
- black = usability, portability, other
- <hr>
- <h3>LAME 3.100 2017 (in preparation)</h3>
- <ul>
- <li>Rogério Brito
- <ul>
- <li>
- Don't include the debian directory as one that is needed during
- builds. Patch taken from Debian's packaging of lame.
- </li>
- <li>
- Resurrect Owen Taylor's code dated from 97-11-3 to properly deal
- with GTK1. This was transplanted back from aclocal.m4 with a patch
- provided by Andres Mejia. This change makes it easy to regenerate
- autotools' files with a simple invocation of <code>autoconf -vfi</code>.
- </li>
- <li>
- Fix possible race condition causing build failures in libmp3lame.
- Discovered in automated builds by the Debian project with patch
- provided by Andres Mejia.
- </li>
- </ul>
- </li>
- <li>Robert Hegemann
- <ul>
- <li>Improved detection of MPEG audio data in RIFF WAVE files. Tracker item <i>[ 3545112 ] Invalid sampling detection</i>
- </li>
- <li>New switch <b>--gain <decibel></b>, range -20.0 to +12.0, a more convenient way to apply Gain adjustment in decibels,
- than the use of <i>--scale <factor></i>.
- </li>
- <li>Fix for tracker item <i>[ 3558466 ] Bug in path handling</i>
- </li>
- <li>Fix for tracker item <i>[ 3567844 ] problem with Tag genre</i>
- </li>
- <li>Fix for tracker item <i>[ 3565659 ] no progress indication with pipe input</i>
- </li>
- <li>Fix for tracker item <i>[ 3544957 ] scale (empty) silent encode without warning</i>
- </li>
- <li>Fix for tracker item <i>[ 3580176 ] environment variable LAMEOPT doesn't work anymore</i>
- </li>
- <li>Fix for tracker item <i>[ 3608583 ] input file name displayed with wrong character encoding (on windows console with CP_UTF8)</i>
- </li>
- <li>Fix for bug ticket <i>[ #447 ] Fix dereference NULL and Buffer not NULL terminated issues. Thanks to Surabhi Mishra</i>
- </li>
- <li>Fix for bug ticket <i>[ #445 ] dereference of a null pointer possible in loop. Thanks to Renu Tyagi</i>
- </li>
- <li>Fix for bug ticket <i>[ #449 ] Make sure functions with SSE instructions maintain their own properly aligned stack. Thanks to Fabian Greffrath</i>
- </li>
- <li>Fix for bug ticket <i>[ #458 ] Multiple Stack and Heap Corruptions from Malicious File. Thanks to Gareth Evans and Elio Blanca</i>
- </li>
- <li>Fix for bug ticket <i>[ #460 ] A division by zero vulnerability. Thanks to Wang Shiyang, Liu Bingchang</i>
- </li>
- <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>
- </li>
- <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>
- </li>
- <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>
- </li>
- <li>Fix for bug ticket <i>[ #434 ] clip detect scale suggestion unaware of scale input value</i>
- </li>
- <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>
- </li>
- </ul>
- </li>
- <li>Alexander Leidinger
- <ul>
- <li>Feature request, patch ticket <i>[ #27 ] Add lame_encode_buffer_interleaved_int() by Michael Fink</i>
- </li>
- </ul>
- </li>
- </ul>
- <br>
- <hr>
- <h3>LAME 3.99.5 February 28 2012</h3>
- <ul>
- <li>Rogério Brito
- <ul>
- <li>autotools: Fix compilation on alpha using proper ifdef guards. Thanks to Andres Mejia.
- </li>
- <li>Small correction of the documentation.
- </li>
- </ul>
- </li>
- <li>Robert Hegemann
- <ul>
- <li>Workaround for cygwin build problem. Tracker item <i>[ 3480692 ] mingw-w64 compilation error</i>
- </li>
- <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.
- </li>
- <li><font color="#ff0000">Bug fix for tracker item <i>[ 3486753 ] Artifacts at the beginning of <b>decoded</b> file</i></font>
- </li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.99.4 January 25 2012</h3>
- <ul>
- <li>Robert Hegemann
- <ul>
- <li>Fix for tracker item <i>[ 3475581 ] lame crashes at .w64 input file</i>
- </li>
- <li>Addressing things brought to attention by tracker item <i>[ 3463197 ] 3.99.x problem WFED and PCST frames </i>
- <ul><li> WFED and PCST frames can now be added, to tag podcasts iTunes recognizes</li>
- <li> USER frames are now supported</li>
- <li> COMM frames can now have a description, when passed via --tv "COMM=description=full text"</li>
- <li> possible divide-by-zero exception should be fixed</li>
- <li> adding malformed user-defined-frames could result in abnormal program termination, fixed</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.99.3 November 26 2011</h3>
- <ul>
- <li>Robert Hegemann
- <ul>
- <li>Fix for tracker item <i>[ 3441349 ] --tg does not handle genre number when adding unicode tag</i>
- </li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.99.2 November 18 2011</h3>
- <ul>
- <li>Robert Hegemann
- <ul>
- <li>Due to some bugs in 3rd party HW/SW decoders, those were not
- be able to make use of LAME's extended info tag anymore,
- resulting in problems with things like gapless playback.
- </li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.99.1 November 5 2011</h3>
- <ul>
- <li>Robert Hegemann
- <ul>
- <li>Fixes for several issues with ID3v2 unicode tags, using Big-Endian text encodings.
- Because of several other software (like Windows Media Player),
- LAME writes Little-Endian unicode tags only.<br>
- Thanks to Taihei Monma, for reporting these issues.
- Tracker items: <i>[ 3431203, 3431222, 3431241 ]</i>
- </li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.99 October 15 2011</h3>
- <ul>
- <li>3.99 beta 1 becomes 3.99 </li>
- </ul>
- <br>
- <h3>LAME 3.99 beta 1 not yet released</h3>
- <ul>
- <li>Robert Hegemann
- <ul>
- <li>Fix for Bugtracker item <i>[ 3395813 ] id3tag_set_fieldvalue for URL link frames Broken</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 3368977 ] Wave Parser doesn't pad chunks</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 3034259 ] confusing fatal error: can't update LAME-tag frame!</i>
- </li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.99 beta 0 not officially released</h3>
- <ul>
- <li>Josep Maria Antolín Segura
- <ul>
- <li>Documentation work
- </li>
- </ul>
- </li>
- <li>Rogério Brito
- <ul>
- <li>Improve Debian packaging.
- <ul>
- <li>Include suggestions made by Fabian Greffrath</li>
- <li>Update version of the Debian package to reflect that it is taken from CVS.</li>
- <li>Get rid of a transitional package</li>
- <li>Much more to come...</li>
- </ul>
- <li>Minor fix to validate the history file correctly</li>
- </ul>
- </li>
- <li>Robert Hegemann
- <ul>
- <li>Porting of LAME <b>mp3rtp</b> program to Windows platform
- </li>
- <li>Fix: <font color="#ff0000">for free format mp3 above 320 kbps, the maximum allowed bits was limited too far.</font>
- </li>
- <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>
- </li>
- <li>UNICODE support on Windows OS, file names and ID3v2 tags;
- related: Bugtracker item <i>[ 3052230 ] Lame.exe can't find files with non-ASCII names</i>
- </li>
- <li>Added support for WAVE FORMAT IEEE FLOAT input files
- </li>
- <li>New switch <b>--swap-channel</b> added, see tracker item <i>[ 1118412 ] RFE: option to swap L and R channels</i>
- </li>
- <li>New switches <b>-m l</b> and <b>-m r</b> to select either left or right channel for mono encoding.
- </li>
- <li>Feature request item <i>[ 3134258 ] Allow larger images with LAME (>128KB)</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 2962223 ] Encoder delay and padding values ignored when re-encoding</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 2986823 ] Error when building Lame with NASM support -still exists</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 3125235 ] make -f Makefile.mingw32 fails</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 3021935 ] ID3 tag TXXX cannot be used more than once</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 3025801 ] gain_analysis.h needs int constants</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 3277412 ] Segmentation fault at layer2.c:105 with --decode</i>
- </li>
- <li>Changes in new VBR code:
- <ul>
- <li><font color="#ff0000">tuning on PSY model</font></li>
- <li><font color="#770000">tuning on VBR scale and resulting bitrates</font></li>
- <li><font color="#ff0000">Minor bug fix for sfb21 encoding</font></li>
- </ul>
- </li>
- <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>
- </li>
- <li>Fix for a possible out of bounds array access in HIP decoder, addresses Bugtracker item <i>[ 3091776 ] crash at III_dequantize_sample</i>
- </li>
- </ul>
- </li>
- </ul>
- <hr>
- <h3>LAME 3.98.4 March 22 2010</h3>
- <ul>
- <li>Joseph Flynn
- <ul>
- <li>Improvements for LAME DirectShow filter:
- <ul>
- <li>Added support for the DirectShow IAMStreamConfig Interface to the LAME encoder filter output pin.
- </li>
- <li>Modified the DirectShow filter registration section so that the LAME Encoder filter is correctly registered in the Audio Compressors filter category. This will allow third-party encoding applications using the DirectShow System Device Enumerator Interface to correctly detect the LAME encoder when querying the Audio Compressors filter group.
- </li>
- <li>Modified the filter registration information so that the MP3 audio subtype is correctly reported as being supported on the encoder output pin. This will allow third-party encoding applications using the DirectShow IFilterMapper2 Interface to recognize that the LAME encoder supports MP3 output.
- </li>
- <li>Altered the Filter Merit Value that was being used when the filter was registered so that it is now using the standard DirectShow compressor filter merit value of MERIT_DO_NOT_USE (0x200000). Previously, the filter was being registered using a value of MERIT_SW_COMPRESSOR (0x100000), which was at a lower priority (i.e. worse priority) than MERIT_DO_NOT_USE. This prevented the LAME Encoder filter from being selected for use by some third-party encoding applications.
- </li>
- <li>Added code to calculate the frame length of the audio frames used for the nBlockSize element of the WAVEFORMATEX output structure. Previously this value was simply hard-coded to 1.
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li>Robert Hegemann
- <ul>
- <li><font color="#ff0000">Fix for Bugtracker item <i>[ 2973877 ] A problem regarding the new drain code</i></font>
- </li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.98.3 February 27 2010</h3>
- <ul>
- <li>Rogério Brito:
- <ul>
- <li>Update the debian packaging for the new release.
- </li>
- </ul>
- </li>
- <li>Robert Hegemann
- <ul>
- <li>The <b>ignore-tag-errors</b> switch had no effect when embedding album art, fixed.</li>
- <li>Library API change: lame_decode functions are now obsolete but still present, please use hip_decode instead.
- The reason for this change is: lame_decode functions use a single global variable within the library
- to store decoder setup, hip_decode functions don't.
- The encoder now uses hip_decode internally and it is now possible to use <b>clipdetect</b>
- feature while reencoding mp3 to mp3.
- </li>
- <li>Workaround for FFMPEG bug, which uses to call lame_encode_flush more than once in a loop.
- </li>
- <li>Windows: program icon and version info added (when building with VC9)
- </li>
- <li>Fix for Bugtracker item <i>[ 2688413 ] lib name problem in Microsoft Visual Studio 6</i>
- </li>
- <li>Fix for Bugtracker items <i>[ 2051870, 2423650, 2928684 ] several small documentation issues</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 2723518 ] resampling in 3.98 and 3.99alpha</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 2891879 ] Because of Windows API change, there was a problem with the <b>prority</b> switch.</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 2893101 ] Access Violation in BladeMP3EncDLL if UNICODE was defined.</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 2887359 ] Wrong length in ID3v2 tag when num_samples isn't set</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 2872590 ] LameTAG: "Music length" missmatch in LAME 3.98</i>
- </li>
- <li>Fix for Bugtracker item <i>[ 2824296 ] wrong enc_padding value in LAME 3.99a and 3.98.3 (from CVS)</i>
- </li>
- <li><font color="#ff0000">Revisiting the FhG decoder problem (FhG V1.5 build 50, ships with MS Windows):
- enabling the new-drain-code seems to solve that issue better, than restricting the buffer size (see below: 3.98 beta 1, May 16 2007).</font>
- </li>
- <li>Patch submitted by Bernhard Doebler, tracker item <i>[ 2807676 ] Error when building Lame with NASM support</i>
- </li>
- <li>Patch submitted by Mancuso Raffaele, tracker item <i>[ 2406420 ] compile lame_enc.dll under cygwin</i>
- </li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.98.2 September 22 2008</h3>
- <ul>
- <li>Robert Hegemann
- <ul>
- <li>Fix for Bugtracker item <i>[ 2123206 ] lame 3.98.1 segfaults with -h</i>
- </li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.98.1 September 21 2008</h3>
- <ul>
- <li>Rogério Brito:
- <ul>
- <li>More fixes for the abx tool for Unix systems:
- <ul>
- <li>Plugged a memory leak.</li>
- <li>Fixed an endianness problem: users of big-endian machines
- can now do abx tests.</li>
- </ul>
- </li>
- <li>Fixed history's HTML doctype</li>
- <li>
- Fixed history so that it <em>finally</em> validates
- at <a href="http://validator.w3.org/">W3's validator</a>
- </li>
- <li>
- Fixed compilation of frontend <code>mp3rtp.c</code>. Thanks to Kris Karas.
- Bugtracker item <i>[ 2015432 ] mp3rtp missing uint16_t in lame 3.98</i>
- </li>
- </ul>
- </li>
- <li>Robert Hegemann:
- <ul>
- <li>Fix for Bugtracker item <i>[ 2031704 ] --id3v1-only didnt work in 3.98-final</i></li>
- <li>Fix for Bugtracker item <i>[ 2022035 ] encoder_padding value and resampling</i></li>
- <li>Fix for Bugtracker item <i>[ 2029282 ] Frequency filtering API broken in 3.98</i></li>
- <li>Fix for Bugtracker item <i>[ 2039648 ] potential memory leak in parse_args() function in parse.c</i></li>
- <li>Fix for some tagging issues:
- <ul>
- <li>Made search for ID3v1 genres more sloppy, abbrevations may match more often as some simple typos.
- Examples:<ul><li>--tg "Alt. Rock" matches genre "Alternate Rock"</li>
- <li>--tg "acapela" matches genre "A Cappella"</li>
- </ul></li>
- <li>New switch --pad-id3v2-size "n": adds ID3v2 tag with n padding bytes.</li>
- </ul></li>
- </ul>
- </li>
- </ul>
- <hr>
- <h3>LAME 3.98 July 4 2008</h3>
- <ul>
- <li>Anton Sergunov:
- <ul>
- <li>Frontend DirectShow: enabling LAME dshow filter to connect to "File Writer Filter".
- </li>
- </ul>
- </li>
- <li>Rogério Brito:
- <ul>
- <li>Updates to the Debian Packaging</li>
- <li>Fixes to the abx tool for Unix systems (so that more people
- can evaluate LAME's compression against the original files)</li>
- </ul>
- </li>
- <li>Alexander Leidinger:
- <ul>
- <li>explicitely link the math lib to the lame lib</li>
- <li>add switch to disable the use of the compaq optimized math lib</li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.98 beta 8 April 13 2008</h3>
- <ul>
- <li>Robert Hegemann:
- <ul>
- <li>LAME now accepts a floating point value in the range [0,...,10[ as VBR quality setting, like <b>-V5.678</b>
- </li>
- <li>Found and fixed some suspicious code in additive masking calculation for VBR-NEW
- </li>
- <li>bug-fix:<font color="#ff0000">experimental code was defaulted by accident for VBR-NEW</font>
- </li>
- <li>fix for some endianess problem on big-endian machines
- </li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.98 beta 7 April 6 2008</h3>
- <ul>
- <li>Robert Hegemann:
- <ul>
- <li>libmp3lame API: allow frontends to separately retrieve LAME/Xing and ID3 data, because the old library automatism
- makes it impossible to make fully buffered encodes.
- </li>
- <li>libmp3lame API: added some experimental unicode ID3 tagging code.
- </li>
- <li>frontends: write itself final ID3 tags and LAME/Xing header frame
- </li>
- <li>lame_enc.dll: writes itself final LAME/Xing header frame
- </li>
- <li>Latest changes to the new VBR psymodel:
- <ul>
- <li>uses a different spreading function
- </li>
- <li><font color="#ff0000">bug-fix for out-of-bounds array access (program stack corruption possible)</font>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.98 beta 6 December 16 2007</h3>
- <ul>
- <li>Robert Hegemann:
- <ul>
- <li>Feature request <i>[ 1811483 ] WAVE_FORMAT_EXTENSIBLE support (PCM)</i>
- </li>
- <li><font color="#ff0000">Fix for some rare scalefactor selection issue the newer vbr code had at low compression levels
- </font></li>
- <li>Fix for Bugtracker item<i>[ 1813496 ] AIFF parsing bug</i>
- </li>
- <li>Latest changes to the new VBR code:
- <ul>
- <li><font color="#3366ff">it now has its own psy model, a derivation from NSPSY.</font>
- </li>
- <li><font color="#ff0000">some more tuning has been done for this new psy model.</font>
- Many thanks to Horst Albrecht and Myles Thaiss.
- </li>
- <li><font color="#ff0000">the "out-of-bits" strategy is reworked</font>
- </li>
- </ul>
- <li><font color="#ff0000">It was possible, that the "interchannel masking effects feature"
- was used by the dual-channel-mode for bi-lingual encodings too. It was meant to work
- on stereo L/R channels only.</font>
- </li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.98 beta 5 August 12 2007</h3>
- <ul>
- <li>Jonathan Stott:
- <ul>
- <li>Bug tracker items: <i>[ 1590693 ] ID3v2 tag not writing, [ 1636267 ] ID3v2 tags overwritten</i><br>
- If the output file is opened 'write-only', then LAME can't update the LAME tag.
- In this case LAME silently overwrote the first bytes of the file and an
- optional ID3v2 tag disappeared. Now an error message will be printed and
- no data is written in this case.
- </li>
- </ul>
- </li>
- <li>Robert Hegemann:
- <ul>
- <li>Fix for Bugtracker item <i>[ 1719593 ] Track numbers > 255 not allowed even with --id3v2-only</i>
- <li>Fix for Bugtracker item <i>[ 1742623 ] fail(lame --mp3input -m m -b 128 --resample 8 *.mp3 **.mp3)</i><br>
- The problem here was, the input files are MPEG-1 Layer2 files named as MP3s. Even if you leave out
- the --mp3input switch LAME tried to decode the input files as Layer3 files because of the file name
- extension and because it found some valid looking Layer3 synchronization header.
- The fixed LAME version does not assume the file name extension is always correct and treats the files
- depending on the first found MPEG sync word. The files in question are now correctly detected as
- Layer2 files and transcoding does succeed.
- </li>
- <li>Fix for Bugtracker item <i>[ 1445175 ] Input being stdin fails in Windows on WAV files</i><br>
- The problem here was, seeking on pipes shows some different behaviour depending on C-Library
- implementations. The workaround tries to detect it's working on a pipe and doing some
- reading instead of seeking in that case.
- </li>
- <li>Fixing some memory leak in the 'lame_enc.dll'.
- </li>
- <li>Fix for Bugtracker items <i>[ 1160757, 1160741 ] --little-endian / --big-endian not working</i><br>
- These switches where originally intended to be used together with Libsndfile only.
- </li>
- <li>Fix for Bugtracker item <i>[ 1746336 ] Incorrect Bitrate with ABR und --resample, LAME 3.98b4</i><br>
- Some earlier bug-fix had some typo. As a result, when adding a '--resample 123' switch,
- the average bitrate rised upto maximum bitrate.
- </li>
- </ul>
- </li>
- </ul>
- <h3>LAME 3.98 beta 4 June 23 2007</h3>
- <ul>
- <li>Dennis Lambe Jr: Added support for total track count (id3v2) in the frontend
- </li>
- <li>Nyaochi:
- <ul>
- <li>Ability to set user-defined ID3v2.3 frame</li>
- <li>Ability to include albumArt in ID3v2.3 tag</li>
- </ul>
- </li>
- <li>Robert Hegemann:
- <ul>
- <li>Bugfix: the "play length in ms", which is stored in the ID3v2 tag TLEN, was not correctly computed.
- Some hardware and software players were confused by this garbage data.</li>
- <li><font color="#ff0000">Out of bits strategy for the newer VBR code overhauled</font></li>
- <li>LAME API: the ID3 tag functions do not store the pointers passed anymore,
- they do make deep copies of strings passed as parameters.
- </li>
- <li>Changes in LAME frontend switches regarding ID3 tags:
- <br><tt>--tg "MyGenre"</tt> will route unknown ID3v1 genres to "Other" for ID3v1 tags
- and will be stored as plain text "MyGenre" for ID3v2 tags. Genres given by known
- ID3v1 numbers will be stored as its corresponding text in ID3v2 tags.
- <br><tt>--tn "02/02"</tt> will store the track number specified as plain text as-is
- for ID3v2 tags.
- </li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.98 beta 3 May 22 2007</h3>
- <ul>
- <li>Robert Hegemann:
- <ul>
- <li>Fixes regarding max number of bits limitation</li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.98 beta 2 May 20 2007</h3>
- <ul>
- <li>Robert Hegemann:
- <ul>
- <li>Bug tracker item: <i>[ 1693461 ];</i>
- Fixed memory leaks in ACM codec</li>
- <li>Fixed encoding of non-standard sampling rates in CBR</li>
- <li><font color="#ff0000">Improved VBR strategy when running out of bits</font></li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.98 beta 1 May 16 2007</h3>
- <ul>
- <li>Alexander Leidinger:
- <ul>
- <li>Add TLEN (ID3v2) support (Submitted by: Linus Walleij).</li>
- <li>Add number of total tracks per album (ID3v2) support
- (Submitted by: Kyle VanderBeek).</li>
- <li>Some seatbelts for overflowing arrays in the ID3v2
- support.</li>
- <li>Update the RPM spec (Submitted by: Kyle VanderBeek).</li>
- <li>Fix some mem-leaks in the error case.</li>
- <li>Update to newer autotools versions.</li>
- <li>Update to use a recent libsndfile (submitted by
- libsndfile author).</li>
- <li><font color="#3366ff">Intrinsics support
- enabled for gcc</font></li>
- </ul>
- </li>
- <li>Robert Hegemann:
- <ul>
- <li><font color="#3366ff">The newer VBR code is now LAME's default
- VBR routine</font></li>
- <li><font color="#ff0000">Fixed: in case of
- not enough bits the new vbr code incorrectly used old vbr routine</font></li>
- <li><font color="#ff0000">Improved ATH
- adjustment in low volume cases</font></li>
- <li><font color="#ff0000">Fixed (PSY model): mapping from convolution bands
- to partition bands was broken since we replaced tables by own calculation
- several years ago</font></li>
- <li><font color="#ff0000">Fixed (PSY model): loss of fraction in equal loudness weighting</font></li>
- <li><font color="#ff0000">Fixed (PSY model): in NSPSY highpass filter, out of bounds access in fircoef</font></li>
- <li><font color="#ff0000">Known problem samples for the new VBR code:
- many of them are at an acceptable quality level now;</font>
- with a big <b>'Thank You'</b> to Francis Niechcial</li>
- <li><font color="#ff0000">Modified VBR strategy to handle out of bits cases</font></li>
- <li>Restricted bitreservoir size for 320 kbps frames to
- the size used for sideinfo, because of decoding problems
- with FhG decoders installed on almost every Windows system</li>
- <li>LAME aborts on unsupported input files
- or unrecognized parameter options passed more often now </li>
- <li>Bug tracker item: <i>[ 1596306 ] "fatal error during initialization";</i>
- an invalid MPEG samplerate was returned by optimum_samplefreq function</li>
- <li>Bug tracker item: <i>[ 1585942 ] lame not --silent when TERM not set;</i>
- in case LAME was build with TERMCAP defined and no TERM
- environment is defined, now we do not issue an error message and
- silently fallback to the default behaviour as if LAME was
- compiled without TERMCAP defined.</li>
- <li>Bug tracker item: <i>[ 1711980 ] LAME writes invalid Xing header when ID3 tags exist;</i>
- LAME was sometimes writing an invalid Xing/Info header</li>
- <li>Feature request: <i>[ 1588283 ] Flushing output stream in lame.exe;</i>
- 'flush' option added</li>
- <li><font color="#3366ff">Added FFTSSE and FFT3DNOW assembler code from
- Lame4 branch</font></li>
- <li>Changes in lame frontend switches:
- -k removed, add lowpass and highpass switches if you need to change
- them; --short/noshort/allshort - degraded into DEVELOPER ONLY switches
- normal users shouldn't use them; -X -Z degraded to
- DEVELOPER ONLY switches, -X is too tough to communicate to
- end users and -Z isn't used actualy</li>
- <li>Fixed some console printing problems</li>
- <li>Windows: ACM code now uses LAME library API only, all
- references to private include files are removed</li>
- <li>Windows: DirectShow code now uses LAME library API only, all
- references to private include files are removed</li>
- <li>Windows: disabled code that resets processor affinity,
- because this doesn't belong to LAME, but seems to work around
- some problems the parent process has (in most cases EAC)</li>
- </ul>
- </li>
- <li>John33:
- <ul>
- <li>Fixed mp2 and mp3 decoding: For mp3 and mp2 decoding,
- this now yields the same output as foobar2000 but the error checking
- remains unchanged</li>
- </ul>
- </li>
- <li>Gabriel Bouvigne:
- <ul>
- <li>VC8 project files</li>
- <li>Added support for x64 under VC8</li>
- <li>Restricted MPEG 2.5 to 64kbps frames</li>
- </ul>
- </li>
- <li>Takehiro Tominaga:
- <ul>
- <li><font color="#3366ff">SSE version of FFT</font></li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.97 September 24 2006</h3>
- <ul>
- <li>3.97 beta 3 becomes 3.97 </li>
- </ul>
- <br>
- <h3>LAME 3.97 beta 3 August 19 2006</h3>
- <ul>
- <li>Gabriel Bouvigne:
- <ul>
- <li><font color="#ff0000">Workaround against a
- short blocks detection issue</font></li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.97 beta 2 November 26 2005</h3>
- <ul>
- <li>Gabriel Bouvigne:
- <ul>
- <li>Fixed an initialization error when input is not using a
- standard sampling frequency</li>
- <li>Fixed a possible assertion failure in very low bitrate
- encoding</li>
- <li><font color="#ff0000">Slight change
- regarding ATH adjustment with V5</font></li>
- <li><font color="#ff0000">Reinstated bit
- reservoir for 320kbps CBR</font></li>
- <li><font color="#3366ff">ReplayGain analysis
- should now be faster when encountering silent parts</font></li>
- </ul>
- </li>
- <li>Takehiro Tominaga:
- <ul>
- <li>Fixed a possible link problem of assembly code</li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.97 beta 1 September 12 2005</h3>
- <ul>
- <li>Takehiro Tominaga:
- <ul>
- <li>Fixed an out of array access in mp3rtp </li>
- <li><font color="#ff0000">Fixed a quality
- setting in DLL</font></li>
- <li>Fixed display when using --silent</li>
- </ul>
- </li>
- <li>Vitaly Ivanov:
- <ul>
- <li>Updated DirectShow interface</li>
- </ul>
- </li>
- <li>Robert Hegemann:
- <ul>
- <li><font color="#ff0000">Fixed an out of
- array access</font></li>
- <li><font color="#ff0000">Fixed some small
- rounding problem in vbr-new quantization routines</font></li>
- <li><font color="#ff0000">Fixed a bug in
- vbr-new regarding high frequencies (sfb21) when using -Y</font></li>
- <li><font color="#ff0000">Fixed a few bugs in
- vbr-new when using -Y</font></li>
- <li><font color="#ff0000">Updated scalefactors
- allocation scheme in vbr-new</font></li>
- <li>Fixed mingw32 configure problems</li>
- <li>Resolved some compiler warnings</li>
- <li>Updated command-line visualisation</li>
- </ul>
- </li>
- <li>Gabriel Bouvigne:
- <ul>
- <li>Changed some FLOAT8 to FLOAT</li>
- <li>Added project files for VC7</li>
- <li><font color="#ff0000">Reworked -q1 and -q0</font></li>
- <li><font color="#ff0000">Updated presets</font></li>
- <li><font color="#ff0000">Fixed an error in
- ISO quantization on systems not using the IEEE754 hack</font></li>
- <li><font color="#3366ff">Faster quantization</font></li>
- <li><font color="#3366ff">SSE version of
- init_xrpow</font></li>
- </ul>
- </li>
- <li>Rogério Brito:
- <ul>
- <li>Updated Debian packaging</li>
- <li>Documentation work</li>
- </ul>
- </li>
- <li>Chris Miller:
- <ul>
- <li>Support for x64 platform SDK in makefile.msvc</li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.96.1 July 25 2004</h3>
- <ul>
- <li>Robert Hegemann:
- <ul>
- <li><font color="#ff0000">Fixed a rare bug in
- vbr-new (could lead to crashes or data corruption)</font></li>
- </ul>
- </li>
- <li>Gabriel Bouvigne:
- <ul>
- <li>some fixes in ACM codec</li>
- <li>fixed padding when encoding to 320kbps</li>
- <li><font color="#ff0000">fixed block size
- selection for mid and side channels</font></li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.96 April 11 2004</h3>
- <ul>
- <li>Gabriel Bouvigne:
- <ul>
- <li><font color="#ff0000">new quantization
- selection mode (used in ABR/CBR)</font></li>
- <li><font color="#ff0000">set sfscale for
- ABR/CBR up to 160kbps</font></li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.96 beta 2 March 28 2004</h3>
- <ul>
- <li>Takehiro Tominaga:
- <ul>
- <li><font color="#3366ff">removed unnecessary
- integer convertion in resampling</font></li>
- </ul>
- </li>
- <li>Robert Hegemann:
- <ul>
- <li><font color="#ff0000">reworked scalefactor
- allocation in vbr-new</font></li>
- <li>fixed a freeformat decoding problem</li>
- </ul>
- </li>
- <li>Gabriel Bouvigne:
- <ul>
- <li><font color="#ff0000">updated minimal
- bitrate for V1 and V2</font></li>
- </ul>
- </li>
- <li>Aleksander Korzynski:
- <ul>
- <li>added ability to disable ReplayGain analysis</li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.96 beta March 7 2004</h3>
- <ul>
- <li>Takehiro Tominaga:
- <ul>
- <li>fixed decoding issue</li>
- </ul>
- </li>
- <li>Aleksander Korzynski:
- <ul>
- <li>changed internal ReplayGain handling</li>
- <li>fixed some issues when ReplayGain is used with
- resampling</li>
- </ul>
- </li>
- <li>Robert Hegemann:
- <ul>
- <li>added standard ISO quantization for vbr-new, used at
- lower quality settings</li>
- <li><font color="#3366ff">faster count_bits
- for vbr-new</font></li>
- <li><font color="#3366ff">faster
- find_scalefac_ave function for vbr-new</font></li>
- <li><font color="#ff0000">fixed an out of
- array access in psychoacoustic models; this bug could make some psy
- calculations worthless and sometimes let lame crash</font></li>
- <li><font color="#ff0000">fixed an error on
- silent scalefactor bands; this bug resulted in huffman data overrun
- problems while decoding, resulting in audible glitches</font></li>
- <li>fixed a freeformat decoding bug</li>
- </ul>
- </li>
- <li>Gabriel Bouvigne:
- <ul>
- <li><font color="#ff0000">adjusted short block
- thresholds</font></li>
- <li>fixed some array addressing bugs</li>
- <li>made ReplayGain analysis reentrant</li>
- </ul>
- </li>
- <li>David Chandler: fixed a crash in quantize_xrpow </li>
- <li>Michal Bacik: fixed a crash when using 8kHz </li>
- <li>Goran Markovic: fixed some decoding bugs </li>
- <li>John Edwards: fixed a too small buffer in ReplayGain code</li>
- </ul>
- <br>
- <h3>LAME 3.95.1 January 12 2004</h3>
- <ul>
- <li>Gabriel Bouvigne:
- <ul>
- <li>fixed a crash when using vbr-new</li>
- <li>changed ReplayGain reference level to 89dB</li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.95 January 11 2004</h3>
- <ul>
- <li>Gabriel Bouvigne:
- <ul>
- <li><font color="#ff0000">fixed lowpass values
- when using vbr with mono files</font></li>
- <li><font color="#3366ff">faster quantization
- loops</font></li>
- <li><font color="#3366ff">faster count_bits</font></li>
- <li>fixed a buffer requirement error in ACM codec</li>
- </ul>
- </li>
- <li>Takehiro TOMINAGA:
- <ul>
- <li>fixed mpglib and other decoding support code to prevent
- the crash when invalid mp3 input</li>
- </ul>
- </li>
- <li>removed Layer I decoding support</li>
- <li><font color="#3366ff">use FastLog and IEEE 754
- hack on PowerPC too (approx. 10 percent faster)</font></li>
- </ul>
- <br>
- <h3>LAME 3.94 beta December 15 2003</h3>
- <ul>
- <li>Takehiro Tominaga:
- <ul>
- <li><font color="#ff0000">fixed block
- switching of nspsytune</font></li>
- <li><font color="#ff0000">best huffman divide
- in the inner loop.</font> This should improve the quality, but
- PAINFULLY slow. So it is not enabled by default. Use -q0 to use it.</li>
- <li>Changed -q option mapping. "-q2" until version 3.93 is
- now "-q3".</li>
- <li><font color="#ff0000">saving bits by
- better scalefactor storing</font></li>
- <li>removed Vorbis support</li>
- <li><font color="#ff0000">substep quantization.</font>This
- should help breaking the SFB21 bloating problem</li>
- <li><font color="#ff0000">made psychoacoustic
- model aware of ATH adjustements</font></li>
- <li><font color="#ff0000">use ATH value as
- short block masking lower limit</font></li>
- <li><font color="#ff0000">several fixes in
- psychoacoustic model</font></li>
- <li>more robust decoding</li>
- </ul>
- </li>
- <li>Mark Taylor / Gabriel Bouvigne: fixed issues in VBR header</li>
- <li>Mark Taylor: workaround against some hardware decoder
- defficiencies</li>
- <li>Aleksander Korzynski: ability to compute the "Radio"
- ReplayGain and detect clipping on the fly. The ReplayGain value is
- stored in the Lame tag.</li>
- <li>Gabriel Bouvigne:
- <ul>
- <li><font color="#ff0000">work on presets</font></li>
- <li><font color="#ff0000">use presets by
- default for cbr/abr</font></li>
- <li><font color="#ff0000">use presets by
- default for vbr</font></li>
- <li><font color="#ff0000">analog silence
- detection in partitionned sfb21</font></li>
- <li><font color="#3366ff">do not compute noise
- in upper 0 part of the spectrum</font></li>
- <li><font color="#3366ff">only compute noise
- in modified scalefactor bands</font></li>
- </ul>
- </li>
- <li>Guillaume Lessard:
- <ul>
- <li>nogap related changes</li>
- </ul>
- </li>
- <li>Alexander Leidinger:
- <ul>
- <li>prevent closing the input fd prematurely if the input
- is a named pipe</li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.93.1 December 1 2002</h3>
- <ul>
- <li>Gabriel Bouvigne:
- <ul>
- <li>preset medium added to the dll interface</li>
- <li><font color="#ff0000">fix for abr/cbr
- presets</font></li>
- <li><font color="#ff0000">fix -q0 switch</font></li>
- </ul>
- </li>
- <li>Alexander Leidinger: fix link problem on systems where
- socket() resides in libsocket</li>
- </ul>
- <br>
- <h3>LAME 3.93 November 16 2002</h3>
- <ul>
- <li>Takehiro Tominaga:
- <ul>
- <li><font color="#ff0000">bit allocation for
- pre-echo control improved for single channel encodings</font></li>
- <li><font color="#ff0000">substep noise shaping</font></li>
- <li><font color="#3366ff">optimizations by
- changing data structure</font></li>
- <li><font color="#ff0000">noise shaping model
- 2 fix</font></li>
- <li><font color="#3366ff">nspsytune FIR filter
- clean up</font></li>
- <li><font color="#ff0000">fix small psymodel
- bugs(DC current estimation, preecho detection of non-VBR mode, and
- nspsymode initialization)</font></li>
- <li>portability fixes for Tru64 UNIX</li>
- </ul>
- </li>
- <li>Albert Faber: some fixes in the DLL</li>
- <li>Simon Blandford: fixes for channel scaling in mono mode</li>
- <li><font color="#3366ff">Dominique Duvivier: some
- optimizations and a faster log10 function</font></li>
- <li>Mark Taylor:
- <ul>
- <li>some tag related fixes in the direct show filter and in
- the ACM codec</li>
- <li><font color="#3366ff">fixed a mono
- encoding bug found by Justin Schoeman</font></li>
- <li>calc_noise bug fix</li>
- <li>other fixes</li>
- </ul>
- </li>
- <li>Alexander Leidinger:
- <ul>
- <li>update to autoconf 2.53, rewrite some configure tests</li>
- <li>Akos Maroy: determine gcc version even with gcc 3.1</li>
- <li>Andrew Bachmann: compile shared libs on BeOS (and
- perhaps other arches)</li>
- <li>ultrasparc switches for gcc 3.1</li>
- <li>fixes for SunOS 4.x</li>
- <li>fixes for 64bit arches</li>
- <li>CFLAGS fix for IRIX</li>
- <li>don't override CFLAGS if exptopt isn't requested</li>
- </ul>
- </li>
- <li>Robert Hegeman:
- <ul>
- <li><font color="#3366ff">some fixes</font></li>
- <li><font color="#ff0000">some fixes for VBR</font></li>
- </ul>
- </li>
- <li>Gabriel Bouvigne:
- <ul>
- <li>--noasm switch. Might help Cyrix/Via users</li>
- <li><font color="#ff0000">presets and
- alt-presets merged</font></li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.92 April 14 2002</h3>
- <ul>
- <li><font color="#ff0000">Alexander
- Leidinger: add non linear psymodel (compile time option,
- disabled by default)</font>, workaround a bug in gcc 3.0.3
- (compiler options, based upon suggestions from various people, see
- archives and changelog for more)</li>
- <li>Steve Lhomme: ACM wrapper (MS-Windows codec)</li>
- <li><font color="#3366ff">Steve Lhomme:
- less memory copying on stereo (interleaved) input</font></li>
- <li> <font color="#ff0000">Takehiro Tominaga:
- Inter-channel masking, enables with --interch x option</font></li>
- <li> For buggy versions of gcc compiler (2.96*), back off on
- some of the advanced compiler options<br>
- </li>
- </ul>
- <br>
- <h3>LAME 3.91 December 29 2001</h3>
- <ul>
- <li><font color="#ff0000">Darin
- Morrison: Bugfix for --alt-preset (for content with low
- volume, clean vocals), only important for the "fast standard" preset</font>
- </li>
- <li>Alexander Leidinger:
- <ul>
- <li>add some missing files to the distribution</li>
- <li>add --alt-preset to the man page</li>
- </ul>
- </li>
- </ul>
- <br>
- <h3>LAME 3.90 December 21 2001</h3>
- <ul>
- <li><font color="#ff0000">Many small improvements
- and bug fixes not added to history</font></li>
- <li><font color="#ff0000">John
- Dahlstrom: more fine tuning on the auto adjustment of the ATH</font></li>
- <li><font color="#3366ff">Robert
- Hegemann: small speed and quality improvements for the old
- VBR code (--vbr-old).</font> </li>
- <li><font color="#ff0000">Robert
- Hegemann: some short block bug fixes</font> </li>
- <li><font color="#ff0000">Robert
- Hegemann: Big improvements to --vbr-mtrh, now encodes much
- more frequencies over 16khz</font> </li>
- <li><font color="#ff0000">Robert
- Hegemann: --vbr-new code disabled (outdated and lower
- quality) and replaced with --vbr-mtrh (Both --vbr-new and --vbr-mtrh
- now default to mtrh)</font> </li>
- <li>Robert Hegemann: reordering of --longhelp to give
- more information, --extrahelp dropped </li>
- <li>Darin Morrison: Totally revamped and extremely
- high quality unified preset system and other general quality
- improvements now available with --alt-presets:
- <ul>
- <li> <font color="#ff0000">some improvements
- to psychoacoustics (vast improvements over default L.A.M.E. modes) when
- --alt-preset is used including:</font>
- <ul>
- <li> <font color="#ff0000">Improved tuning
- of short block usage.</font></li>
- <li> <font color="#ff0000">Improved
- quantization selection usage (the -X modes), now adapts between
- appropriate modes on the fly. Also helps on "dropout" problems and with
- pre-echo cases.</font></li>
- <li> <font color="#ff0000">Improved joint
- stereo usage. Thresholds are better tuned now and fix some "dropout"
- problems L.A.M.E. suffers from on clips like serioustrouble.</font></li>
- <li> <font color="#ff0000">Improved noise
- shaping usage. Now switches between noise shaping modes on the fly
- (toggles -Z on and off when appropriate) which allows lower bitrates
- but without the quality compromise.</font></li>
- <li> <font color="#ff0000">Clips vastly
- improved over default L.A.M.E. modes (vbr/cbr/abr, including --r3mix):
- castanets, florida_seq, death2, fatboy, spahm, gbtinc, ravebase, short,
- florida_seq, hihat, bassdrum, 2nd_vent_clip, serioustrouble, bloodline,
- and others. No degraded clips known.</font></li>
- <li> VBR bitrates are now more "stable" with less
- fluctuation -- not dipping too low on some music and not increasing too
- high unnecessarily on other music. "--alt-preset standard" provides
- bitrates roughly within the range of 180-220kbps, often averaging close
- to 192kbps.</li>
- </ul></li>
- <li> --alt-presets replace the --dm-presets and "metal"
- preset is removed and replaced with generic abr and cbr presets.</li>
- <li> --alt-preset extreme (note the 'e') replaces xtreme to
- help eliminate some confusion</li>
- <li> --alt-preset vbr modes now have a fast option which
- offers almost no compromise in speed.</li>
- <li> --alt-preset standard (and "fast standard") are now
- much lower in bitrate, matching --r3mix with an overall average, though
- offering higher quality especially on difficult test samples.</li>
- <li> --alt-presets are no longer just "presets" as in a
- collection of switches, instead they are now quality "modes" because of
- special code level tunings (those mentioned above).</li>
- <li> Use --alt-preset help for more information.</li>
- </ul>
- </li>
- <li>Roel VdB: more tuning on the --r3mix preset </li>
- <li>Jon Dee, Roel VdB: INFO tag</li>
- <li>Alexander Leidinger, mp3gain@hotmail.com: added
- --scale-l and --scale-r to scale stereo channels independantly </li>
- <li>Takehiro Tominaga: <font color="#ff0000">new
- noise shaping mode, offering more "cutting edge" shaping according to
- masking, enabled via -q0</font> </li>
- <li>Mark Taylor: More work on --nogap </li>
- <li>Gabriel Bouvigne: Small changes to abr code for
- more accurate final bitrate </li>
- <li>Gabriel Bouvigne, mp3gain@hotmail.com:
- Preliminary <a href="http://www.replaygain.org">
- ReplayGain</a> analysis code added (not functional yet) </li>
- <li>Gabriel Bouvigne, Alexander Leidinger:
- Documentation updates </li>
- <li>John Dahlstrom, DSPguru@math.com: floating point
- interface function in the Windows DLL</li>
- </ul>
- <br>
- <h3>LAME 3.89beta July 5 2001</h3>
- <ul>
- <li> John Stewart: long filename support for Win9x/NT.</li>
- <li> Takehiro Tominaga: LAME can calculate the CRC of
- VBR header, so now "lame -pv" works fine.</li>
- <li><font color="#ff0000">Robert
- Hegemann: Improvements of the new VBR code (--vbr-mtrh).</font></li>
- <li><font color="#3366ff">Robert Hegemann: New VBR
- code (--vbr-mtrh) is now defaulted to get more feedback. The VBR speed
- is now on par with CBR. We will use the old VBR code in the release.</font></li>
- <li><font color="#ff0000">Gabriel Bouvigne: Change
- of the maximum frame size limit. LAME should now be more friendly with
- hardware players.</font></li>
- <li>Gabriel Bouvigne: Size of VBR is now more balanced
- according to the -V value.</li>
- <li>Alexander Leidinger: Finished the implementation of the
- set/get functions.</li>
- <li>John Dahlstrom: LAME now handles 24bits input</li>
- <li>Mark Taylor: bugs in lame --decode causing truncation of
- mp3 file fixed</li>
- <li>Mark Taylor: preliminary --nogap support</li>
- <li>"Final" API completed: shared library safe! This
- API is frozen and should be backwords compatiable with future versions
- of libmp3lame.so, but we will continue to add new functionality.
- <br>
- </li>
- </ul>
- <h3> LAME 3.88beta March 25 2001</h3>
- <ul>
- <li> <font color="#ff0000">A lot of work that was
- never added to the History!</font></li>
- <li> <font color="#ff0000">Frank Klemm and
- Gabriel Bouvigne: New ATH formula. Big improvement
- for high bitrate encodings.</font></li>
- <li> <font color="#ff0000">Takehiro Tominaga:
- Temporal masking</font></li>
- <li> <font color="#ff0000">Gabriel Bouvigne/Mark
- Taylor: auto adjustment of ATH</font></li>
- <li> <font color="#ff0000">Robert
- Hegemann: Better outer_loop stopping criterion.
- Enabled with -q2 or better.</font></li>
- <li> <font color="#ff0000">Robert Hegemann/Naoki
- Shibata: slow/carefull noise shaping.
- -q3..9: amplify all distorted bands. -q2: amplify
- distorted bands within 50%. -q1-0: amplify only
- most distorted band at each iteration.</font></li>
- <li> <font color="#ff0000">Takehiro Tominaga:
- Interframe, shortblock temporal masking.</font></li>
- <li> Takehiro Tominaga: LAME restructured into a
- shared library and front end application. Slight changes to
- the API. More changes are coming to turn LAME into a true shared
- library (right now you have to recompile if you upgrade the library :-(</li>
- <li> <font color="#000000">Naoki Shibata:</font>
- <ul>
- <li> <font color="#ff0000">improvements to
- psychoacoustics</font><font color="#000000">
- (--nspsytune)</font>
- <li> <font color="#ff0000">BUG in long block
- pre echo control fixed </font><font color="#000000">
- (some out of range array access in M/S psychoacoustics)</font></li>
- </ul>
- </li>
- <li> <font color="#000000">Ralf
- Kempkens: Visual Basic Script for lame,
- suggested to put it on your Windows Desktop and you can drag'n'drop
- Waves to encode on it.</font></li>
- <li> <font color="#000000">Alexander
- Stumpf: improved lame.bat for 4Dos users</font></li>
- <li> <font color="#000000">Mark Taylor: Several
- bugs fixed in the resampling code.</font></li>
- <li> <font color="#000000">Frank Klemm, Robert
- Hegemann: added assembler code for CPU
- feature detection on runtime (MMX, 3DNow, SIMD)</font></li>
- <li> <font color="#3366ff">Takehiro Tominaga:
- 3DNow FFT code.</font></li>
- <li> <font color="#000000">Florian Bome,
- Alexander Leidinger: more work on
- configure stuff</font></li>
- <li> <font color="#000000">Alexander
- Leidinger: automake/libtool generated Makefiles and
- TONS of other work.</font></li>
- <li> <font color="#000000">Alexander
- Leidinger: Much work towards shared library style
- API.</font></li>
- <li> <font color="#000000">Anonymous: New more
- efficient RTP code.</font></li>
- <li> <font color="#ff0000">Mark Taylor:
- psycho-acoustic data now computed for all scalefactor bands (up to 24
- kHz)</font></li>
- <li> <font color="#ff0000">Mark Taylor, Takehiro
- Tominaga: All ISO table data replaced by formulas - should improve
- MPEG2.5 results for which we never had correct table data.</font></li>
- </ul>
- <h3> LAME 3.87alpha September 25 2000</h3>
- <ul>
- <li> Mark Taylor: Bug fixed in LAME/mpglib error
- recovery when encountering a corrupt MP3 frame during
- *decoding*.</li>
- <li> Albert Faber: added LayerI+II decoding support</li>
- <li> <font color="#000000">Frank Klemm:
- added improved CRC calculation</font></li>
- <li> <font color="#000000">Frank Klemm:
- substantial code cleanup/improvements</font></li>
- <li> Robert Hegemann: Bug fixes
- <ul>
- <li> <font color="#ff0000">in huffman_init</font>,
- could lead to segmentation faults (only in rare cases, most likely at
- lower sample rates)</li>
- <li> <font color="#ff0000">M/S switching at
- lower sample rates</font> (the fact there is no 2nd granule was
- ignored)</li>
- </ul>
- </li>
- <li> <font color="#3366ff">Robert
- Hegemann: speed up in VBR</font></li>
- <li> Jarmo Laakkonen: Amiga/GCC settings for
- Makefile.unix.</li>
- <li> Magnus Holmgren: README and Makefile for (free)
- Borland C++ compiler. Will also compile lame_enc.dll, but
- this is untested.</li>
- <li> Florian Bome: LAME finally has
- a ./configure script!!</li>
- </ul>
- <h3> LAME 3.86beta August 6 2000</h3>
- <ul>
- <li> Christopher Wise: A makefile for DJGPP, the DOS
- version of gcc. Now most windows users should be able to
- compile LAME with minimal effort.</li>
- <li> <font color="#ff0000">Robert
- Hegemann: old VBR: fixed some bugs and
- Takehiro's scalefac_scale feature (not yet on by
- default.) older LAME versions did not allow to spent more
- than 2500 bits of 4095 possible bits to a granule per channel, now
- fixed.</font></li>
- <li> Robert Hegemann: new VBR:
- analog silence treatment like in old VBR</li>
- <li> William Welch: Improved options for Linux/Alpha
- gcc and ccc compilers in Makefile.</li>
- <li> Mathew Hendry: setting appropriate CRC bit for
- additional Xing-VBR tagging frame</li>
- <li> Don Melton: added ID3 version 2 TAG support</li>
- <li> <font color="#000000">John Dahlstrom: fixed
- bug allowing timing information (for status in command line encoder) to
- overflow.</font></li>
- <li> <font color="#000000">Tamito KAJIYAMA, Fixed
- several bugs in the LAME/Vorbis interface.</font></li>
- <li> <font color="#000000">Mark Taylor:
- lame --decode will recognize <a href="http://albumid.cjb.net">Album
- ID tags</a></font></li>
- <li> <font color="#ff0000">Naoki
- Shibata: Additive masking and other improvements to psycho
- acoustics. (not yet on by default)</font></li>
- </ul>
- <h3> LAME 3.85beta July 3 2000</h3>
- <ul>
- <li> <font color="#ff0000">Takehiro
- Tominaga: mid/side stereo demasking thresholds updated.</font></li>
- <li> Takehiro Tominaga: New short block MDCT coefficient data
- structure. Should allow for future speed improvements.</li>
- <li> Robert Hegemann: fixed bug in old VBR routine,
- the --noath mode messed up the VBR routine resulting in very large files</li>
- <li> Robert Hegemann: found bugs in some sections when using 32
- bit floating point. Default is now back to 64bit floating
- point.</li>
- <li> <font color="#ff0000">Takehiro
- Tominaga: Modified PE formula to use ATH.</font></li>
- <li> <font color="#000000">S.T.L.:
- README.DJGPP - instructions for compiling LAME with DJGPP, the dos
- version of gcc.</font></li>
- </ul>
- <h3> LAME 3.84beta June 30 2000</h3>
- <ul>
- <li> Mark Weinstein: .wav file output (with --decode
- option) was writing the wrong filesize in the .wav file. Now
- fixed.</li>
- <li> Mark Taylor: (optional) Vorbis support, both
- encoding and decoding. LAME can now produce .ogg files, or
- even re-encode your entire .ogg collection into
- mp3. (Just kidding: it is always a bad idea to
- convert from one lossy format to another)</li>
- <li> ?: Bug fixed causing VBR to crash under
- windows. (pretab[] array overflow)</li>
- <li> Sergey Sapelin: Another bug found in the mpg123 MPEG2
- tables. Now fixed for the mpg123 based decoder in LAME.</li>
- <li> Marco Remondini: VBR histogram works in
- win32. compile with -DBRHIST -DNOTERMCAP</li>
- <li> <font color="#ff0000">Takehiro
- Tominaga: LAME CBR will now use scalefac_scale to expand the
- dynamic range of the scalefactors.</font></li>
- <li> <font color="#000000">Iwasa Kazmi:
- Library improvements: exit()'s, printf, fprintf's are being
- replaced by interceptable macros.</font></li>
- </ul>
- <h3> LAME 3.83beta May 19 2000</h3>
- <ul>
- <li> <font color="#ff0000">Mark Taylor:
- Bug in buffering routines: in some cases, could cause
- MDCT to read past end of buffer. Rare in MPEG2,
- even more rare for MPEG1, but potentially serious!</font></li>
- <li> Mark Taylor: MDCT/polyphase filterbank was not
- being "primed" properly. Does not effect output unless you
- set the encoder delay lower than the default of 576 samples.</li>
- <li> <font color="#ff0000">Mark Taylor:
- "vdbj" and "Caster" found several VBR bugs (now
- fixed): 1. Analog silence detection only
- checked frequencies up to 16 kHz. 2. VBR mode could
- still somehow avoid -F mode. 3. VBR mode would
- ignore noise above 16 kHz (scalefactor band 22), Now calc_noise1 will
- compute the noise in this band when in VBR mode. Not
- calculated in CBR mode since CBR algorithm has no way of
- using this information.</font></li>
- <li> Mark Taylor: scalefactor band 22 info
- (masking(=ATH), noise and energy) now displayed in frame
- analyzer.</li>
- <li> <font color="#ff0000">VBR code ATH tuning
- was disabled by accident in 3.81, now fixed.</font></li>
- <li> <font color="#000000">Mark Taylor:
- lame --decode will produce .wav files. (oops - size is off by
- a factor of 4)</font></li>
- </ul>
- <h3> LAME 3.82beta May 11 2000</h3>
- <ul>
- <li> Robert Hegemann: Fixed bug in high bitrate joint
- stereo encodings.</li>
- <li> <font color="#3366ff">Naoki
- Shibata: new long block MDCT routine</font></li>
- </ul>
- <h3> LAME 3.81beta May 8 2000</h3>
- <ul>
- <li> all ISO code removed!</li>
- <li> <font color="#3366ff">Takehiro Tominaga and
- Naoki Shibata: new window subband routines.</font></li>
- <li> <font color="#000000">Naoki
- Shibata: Bug fix in mpglib (decoding) lib: in some
- cases, MDCT coefficients from previous granule was incorrectly used for
- the next granule.</font></li>
- <li> <font color="#ff0000">ISO 7680 bit buffer
- limitation removed. It can be reactivated with
- "--strictly-enforce-ISO" Please report any trouble with high
- bitrates.</font></li>
- </ul>
- <h3> LAME 3.80beta May 6 2000</h3>
- <ul>
- <li> <font color="#ff0000">Takehiro
- Tominaga: more efficient and faster huffman encoding!</font></li>
- <li> <font color="#ff0000">Takehiro Tominaga and
- Mark Taylor: much improved short block compression!</font></li>
- <li> <font color="#000000">Tomasz Motylewski and
- Mark Taylor: MPEG2.5 now supported!</font></li>
- <li> <font color="#000000">Mark Taylor:
- incorporated Takehiro's bitstream.c! bitstream.c used by
- default, but old ISO bitstream code can also be used.</font></li>
- <li> <font color="#ff0000">Scott Manley
- and Mark Taylor: good resampling routine finaly in
- LAME. uses a 19 point FIR filter with Blackman
- window. Very slow for non integer resampling ratios.</font></li>
- <li> <font color="#000000">Iwasa Kazmi:
- fixed SIGBUS error: VBR and id3 tags were using data after it
- was free()'d.</font></li>
- <li> <font color="#ff0000">Robert
- Hegemann: Improved VBR tuning. #define
- RH_QUALITY_CONTROL and #RH_SIDE_VBR now the defaults.</font></li>
- <li> <font color="#000000">Robert
- Hegemann: LAME version string now added to
- ancillary data.</font></li>
- <li> Kimmo Mustonen: VBR histogram support for Amiga.</li>
- <li> Casper Gripenberg: VBR stats (but not histogram)
- for DOS verson.</li>
- <li> Robert Hegemann: rare VBR overflow bug fixed.</li>
- <li> Zack: -F option strictly enforces the VBR min
- bitrate. Without -F, LAME will ignore the minimum bitrate
- when encoding analog silence.</li>
- <li> Shawn Riley: User can now specify a compression
- ratio (--comp <arg>) instead of a bit rate.
- Default settings based on a compression ratio of 11.0</li>
- <li> Mark Taylor: free format bitstreams can be
- created with --freeformat, and specify any integer bitrate from 8 to
- 320kbs with -b.</li>
- <li> Mark Taylor: lame be used as a decoder (output raw pcm
- only): lame --decode input.mp3 output.pcm</li>
- </ul>
- <h3> LAME 3.70 April 6 2000</h3>
- <ul>
- <li> "LAME 3.69beta" becomes LAME 3.70 "stable"</li>
- </ul>
- <h3> LAME 3.69beta April 6 2000</h3>
- <ul>
- <li> "spahm": default mode selection bug
- fixed. In some cases, lame was defaulting to regular stereo
- instead of jstereo when the user did not specify a mode.</li>
- </ul>
- <h3> LAME 3.68beta April 4 2000</h3>
- <ul>
- <li> Mark Taylor: mono encoding bug in DLL fixed.</li>
- <li> Ingo Saitz: bug in --cwlimit argument parsing fixed.</li>
- <li> <font color="#ff0000">Scott Manly: bug in
- 4-point resample code fixed.</font></li>
- </ul>
- <h3> LAME 3.67beta March 27 2000</h3>
- <ul>
- <li> <font color="#ff0000">Robert
- Hegemann: jstereo now enabled for MPEG2 encodings</font></li>
- <li> Mark Taylor: old M/S stereo mode which used L/R maskings
- has been removed.</li>
- <li> Mark Taylor: Xing MPEG2 VBR headers now working.</li>
- <li> <font color="#ff0000">Mark Taylor:
- When quantized coefficients are all 0 in a band, set scalefactors to 0
- also to save a few bits.</font></li>
- <li> <font color="#000000">Ingo Saitz:
- Problems with framesize calculation when using -f fast-math option
- fixed.</font></li>
- </ul>
- <h3> LAME 3.66beta March 21 2000</h3>
- <ul>
- <li> Bug fixes in BladeEnc DLL, possible click in last mp3
- frame, VBR historgram display, byteswapping option, ASM quantize
- routines work for both float and double.</li>
- </ul>
- <h3> LAME 3.65beta March 17 2000</h3>
- <ul>
- <li> Enabled ASM version of quantize_xrpow() - accidently
- disabled in lame3.64.</li>
- </ul>
- <h3> LAME 3.64beta March 16 2000</h3>
- <ul>
- <li> Don Melton: id3v1.1 tags & id3 bugfixes</li>
- <li> <font color="#ff0000">Gabriel
- Bouvigne: L/R matching block type fix</font></li>
- <li> <font color="#ff0000">Bug fixed which was
- allowing quantized values to exceed the maximum when not using -h</font></li>
- <li> <font color="#3366ff">Mark Taylor: Fitlers
- based on polyphase filterbank. should be slightly better
- since the responce is independent of the blocktype, and they are
- slightly faster.</font></li>
- <li> Mark Taylor: API: the API changed slightly - and
- this should be the final version. There is a new routine:
- lame_encode_buffer() which takes an arbritray sized input buffer,
- resamples & filters if necessary, encodes, and returns the
- mp3buffer. There are also several new #defines, so it is
- possible to compile a simple encoding library with no decoding or file
- I/O or command line parsing. see the file API for details.</li>
- <li> Mark Taylor: MSVC stuff: lame.exe (with and
- without the frame analyzer) and the CDex lame_enc.dll
- should compile under MSVC. The MSVC5 project files may need
- some tweaking. In particular,
- you need to make sure LAMEPARSE, LAMESNDFILE and HAVEMPGLIB
- are defined. (and HAVEGTK for the GTK stuff).</li>
- </ul>
- <h3> LAME 3.63beta February 20 2000</h3>
- <ul>
- <li> Robert Hegemann: FPE with -h fixed?</li>
- <li> Mathey Hendry: FPE error catching for Cygwin,
- FPE fix for vbr mode and output to /dev/null</li>
- <li> Jeremy Hall: Fixed problems with input files
- where the number of samples is not known.</li>
- <li> <font color="#3366ff">Mathew
- Hendry: ASM quantize_xrpow() for GNU i386</font></li>
- <li> <font color="#3366ff">Wilfried
- Behne quantize_xrpow ()for PowerPC and non-ASM</font></li>
- <li> <font color="#3366ff">Takehiro
- Tominaga: GOGO FFTs (not yet used?)</font></li>
- </ul>
- <h3> LAME 3.62beta February 9 2000</h3>
- <ul>
- <li> <font color="#000000">Iwasa Kazmi:
- frame analyzer short block display of single subblocks (press
- 1,2 or 3)</font></li>
- <li> <font color="#000000">Ingo Saitz:
- --help option added, with output to stdout</font></li>
- <li> <font color="#ff0000">Alfred Weyers: short
- block AAC spreading function bug fixed</font></li>
- <li> <font color="#3366ff">Takehiro
- Tominaga: new scalefac data structure - improves performance!</font></li>
- <li> <font color="#ff0000">Lionel
- Bonnet: Bug fixed in MPEG2 scalefactor routine: scalefactors
- were being severly limited.</font></li>
- <li> <font color="#3366ff">Takehiro
- Tominaga: faster FFT routines from. These routines
- are also compatible with the GOGO routines, in case someone is
- interested in porting them back to LAME.</font></li>
- <li> <font color="#3366ff">Sigbjørn
- Skjæret, Takehiro Tominaga: faster pow() code.</font></li>
- <li> <font color="#ff0000">Joachim
- Kuebart: Found some unitialized variables that were effecting
- quality for encodings which did not use the -h option (now fixed).</font></li>
- <li> Mark Taylor: More modularization work.
- It is now possible to use LAME as a library where you can set the
- encoding parameters directly and do your own file
- i/o. The calling program is now it's own mp3
- output. For an example of the LAME API, see main.c, or
- mp3rtp.c or mp3x.c. These can all be compiled as stand alone
- programs which link with libmp3lame.a.</li>
- <li> Felix vos Leitner: mp3rtp fixes.
- mp3rtp is a standalone program which will encode and stream with RTP.</li>
- <li> Robert Hegemann: Information written to stderr
- displaying exactly which type of lowpass filter (if any) is being used.</li>
- <li> Iwasa Kazmi: mpglib (the mpg123 decoder) scsfi
- decoding fixes.</li>
- <li> Takehiro Tominaga: More mpglib scsfi decoding
- fixes.</li>
- </ul>
- <h3> LAME 3.61beta January 14 2000</h3>
- <ul>
- <li> <font color="#ff0000">Mark Taylor: Fixed bug
- with lowpass filters when using VBR with a 64kbs or lower min bitrate
- setting.</font></li>
- <li> <font color="#ff0000">Takehiro
- Tominaga: more efficient huffman encoding splitting.</font></li>
- </ul>
- <h3> LAME 3.60beta January 9 2000</h3>
- <ul>
- <li> Mark Taylor: Distribution now comes with self
- test. Needs work to be automated, see 'make test' in Makefile.</li>
- <li> <font color="#ff0000">Mark Taylor: AAC
- spreading function now the default</font></li>
- <li> Gabriel Bouvigne: updated HTML docs</li>
- <li> Felix von Leitner: compute correct file length from Xing
- header (if present) when input file is a mp3 file</li>
- <li> Felix von Leitner: mp3rtp (standalone) program now
- included. Not yet tested. mp3rtp
- ip:port:ttl <infile>
- /dev/null will stream directly to ip:port using RTP.</li>
- </ul>
- <h3> LAME 3.59beta January 4 2000</h3>
- <ul>
- <li> Takehiro Tominaga: --noath option.
- Disables ATH maskings.</li>
- <li> Gabriel Bouvigne: updated HTML docs.</li>
- <li> Iwasa Kazmi: makefile fixes</li>
- <li> Mark Taylor: Fixed bug where first frame of data
- was always overwritten with 0's. Thanks to 'gol'</li>
- <li> <font color="#ff0000">Mark Taylor:
- bug fixes in mid/side masking ratios (thanks to Menno Bakker)</font></li>
- <li> Mark Taylor: replaced norm_l, norm_s table data
- with formulas.</li>
- </ul>
- <h3> LAME 3.58beta December 13 1999</h3>
- <ul>
- <li> <font color="#ff0000">Segher
- Boessenkool: More accurate quantization procedure!
- Enabled with -h.</font></li>
- <li> <font color="#3366ff">Mathew Hendry, Acy
- Stapp and Takehiro Tominaga: ASM optimizations for quantize_xrpow and
- quantize_xrpow_ISO.</font></li>
- <li> Chuck Zenkus: "encoder inside" logo on web page</li>
- <li> Mark Taylor: a couple people have
- asked for this. Allow LAME to overide
- VBR_min_bitrate if analog_silence detected.
- Analog_silence defined a la Robert:
- energy < ATH.</li>
- <li> An Van Lam: Valid bitrates were being printed for layer 2,
- not layer 3!</li>
- <li> Ethan Yeo: Makefile.MSVC updated</li>
- <li> Mark Stephens: updated all MSVC project files</li>
- <li> Robert Hegemann: lowpass and highpass filters
- can be enabled with --lowpass, --highpass</li>
- <li> <font color="#ff0000">Mark Taylor:
- MS switching is now smoother: ms_ratio average over 4 granules</font></li>
- <li> <font color="#ff0000">Takehiro
- Tominaga: Scalefactor pre-emphasis fixed (and now turned back
- on)</font></li>
- <li> <font color="#ff0000">Takehiro
- Tominaga: Bug in M/S maskings: switch to turn on
- stereo demasking code was buggy.</font></li>
- </ul>
- <h3> LAME 3.57beta November 22 1999</h3>
- <ul>
- <li> Sigbjørn Skjæret, patch to allow
- encoding from 8bit input files when using LIBSNDFILE</li>
- <li> Mark Taylor: Automatic downsampling to nearest valid
- samplerate.</li>
- <li> Mark Taylor: Scalefactor bands demarked on MDCT plot in
- frameanalyzer</li>
- <li> Mark Taylor: Scalefactor preemphasis disabled for
- now. The algorithm was often doing more harm than
- good.</li>
- </ul>
- <h3> LAME 3.56beta November 19 1999</h3>
- <ul>
- <li> Kimmo Mustonen: portabilty code cleanup.</li>
- <li> Vladimir Marek: id3 genre patch.</li>
- <li> Conrad Sanderson: new applypatch script.</li>
- <li> Mark Taylor: Initial window type now "STOP_TYPE" to reduce
- initial attenuation. This is needed because the new encoder
- delay is so short. With a NORM_TYPE, the first 240 samples
- would be attenuated.</li>
- <li> Mark Taylor: Padding at end of file now adjusted
- (hopefully!) to produce as little padding as possible while still
- guarantee all input samples are encoded.</li>
- <li> <font color="#ff0000">Takehiro
- Tominaga: Reduced shortblock extra bit allocation formulas by
- 10% since new huffman coding is at least 10% more efficient.</font></li>
- </ul>
- <h3> LAME 3.55beta November 11 1999</h3>
- <ul>
- <li> Albert Faber: updated BladeEnc.dll</li>
- <li> Mark Taylor: Simple lowpass filter added to linear
- downsampling routine.</li>
- <li> Nils Faerber: updated man page.</li>
- <li> Mark Taylor: All floating point variables are delcared
- FLOAT or FLOAT8. Change the definition of FLOAT8 in
- machine.h to run at 32bit preceision.</li>
- <li> Mark Taylor: Bug (introduced in 3.54beta) in
- stereo->mono downsampling fixed.</li>
- </ul>
- <h3> LAME 3.54beta November 8 1999</h3>
- <ul>
- <li> Mark Taylor: Encoder delay is now 48 samples.
- Can be adjusted to 1160 to sync with FhG (see ENCDELAY in
- encoder.h) This is kind of amazing, since if Takehiro put his
- MDCT/filterbank routine in a decoder, we could have a total
- delay of only 96 samples.</li>
- <li> <font color="#ff0000">Mark Taylor: More
- inconstancies found and fixed in MPEG2 tables.</font></li>
- <li> Mark Taylor: Resampling from an MP3 input file now
- works. But we still dont have a lowpass filter so dont expect
- good results.</li>
- </ul>
- <h3> LAME 3.53beta November 8 1999</h3>
- <ul>
- <li> <font color="#3366ff">Takehiro
- Tominaga: Fixed MPEG2 problem in new MDCT routines.
- Takehiro's combined filterbank/MDCT routine is now the
- default. Removes all buffering from psymodel.c and the
- filterbanks/MDCT routines.</font></li>
- </ul>
- <h3> LAME 3.52beta November 8 1999</h3>
- <ul>
- <li> By permission of copyright holders of all GPL code in
- LAME, all GPL code is now released under a modified version
- of the LGPL (see the README file)</li>
- <li> By popular demand, all C++ comments changed to C style
- comments</li>
- <li> Mark Taylor: Linear resampling now works. Use
- --resample to set an output samplerate different from the input
- samplerate. (doesn't seem to work with mp3 input files, and
- there is no lowpass filter, so dont expect good results just yet)</li>
- <li> <font color="#3366ff">Takehiro
- Tominaga: Faster Huffman encoding routines</font></li>
- </ul>
- <font color="#3366ff">The following changes are disabled
- because of MPEG2 problems. But to try them, set MDCTDELAY=48
- in encoder.h, instead of MDCTDELAY=528.:</font>
- <ul>
- <li> <font color="#3366ff">Takehiro
- Tominaga: New MDCT routines with shorter delay (48 samples
- instead of 528) and even faster than the old routines.</font></li>
- <li> <font color="#3366ff">Takehiro
- Tominaga: Removed extra buffering in psymodel.c</font></li>
- </ul>
- <h3> LAME 3.51 November 7 1999</h3>
- <ul>
- <li> Takehiro Tominaga: Bug in quantize.c absolute threshold of
- hearing calculation for non-44.1 kHz input files.</li>
- </ul>
- <h3> LAME 3.50 November 1 1999</h3>
- <ul>
- <li> LAME 3.37beta becomes official LAME 3.50 release</li>
- </ul>
- <h3> LAME 3.37beta November 1 1999</h3>
- <ul>
- <li> <font color="#ff0000">Lionel
- Bonnet: Found severe bug in MPEG2 Short block SNR.</font></li>
- <li> Sergey Sapelin: VBR Toc improvement.</li>
- <li> Sergey Dubov: fskip() routine</li>
- <li> Conrad Sanderson: replacement for
- filterbank.c. Not much faster but amazingly simpler.</li>
- </ul>
- <h3> LAME 3.36beta October 25 1999</h3>
- <ul>
- <li> Albert Faber: more MSVC and BladeDLL updates</li>
- <li> Kimmo Mustonen: Much code cleanup and Amiga
- updates</li>
- <li> Anton Oleynikov: Borland C updates</li>
- <li> Mark Taylor: More stdin fixes: For some reason,
- forward fseek()'s would fail when used on pipes even though it is okay
- with redirection from "<". So I changed all the forward
- fseek()'s to use fread(). This should improve stdin support
- for wav/aiff files. If you know the input file is raw pcm,
- you can still use the '-r' option to avoid *all* seeking of any kind.</li>
- </ul>
- <h3> LAME 3.35beta October 21 1999</h3>
- <ul>
- <li> <font color="#ff0000">Leonid
- Kulakov: Serious bug in MPEG2 scalefactor band tables fixed.</font></li>
- <li> Portability patches from: Anton Oleynikov,
- Sigbjørn Skjæret, Mathew Hendry, Richard Gorton</li>
- <li> Alfred Weyers: compiler options, updated timestatus.</li>
- <li> Albert Faber: BladeDll and other updates (new
- machine.h).</li>
- <li> Monty: updated Makefile to fix gcc inline math
- bug.</li>
- </ul>
- <h3> LAME 3.34beta October 12 1999</h3>
- <ul>
- <li> <font color="#ff0000">Mark Taylor: Bug
- fixed: minimum bitrate in VBR mode could be ignored for a few
- frames.</font></li>
- <li> <font color="#ff0000">Mark Taylor: New
- (minor) VBR tunings.</font></li>
- <li> Tim Ruddick: New wav/aiff header parsing
- routines. Better parsing and fewer fseek()'s.</li>
- <li> Anton Oleynikov: patches to work with Borland C</li>
- <li> <font color="#ff0000">Gabriel
- Bouvigne: Experimental voice option enabled with --voice</font></li>
- </ul>
- <h3> LAME 3.33beta October 11 1999</h3>
- <ul>
- <li> <font color="#ff0000">Robert Hegemann: RH
- VBR mode now the default and only VBR mode. The new code will
- always quantize to 0 distortion and the quality is increased by
- reducing the masking from the psy-model. -X0 is still the
- default for now.</font></li>
- <li> <font color="#ff0000">Robert Hegemann: new
- -X5 mode</font></li>
- <li> Mathew Hendry: New timing code, removes the need for
- HAVETIMES</li>
- <li> <font color="#3366ff">Mathew
- Hendry: assembler quantize_xrpow for Windows</font></li>
- <li> Iwasa Kazmi: stdin/stdout patch for Windows</li>
- <li> Mark Taylor: New option: "--athonly" will ignore the
- psy-model output and use only the absolute threshold of hearing for the
- masking.</li>
- </ul>
- <h3> LAME 3.32beta October 8 1999</h3>
- <ul>
- <li> <font color="#3366ff">Takehiro
- Tominaga: faster long block spreading function convolution
- for non 44.1 kHz sampling frequencies, and faster short block spreading
- function convolution for all sampling frequencies.</font></li>
- <li> <font color="#ff0000">Takehiro
- Tominaga: Completly rewritten huffman table selection and
- count_bits(). More efficient table selection results in many
- more bits per frame.</font></li>
- <li> <font color="#ff0000">Takehiro
- Tominaga: More efficient scalefac compress setting.</font></li>
- <li> <font color="#3366ff">Mike Cheng: new
- calc_noise2()</font></li>
- <li> Alfred Weyers: patch for timestatus() seconds rollover</li>
- </ul>
- <h3> LAME 3.31beta September 28 1999</h3>
- <ul>
- <li> Albert Faber: updated his BladeDLL
- code. This allows LAME to be compiled into a BladeEnc
- compatiable .dll.</li>
- <li> <font color="#3366ff">Mike Cheng: faster
- l3psycho_ener() routine.</font></li>
- <li> Sigbjørn Skjæret: more code cleanup.</li>
- </ul>
- <h3> LAME 3.30beta September 27 1999</h3>
- <ul>
- <li> Conrad Sanderson: ID3 tag code added (type
- 'lame' for instructions)</li>
- <li> new mdct.c from Mike Cheng (no faster, but much cleaner
- code)</li>
- <li> Mathew Hendry: Microsoft nmake makefile and a couple other
- changes for MSVC</li>
- <li> More modulization work: One input sound file
- interface handles mp3's, uncompressed audio, with or without
- LIBSNDFILE. Fixes (hopefully) a bunch of file I/O bugs
- introduced in 3.29 (Mark Taylor)</li>
- <li> LAME will now print valid samplerate/bitrate combinations
- (Mark Taylor)</li>
- <li> stdin/stdout fix for OS/2 (Paul Hartman)</li>
- <li> For mp3 input files, totalframes estimated based on
- filesize and first frame bitrate. (Mark Taylor)</li>
- <li> Updated all functions with new style prototypes.
- (Sigbjørn Skjæret)</li>
- </ul>
- <h3> LAME 3.29beta September 21 1999</h3>
- <ul>
- <li> <font color="#ff0000">Bug in bigv_bitcount
- fixed. Loop.c was overestimating the number of bits needed,
- resulting in wasted bits every frame. (Leonid A. Kulakov)</font></li>
- <li> <font color="#ff0000">Bug in
- *_choose_table() fixed These routines would not
- sellect the optimal Huffman table in some cases.
- (Leonid A. Kulakov)</font></li>
- <li> <font color="#ff0000">Tuning of ATH
- normalization (macik)</font></li>
- <li> Removed unused variables and fixed function prototypes
- (Sigbjørn Skjæret)</li>
- <li> Sami Farin sent a .wav file
- that LAME built in support choked on. I
- added a slightly more sophisticated wav header parsing to handle this,
- but if you have trouble, use libsndfile.</li>
- <li> Resampling hooks and options added. Buffering
- and resampling routines need to be written.</li>
- <li> LAME will now take an mp3 file as input. When
- resampling code is working, LAME will be able to (for example) convert
- a high bitrate stereo mp3 to a low bitrate mono mp3 for streaming.</li>
- </ul>
- <h3> LAME 3.28beta September 15 1999</h3>
- <ul>
- <li> <font color="#ff0000">Serious bug fixed in
- high frequency MDCT coefficients. Huffman coding was
- reversing the order of the count1 block quadruples.
- (Leonid A. Kulakov)</font></li>
- <li> nint() problems under Tru64 unix fixed and preprocessor
- variable HAVE_NINT removed. (Bob Bell)</li>
- <li> Compiler warning fixes and code
- cleanup (Sigbjørn Skjæret,
- Lionel Bonnet)</li>
- <li> USAGE file now includes suggestions for
- downsampling. For low bitrate encodings, proper downsampling
- can give dramatically better results. (John Hayward-Warburton)</li>
- </ul>
- <h3> LAME 3.27beta September 12 1999</h3>
- <ul>
- <li> Several bugs in encode.c and l3bitstream.c fixed by Lionel
- Bonnet.</li>
- <li> Bugs in new VBR (#define RH) formula for mono input file
- and mid/side encoding fixed.</li>
- </ul>
- <h3> LAME 3.26beta September 10 1999</h3>
- <ul>
- <li> The "-m m" option (mono .mp3 file) will automatically mix
- left and right channels if the input file is stereo. (Alfred
- Weyers)</li>
- <li> <font color="#ff0000">New quant_compare
- algorithm (method for deciding which of two quantizations is better)
- enabled with -X4 (Greg Maxwell)</font></li>
- <li> <font color="#ff0000">New mid/side VBR bit
- allocation formula. Mid channel bits are set by the quality
- requirements, and then the side channel uses a reduced number of bits
- (in a proportion coming from the fixed bitrate code). This
- might not be optimal, but it should be pretty good and no one knows
- what the optimal solution should be. (Greg Maxwell)</font></li>
- <li> <font color="#ff0000">New VBR (#define RH)
- tunings based on detailed listening tests by Macik and Greg Maxwell.</font></li>
- <li> Sigbjørn Skjæret fixed several
- compiler warnings (which turned out to be potential bugs)</li>
- <li> Takehiro Tominaga fixed a low bitrate bug in reduce_side()</li>
- <li> Alfred Weyers fixed some buffer overflows.</li>
- <li> <font color="#ff0000">New ATH (absolute
- threshold of hearing) formula replaces buggy ISO code, and
- adds analog silence treatment (removal of
- coefficients below below ATH). These are turned on
- by default but have not been fully tested. (Robert Hegemann)</font></li>
- <li> <font color="#ff0000">Bug in short block
- spreading function fixed. (Robert Hegemann)</font></li>
- </ul>
- <h3> LAME 3.25beta August 22 1999</h3>
- <ul>
- <li> Sigbjørn Skjæret fixed a zero byte
- malloc call. This bug was introduced in 3.24 and
- causes problems on non Linux systems.</li>
- <li> Bit allocation routines would sometimes allocate more than
- 4095 bits to one channel of one granule. A couple of people
- reported problems that might be caused by this, especially at higher
- bitrates.</li>
- <li> Nils Faerber updated the man page and fixed many of the
- compiler warnings.</li>
- </ul>
- <h3> LAME 3.24beta August 15 1999</h3>
- <ul>
- <li> This release contains the following new code (for
- developers) which is disabled by default:</li>
- <li> Robert Hegemann: Completely overhauled VBR
- code. Now computes exact number of bits required for the
- given qualty and then quantized with the appropriate bitrate.</li>
- <li> Several new quantization quality measures.</li>
- </ul>
- <h3> LAME 3.23beta August 8 1999</h3>
- <ul>
- <li> Very nice continuously updated VBR histogram display from
- Iwasa Kazmi. (disabled with --nohist).</li>
- <li> More modulerization work. The encoding engine
- can now be compiled into libmp3lame, but the interface is awkward.</li>
- <li> <font color="#ff0000">Bug fixed in FFT Hann
- window formula (Leonid A. Kulakov).</font></li>
- <li> New LAME logo on the download page. Created by
- Chris Michalisles.</li>
- <li> <font color="#ff0000">Several VBR algorithm
- improvements from Robert Hegemann. New quantization noise
- metrics and VBR quality measure takes into account mid/side
- encoding. Should produce smaller files with the same quality,
- especially when using jstereo.</font></li>
- </ul>
- <h3> LAME 3.22beta July 27 1999</h3>
- <ul>
- <li> Downsampling (stereo to mono) bug with MPEG2
- fixed. (Mike Oliphant)</li>
- <li> Downsampling now merges L & R channels - before it
- only took the L channel.</li>
- <li> More modularization and code cleanup from Albert Faber and
- myself.</li>
- <li> Input filesize limit removed for raw pcm input
- files. For other file types, LAME will still only read the
- first 2^32 samples, (27 hours of playing time at 44.1 kHz).</li>
- </ul>
- <h3> LAME 3.21beta July 26 1999</h3>
- <ul>
- <li> <font color="#ff0000">Correct Mid/Side
- masking thresholds for JSTEREO mode! This is enabled with
- -h. It makes LAME about 20% slower since it
- computes psycho-acoustics for L,R Mid and Side channels.</font></li>
- <li> <font color="#ff0000">"Analog silence"
- threshold added. Keeps VBR from upping the bitrate during
- very quite passages. (Robert.Hegemann)</font></li>
- <li> <font color="#ff0000">New VBR quality
- setting from Robert Hegemann. It is based on the idea that
- distortion at lower bit rates sounds worse than at higher bitrates, and
- so the allowed distortion (VBR quality setting) is proportional to the
- bitrate. Because of this, default minimum bitrate is now
- 32kbs.</font></li>
- <li> <font color="#ff0000">Expermental subblock
- gain code enabled with -Z.</font></li>
- <li> New "-r" option for raw pcm input files. With
- -r, LAME will not do any fseek()'s or look for wav and aiff headers on
- the input file.</li>
- <li> Bug fixes in mp3x (frame analyzer) for viewing frames near
- end of the file.</li>
- <li> Bug fixed to allow setting the sampling rate of raw pcm
- input files.</li>
- </ul>
- <h3> LAME 3.20beta July 19 1999</h3>
- <ul>
- <li> Bug in get_audio.c fixed. Libsndfile wrappers
- would not compile (Miguel Revilla Rodriguez)</li>
- <li> Nils Faerber found some unitialized variables and some
- wierd extranous computations in filter_subband, now fixed.
- This was causing seg faults on some machines.</li>
- </ul>
- <h3> LAME 3.19beta July 18 1999</h3>
- <ul>
- <li> <font color="#ff0000">Oops! Robert
- Hegemann immediatly found a bug in the new (old -Z option)
- quantization code. calc_noise1 was not returning tot_noise,
- so non ms-stereo frames were buggy.</font></li>
- </ul>
- <h3> LAME 3.18beta July 17 1999</h3>
- <ul>
- <li> <font color="#ff0000">Many psycho-acoustic
- bug fixes. Dan Nelson discovered a bug in MPEG2: For short
- blocks, the code assumes 42 partition bands. MPEG1 sometimes
- has less, MPEG2 can have more. In MPEG1, this bug would not
- have effected the output if your compiler initializes static variables
- to 0 on creation. In MPEG2 it leads to array out-of-bounds
- access errors. Finally, there was a related bug in MPEG1/MPEG2, short
- & long blocks where the energy above 16 kHz was all added to
- partition band 0. (the lowest frequeny partition band!)</font></li>
- <li> <font color="#ff0000">The -Z option (Gabriel
- Bouvigne's idea of using total quantization noise to choose between two
- quantizations with the same value of "over") is now the
- default. I believe this helps remove the trilling sound in
- Jan's testsignal4.wav. The quality of testsignal2.wav and
- testsignal4.wav are now better than Xing and getting closer to FhG.</font></li>
- <li> Bug fixes in frame & sample count for downsampling
- mode. (ben "jacobs")</li>
- <li> Patches to improve modulization. (ben "jacobs")</li>
- </ul>
- <h3> LAME 3.17beta July 11 1999</h3>
- <ul>
- <li> substantial code cleanup towards goal of making LAME more
- modular.</li>
- </ul>
- <h3> LAME 3.16beta July 11 1999</h3>
- <ul>
- <li> <font color="#ff0000">New tunings of window
- switching, and better bit allocation based on pe. (Jan
- Rafaj. improves both testsignal2.wav and testsignal4.wav).</font></li>
- <li> <font color="#ff0000">Bug in mid/side
- quantization when side channel was zero fixed. (Albert Faber)</font></li>
- <li> Removed some extranous computations in l3psy.c (Robert
- Hegemann)</li>
- <li> More detailed timing status info, including hours display.
- (Sakari Ailus) and percentage indicator (Conrad Sanderson).</li>
- <li> <font color="#3366ff">Window_subband and
- calc_noise1,calc_noise2 speedups. Quantize_xrpow speedup
- should be significant on non GNU/intel systems. (Mike Cheng)</font></li>
- <li> <font color="#3366ff">Better initial guess
- for VBR bitrate. Should speed up VBR encoding.
- (Gabriel Bouvigne)</font></li>
- <li> More advanced .wav header parsing. fixes bugs
- involving click in first frame. (Robert.Hegemann)</li>
- <li> Correct filesize and total frame computation when using
- LIBSNDFILE (ben "jacobs")</li>
- <li> Click in last frame (buffering problem) when using
- libsndfile fixed.</li>
- <li> Audio I/O code overhauled. There is now a
- uniform audio i/o interface to libsndfile or the LAME built in wav/aiff
- routines. All audio i/o code localized to get_audio.c.</li>
- </ul>
- <h3> LAME 3.15beta</h3>
- <ul>
- <li> times()/clock() problem fixed for non-unix OS.
- (Ben "Jacobs")</li>
- <li> Fixed uninitialized pe[] when using fast mode.
- (Ben "Jacobs")</li>
- </ul>
- <h3> LAME 3.13 June 24 1999</h3>
- <ul>
- <li> Patches for BeOS from Gertjan van Ratingen.</li>
- <li> Makefile info for OS/2 Warp 4.0 (from dink.org).</li>
- <li> Status display now based on wall clock time, not cpu time.</li>
- <li> mem_alloc no longer allocates twice as much memory as
- needed (Jan Peman).</li>
- </ul>
- <h3> 3.12pre9</h3>
- <ul>
- <li> Updated BLADEDLL code to handle recent changes (Albert
- Faber).</li>
- <li> Bug fixed in parsing options when not using GTK (Albert
- Faber).</li>
- <li> <font color="#ff0000">MPEG2 Layer III psycho
- acoustics now working.</font></li>
- <li> <font color="#3366ff">Improved huffman
- encoding Chris Matrakidis. (10% faster). I dont know how he
- finds these improvements! LAME with full quality now encodes
- faster than real time on my PII 266.</font></li>
- <li> Fixed time display when encoding takes more than 60
- minutes.</li>
- </ul>
- <h3> 3.12pre8</h3>
- <ul>
- <li> <font color="#ff0000">New <a href="gpsycho/ms_stereo.html">mid/side stereo</a>
- criterion. LAME will use mid/side stereo only when the
- difference between L & R masking thresholds (averaged over all
- scalefactors) is less then 5db. In several test samples it
- does a very good job mimicking the FhG encoder.</font></li>
- <li> <font color="#ff0000">Bug in mid/side stereo
- fixed: independent variation of mid & side channel
- scalefactors disabled. Because of the way outer_loop is
- currently coded, when encoding mid/side coefficietns using left/right
- thresholds, you have to vary the scalefactors simultaneously.</font></li>
- <li> <font color="#ff0000">Bug in side/mid energy
- ratio calculation fixed. (Thanks to Robert Hegemann)</font></li>
- <li> Default mode is stereo (not jstereo) if bitrate is chosen
- as 192kbs or higher. Tero Auvinen first pointed out that FhG
- seems to think at 160kbs, their encoder is so good it doesn't need
- jstereo tricks. Since LAME is not as good as FhG, I am going to claim
- that 192kbs LAME is so good it doens't need jstereo tricks, and thus it
- is disabled by default.</li>
- <li> WAV header parsing for big-endian machines, and automatic
- detection of big-endian machines. (Thanks to
- Sigbjørn Skjæret).</li>
- <li> added 56 sample delay to sync LAME with FhG.</li>
- <li> MP3x (frame analyzer) can now handle MPEG2 streams.</li>
- </ul>
- <h3> 3.12pre7</h3>
- <ul>
- <li> MPEG2 layer III now working! lower bit rates
- (down to 8kbs) and 3 more sampling frequencies: 16000, 22050,
- 24000Hz. Quality is poor - the psy-model does not yet work with these
- sampling frequencies.</li>
- <li> Fixed "ERROR: outer_loop(): huff_bits < 0." bug
- when using VBR.</li>
- <li> bash and sh scripts to run LAME on multiple files now
- included. (from Robert Hegemann and Gerhard Wesp respectively)</li>
- <li> bug fix in encoding times for longer files from
- (Alvaro Martinez Echevarria)</li>
- <li> yet another segfault in the frame analyzer fixed.</li>
- <li> ISO psy-model/bit allocation routines removed.
- This allowed makeframe() to be made much simpler, and most of the
- complicated buffering is now gone. Eventually I would like the encoding
- engine to be a stand alone library.</li>
- </ul>
- <h3> 3.12pre6</h3>
- <ul>
- <li> <font color="#ff0000">Better VBR
- tuning. Find minimum bitrate with distortion less than the
- allows maximum. A minimum bit rate is imposed on frames with
- short blocks (where the measured distortion can not be
- trusted). A minimum frame bitrate can be specified
- with -b, default=64kbs.</font></li>
- <li> <a href="http://www.zip.com.au/%7Eerikd/libsndfile">LIBSNDFILE</a>
- support. With libsndfile, LAME can encode almost all sound
- formats. Albert Faber did the work for this, including
- getting libsndfile running under win32.</li>
- <li> CRC checksum now working! (Thanks to
- Johannes Overmann )</li>
- <li> frame analyzer will now work with mono .mp3 files</li>
- <li> <font color="#3366ff">more code tweeks from
- Jan Peman.</font></li>
- <li> <font color="#3366ff">Compaq-Alpha(Linux)
- fixes and speedups from Nils Faerber.</font></li>
- <li> <font color="#3366ff">Faster
- bin_search_StepSize from Juha Laukala.</font></li>
- <li> <font color="#3366ff">Faster quantize() from
- Mike Cheng</font></li>
- <li> <font color="#3366ff">Faster
- quantize_xrpow() from Chris Matrakidis. xrpow_flag removed
- since this option is now on by default.</font></li>
- <li> Fixed .wav header parsing from Nils Faerber.</li>
- <li> Xing VBR frame info header code from Albert
- Faber. "Xing" and "LAME 3.12" embedded in first
- frame.</li>
- <li> <font color="#ff0000">Bug in VBR bit
- allocation based on "over" value fixed.</font></li>
- </ul>
- <h3> LAME 3.11 June 3 1999</h3>
- <ul>
- <li> Almost all warnings (-Wall) now fixed! (Thanks
- to Jan Peman)</li>
- <li> More coding improvements from Gabriel Bouvigne and Warren
- Toomey.</li>
- <li> <font color="#ff0000">VBR
- (variable bit rate). Increases bit rate for short
- blocks and for frames where the number of bands containing audible
- distortion is greater than a given value. Much tuning needs
- to be done.</font></li>
- <li> Patch to remove all atan() calls from James Droppo.</li>
- </ul>
- <h3> LAME 3.10 May 30 1999</h3>
- <ul>
- <li> <font color="#3366ff">Fast mode
- (-f) disables psycho-acoustic model for real time encoding on
- older machines. Thanks to Lauri Ahonen who first sent a patch
- for this.</font></li>
- <li> <font color="#ff0000">New bit reservoir
- usage scheme to accommodate the new pre-echo detection formulas.</font></li>
- <li> <font color="#ff0000">Tuning of AWS and
- ENER_AWS pre-echo formulas by Gabriel Bouvigne and myself.
- They work great! now on by default.</font></li>
- <li> In jstereo, force blocktypes for left & right
- channels to be identical. FhG seems to do this. It
- can be disabled with "-d".</li>
- <li> Patches to compile MP3x under win32 (Thanks to Albert
- Faber).</li>
- <li> <font color="#3366ff">bin_serach_stepsize
- limited to a quantizationStepSize of -210 through 45.</font></li>
- <li> <font color="#ff0000">outer_loop()
- will now vary Mid & Side scalefactors independently.
- Can lead to better quantizations, but it is slower (twice as many
- quantizations to look at). Running with "-m f" does not need
- this and will run at the old speed</font></li>
- <li> <font color="#ff0000">Bug in inner_loop
- would allow quantizations larger than allowed. (introduced in
- lame3.04, now fixed.)</font></li>
- <li> Updated HTML documentation from Gabriel Bouvigne.</li>
- <li> Unix man page from William Schelter.</li>
- <li> <font color="#ff0000">numlines[] bug
- fixed. (Thanks to Rafael Luebbert, MPecker author).</font></li>
- <li> <font color="#3366ff">Quantization speed
- improvements from Chirs Matrakidis.</font></li>
- <li> <font color="#ff0000">When comparing
- quantizations with the same number of bands with audible distortion,
- use the one with the largest scalefactors, not the first one outer_loop
- happened to find.</font></li>
- <li> Improved defination of best quantization when using -f
- (fast mode).</li>
- <li> subblock code now working. But no algorithm to
- choose subblock gains yet.</li>
- <li> Linux now segfaults on floating point
- exceptions. Should prevent me from releasing binaries that
- crash on other operating systems.</li>
- </ul>
- <h3> LAME 3.04 May 22 1999</h3>
- <ul>
- <li>Preliminary documentation from Gabriel Bouvigne.</li>
- <li> <font color="#3366ff">I wouldn't have
- thought it was possible, but now there are even more speed improvements
- from Chris Matrakidis! Removed one FFT when using joint
- stereo, and many improvements in loop.c.</font></li>
- <li> "Fake" ms_stereo mode renamed "Force" ms_stereo since it
- forces mid/side stereo on all frames. For some music this is
- said to be a problem, but for most music mode is probably better than
- the default jstereo because it uses specialized mid/side channel
- masking thresholds.</li>
- <li> Small bugs in Force ms_stereo mode fixed.</li>
- <li> Compaq Alpha fixes from Nathan Slingerland.</li>
- <li> <font color="#ff0000">Some new experimental
- pre-echo detection formulas in l3psy.c (#ifdef AWS and #ifdef ENER_AWS,
- both off by default. Thanks to Gabriel Bouvigne and Andre
- Osterhues)</font></li>
- <li> Several bugs in the syncing of data displayed by mp3x (the
- frame analyzer) were fixed.</li>
- <li> highq (-h) option added. This turns on things
- (just one so far) that should sound better but slow down LAME.</li>
- </ul>
- <h3>LAME 3.03 May 18 1999 </h3>
- <ul>
- <li> <font color="#3366ff">Faster (20%) &
- cleaner FFT (Thanks to Chris Matrakidis
- http://www.geocities.com/ResearchTriangle/8869/fft_summary.html)</font></li>
- <li> mods so it works with VC++ (Thanks to Gabriel Bouvigne,
- www.mp3tech.org)</li>
- <li> MP3s marked "original" by default (Thanks to
- Gabriel Bouvigne, www.mp3tech.org)</li>
- <li> Can now be compiled into a BladeEnc compatible
- .DLL (Thanks to Albert Faber, CDex author)</li>
- <li> Patches for "silent mode" and stdin/stdout
- (Thanks to Lars Magne Ingebrigtsen)</li>
- <li> <font color="#ff0000">Fixed rare bug: if a
- long_block is sandwiched between two short_blocks, it must be changed
- to a short_block, but the short_block ratios have not been computed in
- l3psy.c. Now always compute short_block ratios just in case.</font></li>
- <li> <font color="#ff0000">Fixed bug with initial
- quantize step size when many coefficients are zero. (Thanks
- to Martin Weghofer).</font></li>
- <li> Bug fixed in MP3x display of audible distortion.</li>
- <li> improved status display (Thanks to Lauri Ahonen).</li>
- </ul>
- <h3> LAME 3.02 May 12 1999</h3>
- <ul>
- <li> <font color="#ff0000">encoder could use
- ms_stereo even if channel 0 and 1 block types were different.
- (Thanks to Jan Rafaj)</font></li>
- <li> <font color="#ff0000">added -k option to
- disable the 16 kHz cutoff at 128kbs. This cutoff is never
- used at higher bitrates. (Thanks to Jan Rafaj)</font></li>
- <li> <font color="#ff0000">modified pe bit
- allocation formula to make sense at bit rates other than 128kbs.</font></li>
- <li> fixed l3_xmin initialization problem which showed up under
- FreeBSD. (Thanks to Warren Toomey)</li>
- </ul>
- <h3><b>LAME 3.01 May 11 1999</b> </h3>
- <ul>
- <li> max_name_size increased to 300 (Thanks to Mike
- Oliphant)</li>
- <li> patch to allow seeks on input file (Thanks to Scott Manley)</li>
- <li> fixes for mono modes (Thanks to everyone who pointed this
- out)</li>
- <li> overflow in calc_noise2 fixed</li>
- <li> bit reservoir overflow when encoding lots of frames with
- all zeros (Thanks to Jani Frilander)</li>
- </ul>
- <hr>
- <h3>LAME 3.0 May 10 1999</h3>
- <ul>
- <li><font color="#ff0000">added GPSYCHO (developed
- by Mark Taylor)</font></li>
- <li> <font color="#000000">added MP3x (developed
- by Mark Taylor)</font></li>
- <li> LAME now maintained by Mark Taylor</li>
- </ul>
- <h3>November 8 1998</h3>
- <ul>
- <li> Version 2.1f released</li>
- <li> 50% faster filter_subband() routine in encode.c
- contributed by James Droppo</li>
- </ul>
- <h3>November 2 1998</h3>
- <ul>
- <li> Version 2.1e released.</li>
- <li> New command line switch <b>-a</b>
- auto-resamples a stereo input file to mono.</li>
- <li> New command line switch <b>-r</b> resamples
- from 44.1 kHz to 32 kHz [this switch doesn't work really well. Very
- tinny sounding output files. Has to do with the way I do the resampling
- probably]</li>
- <li> Both of these were put into the ISO code in the encode.c
- file, and are simply different ways of filling the input buffers from a
- file.</li>
- </ul>
- <h3>October 31 1998</h3>
- <ul>
- <li> Version 2.1d released</li>
- <li> Fixed memory alloc in musicin.c (for l3_sb_sample)</li>
- <li> Added new command line switch (-x) to force swapping of
- byte order</li>
- <li> Cleaned up memory routines in l3psy.c. All the mem_alloc()
- and free() routines where changed so that it was only done <i>once</i>
- and not every single time the routine was called.</li>
- <li> Added a compile time switch -DTIMER that includes all
- timing info. It's a switch for the time being until some other people
- have tested on their system. Timing code has a tendency to do different
- things on different platforms.</li>
- </ul>
- <h3>October 18 1998</h3>
- <ul>
- <li> Version 2.1b released.</li>
- <li> Fixed up bug: all PCM files were being read as WAV.</li>
- <li> Played with the mem_alloc routine to fix crash under
- amigaos (just allocating twice as much memory as needed). Might see if
- we can totally do without this routine. Individual malloc()s where they
- are needed instead</li>
- <li> Put Jan Peman's quality switch back in. This reduces
- quality via the '-q <int>' switch. Fun speedup which is
- mostly harmless if you're not concerned with quality.</li>
- <li> Compiling with amiga-gcc works fine</li>
- </ul>
- <h3>October 16 1998</h3>
- <ul>
- <li> Version 2.1a released. User input/output has been cleaned
- up a bit. WAV file reading is there in a very rudimentary sense ie the
- program will recognize the header and skip it, but not read it. The WAV
- file is assumed to be 16bit stereo 44.1 kHz.</li>
- </ul>
- <h3>October 6 1998</h3>
- <ul>
- <li> Version 2.1 released with all tables now incorporated into
- the exe. Thanks to <b>Lars Magne Ingebrigtseni</b></li>
- </ul>
- <h3>October 4 1998</h3>
- <ul>
- <li>
- In response to some concerns about the quality of the encoder, I
- have rebuilt the encoder from scratch and carefully compared output
- at all stages with the output of the unmodified ISO encoder.
- </li>
- <li>
- <a href="http://www.uq.net.au/%7Ezzmcheng/lame/download.html">
- Version 2.0</a> of LAME is built from the ISO source code (dist10),
- and incorporates modifications from myself and the 8hz effort. The
- output file from LAME v2.0 is <em>identical</em> to the output of
- the ISO encoder for my test file. Since I do not have heaps of time,
- I left the ISO AIFF file reader in the code, and did not incorporate
- a WAV file reader.
- </li>
- <li>
- Added section
- on <a href="http://www.uq.net.au/%7Ezzmcheng/lame/quality.html">
- quality</a>.
- </li>
- </ul>
- <h3> October 1 1998</h3>
- <ul>
- <li>Updated web page and released LAME v1.0</li>
- </ul>
- <hr>
- <h3>Up to September 1998</h3>
- <p>Working on the 8hz source code...</p>
- <ul>
- <li>
- Patched the <a href="http://www.8hz.com/">8hz</a> source
- code
- </li>
- <li>
- 45% faster than original source (on my freebsd p166).
- <ul>
- <li>
- m1 - sped up the mdct.c and quantize() functions [MDCTD,
- MDCTD2, LOOPD]
- </li>
- <li>m2 - sped up the filter_subband routine using <b>Stephane
- Tavenard</b>'s work from musicin [FILTST]
- </li>
- <li>m2 - minor cleanup of window_subband [WINDST2]</li>
- <li>m2 - Cleaned up a few bits in l3psy.c. Replaced a sparse
- matrix multiply with a hand configured unrolling [PSYD]</li>
- <li>m3 - (amiga only) Added in the asm FFT for m68k (based on
- sources from <b>Henryk Richter</b> and <b>Stephane Tavenard</b>)</li>
- <li>m4 - raw pcm support back in</li>
- <li>m5 - put in a byte-ordering switch for raw PCM reading (just
- in case)</li>
- <li>m6 - reworked the whole fft.c file. fft now 10-15%
- faster.</li>
- <li>m7 - totally new fft routine. exploits fact that this is a
- real->complex fft. About twice as fast as previous fastest fft (in
- m6). (C fft routine is faster than the asm one on an m68k!)</li>
- <li>m8
- <ul>
- <li>
- Now encodes from stdin. Use '-' as the input filename. Thanks
- to <b>Brad Threatt</b>
- </li>
- <li>
- Worked out that the 1024point FFT only ever uses the first 6
- phi values, and the first 465 energy values. Saves a bunch of
- calculations.
- </li>
- <li>
- Added a speed-up/quality switch. Speed is increased but
- quality is decreased <i>slightly</i>. My ears are bad enough
- not to be able to notice the difference in quality at low
- settings :). Setting '-q 1' improves speed by about 10%. '-q
- 100' improves speed by about 26%. Enoding of my test track
- goes from 111s (at default '-q 0') to 82s (at -q 100). Thanks
- to <b>Jan Peman</b> for this tip.
- </li>
- </ul>
- </li>
- <li>
- m9 - fixed an error in l3psy.c. numlines[] is overwritten with
- incorrect data. Added a new variable numlines_s[] to fix
- this. Thanks again to <b>Jan Peman</b>.
- </li>
- <li>
- m10 - Down to 106 seconds by selecting a few more compiler
- options. Also added a pow20() function in l3loop.c to speed up
- (ever so slightly) calls to pow(2.0, x)
- </li>
- <li>m11
- <ul>
- <li>
- No speedups. Just cleaned up some bits of the code.
- </li>
- <li>
- Changed K&R prototyping to 'normal' format. Thanks
- to <b>Steffan Haeuser</b> for his help here.
- </li>
- <li>
- Changed some C++ style comments to normal C comments in
- huffman.c
- </li>
- <li>
- Removed the #warning from psy_data.h (it was getting
- annoying!)
- </li>
- <li>
- Removed reference in bitstream.c to malloc.h. Is there a
- system left where malloc.h hasn't been superceded by
- stdlib.h?
- </li>
- </ul>
- </li>
- </ul>
- <li>In Progess:
- <ul>
- <li>
- my PSYD hack for the spreading functions is only valid for
- 44.1 kHz - Should really put in a "if freq = 44.1 kHz"
- switch for it. Someone might want to extend the speedup for
- 48 and 32 kHz.
- </li>
- <li>
- Putting in Jan Peman's quantanf_init speedup.
- </li>
- </ul>
- </li>
- </ul>
- <hr>
- <center>
- <p>
- <a href="http://validator.w3.org/check?uri=referer">
- <img src="http://www.w3.org/Icons/valid-html401"
- alt="Valid HTML 4.01 Transitional" height="31" width="88">
- </a>
- </p>
- </center>
- </body>
- </html>
|