Commit graph

247 commits

Author SHA1 Message Date
Jean-Marc Valin
45018cbfa2 Doing stereo mixing adaptively based on amplitude difference. 2008-01-11 14:02:07 +11:00
Jean-Marc Valin
a2482aceb4 Conversion to 18-band split and fixed a few related bugs. 2008-01-11 11:24:22 +11:00
Jean-Marc Valin
43e224817c oops, trying not to overflow the 64-bit max allocation. 2008-01-10 17:26:30 +11:00
Jean-Marc Valin
f8dda66a8e Tuning of the stereo mode, including conversion to the 18-band split. 2008-01-10 17:02:36 +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
Jean-Marc Valin
fdca84b42f Some stereo work (breaks the decoder for now) 2008-01-09 10:44:18 +11:00
Jean-Marc Valin
95c59ea647 Updated the 18-band mode (mode0) to use the low-overlap MDCT 2008-01-08 16:22:37 +11:00
Jean-Marc Valin
2c53c14904 Oops, forgot to add the VQ table! 2008-01-08 11:29:37 +11:00
Jean-Marc Valin
b21b2a404e Switched to mdct mask computation 2008-01-07 23:04:43 +11:00
Jean-Marc Valin
0a3e79aa11 Pseudo-masking curve for the MDCT 2008-01-07 13:36:01 +11:00
Jean-Marc Valin
825ec60b53 Completed low-overlap MDCT support by reducing the synthesis
latency as well.
2008-01-05 22:49:23 +11:00
Jean-Marc Valin
2875f6bf8d Now using 8 bands for the pitch gain, with a 128-entry codebook. 2008-01-05 13:32:32 +11:00
Jean-Marc Valin
a5431bfb09 Allowing reduced overlap MDCTs as an alternative
to multiple MDCTs per frame. Not complete yet.
2008-01-03 20:53:01 +11:00
Timothy B. Terriberry
71c9bbff02 Updated pulse coding to simpler (slightly faster) code included with
http://people.xiph.org/~tterribe/notes/cwrs.html
Removed dead code.
2008-01-01 07:18:06 +11:00
Jean-Marc Valin
26c9e1452a Comments/cleanup, no code change 2007-12-31 21:27:54 +11:00
Jean-Marc Valin
0d227d86e5 Got the intra-band prediction/copy to work correctly with
pulse spreading (and to work at all).
2007-12-31 16:12:12 +11:00
Jean-Marc Valin
97252d0365 Spreading function inside quant_bands() 2007-12-30 20:39:14 +11:00
Jean-Marc Valin
e84962bcd9 Doing multiple rotation passes instead of one produces better pulse spreading. 2007-12-30 00:17:44 +11:00
Jean-Marc Valin
571e861dc3 more exp_rotation() cleanup 2007-12-30 00:06:10 +11:00
Jean-Marc Valin
559e8ff602 simplified exp_rotation() 2007-12-30 00:02:00 +11:00
Jean-Marc Valin
6c24524b88 Added a DCT in time direction when multiple MDCTs are used within the same
frame.
2007-12-29 23:27:42 +11:00
Jean-Marc Valin
46014ca49a Propagating perceptual weighting around (not used yet). 2007-12-14 13:47:04 +11:00
Jean-Marc Valin
36d78e6f74 Band energy quantisation info now in the mode directly 2007-12-13 14:59:30 +11:00
Jean-Marc Valin
4a897680e3 Working on some stability issues (appears to be solved by making the pitch
projection less aggressive). Also, fixed a 64-bit overflow in the stereo mode
and added a "band rotation" function.
2007-12-12 00:45:15 +11:00
Jean-Marc Valin
f347dd3b3d Fixed parallel build 2007-12-11 18:01:22 +11:00
Jean-Marc Valin
f8db800c44 Added support for codebooks up to 64 bits. 2007-12-11 14:52:56 +11:00
Timothy B. Terriberry
f13fea7b53 Added ec_{enc|dec}_bits64 and ec_{enc|dec}_bits64.
Updated broken paper URLs.
Cleaned up non-multiply-free range coder documentation (e.g., stop claiming
it's multiply-free).
2007-12-11 13:25:57 +11:00
Timothy B. Terriberry
d710177d0a Documentation fixes and a couple of other minor edits. 2007-12-11 13:25:00 +11:00
Jean-Marc Valin
9d35ccdaea Fixed stereo version of the pitch estimator 2007-12-10 17:57:19 +11:00
Jean-Marc Valin
bf94045f41 Stereo almost works now (still need to fix the pitch estimate and add more
pulses)
2007-12-10 17:10:29 +11:00
Jean-Marc Valin
ffa13474ef Adding stereo support. Doesn't work yet, but at least it doesn't break
mono
2007-12-10 16:54:17 +11:00
Jean-Marc Valin
14bccef8e7 Comments on the spreading function 2007-12-10 13:13:58 +11:00
Jean-Marc Valin
991410be59 Added a simple psychoacoustic model (still needs a lot of work). 2007-12-10 01:28:34 +11:00
Jean-Marc Valin
aaab1698b4 Fixed a stupid error caused by kdevelop in the configure.ac 2007-12-09 13:02:25 +11:00
Jean-Marc Valin
11f01729e6 Some cleaning up, a few less warnings and the decoder no longer does an
infinitete loop in Laplace decoding when the data is corrupted.
2007-12-09 01:19:36 +11:00
Jean-Marc Valin
06ee7f9083 Updated README 2007-12-09 00:55:49 +11:00
Jean-Marc Valin
1677aa9caa code cleanup: all inverse MDCTs in the same function 2007-12-08 01:13:34 +11:00
Jean-Marc Valin
fb83fb422f Very basic packet loss concealment code 2007-12-08 00:56:04 +11:00
Jean-Marc Valin
aa5bd61cb7 Another experimental mode with longer frames. 2007-12-08 00:27:10 +11:00
Jean-Marc Valin
6baa8e18d9 A bit of quality tuning, plus created a higher quality mode 2007-12-08 00:08:37 +11:00
Jean-Marc Valin
98d2a4917e No more cheating, everything fully quantised 2007-12-07 22:46:47 +11:00
Jean-Marc Valin
9c3e22c440 Moving to non-multiply-free entropy coder 2007-12-07 22:25:31 +11:00
Jean-Marc Valin
fc43dbb7d6 A bit of probability tuning to reduce bit-rate variations 2007-12-07 19:12:51 +11:00
Jean-Marc Valin
b7ceec2bae oops, forgot laplace.h 2007-12-07 18:54:59 +11:00
Jean-Marc Valin
0c79f09e14 debug code 2007-12-07 18:02:56 +11:00
Jean-Marc Valin
c57ac95f17 Actually enabled the probability model 2007-12-07 17:58:44 +11:00
Jean-Marc Valin
143fbc3138 Decent starting point for energy probabilities 2007-12-07 17:48:18 +11:00
Jean-Marc Valin
e38c7c18f7 Energy is now Laplace-encoded (very poorly for now) 2007-12-07 17:10:14 +11:00
Jean-Marc Valin
8143be3026 energy decoding partially done (cheating a bit) 2007-12-07 16:40:39 +11:00