> - Mobile processors generally do NOT have good
> floating point power. Sometimes by a factor
> of 1000 flops.
It can be a factor of 1000 if the binaries are built assuming there is an FPU.
What happens is you get a system call for every failed float operation. If the
toolset is geared to understand that none is available then it generates soft
floating point operations that just occur in the user thread. Performance hit
is about two zeroes less than you are discussing here. Android appears to
generate softfloat code.
> - LADSPA and LV2 are built to process 32-bit
> floating point PCM data, and have no provision
> for processing 16-bit integer PCM data.
Do these systems actually process the floats though? I would have thought
most of their work was moving floating point *buffers around so that other
programs could do DSP work on them - these are plugin processors so there
is not a great demand that they manipulate the data they move between the
plugins (LADSPA is rather unfortunately named as in does seem to suggest
it does DSP which it doesn't - but I will happily stand corrected here).
Moving audio data around should only affect memory alloc rather than CPU
hits. If this code does floating point work then the basic stuff (mixing,
moving, etc) can be accelerated on the ARM FPU.
> So, trying to use LADSPA or LV2 in their current state will
> probably cause bottlenecks (either from doing FP math or
> from doing format convervsions to do integer math).
>
> Is this a Real Problem?
Yes, but I don't think it has to be that big. The bigger issue is why the hell
would you want to do it, integrate LV2 and LADSPA on to this platform?
The issue is that support on Linux is already patchy, so are the few apps
that support it on Linux likely to migrate to Android? A lot of the audio apps
that now appear on Andoid (very few of which come from a Linux heritage)
are taking a monolithic approach of having an integral package with the
synth/bass/drums/seq in the app.
There probably are arguments for doing this. The actual CPU performance
of the current ARM dual core handsets is pretty respectable and it is only
going to increase. So as the tablets start having these resources then there
are some interesting but I really think there is a difference between Linux
and something like Android - this just uses a Linux kernel, most of the rest
is way different.
Don't you think it is more likely that people who are interested will run
Linux as a replacement for Android on the ARM tablets rather than have
the apps ported over?
Regards, nick