Help - Search - Members - Calendar
Full Version: LAME 3.90.3 Source
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - Tech
BadHorsie
where can i get the official LAME 3.90.3 source to build my own compile on Linux?

there are no sources on http://mp3dev.org for this version and those on the rarewares site are don't compile on my system (SuSE 8.2).

thank you
BadHorsie
AstralStorm
Ask Dibrom? wink.gif

http://rarewares.hydrogenaudio.org/files/l...modifiedsrc.zip
(slightly modified, but it doesn't matter)

/EDIT\ I'll see if I can compile these on my Gentoo GNU/Linux.
(Glibc-2.3.2, GCC-3.2.3 with propolice&other patches) /EDIT\
emtee
Here.

QUOTE
LAME compiles on GNU/Linux, Unix, Windows, DOS, MacOS, BeOS, riskOS, AmigaOS, OS/2, FreeMiNT(Atari).


Edit: Sorry, that link is for LAME 3.90.1
JohnV
QUOTE(emtee @ Jun 24 2003 - 03:27 PM)
Here.

QUOTE
LAME compiles on GNU/Linux, Unix, Windows, DOS, MacOS, BeOS, riskOS, AmigaOS, OS/2, FreeMiNT(Atari).

Eeh, I don't think you can download 3.90.3 source from there.. wink.gif
BadHorsie
QUOTE(AstralStorm @ Jun 24 2003 - 04:25 AM)
Ask Dibrom? wink.gif

http://rarewares.hydrogenaudio.org/files/l...modifiedsrc.zip
(slightly modified, but it doesn't matter)

/EDIT\: I'll see if I can compile these on my Gentoo GNU/Linux. (Glibc-2.3.2, GCC-3.2.3 with propolice&other patches) /EDIT\

this one don't work! it looks like the sources are completely modified under windows. all linebreaks are in windows format. i tried to fix them, but with no success. nearly all shell scripts are broken.

BadHorsie
AstralStorm
You know, that's why they're called 'modified', sorry.sad.gif

http://rarewares.hydrogenaudio.org/files/l...e-3.90.3src.zip
Try the one above (don't know if you have to apply it to 3.90.1 or 3.90.2...)
BadHorsie
QUOTE(JohnV @ Jun 24 2003 - 04:29 AM)
QUOTE(emtee @ Jun 24 2003 - 03:27 PM)
Here.

QUOTE
LAME compiles on GNU/Linux, Unix, Windows, DOS, MacOS, BeOS, riskOS, AmigaOS, OS/2, FreeMiNT(Atari).

Eeh, I don't think you can download 3.90.3 source from there.. wink.gif

no!

it is strange that you guys link to precompiled windows binaries but not to Linux binaries or the sources in the sticky threads. since the recommended LAME version for the --alt-presets are 3.90.3, this version should be available for all supported platforms. not only for wintendo.

BadHorsie
BadHorsie
QUOTE(AstralStorm @ Jun 24 2003 - 04:41 AM)
You know, that's why they're called 'modified', sorry.sad.gif

http://rarewares.hydrogenaudio.org/files/l...e-3.90.3src.zip
Try the one above (don't know if you have to apply it to 3.90.1 or 3.90.2...)

this one's only 20kb! it lookes like only the patches for the -Z switch.

but thanks for your help.

BadHorsie
BadHorsie
i have send Dibrom a short PM. maybe he know's what to do rolleyes.gif

but i would suggest that the sticky threads would be modified and the sources are added to the compiles. at least LAME are not an MP3 encoder but rather "an educational tool to be used for learning about MP3 encoding" wink.gif

BadHorsie
john33
I made the changes to 3.90.2 to produce 3.90.3 using win2k/XP systems using MSVC6/Intel4.5. I don't use Linux nor do I use GCC (usually) so, if any of this is broken from a Linux perspective, I'm sorry, but I have no way of dealing with it. sad.gif
robert
QUOTE(BadHorsie @ Jun 24 2003 - 02:38 PM)
QUOTE(AstralStorm @ Jun 24 2003 - 04:25 AM)
Ask Dibrom? wink.gif

http://rarewares.hydrogenaudio.org/files/l...modifiedsrc.zip
(slightly modified, but it doesn't matter)

/EDIT\: I'll see if I can compile these on my Gentoo GNU/Linux. (Glibc-2.3.2, GCC-3.2.3 with propolice&other patches) /EDIT\

this one don't work! it looks like the sources are completely modified under windows. all linebreaks are in windows format. i tried to fix them, but with no success. nearly all shell scripts are broken.

BadHorsie

"dos2unix" usually does DOS text file convesions to UNIX files.
rompel
QUOTE(robert @ Jun 24 2003 - 08:03 AM)
"dos2unix" usually does DOS text file convesions to UNIX files.

Yes it does. And then adding presets* to the correct makefile in all the right places (BTW, I have now learned to hate automake) will get it to compile. But then it segfaults immediately, apparently during command line processing. At that point I gave up sad.gif

That was last week... maybe I'll try again.

--John
BadHorsie
what about the 3.90.2 sources?

BadHorsie
Jebus
3.90.x series doesn't compile on GCC 3.x AFAIK. This is one of the fixes added in 3.92 or 3.93 I believe. You should be able to compile it with gcc 2.95.3.
rompel
QUOTE(BadHorsie @ Jun 24 2003 - 12:38 PM)
what about the 3.90.2 sources?

Found it at http://homepage.ntlworld.com/jfe1205/lame-...-3.90.2.tar.bz2. Still had to run everything through fromdos and make a few files executable (configure, configure.sub, and ltconfig IIRC), but I was able to get it compiled and working.

--John
AstralStorm
With GCC 3.x?

So you can just patch it up to 3.90.3 easily,
but the difference is very small - search for -Z switch.

I'll try to compile it later today. (it's half past midnight here right now)
rompel
QUOTE(AstralStorm @ Jun 24 2003 - 02:32 PM)
With GCC 3.x?

So you can just patch it up to 3.90.3 easily,
but the difference is very small - search for -Z switch.

No, I used gcc 2.95.4.

I'm going to try applying the 3.90.3 patch next. But I'm not going to spend a whole lot of time if it doesn't work--3.90.2 ought to be good enough for me.

--John
AstralStorm
I'll try to compile 3.90.3 with patched GCC 3.2.3 anyway.
(or maybe I'll dig up the fixes in CVS and port them back)

ChangeLog entry for 3.92:
QUOTE
workaround a bug in gcc 3.0.3 (compiler options, based upon suggestions from various people, see archives and changelog for more)

Might be not necessary with GCC 3.2.3 (bug with -O3 and -funroll-loops combined)

ChangeLog entry for 3.93:
QUOTE
Akos Maroy: determine gcc version even with gcc 3.1

These fixes should be easy to port back to 3.90.x

The most important fix is #including <stdint.h> header in places which use *int*_t types.
Of course safeguarded with #ifdef HAVE_STDINT_H
There were also configure.in and config.h.in fixes.

There is a nice patch by ALeidinger in the mailing list archives. I'll try it.

If all else fails, I'll just install GCC 2.95.x
rompel
I patched 3.90.2 --> 3.90.3 with no difficulty. I've uploaded the binary here and a linux-friendly source tarball here.

I still don't know why the 3.90.3modified was giving me so many problems, but I can live with 3.90.3.

--John
BadHorsie
QUOTE(rompel @ Jun 24 2003 - 05:44 PM)
I patched 3.90.2 --> 3.90.3 with no difficulty.  I've uploaded the binary here and a linux-friendly source tarball here.

I still don't know why the 3.90.3modified was giving me so many problems, but I can live with 3.90.3.

--John

... i compiled the sources with gcc 3.3. no errors so far. nice job, thank you.

"make test" shows me 434. is this "good enough" for daily use?

thx for the sources
BadHorsie
AstralStorm
This means that your LAME doesn't return files identical to reference.
Try to ABX file testcase.new.mp3 vs testcase.mp3
john33
QUOTE(rompel @ Jun 25 2003 - 01:44 AM)
I patched 3.90.2 --> 3.90.3 with no difficulty.  I've uploaded the binary here and a linux-friendly source tarball here.

I still don't know why the 3.90.3modified was giving me so many problems, but I can live with 3.90.3.

--John

Would you like these to be added to the Rarewares MP3 page?
BadHorsie
QUOTE(AstralStorm @ Jun 25 2003 - 01:01 AM)
This means that your LAME doesn't return files identical to reference.
Try to ABX file testcase.new.mp3 vs testcase.mp3

... hm ok. abx for Linux? rolleyes.gif

BadHorsie
robert
abx: look into the misc folder from LAME tarball.
BadHorsie
QUOTE(robert @ Jun 25 2003 - 04:07 AM)
abx: look into the misc folder from LAME tarball.

CODE
abxtest testcase.mp3 testcase.new.mp3
ABX Double-Blind Test 0.14.2 (beta) - Copyright (C) 2000-2001 Robert Leslie
minimum 10, maximum 20 trials
statistical goal to disprove null hypothesis is p <= .05
randomizing ...

trial 1: play [a] / play [b] / play [x] / vote [A] / vote [B] / [stop]
> x
trial 1: playing X ...
sh: line 1: testcase.mp3: command not found


blink.gif

BadHorsie
AstralStorm
Use it like this:

abxtest "mpg123 testcase.new.mp3" "mpg123 testcase.mp3"

This script only launches proper commands!
rompel
QUOTE(john33 @ Jun 25 2003 - 02:18 AM)
QUOTE(rompel @ Jun 25 2003 - 01:44 AM)
I patched 3.90.2 --> 3.90.3 with no difficulty.  I've uploaded the binary here and a linux-friendly source tarball here.

I still don't know why the 3.90.3modified was giving me so many problems, but I can live with 3.90.3.

--John

Would you like these to be added to the Rarewares MP3 page?

Sure, that would be good.

--John
john33
QUOTE(rompel @ Jun 25 2003 - 07:17 PM)
QUOTE(john33 @ Jun 25 2003 - 02:18 AM)
QUOTE(rompel @ Jun 25 2003 - 01:44 AM)
I patched 3.90.2 --> 3.90.3 with no difficulty.  I've uploaded the binary here and a linux-friendly source tarball here.

I still don't know why the 3.90.3modified was giving me so many problems, but I can live with 3.90.3.

--John

Would you like these to be added to the Rarewares MP3 page?

Sure, that would be good.

--John

Done. smile.gif
G-Force
Just like to add that the Linux source code for 3.90.3 compiles just fine on Mac OS X. I downloaded the source for Linux from rarewares and ran the typical ./configure, make, sudo make install commands. I got an error the first time I ran ./configure and had to remove the config.cache file for it to run properly.
BadHorsie
QUOTE(AstralStorm @ Jun 25 2003 - 04:51 AM)
Use it like this:

abxtest "mpg123 testcase.new.mp3" "mpg123 testcase.mp3"

This script only launches proper commands!

thx, i will give it these days a try. i have to install mpg123 first.

BadHorsie
AstralStorm
Better use mpg321. It has more features and plays MP2 files too.
BadHorsie
ok,

i've compiled the 3.90.3 sources again and did a "make test". result was 434 again. then i ABXed testcase vs. testcase.new. results was 9/16 (56%). thx to AstralStorm.

BTW: how to compile the sources optimised for my CPU? i read something about the -march switch. but i don't know how to use them. must i use them as a parameter for the configure script? or must i change the make file?

thx so far
BadHorsie
AstralStorm
So, you've failed the ABX test, so probably this LAME compile is good enough to use.
Did you use -ffast-math? This might explain differences...
(try it with -ffloat-store to keep speed gain and switch back to 64bit doubles)
I'll try compiling it with GCC 3.2.3 & Glibc 2.3.2 + some custom (quite safe) optimizations.
(not today, because I'm going to buy a new soundcard
and will spend most of my time revelling in good sound)
BadHorsie
QUOTE(AstralStorm @ Jun 27 2003 - 05:13 AM)
So, you've failed the ABX test, so probably this LAME compile is good enough to use.
Did you use -ffast-math? This might explain differences...
(try it with -ffloat-store to keep speed gain and switch back to 64bit doubles)
I'll try compiling it with GCC 3.2.3 & Glibc 2.3.2 + some custom (quite safe) optimizations.
(not today, because I'm going to buy a new soundcard
and will spend most of my time revelling in good sound)

no switches used. just ./configure, make install.

thx and have fun with your new sound card smile.gif

BadHorsie
el00343
well, to optimize the compilation normally you have to set the CFLAGS using this command:
set CFLAGS="-march=athlon-xp -O3 -mmmx -msse -m3dnow -mfpmath=sse"
etc. (if your cpu is athlon, apparently).
However,the makefile sometimes provides its own CFLAGS,so you must edit it and enter yours if this is the case.

btw,if you notice any difference after and between optimizing the lame compilation, spit it out, I'm curious smile.gif
AstralStorm
Damn, the soundcard didn't arrive! They've said that the transport ougth to arrive today,
but has stopped at another town and will arrive in Tuesday.
BTW the new soundcard is Terratec Aureon 7.1 - costs here 342 zl (around 90$)
I think I'll notice major difference between it and SB Live! Value from 1996.

On the other hand, I might find time to tinker with the sources today.
I'll post my findings here. (and Gentoo Portage ebuild)
The binary produced by the ebuild will have name lame-dibrom - what do you think about it?


el00343, your flags are suboptimal - especially -mfpmath=sse, which slows down on Athlons.
You should rather use -mfpmatch=sse,387, but I found it to be unstable.
3dnow and mmx are already turned on by the 'march'. You should add -pipe to speed up compilation at no cost.

-fomit-frame-pointer, -maccumulate-outgoing-args (which is turned on by 'march' with GCC 3.3),
-fsched-spec-load, -fprefetch-loop-arrays, -funroll-loops are also good and safe.
-ffast-math is also believed to be safe,
but if you don't want to have excess double type precision (80-bit),
you need to use -ffloat-store, which makes code slightly slower,
but still faster than one without -ffast-math. LAME before 3.93 expected 64-bit doubles.
I prefer not to use inlining - it tends to make problems in some of the packages
(-O3 implies it) and instead use -O2 -frename-registers, which is -O3 without -finline-functions

/EDIT\
My CFLAGS = '-march=athlon-xp -O2 -pipe -fomit-frame-pointer -frename-registers -ffast-math -funroll-loops -fforce-addr -fsched-spec-load -fprefetch-loop-arrays -maccumulate-outgoing-args -fPIC -fstack-protector'

I use -fPIC to increase efficiency of GRSecurity and -fstack-protector because I have propolice-patched GCC.
It makes code invulnerable to stack-smashing attacks, but doesn't work on few packages (kernel included).
There exists a kernel supporting stack protection, but I don't use it, because it has too little features.

I have whole Gentoo GNU/Linux system compiled with these flags, it is stable and FAST.
Of course few packages filter out things (especially Glibc, which strips flags just to '-march=athlon-xp -O2 -pipe -fprefetch-loop-arrays -fPIC -maccumulate-outgoing-args -fstack-protector'
It uses kernel 2.4.21-pfeifer-r1_pre1 - Gentoo beta kernel patchset.
\EDIT/
BadHorsie
QUOTE(AstralStorm @ Jun 27 2003 - 08:47 AM)
Damn, the soundcard didn't arrive! They've said that the transport ougth to arrive today,
but has stopped at another town and will arrive in Tuesday.
BTW the new soundcard is Terratec Aureon 7.1 - costs here 342 zl (around 90$)
I think I'll notice major difference between it and SB Live! Value from 1996.

On the other hand, I might find time to tinker with the sources today.
I'll post my findings here. (and Gentoo Portage ebuild)
The binary produced by the ebuild will have name lame-dibrom - what do you think about it?


el00343, your flags are suboptimal - especially -mfpmath=sse, which slows down on Athlons.
You should rather use -mfpmatch=sse,387, but I found it to be unstable.
3dnow and mmx are already turned on by the 'march'. You should add -pipe to speed up compilation at no cost.

-fomit-frame-pointer, -maccumulate-outgoing-args (which is turned on by 'march' with GCC 3.3),
-fsched-spec-load, -fprefetch-loop-arrays, -funroll-loops are also good and safe.
-ffast-math is also believed to be safe,
but if you don't want to have excess double type precision (80-bit),
you need to use -ffloat-store, which makes code slightly slower,
but still faster than one without -ffast-math. LAME before 3.93 expected 64-bit doubles.
I prefer not to use inlining - it tends to make problems in some of the packages
(-O3 implies it) and instead use -O2 -frename-registers, which is -O3 without -finline-functions

/EDIT\
My CFLAGS = '-march=athlon-xp -O2 -pipe -fomit-frame-pointer -frename-registers -ffast-math -funroll-loops -fforce-addr -fsched-spec-load -fprefetch-loop-arrays -maccumulate-outgoing-args -fPIC -fstack-protector'

I use -fPIC to increase efficiency of GRSecurity and -fstack-protector because I have propolice-patched GCC.
It makes code invulnerable to stack-smashing attacks, but doesn't work on few packages (kernel included).
There exists a kernel supporting stack protection, but I don't use it, because it has too little features.

I have whole Gentoo GNU/Linux system compiled with these flags, it is stable and FAST.
Of course few packages filter out things (especially Glibc, which strips flags just to '-march=athlon-xp -O2 -pipe -fprefetch-loop-arrays -fPIC -maccumulate-outgoing-args -fstack-protector'
It uses kernel 2.4.21-pfeifer-r1_pre1 - Gentoo beta kernel patchset.
\EDIT/

oh my...

this whole optimisation stuff hurts me tongue.gif

i need three different compiles. i have a PIII 533MHz, a P4 2000MHz and a AthlonXP 1800+ 1500MHz. quality is more imortant then speed for me. but my own compile (without optimisations) reaches 0.9...x and Vectors i686 compile reaches 1.6...x for example. so a little bit tuning should be useful i think.

so how should the switches look like?

BadHorsie
robert
do you have NASM installed ?
BadHorsie
QUOTE(robert @ Jun 27 2003 - 10:23 AM)
do you have NASM installed ?

yes. nasm 0.98.35

BadHorsie
AstralStorm
I have compiled LAME 3.90.3 today with optimization options above.
Got 36 samples different in 'make test' with -ffloat-store. 39 without it.

All files compressed only with --alt-preset standard.

My specs: Athlon-XP 1700+, 256 MB DDR 266, overclocked system bus to 140.
HDD isn't important, because the files were in the cache.
(I've made one additional run before taking the results)

My optimized LAME (Linux) with -ffloat-store log:
CODE

LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), 3DNow!, SIMD
Using polyphase lowpass  filter, transition band: 18671 Hz - 19205 Hz
Encoding /test.wav to /test.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
 2056/2058  (100%)|    0:21/    0:21|    0:21/    0:21|   2.4830x|    0:00
32 [  76] ***********
128 [ 147] **********************
160 [ 288] %%%***************************************
192 [ 458] %%%%**************************************************************
224 [ 353] %%%%%%%********************************************
256 [ 324] %%%%%%%%%%%************************************
320 [ 413] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************************
average: 218.3 kbps   LR: 365 (17.73%)   MS: 1694 (82.27%)

Writing LAME Tag...done


My optimized LAME (Linux) without -ffloat-store log:
CODE

LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), 3DNow!, SIMD
Using polyphase lowpass  filter, transition band: 18671 Hz - 19205 Hz
Encoding test.wav to test3.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
 2056/2058  (100%)|    0:15/    0:15|    0:15/    0:15|   3.4472x|    0:00
32 [  76] ***********
128 [ 147] **********************
160 [ 288] %%%***************************************
192 [ 458] %%%%**************************************************************
224 [ 353] %%%%%%%********************************************
256 [ 324] %%%%%%%%%%%************************************
320 [ 413] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************************
average: 218.3 kbps   LR: 365 (17.73%)   MS: 1694 (82.27%)

Writing LAME Tag...done


LAME stable bundle from RareWares (Windows) log:
CODE

LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), 3DNow!, SIMD
Using polyphase lowpass  filter, transition band: 18671 Hz - 19205 Hz
Encoding c:\test.wav to c:\test2.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
 2056/2059  (100%)|    0:15/    0:15|    0:15/    0:15|   3.4722x|    0:00
32 [  76] ************
128 [ 101] %***************
160 [ 287] %%*****************************************
192 [ 428] %%%%*************************************************************
224 [ 382] %%%%%*****************************************************
256 [ 344] %%%%%%%%%%******************************************
320 [ 441] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***********************************
average: 222.5 kbps   LR: 335 (16.27%)   MS: 1724 (83.73%)

Writing LAME Tag...done


Foobar2000 0.7b3 bit comparision result between test1 and test2:
CODE

INFO (foo_bitcompare) : first different sample found
INFO (foo_bitcompare) : differences found: 3830096 sample(s), peak: 0,1904845, starting at 1,280023 second(s)
INFO (foo_bitcompare) : finished successfully


The files compressed by both of my compiles do not differ.

As to the switches, you only need to change -march option
DON'T USE -march=pentium4 with GCC <3.3, it's broken!
You may want to add -mfpmath=sse for Pentium >=III, because it is faster for these processors.

/EDIT\ MAJOR update. \EDIT/
BadHorsie
QUOTE(G-Force @ Jun 25 2003, 03:35 PM)
I got an error the first time I ran ./configure and had to remove the config.cache file for it to run properly.

... me too.

the config.cache file should be removed from the tarball at the rarewares site. otherwise lame will compile with no nasm support when just run "./configure && make && make install".

BadHorsie
BadHorsie
i did another compile session:

my sys: Pentium III 533 MHz on SuSE Linux 8.2 with gcc (GCC) 3.3 20030226 (prerelease) (SuSE Linux)

first i removed the file config.cache from the unpacked tarball. then i compiled different versions using

set CFLAGS="XXX"
./configure --enable-nasm
make
su (Password)
make install

for each version i made a "make test" and encoded System Of A Down - Aerials with --alt-preset standard.

-------------------------------------------------

CFLAGS="-march=pentium3"

make test:

CODE
LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), SIMD
Using polyphase lowpass  filter, transition band: 15115 Hz - 15648 Hz
Encoding ./testcase.wav to testcase.new.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
   21/23     (91%)|    0:00/    0:00|    0:00/    0:00|   2.6122x|    0:00
average: 128.0 kbps   LR: 5 (20.83%)   MS: 19 (79.17%)

Writing LAME Tag...done

real    0m0.264s
user    0m0.190s
sys     0m0.030s
cmp -l testcase.new.mp3 ./testcase.mp3 | wc -l
   434


lame --alt-preset standard tmp.wav aerials.mp3:

CODE
LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), SIMD
Using polyphase lowpass  filter, transition band: 18671 Hz - 19205 Hz
Encoding tmp.wav to aerials.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
14203/14205 (100%)|    4:49/    4:49|    5:26/    5:26|   1.2836x|    0:00
32 [  153] %**
128 [ 1670] %******************************
160 [ 2049] %%%%%%%%%%****************************
192 [ 4105] %%%%%%%%%%%%%%%%%%%%%%%%%%%%************************************************
224 [ 3117] %%%%%%%%%%%%%%%%%%****************************************
256 [ 1776] %%%%%%%%%%%%%%%******************
320 [ 1336] %%%%%%%%%%%%%%***********
average: 205.2 kbps   LR: 4456 (31.37%)   MS: 9750 (68.63%)

Writing LAME Tag...done


CFLAGS="-march=pentium3 -mfpmath=sse"

make test:

CODE
LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), SIMD
Using polyphase lowpass  filter, transition band: 15115 Hz - 15648 Hz
Encoding ./testcase.wav to testcase.new.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
   21/23     (91%)|    0:00/    0:00|    0:00/    0:00|   2.7429x|    0:00
average: 128.0 kbps   LR: 5 (20.83%)   MS: 19 (79.17%)

Writing LAME Tag...done

real    0m0.398s
user    0m0.200s
sys     0m0.010s
cmp -l testcase.new.mp3 ./testcase.mp3 | wc -l
   434


lame --alt-preset standard tmp.wav aerials.mp3:

CODE
LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), SIMD
Using polyphase lowpass  filter, transition band: 18671 Hz - 19205 Hz
Encoding tmp.wav to aerials.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
14203/14205 (100%)|    4:52/    4:52|    4:56/    4:56|   1.2684x|    0:00
32 [  153] %**
128 [ 1670] %******************************
160 [ 2049] %%%%%%%%%%****************************
192 [ 4105] %%%%%%%%%%%%%%%%%%%%%%%%%%%%************************************************
224 [ 3117] %%%%%%%%%%%%%%%%%%****************************************
256 [ 1776] %%%%%%%%%%%%%%%******************
320 [ 1336] %%%%%%%%%%%%%%***********
average: 205.2 kbps   LR: 4456 (31.37%)   MS: 9750 (68.63%)

Writing LAME Tag...done


CFLAGS="-march=i686"

make test:

CODE
LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), SIMD
Using polyphase lowpass  filter, transition band: 15115 Hz - 15648 Hz
Encoding ./testcase.wav to testcase.new.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
   21/23     (91%)|    0:00/    0:00|    0:00/    0:00|   2.7429x|    0:00
average: 128.0 kbps   LR: 5 (20.83%)   MS: 19 (79.17%)

Writing LAME Tag...done

real    0m0.271s
user    0m0.200s
sys     0m0.010s
cmp -l testcase.new.mp3 ./testcase.mp3 | wc -l
   434


lame --alt-preset standard tmp.wav aerials.mp3:

CODE
LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), SIMD
Using polyphase lowpass  filter, transition band: 18671 Hz - 19205 Hz
Encoding tmp.wav to aerials.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
14203/14205 (100%)|    4:45/    4:45|    4:47/    4:47|   1.3006x|    0:00
32 [  153] %**
128 [ 1670] %******************************
160 [ 2049] %%%%%%%%%%****************************
192 [ 4105] %%%%%%%%%%%%%%%%%%%%%%%%%%%%************************************************
224 [ 3117] %%%%%%%%%%%%%%%%%%****************************************
256 [ 1776] %%%%%%%%%%%%%%%******************
320 [ 1336] %%%%%%%%%%%%%%***********
average: 205.2 kbps   LR: 4456 (31.37%)   MS: 9750 (68.63%)

Writing LAME Tag...done


CFLAGS="-march=i686 -mfpmath=sse"

make test:

CODE
LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), SIMD
Using polyphase lowpass  filter, transition band: 15115 Hz - 15648 Hz
Encoding ./testcase.wav to testcase.new.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
   21/23     (91%)|    0:00/    0:00|    0:00/    0:00|   2.3851x|    0:00
average: 128.0 kbps   LR: 5 (20.83%)   MS: 19 (79.17%)

Writing LAME Tag...done

real    0m0.846s
user    0m0.230s
sys     0m0.020s
cmp -l testcase.new.mp3 ./testcase.mp3 | wc -l
   434


lame --alt-preset standard tmp.wav aerials.mp3:

CODE
LAME version 3.90.3 MMX  (http://www.mp3dev.org/)
CPU features: i387, MMX (ASM used), SIMD
Using polyphase lowpass  filter, transition band: 18671 Hz - 19205 Hz
Encoding tmp.wav to aerials.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=2
   Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
14203/14205 (100%)|    4:53/    4:53|    5:32/    5:32|   1.2648x|    0:00
32 [  153] %**
128 [ 1670] %******************************
160 [ 2049] %%%%%%%%%%****************************
192 [ 4105] %%%%%%%%%%%%%%%%%%%%%%%%%%%%************************************************
224 [ 3117] %%%%%%%%%%%%%%%%%%****************************************
256 [ 1776] %%%%%%%%%%%%%%%******************
320 [ 1336] %%%%%%%%%%%%%%***********
average: 205.2 kbps   LR: 4456 (31.37%)   MS: 9750 (68.63%)

Writing LAME Tag...done


the -march=i686 without the -mfpmath=sse switch was the fastest compile on this song. are there other switches to play with or should i stay with this compile? biggrin.gif

BadHorsie
AstralStorm
1. You can try --mfpmath=sse,fpu with >GCC 3.2.2 (I've found it isn't unstable).
2. Did you do at least three runs with an encoder before testing? If not, the results might be flawed smile.gif
3. That GCC 3.3 is an OLD, PRERELEASE version... buggy as hell! Try GCC 3.2.3 or GCC 3.3 release.
4. I will soon add the version of my compiler.

/EDIT\
gcc (GCC) 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)
\EDIT/
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.