Commit graph

200 commits

Author SHA1 Message Date
Jean-Marc Valin
4618eee092 Added a check to make sure the encoder signal matches that of the decoder 2008-01-29 08:17:50 +11:00
Jean-Marc Valin
38b6d479a4 remove prob{enc,dec,mod} that were no longer needed 2008-01-29 08:04:01 +11:00
Jean-Marc Valin
6238bc0ece Moved the content of libentcode into libcelt to reduce dependencies,
especially now that we have a custom version of that code anyway. Moved
the test code to tests/
2008-01-28 22:28:54 +11:00
Jean-Marc Valin
94d4ea9305 Bit of cleaning up in the byte dumping part. Making use of any remaining bit(s)
to do error detection in the decoder.
2008-01-27 17:34:35 +11:00
Jean-Marc Valin
77ff83a28c Making the library usable by other projects (install things properly, added
pkg-config file)
2008-01-22 13:16:36 +11:00
Jean-Marc Valin
388f1d6cc8 Tweaks for slightly improving the handling of the last byte (still not
perfect)
2008-01-18 16:28:11 +11:00
Jean-Marc Valin
3cfcd0594a Big mode cleanup. Keeping only one mono and one stereo mode 2008-01-18 13:56:08 +11:00
Jean-Marc Valin
a76a0b23eb Further simplified the API by passing the rate directly to the
encode function. Also, trying to properly flush the bit packer
(still some problems left).
2008-01-17 22:43:05 +11:00
Jean-Marc Valin
b35536a3b0 Enabled pure CBR, though there's still some decoder issues. 2008-01-17 16:57:18 +11:00
Jean-Marc Valin
4fbd18d1f4 Close to getting CBR working 2008-01-17 14:07:55 +11:00
Jean-Marc Valin
f51ca493fb Looks like the bit allocation code is mostly working. Just need to actually
use it now.
2008-01-17 10:58:38 +11:00
Jean-Marc Valin
c6b4390f6a Working allocation interpolation code 2008-01-16 22:04:17 +11:00
Jean-Marc Valin
a663174665 more bit allocation wip 2008-01-16 17:16:04 +11:00
Jean-Marc Valin
b86ed07dc2 bit allocation wip (untested) 2008-01-15 16:33:21 +11:00
Jean-Marc Valin
33ddd7974d early code for bit-rate management 2008-01-14 17:39:01 +11:00
Jean-Marc Valin
ec71aee772 A bit of tuning and early work on bit allocation 2008-01-12 23:38:01 +11:00
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
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
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
1677aa9caa code cleanup: all inverse MDCTs in the same function 2007-12-08 01:13:34 +11:00