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: mpg123 1.8.0 (Read 15795 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

mpg123 1.8.0

"mpg123 is now more correct than ever and it's faster than ever -- especially on modern x86-64 hardware, where we regain the performance crown from the 64bit SSE code in MPlayer" - website download changelog

Brief changelog:
  • Speed improvements.
  • Proper rounding.
  • Remove HF cutoff (SFB21) introduced in 0.59r.
  • More sample-accurateness.

mpg123 1.8.0

Reply #1
Change log:
  • New and improved SSE optimizations! For x86-64, too! Also AltiVec! Fast float output! Faster stereo!
      Finally, this should put mpg123 into the efficiency-leading position on current hardware!
      Thanks go out to Taihei Monma for pushing lots of new assembler code.
  • Added proper rounding modes to 16bit integer.
      - Use ./configure --enable-int-quality to prefer accuracy over speed.
      - Accurate code (generic, SSE, 3dnow -- i586 has always been good) delivers ISO compliant quality with 16bit output.
      - Uses fast rounding for IEEE754 floats.
      - Mpg123 can do fully ISO compliant MPEG audio decoding to 16bits (of course to 32bit float/int, too).
  • subtle performance enhancements via broader data alignment
  • Prefer SSE code over 3DNowExt.
      - It can be tight, but generally our new SSE code is better on CPUs that can do both.
  • Remove HF cutoff (SFB21), has been introduced in 0.59r .
  • Fix layer 1 regression (been there since version 1.x).
      - Layer 1 ISO compliance test is positive now.
  • Fix layer 2 regression (false positives header change).
      - Layer 2 ISO compliance test is positive now.
  • more sample-accurateness
      - Clear frame buffers before seek.
      - Decode 4 frames in advance for layer 3 (2 for layer 1 and 2) per default.
      - Number of layer 3 frames to decoded in advance (and fill bit reservoir) is runtime tunable (--preframes).
  • Do not stop decoding after stray ID3v1 tags in streams (bug 2793677).
  • Fix handling of negative RVA2 values in ID3v2 (bug 2792417).
  • Discard bitreservoir of previous frames if a resync is needed.
  • improve perceived randomness of --random (do not repeat too early)
  • Fix special crash case in UTF16 conversion for ID3v2.
  • MPG123_MODDIR environment variable for changing module directory at runtime
  • arts output fixes (bug 2715128)
  • win32 output swallowing less buffers at end (but still some audio is lost, bug 2722991)
  • tested mpg123 on OS/2; it works, but not the native audio output (SDL works)
  • WAV output announces supported output formats correctly
  • fix buffer startup to make sure the first bits of audio are not discarded (bug 2796802)
  • re-enable the --gain parameter (the move to modules disabled that), untested
  • Libltdl is _not_ included anymore.
      - The host system is expected to provide it, otherwise plugins are not used.
      - Our copy does not get in the way anymore.
  • enhancements of the MSVC++ builds, including optimizations using yasm
  • general build system fixes
  • Legacy build system is gone.
  • code cleanup
      - signed/unsigned integer usage, make compilers more happy)
      - simplified synth selection code (it is _less_ code now, and does more)
  • Fixed behaviour of MPG123_NEW_FORMAT: Now it does not stop you from just continuing decoding without querying the (new) output format, this behaviour regression had been there since somewhen after 1.4.3 .

mpg123 1.8.0

Reply #2
  • Remove HF cutoff (SFB21) introduced in 0.59r.


To complete the references, this is the Hydrogenaudio thread that ended 8 years of >16kHz cutoff.

mpg123 1.8.0

Reply #3
Sweet! So glad that development has picked up again on this

mpg123 1.8.0

Reply #4
Sweet! So glad that development has picked up again on this

Well, sweet that you notice... several years after we picked up development again;-)

But then, it would be nice if you people here help spread the news a bit to the people using MPEG decoders derived from old mpg123 code in their software... I would like to see them using up-to-date code from the mpg123 project, and also report back improvements they did and that we still miss in our official releases.
(Contact is best done via postiing to mpg123-devel@lists.sourceforge.net, as I cannot promise to watch this forum in a timely manner.)

Just in case people did not notice: The mpg123 decoder is available as fully-deatured dynamic library on UNIX systems, but also on Windows and Mac.

Oh, and 1.8.1 is out - I accidentally claimed something about the fixed point accuracy being improved in 1.8.0 while that code was confined to the development version only. Now the new release indeed does proper decoding when compiled for fixed point math (though not very fast, that comes with next major release).

mpg123 1.8.0

Reply #5
mpg123 1.8.1

Quote
The update mainly adds the proper integer / fixed point decoding that accidentally has been promised in the 1.8.0 at places (more still planned for 1.9.0). Minor bug and build system fixes complete the treat, for example updated build files for the Sony PSP.



mpg123 1.8.0

Reply #8
binaries updated to 1.8.1

mpg123 1.8.0

Reply #9
What options in the ./configure line should I use that will produce the most accurate 16-bit output?

I am currently just using "--enable-int-quality" now.

mpg123 1.8.0

Reply #10
Will there be a decoder which I can use with MediaMonkey (Winamp compatible)?

mpg123 1.8.0

Reply #11
Will there be a decoder which I can use with MediaMonkey (Winamp compatible)?
Will there be a decoder usable with WinAMP 2.9X ?
Sorry for my poor English, I'm trying to get better... ;)
"The greatest trick the Devil ever pulled, was convincing the world he didn't exist."

mpg123 1.8.0

Reply #12
I mean the same.

It's already the second time I ask but I didn't get an answer yet.

mpg123 1.8.0

Reply #13
Should/would the list from mpg123.exe --list-cpu be considered as most to least accurate?

Code: [Select]
mpg123.exe --list-cpu
Builtin decoders: SSE 3DNowExt 3DNow MMX i586 i586_dither i386 generic generic_dither


Quote
Prefer SSE code over 3DNowExt.
- It can be tight, but generally our new SSE code is better on CPUs that can do both.

mpg123 1.8.0

Reply #14
It may just be me, but I can't get the -C switch that enables keyboard controls to work, it keeps telling me I used an incorrect option.


 

mpg123 1.8.0

Reply #15
It may just be me, but I can't get the -C switch that enables keyboard controls to work, it keeps telling me I used an incorrect option.



On a closer look, that seems to require unix-like terminal functionality and the usage options must list it there in the Windows build even though it can't work.

Wonder if the Cygwin build would work better for Windows users....