← Back to team overview

ubuntu-audio-dev team mailing list archive

Re: [pulseaudio-discuss] Preferred resampler method on armhf.


On 2014-11-20 13:55, Felipe Sateler wrote:
On Thu, Nov 20, 2014 at 8:30 AM, Sjoerd Simons <sjoerd@xxxxxxxx> wrote:
On Thu, 2014-11-20 at 11:58 +0100, David Henningsson wrote:

On 2014-11-20 08:40, Alexander E. Patrakov wrote:
20.11.2014 12:35, David Henningsson wrote:
Crossposting to Debian and upstream lists.

Apparently Debian has a patch that uses fixed point by default on armhf,
so I'm just echoing Luke's question here: Has anybody performed any
testing or benchmarks across armhf hardware, w r t fixed point vs
floating point resampling with speex and PulseAudio?

That patch has been superseded by this commit:


So, if you prefer a fixed-point resampler on armhf (or, for that matter,
on any other architecture), just compile speex with --enable-fixed-point

Well, this is a more of an "upstream default" question rather than a
"why don't you recompile speex" question, and one where it might make
sense to come up with something reasonable across the board; either by
upstreaming "fixed point by default for armhf", or by Debian to drop its

It does not look likely to me that PulseAudio upstream and Debian would
correspond to so different machine/user scenarios so that a Debian
specific patch would make sense here.

Well with the patch mentioned here, i would probably drop that patch
from Debian in any case as pulse would just follow speex (which is the
right thing anyway).. Which makes the upstream choice in pulse a bit

That said i'd still be interesting on seeing speex resampling benchmark
numbers on a wider set of recentish boards.

In debian the speex maintainer has refused to enable floating point on
armhf [1][2], claiming benchmarks show that fixed point is better even
on armhf. I have not seen those benchmarks, so if it is possible to
corroborate or dispel this information it would be great. On ubuntu I
understand speex is built with floating point.

I only have a raspberry pi to try things on, but I'd be glad to run a
benchmark there if that is of any use.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=736752
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=700602

Right, thanks for the reminder.

So, speex should be compiled with floating point, not because of performance, but because AGC is broken (or not even implemented!) when compiled with fixed point. So that's what we do on Ubuntu.

So maybe we could stick with status quo then, for simplicity? If somebody cares enough it would be up to that person to provide benchmarks.

David Henningsson, Canonical Ltd.