Commit graph

133 commits

Author SHA1 Message Date
Jean-Marc Valin
8b2ff0da5a Updated copyright notices 2009-10-17 21:40:10 -04:00
Jean-Marc Valin
30f7f813ea Changed all the celt*int*_t types to remove the _t suffix, which is reserved
by POSIX. The other _t types that are not part of the API are still there
for now. Also, got rid of all that was left of the 64-bit types.
2009-10-17 14:35:13 -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
e2b7616e8a Fixing a few bugs introduced in the energy interleaving changes and due to
side effects of "continue" statements.
2009-06-17 22:39:46 -04:00
Jean-Marc Valin
b0b23a3579 Interleaving the left and right final fine energy bits 2009-06-17 21:24:33 -04:00
Jean-Marc Valin
fb1b4dae9f Interleaving the left and right fine energy 2009-06-17 20:37:45 -04:00
Jean-Marc Valin
1b7e9c419a intealeaving the left and right coarse energy 2009-06-17 08:02:36 -04:00
Jean-Marc Valin
66fb246219 removing redundant calls to exp2() 2009-06-14 12:31:33 -04:00
Jean-Marc Valin
095abafcb7 Simplifying the stereo energy quantisation functions now that energy is
de-interleaved
2009-06-14 09:29:51 -04:00
Jean-Marc Valin
83c26e713c Now storing the band energies in de-interleaved format when doing stereo 2009-06-14 09:19:51 -04:00
Jean-Marc Valin
7a56741b2e removing redundant calls to log2() 2009-06-13 23:02:54 -04:00
Jean-Marc Valin
a76a5e8f0c Better ebits rounding and making it possible to add remaining ebits even to
bands that weren't rounded down.
2009-06-10 22:46:27 -04:00
Jean-Marc Valin
52cb5fb3f6 Adding extra fine bits only when we have rounded down in the allocation 2009-06-10 08:08:55 -04:00
Jean-Marc Valin
24c25a23d1 Folding, coarse energy, source cleanup 2009-06-09 11:56:59 -04:00
Jean-Marc Valin
39710536fc This makes it possible to use the bits left after PVQ for fine energy. 2009-06-09 00:52:16 -04:00
Jean-Marc Valin
695ab70027 Minor simplification to the fine energy code 2009-06-07 23:54:22 -04:00
Jean-Marc Valin
d8dcd244ab This simplifies the energy quantisation by converting to the log2() scale
directly instead of converting to dB and later dividing by 6.
2009-06-07 13:01:25 -04:00
Gregory Maxwell
dc67fa9a4c Handle malloc failure in mode_create gracefully without leaking memory. 2009-06-04 21:51:12 -04:00
Jean-Marc Valin
d1d740563a Should be enough to handle signals with a 144 dB (24-bit) dynamic range 2009-05-23 00:07:08 -04:00
Gregory Maxwell
888d8ce939 VBR support. VBR API and VBR support in celtenc. 2009-05-21 22:23:25 -04:00
Jean-Marc Valin
32ec58cc3e Dynamically selecting intra energy based on energy variations from the previous
frame
2009-05-01 21:28:58 -04:00
Jean-Marc Valin
18a3b79d24 Add support for intra-coding of the coarse energy. 2009-05-01 19:58:55 -04:00
Gregory Maxwell
54547f16d5 Miscellaneous comment, copyright notice, readme updates. 2009-02-16 19:52:02 -05:00
Jean-Marc Valin
c18fb1d031 Added celt_encoder_ctl() and CELT_SET_COMPLEXITY 2008-09-30 07:36:54 -04:00
Jean-Marc Valin
5ea2e7f267 Dividing by a constant is never good 2008-09-19 17:49:21 -04:00
Jean-Marc Valin
d125c264e4 Removed a bunch of divides from the fine energy quantisation 2008-09-19 17:22:44 -04:00
Jean-Marc Valin
b4ce40cb55 Fixing the manual stack handling code 2008-09-19 11:50:50 -04:00
Jean-Marc Valin
58b3727fcf exp() and log() are faster than pow() and log10() for dB conversion 2008-08-30 14:53:44 -04:00
Jean-Marc Valin
5c3bc67959 Fixed a bunch of fixed-point overflows on insanely hot signals by changing
the time-domain representation from Q14 to Q12 (Q29 to Q27 using the
standard convention).
2008-08-28 23:34:24 -04:00
Jean-Marc Valin
4117ff0275 Preventing encoder/decoder mismatch when coarse energy budget is busted 2008-08-05 22:03:34 -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
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
c890b58b69 Completed the separation of coarse and fine energy quantisation 2008-08-01 22:26:49 -04:00
Jean-Marc Valin
7364e758ed Split coarse and fine energy quantisation 2008-08-01 00:11:25 -04:00
Jean-Marc Valin
4c6ee567ee Preventing encoder-decoder mismatch when energy values are too large to be
represented by the laplace encoder (would have a probability of zero due
to finite precision)
2008-05-27 22:17:13 +10:00
Jean-Marc Valin
21f2666155 Preventing some encode/decoder mismatch situations at low bit-rate. Also, some
simplifications to the energy encoding.
2008-05-22 16:49:38 +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
eaeb0b7788 Better value for prediction coef beta 2008-04-28 15:57:03 +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
bf9040b475 Just commenting -- nothing to see. 2008-03-27 18:05:01 +11:00
Jean-Marc Valin
45a7ab5238 Optimisation: got rid of about 10% of the 32-bit divisions by using ec_enc_uint
in energy quantisation when possible.
2008-03-27 15:41:38 +11:00
Jean-Marc Valin
98c86c7885 Trying to clean up celt_ilog2() vs. EC_ILOG a bit. 2008-03-27 08:40:45 +11:00
Jean-Marc Valin
2282383434 fixed-point: added cheap celt_div() division using a reciprocal 2008-03-22 21:17:45 +11:00
Jean-Marc Valin
f5b0587bd2 s/ROUND/ROUND16/ 2008-03-21 10:46:17 +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
a82dfdd240 Adjusting/fixing warnings 2008-03-13 23:01:55 +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
d748cd5570 Another C90-fying pass. Fixed some warnings in the process. 2008-03-01 07:27:03 +11:00
Jean-Marc Valin
8600f69f79 Initial support for a managed stack/scratchpad. Still needs some work. 2008-02-29 15:14:12 +11:00