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
Jean-Marc Valin
8b2a59235f
fixed-point: energy quantisation is entirely converted now.
2008-02-29 00:32:51 +11:00
Jean-Marc Valin
adf87e261c
fixed-point: more energy quantisation stuff.
2008-02-29 00:15:10 +11:00
Jean-Marc Valin
47bf175f29
fixed-point: a few more bits converted from the energy quantisation. Almost done
2008-02-29 00:07:00 +11:00
Jean-Marc Valin
68b02b1025
fixed-point: copied the exp2 implementation from Speex, using it for dB2Amp()
2008-02-28 23:37:26 +11:00
Jean-Marc Valin
2eaba8ac1f
fixed-point: log approximation
2008-02-28 22:14:54 +11:00
Jean-Marc Valin
98193470ec
fixed-point: unquant_energy_mono() has received the fixed-point code from
...
quant_energy_mono()
2008-02-28 17:46:33 +11:00
Jean-Marc Valin
d03162010e
fixed-point: second check-point on quant_energy_mono()
2008-02-28 16:52:44 +11:00
Jean-Marc Valin
43b3537d38
fixed-point: first check-point on quant_energy_mono() conversion
2008-02-28 16:41:56 +11:00
Jean-Marc Valin
5d56183404
fixed-point: log-energy for previous frame now a 16-bit value. This currently
...
intruduces a bit of an encoder-decoder mismatch (Q8 in dB), but it'll be
reduced when the interals of quant_energy_mono() are properly converted to
fixed-point and oldEBands gets rounded instead of truncated.
2008-02-27 11:59:05 +11:00
Jean-Marc Valin
b60340f7e3
fixed-point: band energy now a 32-bit value. It might have (barely) fix into
...
16-bit, but at this point, it's not worth the trouble and loss of accuracy.
2008-02-26 15:41:51 +11:00
Jean-Marc Valin
e901fe35b8
fixed-point: added a celt_ener_t type for band energy.
2008-02-26 14:46:26 +11:00
Jean-Marc Valin
508de38d22
Trying to be nice with 16-bit chips.
2008-02-26 10:28:20 +11:00
Jean-Marc Valin
9a0bba183c
Everything should now compile with a C89 compiler.
2008-02-20 14:08:50 +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
6da36c0452
Experimental ld51 mode (needs more work)
2008-02-15 14:20:29 +11:00
Jean-Marc Valin
0df0eb4c67
doing the folding properly.
2008-02-13 16:00:10 +11:00
Jean-Marc Valin
356437048f
scales down even further in bit-rate
2008-02-13 12:12:16 +11:00
Jean-Marc Valin
c9cc6d3e34
Introducing a (very) crude budget for the energy encoder.
2008-02-13 11:37:41 +11:00
Jean-Marc Valin
cb7a2a3d52
Re-ordered the parameters in the stream: [energy, pitch index, pitch gains]
...
Also fixed a bug that was exposed by the change (and removed some warnings)
2008-02-11 16:44:48 +11:00
Jean-Marc Valin
66fa639c53
More flexible energy quantisation with nearly no penalty.
2008-02-11 10:53:11 +11:00
Jean-Marc Valin
a4833ffada
Stereo decoding working again (fixed a few issues in the encoder at the same
...
time)
2008-01-10 15:34:00 +11:00
Jean-Marc Valin
021478e252
More stereo work (doing mid-side quantisation of the energy)
2008-01-09 15:31:43 +11:00