Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Lame 3.100 has been released (Read 124993 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

Lame 3.100 has been released

Release notes:

http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/html/history.html?revision=HEAD

Quote
Rogério Brito
Don't include the debian directory as one that is needed during builds. Patch taken from Debian's packaging of lame.
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 autoconf -vfi.
Fix possible race condition causing build failures in libmp3lame. Discovered in automated builds by the Debian project with patch provided by Andres Mejia.
Robert Hegemann
Improved detection of MPEG audio data in RIFF WAVE files. Tracker item [ 3545112 ] Invalid sampling detection
New switch --gain <decibel>, range -20.0 to +12.0, a more convenient way to apply Gain adjustment in decibels, than the use of --scale <factor>.
Fix for tracker item [ 3558466 ] Bug in path handling
Fix for tracker item [ 3567844 ] problem with Tag genre
Fix for tracker item [ 3565659 ] no progress indication with pipe input
Fix for tracker item [ 3544957 ] scale (empty) silent encode without warning
Fix for tracker item [ 3580176 ] environment variable LAMEOPT doesn't work anymore
Fix for tracker item [ 3608583 ] input file name displayed with wrong character encoding (on windows console with CP_UTF8)
Fix for bug ticket [ #447 ] Fix dereference NULL and Buffer not NULL terminated issues. Thanks to Surabhi Mishra
Fix for bug ticket [ #445 ] dereference of a null pointer possible in loop. Thanks to Renu Tyagi
Fix for bug ticket [ #449 ] Make sure functions with SSE instructions maintain their own properly aligned stack. Thanks to Fabian Greffrath
Fix for bug ticket [ #458 ] Multiple Stack and Heap Corruptions from Malicious File. Thanks to Gareth Evans and Elio Blanca
Fix for bug ticket [ #460 ] A division by zero vulnerability. Thanks to Wang Shiyang, Liu Bingchang
Fix for bug ticket [ #461 ] CVE-2017-9410 fill_buffer_resample function in libmp3lame/util.c heap-based buffer over-read and ap
Fix for bug ticket [ #462 ] CVE-2017-9411 fill_buffer_resample function in libmp3lame/util.c invalid memory read and application crash
Fix for bug ticket [ #463 ] CVE-2017-9412 unpack_read_samples function in frontend/get_audio.c invalid memory read and application crash
Fix for bug ticket [ #434 ] clip detect scale suggestion unaware of scale input value
HIP decoder bug fixed: decoding mixed blocks of lower sample frequency Layer3 data resulted in internal buffer overflow (write). Thanks to Henri Salo
Alexander Leidinger
Feature request, patch ticket [ #27 ] Add lame_encode_buffer_interleaved_int() by Michael Fink





Re: Lame 3.100 has been released

Reply #4
I'm happy to see the security issues fixed and shipped, while sticking to the well-tested 3.99.5 quality.

There was a quality change, which was included in the Lame 3.100 alpha2, but removed in the Lame 3.100 main.
Quote
PSY model tunings, to improve audio quality of problem sample 'lead voice'
https://web.archive.org/web/20170608104650/http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/html/history.html?revision=HEAD

I think there is not enough reason to believe the change improves the overall quality, based on my personal listening test below.
https://hydrogenaud.io/index.php/topic,113324.0.html




Re: Lame 3.100 has been released

Reply #5
LAME development is culminated. Last quality changes were made 6 years ago.
In the other hand LAME developers have squeezed all out of what MP3 can do.

Thank You for release.

:) life continues ...




Re: Lame 3.100 has been released

Reply #9
Sorry for the absence of compiles on Rarewares, but I have been away from home for the last 2 weeks and I don't return until the end of this week. I will post compiles as soon as I'm able. :)

Re: Lame 3.100 has been released

Reply #10
I was too impatient waiting for Windows binaries  ;) - here https://1drv.ms/u/s!AL7dMfpnifu2gw4 are my latest binaries of LAME 3.100, LAME 3.99.5 and GoGo-no-coda 3.13.
Compiled with GCC/MinGW using the original source code and safe compiler optimization flags. The binaries should perform equally well on Intel and AMD platforms.

Re: Lame 3.100 has been released

Reply #11
Thanks, testing in few and btw ...the first two links have Win binaries.

WTF? The first one I tried goes at 450x. I'll keep testing then, thanks for this pack. Oh ok, GoGo is LAME 3.88.

gogo-313-sse2.exe give an error and the process stops, using Windows 10 Pro 64bit, I now realize that it was probably made for older Windows, right when it came out, since GoGo hasn't been developed in a long time.

Other 3.100 bins have similar speed to tmkk (but tmkk is still a little faster), I'll keep tmkk for now.

Re: Lame 3.100 has been released

Reply #12
Thanks for the update, finally i can remove the "3.100 alpha2" from my laptop :)
qaac -cvbr 0 -he

Re: Lame 3.100 has been released

Reply #13
You're welcome.

The reason i compiled the binaries by myself is that MSVC or ICL builds often do not perform as expected on the older AMD system i am using.
This is also the case for the Chocobo1 build. I'd like to have generic builds with a balanced performance across several platforms.

According to the website the modified AltiVec/SSE Optimized LAME Encoder version is specifically targeted on Intel processors (...binaries and
patches optimized for Intel and PowerPC G4/G5 processor.). As the GCC compiler is used, this one is quite speedy even on my AMD system.

Hmm - right now i have no idea why only the SSE2 version of GoGo crashes. I added this just for fun anyway...

Re: Lame 3.100 has been released

Reply #14
I have tried to compile new lame 3.100 on macOS 10.13, but fails with the following portion:

> ./configure
> make

[SNIP]

libtool: link: gcc -dynamiclib  -o .libs/libmp3lame.0.dylib  .libs/VbrTag.o .libs/bitstream.o .libs/encoder.o .libs/fft.o .libs/gain_analysis.o .libs/id3tag.o .libs/lame.o .libs/newmdct.o .libs/presets.o .libs/psymodel.o .libs/quantize.o .libs/quantize_pvt.o .libs/reservoir.o .libs/set_get.o .libs/tables.o .libs/takehiro.o .libs/util.o .libs/vbrquantize.o .libs/version.o .libs/mpglib_interface.o   -Wl,-force_load,../libmp3lame/vector/.libs/liblamevectorroutines.a -Wl,-force_load,../mpglib/.libs/libmpgdecoder.a  -lm    -install_name  /usr/local/lib/libmp3lame.0.dylib -compatibility_version 1 -current_version 1.0 -Wl,-single_module -Wl,-exported_symbols_list,.libs/libmp3lame-symbols.expsym
Undefined symbols for architecture x86_64:
  "_lame_init_old", referenced from:
     -exported_symbol[s_list] command line option
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [libmp3lame.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

lame 3.99.5 can compile fine.  I don't know what is wrong.  Please help me!!!

Re: Lame 3.100 has been released

Reply #15
I have tried to compile new lame 3.100 on macOS 10.13, but fails with the following portion:

> ./configure
> make

[SNIP]

libtool: link: gcc -dynamiclib  -o .libs/libmp3lame.0.dylib  .libs/VbrTag.o .libs/bitstream.o .libs/encoder.o .libs/fft.o .libs/gain_analysis.o .libs/id3tag.o .libs/lame.o .libs/newmdct.o .libs/presets.o .libs/psymodel.o .libs/quantize.o .libs/quantize_pvt.o .libs/reservoir.o .libs/set_get.o .libs/tables.o .libs/takehiro.o .libs/util.o .libs/vbrquantize.o .libs/version.o .libs/mpglib_interface.o   -Wl,-force_load,../libmp3lame/vector/.libs/liblamevectorroutines.a -Wl,-force_load,../mpglib/.libs/libmpgdecoder.a  -lm    -install_name  /usr/local/lib/libmp3lame.0.dylib -compatibility_version 1 -current_version 1.0 -Wl,-single_module -Wl,-exported_symbols_list,.libs/libmp3lame-symbols.expsym
Undefined symbols for architecture x86_64:
  "_lame_init_old", referenced from:
     -exported_symbol[s_list] command line option
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [libmp3lame.la] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

lame 3.99.5 can compile fine.  I don't know what is wrong.  Please help me!!!

See https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-lame/0006-dont-use-outdated-symbol-list.patch


Re: Lame 3.100 has been released

Reply #17
No idea then, sorry :/

Re: Lame 3.100 has been released

Reply #18
Remove the line containing 'lame_init_old' from the file 'include/libmp3lame.sym'

Re: Lame 3.100 has been released

Reply #19
Remove the line containing 'lame_init_old' from the file 'include/libmp3lame.sym'


Wow!
Now I can compile lame 3.100 successfully!!  I'm so happy!! :-)

Does the removed line is really needless one?

Re: Lame 3.100 has been released

Reply #20
Sorry for the absence of compiles on Rarewares, but I have been away from home for the last 2 weeks and I don't return until the end of this week. I will post compiles as soon as I'm able. :)

Thanks John! Can you update the libmp3lame (x86 and x64) compiles too? I might be the only one using them, but I do use them!

Re: Lame 3.100 has been released

Reply #21
Every time I want to get sources for lame, I have to navigate through these damn horrible sourceforge pages.
It get's me every friggin time! Finding the correct link or page where the actual code is at for me to download, etc. jeebus.

Maybe I'm just spoiled, but navigating github and gitlab is just so much easier and loads more pleasant, than that sf.net horribleness.

Kids: if you want the latest development tree for LAME: https://sourceforge.net/p/lame/svn/HEAD/tree/trunk/lame/

Finding the release source is much easier, though. Still, that friggin sf.net website...

Re: Lame 3.100 has been released

Reply #22
maybe start with lame.sf.net and click get lame and folllow the link to source tarballs?

Re: Lame 3.100 has been released

Reply #23
maybe start with lame.sf.net and click get lame and folllow the link to source tarballs?
Note the tarballs, the development tree. Especially /just/ the lame development tree of lame, not the entire trunk.

Once at https://sourceforge.net/projects/lame/files/lame/ you click on Code (SVN), then navigate to trunk > lame, and there's the code.

If you check out the code or click on "download snapshot" (which actually drops the file tree view), you get the entire code tree snapshot, you cannot checkout just this one project.

You always need to check out the entire trunk codebase, which contains several projects, instead of having a trunk for each project.

I've spent ages to figure out how to download / checkout the trunk sources for just one project (just lame), until finally realizing it's just not possible. Each time using a website that simply acts in completely weird ways. instead of giving me just a download link (for instance, when it has to be prepared beforehand, etc.) the download just starts, and then changes part of the view after the fact. If you navigate away from it, and then use the back-button, it restarts the download. Not immediately, it has like a little delay of a couple seconds, etc.

Completely infuriating.

It's like design wise, they were going for the website Microsoft Windows used in 2002, for Windows Update, where you needed a special IE plugin.

Re: Lame 3.100 has been released

Reply #24
Files of Chocobo1 and tmkk don't null. Regardless of audibility, is it normal that different compilers yield different files?
[edit] Never mind. Just found that x86 and x64 builds of tmkk don't null as well.