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.98.4 Multi-Core Optimized Version By comp_286 (Read 17953 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

This build of LAME 3.98.4 is compiled by ICL 11.1.060, with minor fixes for compatibility.
Due to MSVC Runtime Library issues, only Executable .exe is available.
It transcodes much faster than the rarewares version on my Pentium Dual-Core E2200 @ 2.20Ghz!
It might be >2x faster on quad-core processors.

Quote
E:\>lame_rarewares --preset insane "刀郎 - 2002年的第一场雪.wav"
LAME 3.98.4 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 20094 Hz - 20627 Hz
Encoding 刀郎 - 2002年的第一场雪.wav to 刀郎 - 2002年的第一场雪.wav.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (4.4x) 320 kbps qval=3
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
  9758/9758  (100%)|    0:17/    0:17|    0:17/    0:17|  14.797x|    0:00
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  320.0      70.4  29.6        95.3  2.8  1.8
Writing LAME Tag...done
ReplayGain: -6.9dB

E:\>lame_comp_286 --preset insane "刀郎 - 2002年的第一场雪.wav"
LAME 3.98.4 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 20094 Hz - 20627 Hz
Encoding 刀郎 - 2002年的第一场雪.wav to 刀郎 - 2002年的第一场雪.wav.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (4.4x) 320 kbps qval=3
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
  9758/9758  (100%)|    0:13/    0:13|    0:13/    0:13|  19.359x|    0:00
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  320.0      70.4  29.6        95.3  2.8  1.8
Writing LAME Tag...done
ReplayGain: -6.9dB


Download Link:
Download LAME Multi-Core
(Click one of 3 links at right side)

PS: HELP! This link will be unavailable after 2010/9/19, and the website only shows in Simplified Chinese.
Could anyone send it to sites such as rapidshare.de? I'm from People's Republic of China...

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #1
Quote
This build of LAME 3.98.4 is compiled by ICL 11.1.060, with minor fixes for compatibility.
Due to MSVC Runtime Library issues, only Executable .exe is available.

It wouldn't work if your processor has no support of SSE instruction.
It should work on most PC manufactured after 2000.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #2
If you've modified LAME, you need to include the source code for your changes with the binary, since LAME is GPL licensed.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #3
There's only one modification as a workaround for the buggy library of OpenMP in ICL 11.1.
Code: [Select]
[font="Courier New"]int main(int argc, char **argv)
{
    int     ret;
    lame_global_flags *gf;
...
    int     i;
    FILE   *outf;
    [color="#FF0000"]kmp_set_defaults("KMP_WARNINGS=0");[/color]
#if macintosh
    argc = ccommand(&argv);
#endif
...
[/font]

Without this workaround, it may show warning messages on operating systems of non-English-US locale, such as my Genuine Windows 7 Ultimate Simplified Chinese.

If you've modified LAME, you need to include the source code for your changes with the binary, since LAME is GPL licensed.

GPL? LGPL instead :-) (Or a smiley with "Chinese Characteristics", (^o^))

There is an additional download link of this multi-core version:
Download LAME Multi-Core

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #4
It wouldn't work if your processor has no support of SSE instruction.

Every multi core processor (and also every hyperthreading proc) supports SSE AFAIK. At least the Intel compatible ones (for which this compile was made).
Thanks for making this available comp_286.

BTW, I think foobar2000 users should set the "thread count" for the converter to 1 (in advanced settings) when using this version.

edit: hyperthreading they call it
In theory, there is no difference between theory and practice. In practice there is.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #5
I've added a Rapidshare mirror for time being, if there is a violation of licence or anything, please PM me and I will take it down.

lame_multicore_3.98.4.zip
Error 404; signature server not available.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #6
I have a quadcore, but encoding is much slower with this bulit.......(about 50X with the Rarewaves Version and about 30X with this one...

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #7
If you've modified LAME, you need to include the source code for your changes with the binary, since LAME is GPL licensed.

GPL? LGPL instead :-) (Or a smiley with "Chinese Characteristics", (^o^))

There is an additional download link of this multi-core version:
Download LAME Multi-Core


my bad 

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #8
I have a quadcore, but encoding is much slower with this bulit.......(about 50X with the Rarewaves Version and about 30X with this one...

It's strange. The auto-parallelization doesn't work on quad-core? What's the spec?

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #9
If you've modified LAME, you need to include the source code for your changes with the binary, since LAME is GPL licensed.



Correction, if he/she is DISTRIBUTING LAME (which they are) they need to provide the source code, he doesn't have to do jack squat if he's not distributing it (if they take down the link)

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #10
I downloaded it and will give the encoder a run when I get back from work.  My only multi-core equipped machine is a nettop with an Atom 330 processor.  It is actually a dual-core CPU with each core being hyper threaded.  Standard Lame 3.98.4 encoding normally runs at about 20-25X when going through all four threads at once.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #11
Oh. I think that this version may be USELESS for foobar2000 users because foobar2000 runs lame in multi-threads AUTOMATICALLY.
But for other users, it's useful. I'm using TTPlayer, a famous audio player software in China P.R. . It includes a lame 3.90.3 (No License Violation) that is too old now. (There is a myth in China that lame 3.90.3 works better than lame >= 3.97.) I get >3x boost by this mod.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #12
I have a quadcore, but encoding is much slower with this bulit.......(about 50X with the Rarewaves Version and about 30X with this one...


I have similar problems with my Core 2 Duo, the encoder did utilize two CPUs since the cpu occupation is about 90%,
however it is slower than the Rarewaves one.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #13
Oh. I think that this version may be USELESS for foobar2000 users because foobar2000 runs lame in multi-threads AUTOMATICALLY.

It only encodes multiple tracks concurrently. A multithreaded encoder would be useful on single (long) tracks.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #14
I have a quadcore, but encoding is much slower with this bulit.......(about 50X with the Rarewaves Version and about 30X with this one...

It's strange. The auto-parallelization doesn't work on quad-core? What's the spec?

If, essentially, all that's been done here is to use the auto-parallelization option from within the Intel compiler, I tried this some time ago and discarded the idea as the compiles were slower on all my test systems than the standard compiles. I'm sure it works fine with some applications, but there seemed to be a negative impact with the LAME source, no doubt to do with the bit reservoir.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #15
I completed a few tests on my lowly system.  There was no benefit for me when encoding a full album using Lame.  Each track encodes at about 20X when using all four threads (two cores and two threads) so it takes all of a few minutes to encode a full album's worth of songs.  Though encoding speed was a little improved (up to about 30X), it still took longer to encode an entire album using this build.  The only benefit that I could foresee is, as previously stated, encoding a single long track.  It performs faster on track-by-track basis than the standard Lame 3.98.4 build but I don't see any benefit in using it with programs such as foobar2000 or dBpowerAMP when encoding full albums as they can assign encoding duties to each core/thread so that more tracks are encoded at once.

Additionally, on my system, the standard build of Lame encodes at about 25X when encoding a single file.  So the speed benefit on my system wasn't that much.  Again, I am running a lowly Atom 330 processor with 4GB of RAM (I actually upgraded it on Friday and ran my tests this morning), Windows 7 Home Premium 64-bit, a 7200 RPM internal 160GB 3Gbps SATA HD and a 2TB 7200 RPM external hard drive hooked up via 3Gbps eSATA (the later being where all my music is stored).

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #16
18x on my Q9400. 24x if I use normal version of Lame. Well, mate, not really working as expected.
Error 404; signature server not available.

LAME 3.98.4 Multi-Core Optimized Version By comp_286

Reply #17
Well, i've not tested yet, but wanna remember all of you that there's already a multi-threaded version of LAME/FLAC @ rarewares: fpMP3Enc (and source code is available @ ThinkMeta's Fiber Pool API)
Hybrid Multimedia Production Suite will be a platform-indipendent open source suite for advanced audio/video contents production.
Official git: https://www.forart.it/HyMPS/