Commit graph

193 commits

Author SHA1 Message Date
Jean-Marc Valin
d583b2463c a few minor optimisations 2008-04-18 22:19:58 +10:00
Jean-Marc Valin
3956de98eb fix minor compilation error/warning 2008-04-12 06:55:39 +10:00
Jean-Marc Valin
05e56c4d6c Defining DISABLE_STEREO now optimises for the mono case 2008-04-10 09:13:05 +10:00
Jean-Marc Valin
ae76e553db Changed the rules for using the pulse spreading. It should be used less often
and mainly in the mid-range.
2008-03-28 17:59:36 +11:00
Jean-Marc Valin
e28f25f0d1 Removed a few int divisions from the intra prediction code. 2008-03-27 14:18:28 +11:00
Jean-Marc Valin
0828b6506c fixed-point: using MULT16_16 instead of * in compute_band_energies() 2008-03-27 10:22:42 +11:00
Jean-Marc Valin
a56c34f381 optimisations: faster handling of the zero for compute_band_energies() and
normalise_bands(). Also, another bunch of restrict qualifiers -- mainly
to tell the compiler there's no aliasing between the array bounds and the
data.
2008-03-26 14:36:07 +11:00
Jean-Marc Valin
25aeed74f1 changed 1*rcp(x) to just rcp(x) 2008-03-26 13:45:01 +11:00
Jean-Marc Valin
5de868c6d3 A bunch of pointers marked as "restrict" to ease the job of the compiler 2008-03-25 22:38:58 +11:00
Jean-Marc Valin
bd718ba577 Removed the "pitch compression" in the residual quantisation. Also, removed
the more complex "n-best search" and replaced it with a greedy search
2008-03-25 14:15:41 +11:00
Jean-Marc Valin
2282383434 fixed-point: added cheap celt_div() division using a reciprocal 2008-03-22 21:17:45 +11:00
Jean-Marc Valin
c7e0b76c06 Making sure not to use the C library calls directly 2008-03-16 07:55:29 +11:00
Jean-Marc Valin
4ff068e670 Some work on assertions. 2008-03-15 23:34:39 +11:00
Jean-Marc Valin
0773fec4ad fixed-point: fixed a 16-bit issue in normalise_bands() where Q15ONE was directly
shifted left
2008-03-14 16:28:28 +11:00
Jean-Marc Valin
9d5b4a6f56 fixed-point: simplification of the gain in mix_pitch_and_residual() 2008-03-13 11:36:45 +11:00
Jean-Marc Valin
31b79d1993 Changed definition of VARDECL to make it more flexible. No actual code change. 2008-03-12 17:17:23 +11:00
Jean-Marc Valin
db0141e766 Changed some of the mode data from int to celt_int16_t to save memory. 2008-03-10 16:37:37 +11:00
Jean-Marc Valin
ecd214d585 fixed-point: stereo_mix() converted. 2008-03-08 20:17:12 +11:00
Jean-Marc Valin
3e65097528 Bit of cleaning up. No real code change (well, I hope so!). 2008-03-07 17:38:58 +11:00
Jean-Marc Valin
000973f7e2 fixed-point: compute_band_energies() converted. Had to add some tiny bias to
make sure never to end up with a pitch vector with >1 norm.
2008-03-07 16:42:31 +11:00
Jean-Marc Valin
0668b8ea5e fixed-point: converted normalise_bands (had to split implementation) 2008-03-07 15:33:32 +11:00
Jean-Marc Valin
cefc5ca26d Revert "compute_band_energies() merged with normalised_bands()"
This reverts commit a1bc18a388.
I think it's easier for now to deal with two functions here, even though they
could be merged.
2008-03-07 14:53:17 +11:00
Jean-Marc Valin
f8eb420a09 Changed the pulse spreading rotations so that the number of iterations is
variable instead of the angle. Should now be both less CPU-intensive and
makes fixed-point code simpler.
2008-03-07 14:44:56 +11:00
Jean-Marc Valin
ba8e2f7b29 fixed-point: done converting quant_bands() and unquant_bands() 2008-03-07 00:21:40 +11:00
Jean-Marc Valin
6441379e57 fixed-point: part of stereo_mix() converted. 2008-03-05 23:00:21 +11:00
Jean-Marc Valin
a1bc18a388 compute_band_energies() merged with normalised_bands() 2008-03-04 22:52:52 +11:00
Jean-Marc Valin
069c3de65f Removed deprecated mode interface and added missing include 2008-03-04 20:38:00 +11:00
Jean-Marc Valin
7137c26e4f fixed-point: exp_rotation() now fully converted, using an approximation of the
cos() and sin() functions.
2008-03-04 17:43:09 +11:00
Jean-Marc Valin
7e94cc4d95 fixed-point: converted denormalise_bands() 2008-03-04 17:31:18 +11:00
Jean-Marc Valin
312132780e A bunch of const qualifyers and a few comments 2008-03-03 16:52:54 +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
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