Package mpg123 for arm with option "--with-cpu=generic_fpu"

Bug #1082031 reported by Funatiker
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
AC100_enablement
New
Undecided
Unassigned
audacious (Ubuntu)
Invalid
Undecided
Unassigned
mpg123 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Listening music with audacious on Lubuntu 12.10 (installed according to [1]) fails with the message:
„mpg123: Error opening file a.mp3: Unable to set up output format! (code 1).“

According to the Audacious-Board [2] this happens because has no ARM-assembly code for playing anything else than 16bit. It can be resolved by recompiling mpg123 with option "--with-cpu=generic_fpu"

[1] https://wiki.ubuntu.com/ARM/TEGRA/AC100
[2] http://redmine.audacious-media-player.org/boards/2/topics/315

Revision history for this message
Thomas Orgis (thomas-forum) wrote : Re: [Bug 1082031] [NEW] Package mpg123 for arm with option "--with-cpu=generic_fpu"

Am Thu, 22 Nov 2012 14:15:39 -0000
schrieb Funatiker <email address hidden>:

> According to the Audacious-Board [2] this happens because has no ARM-
> assembly code for playing anything else than 16bit. It can be resolved
> by recompiling mpg123 with option "--with-cpu=generic_fpu"

Right and wrong.

1. There is ARM-assembly code for 16 bit, 32 bit and float, using NEON
instructions (Cortex A8). That's the most fun way to play with mpg123 on
current ARM machines.
2. The normal ARM code is written for classic ARM CPUs without floating
point support, employing integer math, where output of float values
would be a bit silly.
3. So, for ARMs without NEON, but sporting decent floating
point support, generic_fpu indeed is a good choice.

> [1] https://wiki.ubuntu.com/ARM/TEGRA/AC100

Too bad that's a Tegra 2 that manages to skip on the NEON part. Note
that it would be possible to provide a build of generic_cpu and neon
together, deciding at runtime which to use, just like the x86 build.
But there is a catch: Someone needs some time to prepare some glue code
and test it (the CPU check and setting some function pointers in
optimize.c). Currently, I'm not the one.

For the record: Combining the integer ARM code with floating point code in a single
build is unrealistic.

Alrighty then,

Thomas

Revision history for this message
Funatiker (koehlerx) wrote :

Thanks for your quick response, Thomas.

There is a workaround for audacious: Disabling the mpg123-Plugin, enabling the ffmpeg-Plugin.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in audacious (Ubuntu):
status: New → Confirmed
Changed in mpg123 (Ubuntu):
status: New → Confirmed
Revision history for this message
James Cowgill (jcowgill) wrote :

Was fixed in 1.18.0-1ubuntu1 (utopic).

Changed in mpg123 (Ubuntu):
status: Confirmed → Fix Released
Changed in audacious (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers