Alan Rasmussen
2005-Jan-25 17:38 UTC
[Speex-dev] "spx_word16_t *" is incompatible with parameter of type "float *"
Hi,
I am bring SPEEX up on Analog Device's Blackfin (using Visual DSP++ tool
set). The floating point was too slow on this fixed-point processor so I am
going for the integer version.
The floating point library build was very clean, but when I build with
FIXED_POINT defined, the compiler exits when it find this discrepancy in
\libspeex\cb_search.c :
".\libspeex\cb_search.c", line 185: cc0167: error: argument of type
"spx_word16_t *" is incompatible with parameter of type
"float *"
compute_weighted_codebook(shape_cb, r, resp, resp2, E, shape_cb_size,
subvect_size, stack);
The function definition defines resp2 as a float in line 47:
static void compute_weighted_codebook(const signed char *shape_cb, const
spx_sig_t *r, spx_word16_t *resp, float *resp2, spx_word32_t *E, int
shape_cb_size, int subvect_size, char *stack)
But then calls it with resp2 being defined as type spx_word16_t * in line 185:
compute_weighted_codebook(shape_cb, r, resp, resp2, E, shape_cb_size,
subvect_size, stack);
Defined on line 103:
#ifdef _USE_SSE
__m128 *resp2;
__m128 *E;
#else
spx_word16_t *resp2;
spx_word32_t *E;
#endif
I have downloaded the speex version 1.1.6 and have made no changes; I used a
command line option to define FIXED_POINT.
*** Is there a fix for this discrepancy? ***
Change to float (a site search of "resp2" showed only the check-in a
year ago that made resp2 a float):
http://lists.xiph.org/pipermail/commits/2004-January/004355.html
Thanks,
Alan
Jean-Marc Valin
2005-Jan-25 20:31 UTC
[Speex-dev] "spx_word16_t *" is incompatible with parameter of type "float *"
Hi Anal, Could you try with the version in svn, I think the problem is fixed. Otherwise, let me know. Jean-Marc Le mardi 25 janvier 2005 ? 18:37 -0700, Alan Rasmussen a ?crit :> Hi, > > I am bring SPEEX up on Analog Device's Blackfin (using Visual DSP++ tool set). The floating point was too slow on this fixed-point processor so I am going for the integer version. > > The floating point library build was very clean, but when I build with FIXED_POINT defined, the compiler exits when it find this discrepancy in \libspeex\cb_search.c : > > ".\libspeex\cb_search.c", line 185: cc0167: error: argument of type > "spx_word16_t *" is incompatible with parameter of type "float *" > compute_weighted_codebook(shape_cb, r, resp, resp2, E, shape_cb_size, subvect_size, stack); > > The function definition defines resp2 as a float in line 47: > static void compute_weighted_codebook(const signed char *shape_cb, const spx_sig_t *r, spx_word16_t *resp, float *resp2, spx_word32_t *E, int shape_cb_size, int subvect_size, char *stack) > > But then calls it with resp2 being defined as type spx_word16_t * in line 185: > compute_weighted_codebook(shape_cb, r, resp, resp2, E, shape_cb_size, subvect_size, stack); > > Defined on line 103: > > #ifdef _USE_SSE > __m128 *resp2; > __m128 *E; > #else > spx_word16_t *resp2; > spx_word32_t *E; > #endif > > > I have downloaded the speex version 1.1.6 and have made no changes; I used a command line option to define FIXED_POINT. > > *** Is there a fix for this discrepancy? *** > > Change to float (a site search of "resp2" showed only the check-in a year ago that made resp2 a float): > http://lists.xiph.org/pipermail/commits/2004-January/004355.html > > Thanks, > Alan > > > > _______________________________________________ > Speex-dev mailing list > Speex-dev@xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev >-- Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> Universit? de Sherbrooke