Jean-Marc Valin
70720a3721
added a shortcut (SHORTCUT) to skip the spreading function in the pitch search
2008-04-19 21:39:26 +10:00
Jean-Marc Valin
91ecf24ebb
encoder pre-emphasis now in 16-bits
2008-04-19 19:44:58 +10:00
Jean-Marc Valin
5369578962
better indexing in exp_rotation()
2008-04-19 12:58:29 +10:00
Jean-Marc Valin
884916fb27
better mdct_backward() indexing
2008-04-19 12:53:43 +10:00
Jean-Marc Valin
f11d6f49f9
optimisation: giving more hints to the compiler about the sizes in
...
find_spectral_pitch()
2008-04-18 23:13:14 +10:00
Jean-Marc Valin
d583b2463c
a few minor optimisations
2008-04-18 22:19:58 +10:00
Jean-Marc Valin
3fe0db172c
removed unneeded variable shifts from alg_quant()
2008-04-18 21:00:06 +10:00
Jean-Marc Valin
784959e8e9
separated the two passes from interp_bits2pulses()
2008-04-18 19:35:34 +10:00
Jean-Marc Valin
05778451e7
optimisation: removed the shifts from the vq_index() inner loop
2008-04-18 19:34:58 +10:00
Jean-Marc Valin
7adca0e64a
optimisation: better indexing/looping in vq_index()
2008-04-18 17:54:52 +10:00
Jean-Marc Valin
f7cec83c59
pseudo-stack no longer checks on every function entry whether it has been
...
allocated
2008-04-18 17:29:56 +10:00
Jean-Marc Valin
ba8295241c
optimisation: one less conditional branch in pulse2comb()
2008-04-18 16:58:19 +10:00
Jean-Marc Valin
e6ce0c6a22
optimisation: Removed a bunch of conditional branches from comb2pulse()
2008-04-18 16:46:39 +10:00
Jean-Marc Valin
abdfc38837
Saturation in SIG2INT16 using MIN/MAX
2008-04-18 15:57:18 +10:00
Jean-Marc Valin
fa14707713
Removed implicit 32=>16 conversion (changed to EXTRACT16)
2008-04-18 10:59:03 +10:00
Jean-Marc Valin
ed90daef3e
optimisation: Got rid of the 32-bit mul in find_spectral_pitch()
2008-04-18 10:33:06 +10:00
Jean-Marc Valin
eb1f75d198
minor simplification in alg_quant()
2008-04-17 07:50:12 +10:00
Jean-Marc Valin
309d64204d
fixed an issue (lacking parentheses) in the no-op version of BITREV
2008-04-17 07:41:39 +10:00
Jean-Marc Valin
39aad911d9
Made twiddle pointer in mdct more explicit
2008-04-17 07:29:53 +10:00
Jean-Marc Valin
558c50eb3d
optimisation: Making it clear to the compiler that many of the loops in cwrs
...
need to iterate at least once.
2008-04-16 14:15:07 +10:00
Jean-Marc Valin
57e004bf74
More use of CELT_MEMSET
2008-04-16 11:58:48 +10:00
Jean-Marc Valin
7f28f768e7
Make use of CELT_MEMSET() in find_spectral_pitch()
2008-04-16 11:47:24 +10:00
Jean-Marc Valin
b2b71a58e5
Fixed incorrect energy calculation in stereo intra prediction
2008-04-16 10:45:52 +10:00
Jean-Marc Valin
a66c320871
optimisation: reworked intra_prediction() so that yy is computed fully only
...
once and then updated for each iteration
2008-04-16 10:43:32 +10:00
Jean-Marc Valin
0a864645f9
optimisation: intra_prediction() uses a 16-bit numerator for the search
2008-04-16 10:29:01 +10:00
Jean-Marc Valin
eac9970c94
added fixed_c6x.h
2008-04-15 21:31:42 +10:00
Jean-Marc Valin
96069fd013
optimisation: managed to avoid dividing in the "full gain" case of alg_quant()
2008-04-15 21:14:18 +10:00
Jean-Marc Valin
684fb28eba
oops, forgot to make the gain a 16-bit var
2008-04-15 18:06:59 +10:00
Jean-Marc Valin
d568303134
optimisation: simplified the "full gain" case of alg_quant() to remove some
...
32-bit muls.
2008-04-15 18:04:33 +10:00
Jean-Marc Valin
ed317c94c3
optimisation: another bunch of simplifications to the "simple case" of the
...
alg_quant() search.
2008-04-15 17:31:23 +10:00
Jean-Marc Valin
6ea8baed2d
a few loop optimisations.
2008-04-15 08:01:33 +10:00
Jean-Marc Valin
3d152a5de4
optimisation: merged the init loop of vq_quant().
2008-04-15 07:46:48 +10:00
Jean-Marc Valin
3956de98eb
fix minor compilation error/warning
2008-04-12 06:55:39 +10:00
Jean-Marc Valin
9656ca0090
fixed three declaration-after-statement issues
2008-04-11 17:24:31 +10:00
Jean-Marc Valin
766257109e
fixed a few warnings, no real change
2008-04-11 07:23:53 +10:00
Jean-Marc Valin
b18ec0b08d
Reworked the static modes. Now, if all static modes have the same frame size,
...
overlap or number of channels, we can pass the hint to the compiler.
2008-04-11 04:07:52 +10:00
Jean-Marc Valin
c1a4c2ec44
some index work (simplifications for dumb compilers) on IMDCT
2008-04-10 18:54:02 +10:00
Jean-Marc Valin
6d3289c718
Added a missing RESTORE_STACK in intra_prediction()
2008-04-10 14:43:59 +10:00
Jean-Marc Valin
df9275b31a
Not all compilers are equal -- making it clearer how the MDCT indexing is done
2008-04-10 14:38:14 +10:00
Jean-Marc Valin
821945d97c
Defining IMUL32 for 32x32=>32 int multiplications and using it in the range
...
coder
2008-04-10 13:24:48 +10:00
Jean-Marc Valin
c8e3b67869
Simplified indexing in intra_prediction()
2008-04-10 12:21:26 +10:00
Jean-Marc Valin
381b29c2d2
fixed ordering of the channels in the intra prediction.
2008-04-10 11:00:51 +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
15588ad667
Fixed a stereo regression introduced in e28f25f0d1
2008-04-10 09:00:12 +10:00
Jean-Marc Valin
5a7d9b2c62
Fixed rsqrt testcase for float
2008-04-05 14:36:05 +10:00
Timothy B. Terriberry
d883670bf7
Rework CWRS code.
...
This eliminates an extra O(nm) lookups on decode, and reduces the rate control
from O(nm^2) to O(nm), in addition to eliminating O(m) lookups on both encode
and decode.
Although the interface is slightly more complex, the internal code is also
simpler.
2008-04-05 14:31:35 +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
9c50c6bc68
Revert ABS16/32 on C55 -- ended up being slower
2008-03-28 08:45:46 +11:00
Jean-Marc Valin
4fd989e8c7
ABS16 and ABS32 for the C55
2008-03-28 08:31:33 +11:00
Jean-Marc Valin
124d1cdde5
Making the pulsesAtOnce code 16-bit safe.
2008-03-28 00:33:04 +11:00