Commit graph

61 commits

Author SHA1 Message Date
Jean-Marc Valin
dffd9449b5 Tonality estimation code 2008-10-15 07:29:58 -04:00
Jean-Marc Valin
24c9cdaca1 Fixed a bug in the PLC and added code to estimate the pitch from the synthesis
instead of relying on the one previously transmitted by the encoder.
2008-05-02 10:34:07 +10:00
Jean-Marc Valin
4ce9205f38 Optimisation: caching the divisions used in the Laplace encoder. 2008-04-23 13:42:10 +10:00
Jean-Marc Valin
e488a1077b removed two shifts from the pitch estimation inner loop 2008-04-23 11:57:40 +10:00
Jean-Marc Valin
56120d0691 Better indexing for find_spectral_pitch() 2008-04-23 08:49:32 +10:00
Jean-Marc Valin
70720a3721 added a shortcut (SHORTCUT) to skip the spreading function in the pitch search 2008-04-19 21:39:26 +10:00
Jean-Marc Valin
f11d6f49f9 optimisation: giving more hints to the compiler about the sizes in
find_spectral_pitch()
2008-04-18 23:13:14 +10:00
Jean-Marc Valin
e6ce0c6a22 optimisation: Removed a bunch of conditional branches from comb2pulse() 2008-04-18 16:46:39 +10:00
Jean-Marc Valin
fa14707713 Removed implicit 32=>16 conversion (changed to EXTRACT16) 2008-04-18 10:59:03 +10:00
Jean-Marc Valin
ed90daef3e optimisation: Got rid of the 32-bit mul in find_spectral_pitch() 2008-04-18 10:33:06 +10:00
Jean-Marc Valin
7f28f768e7 Make use of CELT_MEMSET() in find_spectral_pitch() 2008-04-16 11:47:24 +10:00
Jean-Marc Valin
6ea8baed2d a few loop optimisations. 2008-04-15 08:01:33 +10: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
059749355d optimisation: Making use of restrict in find_spectral_pitch() to disambiguate
X and Y.
2008-03-25 18:04:08 +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
ba238d8793 more use of restrict 2008-03-22 17:53:12 +11:00
Jean-Marc Valin
a536f77202 Added a few "restrict" keywords and changed some divisions to shifts 2008-03-22 09:01:50 +11:00
Jean-Marc Valin
c163fc6207 local var name maxval was shadowing the TI function used to compute it 2008-03-21 12:53:37 +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
f5b0587bd2 s/ROUND/ROUND16/ 2008-03-21 10:46:17 +11:00
Jean-Marc Valin
983f6387e0 Wrapper for the TI dsplib FFT 2008-03-20 23:17:18 +11:00
Jean-Marc Valin
fcb841aa0b Making the real/single FFT easier to replace 2008-03-20 22:23:54 +11:00
Jean-Marc Valin
c7e0b76c06 Making sure not to use the C library calls directly 2008-03-16 07:55:29 +11:00
Jean-Marc Valin
fb7359a61f fixed-point: Fixed a "shift too large" warning by using a 16-bit mul instead
of 32-bit in find_spectral_pitch()
2008-03-15 08:04:16 +11:00
Jean-Marc Valin
71a84590e7 Removed unnecessary header inclusions 2008-03-14 11:09:50 +11:00
Jean-Marc Valin
2b35de9164 fixed-point: Using reciproqual instead of DIV32_16 for find_spectral_pitch() 2008-03-13 17:55:03 +11:00
Jean-Marc Valin
31b79d1993 Changed definition of VARDECL to make it more flexible. No actual code change. 2008-03-12 17:17:23 +11:00
Jean-Marc Valin
29f52990b9 Moved the psycoacoustics data to the mode struct 2008-03-10 13:34:52 +11:00
Jean-Marc Valin
2b361230b3 fixed-point: done converting find_spectral_pitch() 2008-03-10 10:41:13 +11:00
Jean-Marc Valin
f93747c44a fixed-point: changed find_spectral_pitch() to use single-precision (16-bit) FFT.
This involved adding kfft_single.[ch] that redefines kiss_fft a second time
with a different prefix. All this is still a bit of a mess now. The mask
had to be converted to 16-bit input, but we're still using floats to apply it.
2008-03-05 17:20:30 +11:00
Jean-Marc Valin
4024444811 nothing to see here 2008-03-05 15:18:53 +11:00
Jean-Marc Valin
b624cdd2ce fixed-point: masking curve computation now converted. ***Fixed a bug in the
handling of the left side slope of the spreading function (right-side coef
was used)
2008-03-05 13:40:20 +11:00
Jean-Marc Valin
312132780e A bunch of const qualifyers and a few comments 2008-03-03 16:52:54 +11:00
Jean-Marc Valin
730c6e392d Applying the window properly in find_spectral_pitch() 2008-03-03 16:38:29 +11:00
Jean-Marc Valin
ddb181b75e A bit more reordering in stack memory allocation -- saved 1024 bytes on peak use 2008-03-03 14:53:47 +11:00
Jean-Marc Valin
137ec8e9b8 applying the pitch windowing directly in find_spectral_pitch() 2008-03-03 14:44:42 +11:00
Jean-Marc Valin
37942649cc Saved 4 kB of stack usage in find_spectral_pitch() by doing the FFT in-place
(sort of)
2008-03-01 22:55:27 +11:00
Jean-Marc Valin
a556694e12 Stereo pitch search no longer requires twice the memory/complexity. 2008-03-01 20:14:20 +11:00
Jean-Marc Valin
d748cd5570 Another C90-fying pass. Fixed some warnings in the process. 2008-03-01 07:27:03 +11:00
Jean-Marc Valin
8d4ac155e6 Saved on stack usage by changing the order of the allocation 2008-02-29 17:24:02 +11:00
Jean-Marc Valin
9b9e98625c Bit of memory reduction in the pitch search. More needed. 2008-02-29 17:07:53 +11:00
Jean-Marc Valin
8600f69f79 Initial support for a managed stack/scratchpad. Still needs some work. 2008-02-29 15:14:12 +11:00
Jean-Marc Valin
5f09ea5659 celt_mask_t for masking curves 2008-02-26 16:43:04 +11:00
Jean-Marc Valin
8835a4df25 Removed useless masking curve for current frame and ignored Fs argument to
masking computation functions.
2008-02-26 16:35:19 +11:00
Jean-Marc Valin
5c032a4cb4 fixed-point: celt_sig_t now a 32-bit value. 2008-02-25 14:55:09 +11:00
Jean-Marc Valin
49ca99efa5 fixed-point: initial support for using the fixed-point MDCT (rest is still all
float)
2008-02-25 14:12:10 +11:00
Jean-Marc Valin
37d13ceebe Adding celt_sig_t where needed 2008-02-22 14:45:58 +11:00
Jean-Marc Valin
879fbfd528 Updated Doxygen comments, removed an incorrectly placed LGPL header (we own
copyright, so it's fine!)
2008-02-20 17:17:13 +11:00
Jean-Marc Valin
9a0bba183c Everything should now compile with a C89 compiler. 2008-02-20 14:08:50 +11:00
Jean-Marc Valin
0bb05bc5ea Another bunch of C99 array conversions (few more to go) 2008-02-20 13:43:40 +11:00