Commit graph

135 commits

Author SHA1 Message Date
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
Jean-Marc Valin
5f09ea5659 celt_mask_t for masking curves 2008-02-26 16:43:04 +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
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
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
879fbfd528 Updated Doxygen comments, removed an incorrectly placed LGPL header (we own
copyright, so it's fine!)
2008-02-20 17:17:13 +11:00
Jean-Marc Valin
9a0bba183c Everything should now compile with a C89 compiler. 2008-02-20 14:08:50 +11:00