IPB

Welcome Guest ( Log In | Register )

LAME: different compilers producing significantly different bitstreams, Split from ôLAME 3.99 is outö
Alex B
post Jan 28 2012, 15:16
Post #1





Group: Members
Posts: 1303
Joined: 14-September 05
From: Helsinki, Finland
Member No.: 24472



The new 32-bit lame.exe seems to work fine for me on XP Pro SP3 (I have an AMD Phenom II CPU that supports SSE2), but it produces entirely different output than LAME 3.99.3 from the previous "main" bundle. I did not expect that. As far as I can see, the change log does not indicate any further "quality tweaking".

In some cases 3.99.4 seems to produce significantly smaller VBR bitrates than 3.99.3. I tested the settings -V1, -V5 and -V8. When the source tracks were quiet and uncompressed (classical, ambient, etc) the bit rates were 3-12% smaller than before. When the source tracks were loud and compressed (hard rock, metal, etc) the bitrates were about the same as before (or just very slightly smaller).

This post has been edited by Alex B: Jan 28 2012, 16:08


--------------------
http://listening-tests.freetzi.com
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Pretentiousman
post Jan 31 2012, 17:58
Post #2





Group: Members
Posts: 2
Joined: 4-November 11
Member No.: 94959



Is it possible for an executable from one compiler to produce a difference in quality or sound than another executable from different compiler? It seems that a difference in bitrate is possible. I am curious. I am no programmer btw.

This post has been edited by Pretentiousman: Jan 31 2012, 18:00


--------------------
I feel music enriches the soul.
Go to the top of the page
+Quote Post
JJZolx
post Jan 31 2012, 18:12
Post #3





Group: Members
Posts: 378
Joined: 26-November 04
Member No.: 18345



QUOTE (Pretentiousman @ Jan 31 2012, 09:58) *
Is it possible for an executable from one compiler to produce a difference in quality or sound than another executable from different compiler? It seems that a difference in bitrate is possible.


Which, IMO, is no less concerning than if they produced differences in sound quality.


QUOTE (john33 @ Jan 31 2012, 10:12) *
The short answer is that I don't believe anyone has claimed to hear any verifiable discernable differences and that is all that matters.


It's not all that matters.

The whole point of a lossy codec using VBR is to produce the lowest possible bitrate at a given SQ level. Perhaps it's na´ve, but I would expect all compiles on all platforms to produce the same encoding results.

This post has been edited by JJZolx: Jan 31 2012, 18:19
Go to the top of the page
+Quote Post
lvqcl
post Jan 31 2012, 18:38
Post #4





Group: Developer
Posts: 3213
Joined: 2-December 07
Member No.: 49183



QUOTE (JJZolx @ Jan 31 2012, 21:12) *
Perhaps it's na´ve, but I would expect all compiles on all platforms to produce the same encoding results.


LAME uses floating point calculations, so it is highly unlikely.
Go to the top of the page
+Quote Post
apodtele
post Jan 31 2012, 21:52
Post #5





Group: Members
Posts: 39
Joined: 16-November 11
Member No.: 95199



QUOTE (lvqcl @ Jan 31 2012, 12:38) *
QUOTE (JJZolx @ Jan 31 2012, 21:12) *
Perhaps it's na´ve, but I would expect all compiles on all platforms to produce the same encoding results.


LAME uses floating point calculations, so it is highly unlikely.


Please... Given the same CPU, floating point calculations are quite deterministic.

The whole story smells like LAME is too careless about floating overflows and underflows.
Go to the top of the page
+Quote Post
C.R.Helmrich
post Jan 31 2012, 23:01
Post #6





Group: Developer
Posts: 682
Joined: 6-December 08
From: Erlangen Germany
Member No.: 64012



QUOTE (apodtele @ Jan 31 2012, 22:52) *
Please... Given the same CPU, floating point calculations are quite deterministic.

I wish... well, yes, maybe the calculations are deterministic, but the order of calculations (which can vary between compilers according to optimization algorithms) can have a significant influence on the result. But of course the observations discussed here are extreme.

Chris


--------------------
If I don't reply to your reply, it means I agree with you.
Go to the top of the page
+Quote Post
apodtele
post Jan 31 2012, 23:36
Post #7





Group: Members
Posts: 39
Joined: 16-November 11
Member No.: 95199



Order is defined by precedence and compiler rarely dares to go against left-to-right as specified by the C standard.
I still bet on undeflows of the type that 3.99.4 was trying to paper over with max(x, epsilon). This type of bugfixing is dangerous.

This post has been edited by db1989: Feb 7 2012, 14:43
Reason for edit: removing unnecessary full quote of above post
Go to the top of the page
+Quote Post

Posts in this topic
- Alex B   LAME: different compilers producing significantly different bitstreams   Jan 28 2012, 15:16
- - halb27   With my test set 3.99.4 produces an average bitrat...   Jan 28 2012, 22:44
- - Alex B   I uploaded a sample: http://www.hydrogenaudio.org/...   Jan 28 2012, 23:31
|- - JJZolx   QUOTE (Alex B @ Jan 28 2012, 15:31) In so...   Jan 29 2012, 00:18
|- - Alex B   QUOTE (JJZolx @ Jan 29 2012, 01:18) Some ...   Jan 29 2012, 00:43
- - lvqcl   Different compilers/options IMHO.   Jan 28 2012, 23:58
- - Alex B   At least John did not change the announced compile...   Jan 29 2012, 00:12
- - lvqcl   From RareWares main page: "Compiles are now M...   Jan 29 2012, 00:23
|- - bbrabant   QUOTE (lvqcl @ Jan 29 2012, 02:23) Also, ...   Jan 29 2012, 00:40
- - JJZolx   Ok, then back to lvqcl: Why would a different comp...   Jan 29 2012, 00:53
|- - Alex B   QUOTE (JJZolx @ Jan 29 2012, 01:53) Why w...   Jan 29 2012, 01:06
|- - C.R.Helmrich   Indeed. How was the following done, if I may ask? ...   Jan 29 2012, 02:10
- - lvqcl   It seems that the relevant changes are somewhere i...   Jan 29 2012, 12:00
|- - JJZolx   QUOTE (lvqcl @ Jan 29 2012, 04:00) It see...   Jan 29 2012, 23:02
- - john33   Sorry, guys, there was a compiler option error on ...   Jan 30 2012, 12:42
- - halb27   Everything's fine now. Exactly the same averag...   Jan 30 2012, 14:54
|- - john33   QUOTE (halb27 @ Jan 30 2012, 13:54) Every...   Jan 30 2012, 15:11
- - godrick   Does the nature of the compiler error require user...   Jan 30 2012, 15:56
|- - john33   QUOTE (godrick @ Jan 30 2012, 14:56) Does...   Jan 30 2012, 16:01
- - Alex B   Thanks John. The new 32-bit exe compile seems to ...   Jan 30 2012, 17:16
|- - john33   QUOTE (Alex B @ Jan 30 2012, 16:16) Thank...   Jan 30 2012, 18:01
|- - robert   QUOTE (Alex B @ Jan 30 2012, 17:16) Thank...   Jan 30 2012, 18:16
- - Alex B   I don't think libsndfile is involved. I used f...   Jan 30 2012, 18:36
- - mixminus1   I can confirm AlexB's findings vis a vis the b...   Jan 30 2012, 21:49
- - DigitalMan   Assume 64 bit compile is unaffected? Not at machi...   Jan 31 2012, 00:17
- - mixminus1   No, latest 64-bit version of 3.99.4 (20120125) fro...   Jan 31 2012, 00:47
|- - john33   QUOTE (mixminus1 @ Jan 30 2012, 23:47) No...   Jan 31 2012, 09:35
- - john33   OK, done some testing comparing the Rarewares 32 b...   Jan 31 2012, 17:43
- - Pretentiousman   Is it possible for an executable from one compiler...   Jan 31 2012, 17:58
|- - john33   QUOTE (Pretentiousman @ Jan 31 2012, 16:5...   Jan 31 2012, 18:12
|- - JJZolx   QUOTE (Pretentiousman @ Jan 31 2012, 09:5...   Jan 31 2012, 18:12
|- - lvqcl   QUOTE (JJZolx @ Jan 31 2012, 21:12) Perha...   Jan 31 2012, 18:38
|- - apodtele   QUOTE (lvqcl @ Jan 31 2012, 12:38) QUOTE ...   Jan 31 2012, 21:52
|- - C.R.Helmrich   QUOTE (apodtele @ Jan 31 2012, 22:52) Ple...   Jan 31 2012, 23:01
|- - apodtele   Order is defined by precedence and compiler rarely...   Jan 31 2012, 23:36
|- - saratoga   QUOTE (apodtele @ Jan 31 2012, 15:52) QUO...   Feb 1 2012, 00:44
|- - nu774   CODEmain() { volatile double x = 53, y = ...   Feb 1 2012, 02:53
|- - apodtele   QUOTE (nu774 @ Jan 31 2012, 20:53) 54 52 ...   Feb 1 2012, 04:23
|- - nu774   QUOTE (apodtele @ Feb 1 2012, 12:23) You ...   Feb 1 2012, 04:45
||- - nu774   QUOTE (nu774 @ Feb 1 2012, 12:45) QUOTE (...   Feb 1 2012, 11:42
|- - timcupery   QUOTE (apodtele @ Jan 31 2012, 22:23) We ...   Feb 2 2012, 03:56
- - lvqcl   2 seconds of Liszt.wav (LAME -V1): original track...   Jan 31 2012, 18:05
- - JJZolx   But to what degree in terms of overall bitrate? Th...   Jan 31 2012, 18:45
- - Alex B   Here's how EncSpot Pro sees the differences in...   Jan 31 2012, 18:58
- - JJZolx   Here's some more data at different VBR quality...   Feb 1 2012, 00:21
- - lvqcl   Test signal: sine (-12 dBFS) + white noise (-N dBF...   Feb 2 2012, 16:56
- - halb27   Looks like your MSVC10 compile behaves more reason...   Feb 2 2012, 17:46
- - lvqcl   Spectrograms of sine+noise (3 seconds from an mp3 ...   Feb 2 2012, 18:13
|- - apodtele   QUOTE (lvqcl @ Feb 2 2012, 12:13) Spectro...   Feb 2 2012, 19:53
- - halb27   Looks like it's the decision process for decid...   Feb 2 2012, 20:27
- - john33   Just for the record, Robert is looking at this iss...   Feb 2 2012, 20:35
|- - lvqcl   QUOTE (john33 @ Feb 2 2012, 23:35) Just f...   Feb 2 2012, 21:10
|- - john33   QUOTE (lvqcl @ Feb 2 2012, 20:10) ... It...   Feb 2 2012, 23:09
- - Destroid   From the sidelines, I found this discussion of the...   Feb 5 2012, 11:49
- - antman   Agreed Destroid. This has been an interesting rea...   Feb 7 2012, 04:08
- - JJZolx   I'm surprised this thread wasn't split a l...   Feb 7 2012, 04:28
|- - DARcode   The "minutiae" in this thread are actual...   Feb 7 2012, 14:15
- - john33   Robert is currently working on a solution that wou...   Feb 7 2012, 14:27
|- - apodtele   QUOTE (john33 @ Feb 7 2012, 08:27) Robert...   Feb 7 2012, 16:24
|- - john33   QUOTE (apodtele @ Feb 7 2012, 15:24) This...   Feb 7 2012, 17:21
|- - robert   QUOTE (apodtele @ Feb 7 2012, 16:24) This...   Feb 7 2012, 17:38
|- - apodtele   QUOTE (robert @ Feb 7 2012, 11:38) The co...   Feb 7 2012, 21:48
- - john33   There is a test compile (32 bit) now available at:...   Feb 7 2012, 17:13
- - JJZolx   Here's that set of files again, encoded using ...   Feb 8 2012, 00:24
- - halb27   I checked Alex B's Liszt sample, and 3.99.5 be...   Feb 9 2012, 10:56
- - Kilu   This thread was an interesting read. So just to b...   Feb 10 2012, 17:46
|- - john33   QUOTE (Kilu @ Feb 10 2012, 16:46) This th...   Feb 10 2012, 18:27
- - antman   Kilu, in summary, the encoding speed differences w...   Feb 11 2012, 02:37
- - Kilu   Alrighty, thanks guys. I think I'll wait for t...   Feb 11 2012, 03:25
- - john33   3.99.5 test 2 on the link below fixes the decoding...   Feb 13 2012, 10:21
- - psycho   3.99.5 is out, compiles anyone?   Feb 15 2012, 21:54
|- - john33   QUOTE (psycho @ Feb 15 2012, 20:54) 3.99....   Feb 15 2012, 23:28
- - lvqcl   There's still no mention of 3.99.5 at http://s...   Feb 15 2012, 22:06


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 20th April 2014 - 17:43