Jean-Marc Valin
|
98c86c7885
|
Trying to clean up celt_ilog2() vs. EC_ILOG a bit.
|
2008-03-27 08:40:45 +11:00 |
|
Jean-Marc Valin
|
fed97d58b5
|
optimisation: changed some for() loops to do-while() to give the compiler
a hint that there has to be at least one iteration.
|
2008-03-26 21:31:56 +11:00 |
|
Jean-Marc Valin
|
df7ab43087
|
Making it obvious to the compiler how to generate a dual-MAC in
mix_pitch_and_residual()
|
2008-03-26 18:03:22 +11:00 |
|
Jean-Marc Valin
|
95088d4505
|
mix_pitch_and_residual() no longer computing Ryp twice
|
2008-03-26 17:57:49 +11:00 |
|
Jean-Marc Valin
|
233e317202
|
optimisation: shaving a few cycles off prev_cwrs* by not computed the values
we're not going to use.
|
2008-03-26 15:46:51 +11:00 |
|
Jean-Marc Valin
|
89c5fd161b
|
optimisation: intra_prediction() no longer needs to divide inside the search
|
2008-03-26 12:16:00 +11:00 |
|
Jean-Marc Valin
|
35a1f88e81
|
optimisation: The "simple" Rxy/sqrt(Ryy) case in alg_quant no longer requires
a division
|
2008-03-26 10:34:23 +11:00 |
|
Jean-Marc Valin
|
bd2828f64b
|
Decision on whether to use pitch is now taken only based on energy in the
first three bands (instead of total MDCT window energy)
|
2008-03-26 08:10:27 +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
|
ac72c2821a
|
oops. find_max32() now uses VERY_LARGE32 (instead of VERY_LARGE16)
|
2008-03-25 21:31:12 +11:00 |
|
Jean-Marc Valin
|
44c63350d1
|
optimisations: Another bunch of simplifications to alg_quant(), mainly to
remove unnecessary copying and some conditional branches.
|
2008-03-25 21:28:40 +11:00 |
|
Jean-Marc Valin
|
49134381d0
|
optimisations: caching sign of x in alg_quant(), changed celt_div()/celt_rcp()
to assume denominator is positive.
|
2008-03-25 16:07:05 +11:00 |
|
Jean-Marc Valin
|
208ae6e33d
|
Optimised intra prediction a bit -- removed a conditional branch and replaced
some calls to ec_enc_uint() by calls to ec_enc_bits() (saves divisions)
|
2008-03-25 15:25:08 +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
|
23e82b26dd
|
replaced divisions by recoprocals in intra prediction and folding
|
2008-03-24 08:15:40 +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
|
a536f77202
|
Added a few "restrict" keywords and changed some divisions to shifts
|
2008-03-22 09:01:50 +11:00 |
|
Jean-Marc Valin
|
f5b0587bd2
|
s/ROUND/ROUND16/
|
2008-03-21 10:46:17 +11:00 |
|
Jean-Marc Valin
|
4ff068e670
|
Some work on assertions.
|
2008-03-15 23:34:39 +11:00 |
|
Jean-Marc Valin
|
71a84590e7
|
Removed unnecessary header inclusions
|
2008-03-14 11:09:50 +11:00 |
|
Jean-Marc Valin
|
a82dfdd240
|
Adjusting/fixing warnings
|
2008-03-13 23:01:55 +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
|
19ae9fc944
|
fixed-point: simplifying the arithmetic in alg_quant()
|
2008-03-13 11:18:15 +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
|
d857ac48de
|
Using reciprocal approximation instead of full 32-bit division in alg_quant()
|
2008-03-12 13:26:37 +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
|
03892c18d4
|
fixed-point: finished intra_prediction(). No float ops left in vq.c
|
2008-03-07 17:25:47 +11:00 |
|
Jean-Marc Valin
|
9455d1b13c
|
fixed-point: converting intra-frame predictor (checkpoint #1).
|
2008-03-07 17:17:37 +11:00 |
|
Jean-Marc Valin
|
ec9b6df35d
|
fixed-point: intra_fold() converted
|
2008-03-07 17:05:47 +11:00 |
|
Jean-Marc Valin
|
d9de593104
|
Fixed a bunch of warnings
|
2008-03-05 08:11:57 +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
|
3e08a88389
|
Only the (rising) overlap part of the window is stored now. No need to hold the
zeros and ones (nor even the second half).
|
2008-03-03 13:49:20 +11:00 |
|
Jean-Marc Valin
|
d748cd5570
|
Another C90-fying pass. Fixed some warnings in the process.
|
2008-03-01 07:27:03 +11:00 |
|
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 |
|