Jim Crichton
2006-Jul-24 10:03 UTC
[Speex-dev] Fix for lsp.c for 16-bit platforms (TI C55x DSP)
Jean-Marc, Last week I tried the SVN code (build 11700) on the TI C55x DSP, and found that operation was broken again. I traced this to build 11522, committed on 5 June. The problem is in lsp.c, function lsp_to_lpc(). The line (lsp.c line 461 in build 11700): xin = 1<<(QIMP-1); /* 0.5 in QIMP format */ evaluates to zero. The following change corrects the problem: xin = SHL32(EXTEND32(1), (QIMP-1)); /* 0.5 in QIMP format */ Regards, Jim Crichton -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20060724/03c37193/attachment.htm
Hi Jean-Marc, Speex codec with fixed point on ppc works for a few seconds but then fails to decode. I am using a Dell Axim. With 640 Mhz it works fine, but when speed of processor goes down to 500 or 200 Mhz, it fails to decode in time. This is latest speex from svn and the same behavior is observed on the speex-1.1.12 release. Is this expected? Thanks -Anurag
Jean-Marc Valin
2006-Jul-24 16:59 UTC
[Speex-dev] Re: Fix for lsp.c for 16-bit platforms (TI C55x DSP)
Thanks Jim. Patch applied to svn. Should have been more careful when merging the original patch. Jean-Marc On Mon, 2006-07-24 at 13:03 -0400, Jim Crichton wrote:> Jean-Marc, > > Last week I tried the SVN code (build 11700) on the TI C55x DSP, and > found that operation was broken again. I traced this to build 11522, > committed on 5 June. The problem is in lsp.c, function lsp_to_lpc(). > The line (lsp.c line 461 in build 11700): > > xin = 1<<(QIMP-1); /* 0.5 in QIMP format */ > > evaluates to zero. The following change corrects the problem: > > xin = SHL32(EXTEND32(1), (QIMP-1)); /* 0.5 in QIMP format */ > > Regards, > > Jim Crichton > > >