Commit graph

90 commits

Author SHA1 Message Date
Jean-Marc Valin
c18fb1d031 Added celt_encoder_ctl() and CELT_SET_COMPLEXITY 2008-09-30 07:36:54 -04:00
Gregory Maxwell
cbaf67e836 Fix support for sample rates between 32kHz and 40kHz (lower rates are currently rejected, but work okay). 2008-09-28 08:17:42 -04:00
Gregory Maxwell
23e654ff82 Allow all even frame sizes, change the selection of number of short MDCTs per frame to be more intelligent. 2008-09-27 21:23:54 -04:00
Jean-Marc Valin
f61be66f42 Some more tuning 2008-09-22 10:46:55 -04:00
Jean-Marc Valin
c24b518fb0 Some bit-allocation tuning 2008-09-19 16:49:26 -04:00
Jean-Marc Valin
c994394fc3 Added signalling bits for enabling/disabling pitch, short blocks, and folding.
Also, making it possible to disable pitch for all frames.
2008-08-30 00:55:07 -04:00
Jean-Marc Valin
504f8c2597 some tuning to fine energy allocation and prevent it from going above 7 bits
(at which point, it causes problems)
2008-08-05 20:39:53 -04:00
Jean-Marc Valin
9c70906fdb Changing the allocation algorithm to better take into account the fixed cost
per frames for each mode.
2008-08-03 22:07:06 -04:00
Jean-Marc Valin
36e6e01ada Merged compute_allocation_table() and compute_energy_allocation_table() 2008-08-02 22:25:19 -04:00
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