Commit graph

60 commits

Author SHA1 Message Date
Jean-Marc Valin
cac91ec4db Fixed temp arrays that were allocated too large (no change in peak mem) 2008-02-29 17:03:34 +11:00
Jean-Marc Valin
877b1975b6 fixed-point: converted intra prediction and folding, unb0rked mixed-precision 2008-02-29 16:40:39 +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
4e1328b09d fixed-point: alg_quant() entirely converter -- may require revisiting... 2008-02-28 15:17:33 +11:00
Jean-Marc Valin
8b158f569a fixed-point: (hopefully) last check-point for alg_quant() conversion 2008-02-28 14:44:19 +11:00
Jean-Marc Valin
642ff944cf fixed-point: The cross-products in alg_quant() are now all converted. 2008-02-28 14:33:19 +11:00
Jean-Marc Valin
c9d606f517 fixed-point: third alg_quant() checkpoint 2008-02-28 13:46:20 +11:00
Jean-Marc Valin
ed9e4236c1 fixed-point: second check-point in the conversion of alg_quant() 2008-02-28 12:22:22 +11:00
Jean-Marc Valin
f675adce51 fixed-point: First check-point in alg_quant() conversion 2008-02-28 12:15:17 +11:00
Jean-Marc Valin
a02ca1ee35 fixed-point: Added a ROUND() operator, no real change to the code 2008-02-28 11:33:22 +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
a847b775c9 fixed-point: done with mix_pitch_and_residual() though a bit of cleaning up
wouldn't hurt
2008-02-27 17:46:49 +11:00
Jean-Marc Valin
1ca0722534 fixed-point: mix_pitch_and_residual() check-point #3 2008-02-27 17:23:04 +11:00
Jean-Marc Valin
b50c541d8b fixed-point: another mix_pitch_and_residual() check-point 2008-02-27 17:05:43 +11:00
Jean-Marc Valin
d17edd35fc fixed-point: half-way converting mix_pitch_and_residual() -- just check-pointing 2008-02-27 16:52:30 +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
d4018c3a22 Reduced code duplication in vq.c by adding mix_pitch_and_residual() which
is used by both by the encoding and decoding functions.
2008-02-27 10:09:48 +11:00
Jean-Marc Valin
5f09ea5659 celt_mask_t for masking curves 2008-02-26 16:43:04 +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
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
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
879fbfd528 Updated Doxygen comments, removed an incorrectly placed LGPL header (we own
copyright, so it's fine!)
2008-02-20 17:17:13 +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
472a5f03c6 Fixed a bunch of warnings 2008-02-19 13:12:32 +11:00
Jean-Marc Valin
883bd8e556 Option use of SSE intrinsics (still trying to convince gcc not to move the
input data across all registers)
2008-02-15 00:34:01 +11:00
Jean-Marc Valin
0d587d89c1 More VQ comments/cleanup, disabled ineffective optimisation 2008-02-14 21:29:50 +11:00
Jean-Marc Valin
a073c7bedf minor cleanup/commenting to vq search 2008-02-14 16:58:04 +11:00
Jean-Marc Valin
3b277dc757 vq search is now moving much less data around 2008-02-14 16:46:50 +11:00
Jean-Marc Valin
5fa59954a9 moved pulse [en|de]coding to cwrs.c 2008-02-14 13:50:44 +11:00
Jean-Marc Valin
0df0eb4c67 doing the folding properly. 2008-02-13 16:00:10 +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
ac1e03d78e minor optimisation+tuning of vq search 2008-02-12 23:00:18 +11:00
Jean-Marc Valin
636f5c86ab bit of cleaning up 2008-02-12 17:40:27 +11:00
Jean-Marc Valin
cab576ec9b Updating only the L-best entries in alg_quant() that are useful. 2008-02-12 17:21:14 +11:00
Jean-Marc Valin
fe41983619 Copying pointers is faster than copying arrays (who knew!). 2008-02-12 15:05:01 +11:00
Jean-Marc Valin
846d4e240b Allowing the quantiser serch to put more than one pulse at one,
giving a (minor) speedup. Also fixed optional memory-based ncwrs64().
2008-02-12 13:48:48 +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
8f0f4b9421 Limiting intra-frame prediction codebook to 32 entries (plus sign) 2008-02-11 13:52:44 +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
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
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
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
f8db800c44 Added support for codebooks up to 64 bits. 2007-12-11 14:52:56 +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
0aa3903a4a Cheating decoder now produces the same result as the encoder 2007-12-07 15:09:58 +11:00