Commit graph

22 commits

Author SHA1 Message Date
Jean-Marc Valin
5c3bc67959 Fixed a bunch of fixed-point overflows on insanely hot signals by changing
the time-domain representation from Q14 to Q12 (Q29 to Q27 using the
standard convention).
2008-08-28 23:34:24 -04:00
Jean-Marc Valin
558c50eb3d optimisation: Making it clear to the compiler that many of the loops in cwrs
need to iterate at least once.
2008-04-16 14:15:07 +10:00
Jean-Marc Valin
d568303134 optimisation: simplified the "full gain" case of alg_quant() to remove some
32-bit muls.
2008-04-15 18:04:33 +10:00
Jean-Marc Valin
98c86c7885 Trying to clean up celt_ilog2() vs. EC_ILOG a bit. 2008-03-27 08:40:45 +11:00
Jean-Marc Valin
189acec5d3 optimisation: defined a reciprocal square root (celt_rsqrt) for use in
find_spectral_pitch instead of using celt_rcp(celt_sqrt(x))
2008-03-26 16:42:42 +11:00
Jean-Marc Valin
ac72c2821a oops. find_max32() now uses VERY_LARGE32 (instead of VERY_LARGE16) 2008-03-25 21:31:12 +11:00
Jean-Marc Valin
44c63350d1 optimisations: Another bunch of simplifications to alg_quant(), mainly to
remove unnecessary copying and some conditional branches.
2008-03-25 21:28:40 +11:00
Jean-Marc Valin
49134381d0 optimisations: caching sign of x in alg_quant(), changed celt_div()/celt_rcp()
to assume denominator is positive.
2008-03-25 16:07:05 +11:00
Jean-Marc Valin
17ad401c2c defined find_max16 and overrode it for C55x 2008-03-23 08:06:29 +11:00
Jean-Marc Valin
dc767f67f9 No longer trying to save bits when encoding integers near the upper limit
(and fix for celt_div with 16-bit numerator on a 16-bit CPU)
2008-03-22 22:23:58 +11:00
Jean-Marc Valin
2282383434 fixed-point: added cheap celt_div() division using a reciprocal 2008-03-22 21:17:45 +11:00
Jean-Marc Valin
9901cb9e82 fixed-point: defined celt_maxabs16() as basic operator 2008-03-21 11:13:51 +11:00
Jean-Marc Valin
83006eec60 fixed-point: using TI intrinsic for celt_ilog2() if available. 2008-03-21 10:40:43 +11:00
Jean-Marc Valin
4ff068e670 Some work on assertions. 2008-03-15 23:34:39 +11:00
Jean-Marc Valin
15b9be3a29 fixed-point: playing it safe. SHL32() now automatically casts input to 32-bit
to prevent surprises. Also, a few comments.
2008-03-14 17:58:33 +11:00
Jean-Marc Valin
19ae9fc944 fixed-point: simplifying the arithmetic in alg_quant() 2008-03-13 11:18:15 +11:00
Jean-Marc Valin
3ec78b173b More accurate sqrt approximation using MULT16_16_Q15() instead of Q14. 2008-03-12 23:00:42 +11:00
Jean-Marc Valin
887ad9ff29 Increased accuracy of the reciprocal approximation and made it use
MULT16_16_Q15() instead of Q14 (should be faster).
2008-03-12 21:34:50 +11:00
Jean-Marc Valin
931db72e75 Defined the celt_rcp() reciprocal approximation 2008-03-12 11:28:26 +11:00
Jean-Marc Valin
68b02b1025 fixed-point: copied the exp2 implementation from Speex, using it for dB2Amp() 2008-02-28 23:37:26 +11:00
Jean-Marc Valin
2eaba8ac1f fixed-point: log approximation 2008-02-28 22:14:54 +11:00
Jean-Marc Valin
3ca9b1d295 fixed-point: Moved sqrt and cos approximations to mathops.h 2008-02-27 23:50:31 +11:00