Commit graph

1205 commits

Author SHA1 Message Date
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