[Speex-dev] Compiler warnings with GCC 3.4.4 and perfomance question on a Arm 7

tom abcd tom.abcd at gmail.com
Mon Jan 23 07:15:25 PST 2006

I am using speex on a Philips LPC2138 Arm 7 processor and have hit two
compiler warnings when using FIXED_POINT and the Arm 4 asm code.

In cb_search.c get a warning on the call to compute_weighted_codebook of:
"passing arg 2 of 'compute_weighted_codebook' from incompatible pointer type'

In cp_search_arm4.h it is defined as:
static void compute_weighted_codebook(const signed char *shape_cb,
const spx_sig_t *r,

but in cb_search.c it is defined as static void
compute_weighted_codebook(const signed char *shape_cb, const
spx_word16_t *r, .....

So it appears the arm version has arg 2 defined differently so I am
getting this error. So am I missing something or is this what it
should do ?  I am using GCC 3.4.4.

The second warning is in ltp_arm4.h in "pitch_xcorr(" getting a warning of:
"matching constraint does not allow a register" on the   " __asm__
__volatile__ " line.  I have no idea how to fix this warning.

Even with these errors I have gotten decoding to work YEAH!!.   It
appears to take about 10 to 11 msec to decode one frame of a wideband
file with enhancement on.   This is on a 60 mhz processor (suppose to
be about 50 MIPs).   So should it take this long to decode a frame??
If not is there something I can check?

Is using the Arm 4 asm code the correct thing for an Arm 7 processor?


More information about the Speex-dev mailing list