Commit graph

96 commits

Author SHA1 Message Date
Gregory Maxwell
8ed865813e Support for 96kHz. 2008-12-02 13:32:11 -05:00
Jean-Marc Valin
b6f9061343 celt_encoder_ctl() is a bit more type-safe. 2008-10-05 22:39:13 -04:00
Jean-Marc Valin
25ec9ac39a Fixed support for STATIC_MODES 2008-10-04 22:37:11 -04:00
Gregory Maxwell
b6a3b0c464 Fix stereo support; correctly deallocate bits_stereo. 2008-10-04 00:39:17 -04:00
Jean-Marc Valin
60d0837ea0 lookahead no longer defined when creating a mode 2008-10-03 07:30:08 -04:00
Jean-Marc Valin
b0bef8564e compute_alloc_cache() isn't defined when STATIC_MODES is. 2008-10-02 23:52:46 -04:00
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