Commit graph

1205 commits

Author SHA1 Message Date
Jean-Marc Valin
2a6039b3f4 Adding code to dump the contents of a mode struct to a C file that can be
compiled without having to use the initialisation code.
2008-03-07 22:25:27 +11:00
Jean-Marc Valin
c209c342bf fixed-point: defined HALF32() and used it for the forward mdct. 2008-03-07 17:50:45 +11:00
Jean-Marc Valin
957a4fae0e fixed-point: real FFT no longer needs float ops when MIXED_PRECISION is enabled. 2008-03-07 17:46:00 +11:00
Jean-Marc Valin
3e65097528 Bit of cleaning up. No real code change (well, I hope so!). 2008-03-07 17:38:58 +11:00
Jean-Marc Valin
a1d95d70ca fixed-point: removed the last float op in celt.c 2008-03-07 17:33:58 +11:00
Jean-Marc Valin
03892c18d4 fixed-point: finished intra_prediction(). No float ops left in vq.c 2008-03-07 17:25:47 +11:00
Jean-Marc Valin
9455d1b13c fixed-point: converting intra-frame predictor (checkpoint #1). 2008-03-07 17:17:37 +11:00
Jean-Marc Valin
ec9b6df35d fixed-point: intra_fold() converted 2008-03-07 17:05:47 +11:00
Jean-Marc Valin
000973f7e2 fixed-point: compute_band_energies() converted. Had to add some tiny bias to
make sure never to end up with a pitch vector with >1 norm.
2008-03-07 16:42:31 +11:00
Jean-Marc Valin
0668b8ea5e fixed-point: converted normalise_bands (had to split implementation) 2008-03-07 15:33:32 +11:00
Jean-Marc Valin
cefc5ca26d Revert "compute_band_energies() merged with normalised_bands()"
This reverts commit a1bc18a388.
I think it's easier for now to deal with two functions here, even though they
could be merged.
2008-03-07 14:53:17 +11:00
Jean-Marc Valin
f8eb420a09 Changed the pulse spreading rotations so that the number of iterations is
variable instead of the angle. Should now be both less CPU-intensive and
makes fixed-point code simpler.
2008-03-07 14:44:56 +11:00
Jean-Marc Valin
ba8e2f7b29 fixed-point: done converting quant_bands() and unquant_bands() 2008-03-07 00:21:40 +11:00
Jean-Marc Valin
c81330822b Add option to #include "custom_support.h" 2008-03-06 00:12:27 +11:00
Jean-Marc Valin
c4a40c65c5 doing spreading function and gain quantisation in-place 2008-03-05 23:22:00 +11:00
Jean-Marc Valin
6441379e57 fixed-point: part of stereo_mix() converted. 2008-03-05 23:00:21 +11:00
Jean-Marc Valin
ab69667495 oops, unb0rked testcelt output 2008-03-05 22:40:58 +11:00
Jean-Marc Valin
9d312b9756 Defining RADIX_TWO_ONLY removes all butterflies, except for radix 2 and 4. 2008-03-05 17:34:45 +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
b0c93c66ea oops, pgain_table now has half the number of elements 2008-03-05 13:12:16 +11:00
Jean-Marc Valin
afa5eb38b5 fixed-point: quantised the pitch gain table. 2008-03-05 12:22:37 +11:00
Jean-Marc Valin
92376697c6 fixed-point: converted the pitch gain quantisation, except for the codebook
itself
2008-03-05 11:31:57 +11:00
Jean-Marc Valin
a78dc946cd Making 16-bit compilers happy 2008-03-05 08:15:55 +11:00
Jean-Marc Valin
d9de593104 Fixed a bunch of warnings 2008-03-05 08:11:57 +11:00
Jean-Marc Valin
a1bc18a388 compute_band_energies() merged with normalised_bands() 2008-03-04 22:52:52 +11:00
Jean-Marc Valin
069c3de65f Removed deprecated mode interface and added missing include 2008-03-04 20:38:00 +11:00
Jean-Marc Valin
7137c26e4f fixed-point: exp_rotation() now fully converted, using an approximation of the
cos() and sin() functions.
2008-03-04 17:43:09 +11:00
Jean-Marc Valin
7e94cc4d95 fixed-point: converted denormalise_bands() 2008-03-04 17:31:18 +11:00
Jean-Marc Valin
a31899f0e2 added suffix to real fft. The celtclient can now be built with an unmodified
speexdsp library.
2008-03-03 22:28:23 +11:00
Jean-Marc Valin
300cb5b86a First attempt at adding a suffix to kiss_fft functions so we can have multiple
copies of the FFT.
2008-03-03 17:52:11 +11:00
Jean-Marc Valin
bc60f8b346 making sure __GNUC_PREREQ() is only used when __GNUC__ is defined 2008-03-03 17:23:24 +11:00
Jean-Marc Valin
0758689246 pre-emphasis coef now a constant 2008-03-03 17:19:17 +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
05080b4b9b No longer storing the zero parts of the in[] array in the encoder 2008-03-03 14:23:51 +11:00
Jean-Marc Valin
632f218b4b Pitch predictor now uses a larger range of offset by not being limited to the
window size when parts of the window are zero.
2008-03-03 14:08:21 +11:00
Jean-Marc Valin
0141723d30 compute_mdcts() no longer reads the part of the input that should be zeros
anyway (check-point for pitch improvements to follow)
2008-03-03 13:59:55 +11:00
Jean-Marc Valin
3e08a88389 Only the (rising) overlap part of the window is stored now. No need to hold the
zeros and ones (nor even the second half).
2008-03-03 13:49:20 +11:00
Jean-Marc Valin
f28062fe6a Don't bother multiplying when the window's value is one or zero 2008-03-03 13:42:23 +11:00
Jean-Marc Valin
227ad2f82d cwrs32-test should be 16-bit clean now. 2008-03-03 10:07:19 +11:00
Jean-Marc Valin
4c2787a45c Laplace encoder now works with 16-bit frequencies 2008-03-03 10:04:48 +11:00
Jean-Marc Valin
eb5a245ac8 Hadn't realised the bitr* stuff wasn't needed. 2008-03-03 04:11:49 +11:00
Jean-Marc Valin
7ff2cbc1bd oops, fixed the Laplace testcase 2008-03-02 21:25:22 +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
7cdc5a34a4 Making it easier to debug laplace testcase 2008-03-01 20:56:17 +11:00
Jean-Marc Valin
a556694e12 Stereo pitch search no longer requires twice the memory/complexity. 2008-03-01 20:14:20 +11:00