[Speex-dev] Major internal changes, TI DSP build change
Jean-Marc.Valin at USherbrooke.ca
Fri Apr 21 20:55:40 PDT 2006
> 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 126.96.36.199 release.
> There is just four lines in modes.c which declare the constant, and one line
> changed in nb_celp.c and sb_celp.c which use the constant. Looking at
> nb_mode, QCONT16(.0002,15) evaluates to 0x3FF9 on the C55 and 0x4006 on the
> C6x. When I patch the value 0x4006 into the C55 build, the output matches
> the C6x. The problem is that 2^15 evaluates to -32768 on the C55 and 32768
> on the C6x.
> Applying our friend EXTEND32 causes the constant to evaluate correctly. In
> #define QCONST16(x,bits)
Actually, this is a case for a simple cast to (spx_word32_t) because
QCONST can be used in a static initialization and EXTEND32 *can* be
defined as a function (e.g. for fixed-point debug).
> Later I will check if this change makes these two builds match in the latest
> SVN code.
I fixed it in svn. Could you check that?
> The MIPs are not a problem for me, and the C55 does very well on 32x16
> multiplies, so I have not played with PRECISION16 since last year.
Does the C55 have a 32x16 multiplier or do you mean it handles my
emulation of it well?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Ceci est une partie de message
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20060422/067dce30/attachment.pgp
More information about the Speex-dev