Jean-Marc Valin
6d3829f266
CELT no longer prints to stderr (unless assertions are enabled)
2010-08-27 17:52:38 -04:00
Jean-Marc Valin
628c025373
Converted a few double-precision constants to single precision
2010-04-16 20:57:56 -04:00
Jean-Marc Valin
bd0610d21b
Increasing log energy resolution
2010-03-13 10:04:19 -05:00
Jean-Marc Valin
328b8bd7fc
fixed a few trivial bugs: exporting celt_strerror(), changed DB_SCALING to a
...
shift and removed the chec for DISABLE_STEREO in the mode creation.
2009-10-19 19:07:38 -04:00
Jean-Marc Valin
234969c903
Removed the _t from all the celt*_t types to avoid clashing with POSIX
2009-10-17 22:12:42 -04:00
Jean-Marc Valin
8b2ff0da5a
Updated copyright notices
2009-10-17 21:40:10 -04:00
Jean-Marc Valin
30f7f813ea
Changed all the celt*int*_t types to remove the _t suffix, which is reserved
...
by POSIX. The other _t types that are not part of the API are still there
for now. Also, got rid of all that was left of the 64-bit types.
2009-10-17 14:35:13 -04:00
Jean-Marc Valin
43dd8a5812
Allocating 100k for the pseudo stack so we're sure to be (more than) safe
2009-07-13 17:50:59 -04:00
Jean-Marc Valin
822ac747bc
Making real sure not to bust the pseudo-stack even for weird configurations
2009-07-04 21:58:30 -04:00
Gregory Maxwell
7d8803b498
Some unusual frame sizes could run the pseudo-stack out of memory in fixed point mode.
2009-07-01 19:54:37 -04:00
Jean-Marc Valin
5aaf12333e
Enabling more than 128 pulses for N=3 and N=4.
2009-05-26 21:50:38 -04:00
Gregory Maxwell
0ac2b2fe0b
The change to FLOAT2INT16 in a8734e0f
would break float input for
...
fixed point compilation because SCALEIN is a no-op in fixed point
mode but the float interface is still normally +/- 1.0.
This patch adds a seperate define for the scaling factor so people
can adjust it for unusual input levels.
2009-05-21 23:08:46 -04:00
Gregory Maxwell
8842fdee21
Fixing stereo: Do not attempt to use more bits than are available.
...
This change breaks the bitstream.
Make the first frame out of the encoder an intra-frame. (While not required this may help
in the case that the decoder has old state laying around, and it shouldn't hurt)
2009-05-05 07:31:44 -04:00
Gregory Maxwell
242eee35a8
Enlarge CELT pseudo-stack for floating point unless an architecture specific value
...
has been set. This fixes a crash bug for some platforms with 512 sample frames and stereo.
2009-02-03 16:07:01 -05:00
Jean-Marc Valin
c24b518fb0
Some bit-allocation tuning
2008-09-19 16:49:26 -04:00
Jean-Marc Valin
453ccd829a
Generate slightly more accurate WMOPS figures
2008-09-12 20:52:27 -04:00
Jean-Marc Valin
5c3bc67959
Fixed a bunch of fixed-point overflows on insanely hot signals by changing
...
the time-domain representation from Q14 to Q12 (Q29 to Q27 using the
standard convention).
2008-08-28 23:34:24 -04:00
Gregory Maxwell
5f2a74b38b
Adding a floating point interface to encode and decode
2008-08-12 00:14:33 -04:00
Jean-Marc Valin
ef0d5f15c7
Further simplifications to the forward mdct
2008-04-22 09:49:22 +10:00
Jean-Marc Valin
eac9970c94
added fixed_c6x.h
2008-04-15 21:31:42 +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
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
d9584dbafc
properly defined EPSILON for the float case
2008-03-26 00:00:18 +11:00
Jean-Marc Valin
f5b0587bd2
s/ROUND/ROUND16/
2008-03-21 10:46:17 +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
d857ac48de
Using reciprocal approximation instead of full 32-bit division in alg_quant()
2008-03-12 13:26:37 +11:00
Jean-Marc Valin
72e8003f75
Added macro definitions for the TI C5x family (untested)
2008-03-12 10:16:26 +11:00
Jean-Marc Valin
c209c342bf
fixed-point: defined HALF32() and used it for the forward mdct.
2008-03-07 17:50:45 +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
b624cdd2ce
fixed-point: masking curve computation now converted. ***Fixed a bug in the
...
handling of the left side slope of the spreading function (right-side coef
was used)
2008-03-05 13:40:20 +11:00
Jean-Marc Valin
92376697c6
fixed-point: converted the pitch gain quantisation, except for the codebook
...
itself
2008-03-05 11:31:57 +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
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
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
5d56183404
fixed-point: log-energy for previous frame now a 16-bit value. This currently
...
intruduces a bit of an encoder-decoder mismatch (Q8 in dB), but it'll be
reduced when the interals of quant_energy_mono() are properly converted to
fixed-point and oldEBands gets rounded instead of truncated.
2008-02-27 11:59:05 +11:00
Jean-Marc Valin
42074389bd
fixed-point: pre/de-emphasis converted.
2008-02-27 11:08:53 +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
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
49ca99efa5
fixed-point: initial support for using the fixed-point MDCT (rest is still all
...
float)
2008-02-25 14:12:10 +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
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
Jean-Marc Valin
abe043f0a1
Moving everything to the same type abstraction (sort of).
2008-01-31 14:26:29 +11:00
Jean-Marc Valin
f8db800c44
Added support for codebooks up to 64 bits.
2007-12-11 14:52:56 +11:00