<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16525" name=GENERATOR></HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Tahoma">
<DIV>hi,</DIV>
<DIV> </DIV>
<DIV>I am using speex1.2beta2 on a TI 54x on narrow band</DIV>
<DIV> </DIV>
<DIV>I have been trying to get speex to work for a while now, and it's been a real teeter-totter ride. For a long time I noticed that I will get a project to work and then without changing any code and programming it to an eprom/flash the project will not work. It turns out it was a value called innov_save. I found this bugger by zero filling data in my program and then loading my code and running it, then filling my data with 1s and tried running it. when I filled it with 1's it never worked. I found innov_save will write over memory it shouldn't be when I fill memory with 1's but not when I fill it with zeros. When my DSP gets to this code chunk:</DIV>
<DIV>if (innov_save){<BR> for (i=0;i<st->subframeSize;i++)<BR> innov_save[i] = EXTRACT16(PSHR32(innov[i], SIG_SHIFT));<BR>}</DIV>
<DIV>it will just start filling data in, which it shouldn't. I see that innov_save is set at the beginning of a for loop at:</DIV>
<DIV>for (sub=0;sub<st->nbSubframes;sub++)<BR> {<BR> int offset;<BR> spx_word16_t *exc;<BR> spx_word16_t *sp;<BR> spx_word16_t *innov_save = NULL;<BR> spx_word16_t tmp;...</DIV>
<DIV> </DIV>
<DIV>but for some reason that never made a difference even though I know I stepped over it in the code. I commented innov save out for now but I don't know if there is some case where I might need it. What does it do and do I need it? Are there any more similar data pointers like that that you know of that may cause similar issues?</DIV>
<DIV> </DIV>
<DIV>Thanks.</DIV>
<DIV> </DIV>
<DIV>-Mike</DIV></BODY></HTML>