Commit graph

262 commits

Author SHA1 Message Date
Jean-Marc Valin
5e171490a9 Removed some unused parameters and fixed a couple -W warnings 2008-02-28 00:07:23 +11:00
Jean-Marc Valin
3ca9b1d295 fixed-point: Moved sqrt and cos approximations to mathops.h 2008-02-27 23:50:31 +11:00
Jean-Marc Valin
9d8d9b3f37 fixed-point: compression factor (alpha) now a 16-bit value (still internally
converted to float though)
2008-02-27 16:17:39 +11:00
Jean-Marc Valin
9fbb56a50e fixed-point: converted pitch_quant_bands() -- that one was an easy one-liner 2008-02-27 15:44:18 +11:00
Jean-Marc Valin
ff74e396e4 fixed-point: converted compute_pitch_gain() and removed the energy-based
weighting that didn't seem to help anyway.
2008-02-27 15:35:43 +11:00
Jean-Marc Valin
387a20d740 fixed-point: exp_rotation() mostly converted (still need to convert the cos/sin) 2008-02-27 13:49:54 +11:00
Jean-Marc Valin
b30dd9e1bf fixed-point: got stereo to work again by fixing renormalise_bands() 2008-02-26 20:32:24 +11:00
Jean-Marc Valin
2805a14eca fixed-point: celt_pgain_t now a 16-bit value (Q15) 2008-02-26 17:02:08 +11:00
Jean-Marc Valin
5f09ea5659 celt_mask_t for masking curves 2008-02-26 16:43:04 +11:00
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