Commit graph

303 commits

Author SHA1 Message Date
Jean-Marc Valin
017d4455da pitch gain is now celt_pgain_t 2008-02-26 16:19:03 +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
e995c31f44 Put the channel count outside of the energy calculation. Increased the allowed
range for the mono encoder.
2008-02-26 13:48:16 +11:00
Jean-Marc Valin
2fa8affdc5 fixed-point: celt_norm_t now a 16-bit value. 2008-02-26 12:21:58 +11:00
Jean-Marc Valin
b4dfce4665 fixed-point: Using a NORM_SCALING of 16384, sig_norm_t is still a float though. 2008-02-25 17:41:30 +11:00
Jean-Marc Valin
5c032a4cb4 fixed-point: celt_sig_t now a 32-bit value. 2008-02-25 14:55:09 +11:00
Jean-Marc Valin
18ddc02afd Separating types for normalised vs. denormalised data paths 2008-02-22 14:24:50 +11:00
Jean-Marc Valin
d501f6143c Doing intra-frame prediction backwards (and a few comments) 2008-02-21 12:16:57 +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
472a5f03c6 Fixed a bunch of warnings 2008-02-19 13:12:32 +11:00
Jean-Marc Valin
25358cd407 Merged the rate allocation atruct directly into the mode struct. 2008-02-19 12:21:32 +11:00
Jean-Marc Valin
06c67dbce2 Simplified exp_spreading by unifying both directions. Have to admit I don't
fully understand why that works!
2008-02-13 17:41:37 +11:00
Jean-Marc Valin
0df0eb4c67 doing the folding properly. 2008-02-13 16:00:10 +11:00
Jean-Marc Valin
ac1e03d78e minor optimisation+tuning of vq search 2008-02-12 23:00:18 +11:00
Jean-Marc Valin
0e20ca0969 Enabling "plain folding" in case we don't even have enough bits for intra-frame
prediction
2008-02-11 15:33:53 +11:00
Jean-Marc Valin
012407760c Re-enabled intra-frame prediction, which seems to have exposed a few issues
with the entropy coder.
2008-02-07 21:14:16 +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
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
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
fdca84b42f Some stereo work (breaks the decoder for now) 2008-01-09 10:44:18 +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
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
46014ca49a Propagating perceptual weighting around (not used yet). 2007-12-14 13:47:04 +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
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
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
6baa8e18d9 A bit of quality tuning, plus created a higher quality mode 2007-12-08 00:08:37 +11:00
Jean-Marc Valin
0aa3903a4a Cheating decoder now produces the same result as the encoder 2007-12-07 15:09:58 +11:00
Jean-Marc Valin
6e9058adb9 Nearly working cheating decoder. 2007-12-07 14:59:06 +11:00
Jean-Marc Valin
70c8ffdd55 More decoding work 2007-12-07 14:20:01 +11:00
Jean-Marc Valin
fc08d0a6d6 Algebraic codebook decoding (not tested yet) 2007-12-07 13:26:15 +11:00
Jean-Marc Valin
9cace64e5f Fixed codebook entirely quantised 2007-12-06 17:44:09 +11:00
Jean-Marc Valin
29ccab8aac Some work on index packing 2007-12-06 15:39:38 +11:00
Jean-Marc Valin
aeb4467d7f improved energy quantisation/prediction 2007-12-06 13:50:14 +11:00
Jean-Marc Valin
96870d9334 conversion to modes complete 2007-12-05 21:14:22 +11:00
Jean-Marc Valin
3337e5d3e5 More modes work 2007-12-05 21:00:03 +11:00
Jean-Marc Valin
73e51b3e94 Converting the code to use the modes instead of global arrays. 2007-12-05 17:48:24 +11:00
Jean-Marc Valin
25298f296a Allowing to add pulses on top of intra-band prediction 2007-12-03 15:24:11 +11:00
Jean-Marc Valin
4841a0a02b Intra-frame prediction 2007-12-03 13:54:30 +11:00
Jean-Marc Valin
7f4701383b Nothing to see here. 2007-12-02 20:55:22 +11:00
Jean-Marc Valin
f3efa3e132 Some improvements to the pitch period estimation 2007-12-01 01:55:17 +11:00