Displaying 20 results from an estimated 1000 matches similar to: "Speex on TI C6x, Problem with TI C5x Patch"
2005 May 25
3
Speex on TI C6x, Problem with TI C5x Patch
>> There is a bit of work remaining to get the memory usage down for a
>> multichannel application. There have been some good posts over the
>> last couple of months about reducing memory usage.
>
> I think 1.1.8 incorporates all memory reductions proposed. Let me know
> otherwise.
For the persistent storage, the only change that I have made is to
MAX_CHARS_PER_FRAME,
2005 Aug 19
1
Re: Patch, related to TI DSP C54x C55x C6x builds
Hi Jim,
Thank for the patch. I'll apply it when I have a few minutes. If I
haven't done so after a few weeks, please send it again. I'm in the
process of relocating to Australia, so everything's a bit of a mess
around here. Also, please post the c5X-specific files to the list
(.cmd, .pjt, ...) so they'll be archived. Last thing, I see you defined
spx_word64_t as long long for
2005 May 24
0
Speex on TI C6x, Problem with TI C5x Patch
Hi Jim,
Thanks a lot for helping track problems with Speex.
> There is a bit of work remaining to get the memory usage down for a
> multichannel application. There have been some good posts over the
> last couple of months about reducing memory usage.
I think 1.1.8 incorporates all memory reductions proposed. Let me know
otherwise.
> Also, to nominally comply with the TI XDAIS
2005 May 26
1
Speex on TI C6x, Problem with TI C5x Patch
>> Nice call. The culprit is SHRL32. This is not used in many places, and
>> in
>> most of those, the operand comes from EXTEND32. The only really
>> suspicious
>> instances is in lsp.c (lsp_interpolate):
>>
>> spx_word16_t tmp = DIV32_16(SHL32(1 + subframe,14),nb_subframes);
>> (subframe is an int)
>> ...
>> I see that your
2005 May 25
2
Speex on TI C6x, Problem with TI C5x Patch
Stuart, Jean-Marc,
>> 1) We need our own "fixed_xx.h" header file. I don't know why, and
>> haven't
>> had time to investigate, but there is a definite improvement when I use
>> the
>> attached fixed_c55x.h file which has turned all the maths into inline
>> functions.
>
> Did you try with fixed_generic.h or just with fixed_debug.h?
2005 May 25
0
Speex on TI C6x, Problem with TI C5x Patch
> For the persistent storage, the only change that I have made is to
> MAX_CHARS_PER_FRAME, which is set to 2000 in bits.c. I changed bits.c to
> set this value only if it was not already defined, and then put my own, much
> smaller value in config.h.
Yeah, I think I'll add an option like that.
> For the scratch stack, I replace the fixed values in nb_encoder_init and
2005 Oct 17
1
Speex Example Build for TI DSP C54x C55x C6x DSPs
The attached file contains build files for TI's Code Composer Studio (CCS)
for the C54x, C55x, and C6x DSPs. I had intended to post this a couple of
months ago, but it took a long time to get around to doing the little bit of
cleanup required.
This is a file I/O loopback application suitable for running with the CCS
simulators, for evaluating memory and MIPs requirements for these
2005 May 26
2
Speex on TI C6x, Problem with TI C5x Patch
Jean-Marc,
>> > It's odd that it "almost" works with the fixed_generic.h. The easiest
>> > thing would be to gradually replace routines and see which one causes
>> > problem. It's most likely (though I'm not 100% sure) that somewhere in
>> > the code, I have a 16-bit value that gets sent to a function/macro that
>> > expects a
2005 May 25
3
Speex on TI C6x, Problem with TI C5x Patch
Hi Jean-Marc, Hi Jim,
I have also seen some problems with the 1.1.8 release on the C55x. So far I
have boiled down the issues to the following:
1) We need our own "fixed_xx.h" header file. I don't know why, and haven't
had time to investigate, but there is a definite improvement when I use the
attached fixed_c55x.h file which has turned all the maths into inline
functions.
2005 Aug 17
2
Updated MIPs and memory requirements for TI c54x or c55DSPs
Hi,
Just a couple tips to reduce complexity. First, I think you'd get a good
speedup by enabling the PRECISION16 switch (if it's not done already).
This (very) slightly reduces quality, but means you convert a lot of
"emulated" 16x32 multiplications into 16x16. There are also several
routines that would benefit from platform-specific optimizations. There
are already
2005 May 25
2
Speex on TI C6x, Problem with TI C5x Patch
Jean-Marc,
>> I incorporated Stuarts fixed_c55x.h file, and that eliminated the
>> artifacts,
>> at the expense of a ~30% increase in MIPs. Now the male.wav file through
>> encoder/decoder produces a bit-exact match with the C64x test that I did
>> earlier. I will do some more testing to isolate the, but it may be a few
>> days before I get to this task. As
2005 Feb 19
2
memory usage
Hi
I am currently trying to port speex v1.1.6 to a microcontroller with
very limited memory (<64Kbyte RAM).
what I found when initialising the encoder, a chunk of 32Kb was
attempted to be alloced, which failed:
src/nb_celp.c:
void *nb_encoder_init(const SpeexMode *m)
{
/* snip */
st = (EncState*)speex_alloc(sizeof(EncState)+8000*sizeof(spx_sig_t));
/* snip */
}
same goes for the
2006 Apr 20
5
Major internal changes, TI DSP build change
Hi Jim,
> Build 11169 in SVN works correctly.
Good. I'll try not to forget the EXTEND32 from now on.
> I have attached a zip file (renamed
> .txt) with a patch to bits.c to make the byteswapping for TI DSPs
> consistent.
Seems like unzip can't read it. Either it's in an unknown format or the
file got corrupted. Could simply send as multiple (uncompressed)
2005 May 26
0
Speex on TI C6x, Problem with TI C5x Patch
> Nice call. The culprit is SHRL32. This is not used in many places, and in
> most of those, the operand comes from EXTEND32. The only really suspicious
> instances is in lsp.c (lsp_interpolate):
>
> spx_word16_t tmp = DIV32_16(SHL32(1 + subframe,14),nb_subframes);
> (subframe is an int)
> ...
> I see that your changes include adding an EXTEND32 to the line above.
2006 Apr 21
2
Major internal changes, TI DSP build change
> The C5x and C6x output diverges in build 10143, which has log message "lpc
> floor converted to fixed-point." Also, the measured SNR changed from 11.05
> in builds 9854-10141 to 9.22 and 9.24 in 10143.
Actually, build 10143 introduced another bug, that was the reason for
the 1.1.11.1 release.
> There is just four lines in modes.c which declare the constant, and one
2005 May 25
0
Speex on TI C6x, Problem with TI C5x Patch
> I incorporated Stuarts fixed_c55x.h file, and that eliminated the artifacts,
> at the expense of a ~30% increase in MIPs. Now the male.wav file through
> encoder/decoder produces a bit-exact match with the C64x test that I did
> earlier. I will do some more testing to isolate the, but it may be a few
> days before I get to this task. As Jean-Marc says, fixed_generic should
2005 May 25
0
Speex on TI C6x, Problem with TI C5x Patch
Hi Stuart,
> 1) We need our own "fixed_xx.h" header file. I don't know why, and haven't
> had time to investigate, but there is a definite improvement when I use the
> attached fixed_c55x.h file which has turned all the maths into inline
> functions.
Did you try with fixed_generic.h or just with fixed_debug.h?
fixed_debug.h uses int and short directly, so I know
2006 Aug 17
2
AEC on a TI C6x - has no effect
Itay,
>I am trying these things, but the main problem that has been bothering
>me recently is that the fixed-point algorithm works "sometimes". Meaning
>that sometimes it will work well, and other times it will not work at
>all.
>
>I think I've found the source of the problem. The speex_alloc()
>function, called by speex_echo_state_init(), calls calloc() and
2006 Aug 16
3
AEC on a TI C6x - has no effect
> I followed your advice on running the trivial case. The float version
> started cancelling sounds out within a second. The fixed point
> version also worked, but took a little longer before the effect was
> noticeable. Since I now realized the fixed point version might need a
> little more tweaking than the float version, I started modifying some
> things and ended up with the
2004 Oct 29
2
speex on TI C5x fixed-point DSP
Jean-Marc Valin wrote:
>Hi Jamey,
>
>Really cool to see Speex being ported to the C55xx and I'd be glad to
>integrate the changes required in Speex (and the style's fine with me).
>
>
I have the encoder and decoder running now and have verified that the
encoder is bit-exact wrt to the fixed-point code running on x86 for the
same 30-second audio sample. Encode and