On Tue, Mar 9, 2010 at 6:50 AM, St?phane Letz <letz at grame.fr>
wrote:> Hi,
>
> We are testing CELT 0.7.1 on an iPod touch and it seems we are already
reaching the CPU limit of the machine for a 1 channel both directions stream.
The CELT README says that the code should be compiled with fixed-point support,
but it it not clear how it has to be used later on. We currently use
celt_encode_float/celt_decode_float functions. Can we still use them with the
fixed point version of CELT?
>
> Anny other advice to improve the CPU use issue? (size of the encoded
packet, frame rate... etc...)
You can still use celt_encode_float/celt_decode_float with the fixed
point mode, but if your CPU has very slow floating point support then
the handling of the floating point values for the input conversion may
slow it down.
I think the arm in the ipod touch has a reasonably fast fpu. Celt may
work okay on that platform in floating point mode.
How are you switching to fixed point? There are several defines
required and if you've created your own project files you may not be
setting all of them.
Does setting complexity level 1 improve your situation?
Can you obtain a profile?
I've tested CELT on an arm which should be slower than the one in the
ipod touch, and had acceptable performance. However, different chips
perform differently. :)