foobar2000 v1.2 has switched to using FFmpeg for decoding MP3s (and other codecs). I believe before (v1.1.18 and earlier) it used mpg123 for decoding.
I thought I'd compare the decoded WAV files from an MP3 file (AFAIK FhG encoder) created using v1.1.18 and v1.2 beta 1, respectively.
foobar2000 v1.1.18:
Track converted successfully.
Total encoding time: 0:06.396, 16.88x realtime
foobar2000 v1.2 beta 1:
Track converted successfully.
Total encoding time: 0:00.593, 182.08x realtime
That's quite a notable speed change (next test was only 2x as fast though).
However doing a bit compare yields:
Differences found: 14232 sample(s), starting at 1.1842404 second(s), peak: 0.0000305 at 1.1842404 second(s), 2ch
Is this normal/to be expected? My understanding is that mpg123 is the/one of the most accurate decoders.
I tried it on another file (LAME 3.98r -V 0 encoded) and that also failed the bit compare test. Decoding speeds:
v1.1.18:
Track converted successfully.
Total encoding time: 0:02.964, 112.78x realtime
v1.2 beta 1:
Track converted successfully.
Total encoding time: 0:01.435, 232.96x realtime
^So about 2x as fast - could be due to FFmpeg being multi threaded.
Bit comparing:
Differences found: 76491 sample(s), starting at 0.5605442 second(s), peak: 0.0000305 at 0.5605442 second(s), 2ch
My question is why is FFmpeg's MP3 decoding different, and is it more or less accurate than mpg123?
Cheers, Arite.