Commit graph

77 commits

Author SHA1 Message Date
Jean-Marc Valin
903dbf7558 Inverse MDCT no longer keeps channels interleaved.
This simplifications also fixes a few bugs in the PLC (hope it didn't create some new ones).
2010-08-26 20:07:27 -04:00
Jean-Marc Valin
ae01e119cb Changing some constants to float 2010-08-03 21:43:41 -04:00
Jean-Marc Valin
bdfb73bc26 Just removing old code that was commented out anyway 2010-07-23 17:46:53 -04:00
Jean-Marc Valin
802f6eab9b Making a bunch of things static 2010-07-23 17:02:23 -04:00
Jean-Marc Valin
69921c4cde Considering the end band in more places in the code 2010-07-16 15:25:30 -04:00
Jean-Marc Valin
ce4dd367c2 More work on variable frame size (getting rid of FRAMESIZE() ) 2010-05-07 21:20:22 -04:00
Jean-Marc Valin
aebb6fd624 Some work on the pitch search weighting filter (still disabled) 2009-12-02 07:04:28 -05:00
Jean-Marc Valin
e465c1490a Reorganised the pitch code to simplify the PLC case and fixed a buffer overflow
introduced in Thorvald's previous patch.
2009-11-26 00:39:36 -05:00
Jean-Marc Valin
7a7c42a716 Fixing a few memory errors 2009-11-25 20:38:52 -05:00
Thorvald Natvig
065dafdc3e Use stack_alloc for pitch.c 2009-11-24 20:16:03 -05:00
Jean-Marc Valin
9319e3e6df Removing original freq-domain pitch code 2009-11-09 13:51:54 +09:00
Jean-Marc Valin
294863bbea Temporal pitch search 2009-11-08 22:36:51 +09:00
Timothy Terriberry
8c7bb4c9c7 Expose the normalized range for reciprocal square roots in fixed-point mode. This allows subsequnt calculations to use the full precision of the result. 2009-10-31 13:35:40 -04:00
Jean-Marc Valin
234969c903 Removed the _t from all the celt*_t types to avoid clashing with POSIX 2009-10-17 22:12:42 -04:00
Jean-Marc Valin
8b2ff0da5a Updated copyright notices 2009-10-17 21:40:10 -04:00
Jean-Marc Valin
bf2398b049 first step for removing the number of channels from the mode 2009-10-15 07:28:19 -04:00
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