[pulseaudio-discuss] [PATCH v2] resampler: Support speex resampler compiled with FIXED_POINT
Peter Meerwald
pmeerw at pmeerw.net
Sat May 10 10:12:39 PDT 2014
Hi,
> > > When Speex is compiled with FIXED_POINT defined, it scales float input
> > > to ±32768 instead of ±1. In order to make floating point resampler
> > > work with speex compiled with FIXED_POINT, we need to rescale the input
> > > to speex. This rescaling does not hurt normal speex, so we do it
> > > unconditionally.
> >
> > floating point multiplication is quite costly on some platforms, I'd
> > rather not force everyone to scale every sample twice for no good reason
>
> Well, on such platforms (*cough* ARM *cough*) I'd call it a bug to use
> speex-float-* resamplers by default, or even to provide them at all. If we fix
> that, then the extra multiplication in an already-very-slow path would no
> longer be relevant.
speex-float resampler is actually faster than speex-fixed when using the
NEON patch, or at least on par -- so it depends
but floating point math really sucks on Cortex-A8, doing the same
operation with NEON is quite fast
so how about overriding PA's speex-float choice to speex-fixed when we
find that speex-float is compiled as FIXED_POINT (and educate the user?)
p.
--
Peter Meerwald
+43-664-2444418 (mobile)
More information about the pulseaudio-discuss
mailing list