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