Commit graph

181 commits

Author SHA1 Message Date
Jean-Marc Valin
9eba823cf7 Turns out that the worse case of the vector split is the same as that of the
pulse split. Also, added an allocation line for even higher bit-rates
2008-08-02 20:51:44 -04:00
Jean-Marc Valin
6775de3eae Unified allocation of fine energy and pulses. 2008-08-02 08:14:42 -04:00
Jean-Marc Valin
5c0d486fe1 Better bit allocation for all frame sizes that are not equal to 256. 2008-07-24 08:49:34 -04:00
Jean-Marc Valin
16ca18b9b0 Automatically choosing the overlap based on the frame size. 2008-06-18 23:44:48 +10:00
Jean-Marc Valin
9d1decd1bb short-block MDCT 2008-06-17 13:28:13 +10:00
Peter Kirk
19f9dc98ee Use EXPORT macro in a way compatible with win32 2008-06-07 13:13:59 +10:00
Jean-Marc Valin
96748cf309 Allowing frames up to 512 samples 2008-06-06 17:04:07 +10:00
Jean-Marc Valin
13294b54c0 Adjusted stereo bit allocation to be higher than mono for the same alloc line 2008-05-30 16:07:06 +10:00
Jean-Marc Valin
bf2d648bbd Implemented intensity stereo, which required changes all over the place
to make sure that stereo coupling is done at the band level. Previously
the stereo coupling was done all at once, but there were all kinds of
interactions with the prediction and folding.
2008-05-23 16:57:34 +10:00
Jean-Marc Valin
fe0b8e8db4 infrastructure changes for upcoming stereo improvements 2008-05-23 13:35:35 +10:00
Jean-Marc Valin
59093c090e Added calls to query the bit-stream version. 2008-05-15 21:53:27 +10:00
Jean-Marc Valin
6855bf6903 More bit allocation tuning 2008-05-07 16:44:29 +10:00
Jean-Marc Valin
ad6371906a Implemented rate-dependant allocation for the fine energy quantisation. 2008-05-07 13:44:39 +10:00
Jean-Marc Valin
52824c7931 Some tuning improvements, more to come 2008-05-06 18:01:17 +10: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
47c248a56a Added STDIN_TUNING to make it easier to tune CELT 2008-04-26 08:16:12 +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
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
f7cec83c59 pseudo-stack no longer checks on every function entry whether it has been
allocated
2008-04-18 17:29:56 +10:00
Jean-Marc Valin
9656ca0090 fixed three declaration-after-statement issues 2008-04-11 17:24:31 +10:00
Jean-Marc Valin
b18ec0b08d Reworked the static modes. Now, if all static modes have the same frame size,
overlap or number of channels, we can pass the hint to the compiler.
2008-04-11 04:07:52 +10:00
Jean-Marc Valin
7f38906f50 Added info for properly exporting symbols 2008-03-12 17:46:04 +11:00
Jean-Marc Valin
949902fd1b const correctness. celt_mode_create() now makes a copy of the static mode
(if STATIC_MODES is defined) instead of attempting to modify read-only
storage.
2008-03-11 10:43:06 +11:00
Jean-Marc Valin
db0141e766 Changed some of the mode data from int to celt_int16_t to save memory. 2008-03-10 16:37:37 +11:00
Jean-Marc Valin
b76ee70606 Allocation cache can now be pre-computed as well. 2008-03-10 15:42:35 +11:00
Jean-Marc Valin
5588d52e94 Psychoacoustic decay coefficients can now be included in the static modes 2008-03-10 15:07:58 +11:00
Jean-Marc Valin
680a9ec54b Improvements to static modes 2008-03-10 14:52:18 +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
f39e869c9f Initial support for static modes (defined STATIC_MODES) 2008-03-10 12:13:23 +11:00
Jean-Marc Valin
3dbc1d0df9 cleaning up some of the mode stuff 2008-03-08 15:21:24 +11:00
Jean-Marc Valin
03f9ed3005 oops, forgot an int sampling rate somewhere 2008-03-08 10:02:30 +11:00
Jean-Marc Valin
d0f57874ef sampling rate has to be int32 2008-03-08 07:39:47 +11:00
Jean-Marc Valin
d9de593104 Fixed a bunch of warnings 2008-03-05 08:11:57 +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
d748cd5570 Another C90-fying pass. Fixed some warnings in the process. 2008-03-01 07:27:03 +11:00
Jean-Marc Valin
81b38c2295 Moved mdct state and window to the mode so it can be shared between multiple
encoders and decoders.
2008-02-29 21:08:49 +11:00
Jean-Marc Valin
8b2a59235f fixed-point: energy quantisation is entirely converted now. 2008-02-29 00:32:51 +11:00
Jean-Marc Valin
44ffd5a8da Making sure freed or corrupted modes can't be used (produce a run-time warning). 2008-02-22 00:39:25 +11:00
Jean-Marc Valin
e6b7465087 Some sampling rate cleanup (now in the mode) 2008-02-20 18:01:08 +11:00
Jean-Marc Valin
02fa913c32 More C89 fixes, making sure to include config.h from all source files. 2008-02-20 12:09:29 +11:00
Jean-Marc Valin
a85657bd29 removed // comments and added stack_alloc.h (not used everywhere yet)
to make the code more C89-friendly.
2008-02-20 11:59:30 +11:00
Jean-Marc Valin
5a4bbdeb5f Slight increase to the bit allocation in the mid-high freqs 2008-02-19 14:32:08 +11:00
Jean-Marc Valin
472a5f03c6 Fixed a bunch of warnings 2008-02-19 13:12:32 +11:00
Jean-Marc Valin
25358cd407 Merged the rate allocation atruct directly into the mode struct. 2008-02-19 12:21:32 +11:00
Jean-Marc Valin
17683ebefd minor change to critical bands definitions (nothing to see here) 2008-02-18 21:45:19 +11:00
Jean-Marc Valin
75e9c8607d Some error reporting in the mode generation code. More cleanup 2008-02-18 17:04:15 +11:00
Jean-Marc Valin
134492afd3 Removed all hard-coded modes 2008-02-18 16:46:22 +11:00
Jean-Marc Valin
2ca8fc373c Making use of dynamically generated modes by default 2008-02-18 16:27:49 +11:00
Jean-Marc Valin
65d57e6e96 Can now easily use modes generated on the fly. 2008-02-18 15:49:37 +11:00