Jean-Marc Valin
5cfa93b092
More outstanding issues
2008-11-26 16:33:58 -05:00
Jean-Marc Valin
6f562682f6
Initial IETF draft
2008-11-22 08:13:16 -05:00
Jean-Marc Valin
05acb73e36
fixed test for cases where M_PI isn't defined
2008-11-10 20:59:38 -05:00
Jean-Marc Valin
37ab9c6642
Bit of cleaning up and comments
2008-11-08 09:14:38 -05:00
Jean-Marc Valin
bc79991742
The fold bit can now be used by the encoder and decoder (encoder still needs
...
EXP_PSY)
2008-11-07 22:53:13 -05:00
Jean-Marc Valin
896471dc3d
Disabling the folding sign bit
2008-11-06 21:55:41 -05:00
Jean-Marc Valin
a2012d8dc5
experimental code for choosing whether to apply folding for the high bands
2008-11-05 21:54:37 -05:00
Gregory Maxwell
3b34e188ed
In some conditions the allocation could run out of bits and attempt to allocate a negative number of pulses.
2008-10-29 23:37:32 -04:00
Gregory Maxwell
ae2fb591b8
Fixed use of the jitter buffer in celtclient.
2008-10-28 23:34:13 -04:00
Jean-Marc Valin
c5f2a9d988
Latest psychoacoustics work -- still highly experimental
2008-10-26 22:00:26 -04:00
Timothy B.B Terriberry
d77f61ac22
Fixes some issues in the MF range coder on systems were ints are 16 bits.
2008-10-19 20:01:34 -04:00
Jean-Marc Valin
761811d91b
re-enable support for resizable buffers in the range coder
2008-10-18 09:11:05 -04:00
Jean-Marc Valin
8679a80ee2
Encoder now writes data directly in the user buffer
2008-10-18 07:44:35 -04:00
Jean-Marc Valin
56cb5cf31f
Multiply-free version of the range coder. Haven't yet decided which version to
...
use.
2008-10-17 21:27:21 -04:00
Jean-Marc Valin
dffd9449b5
Tonality estimation code
2008-10-15 07:29:58 -04:00
Jean-Marc Valin
01e177377c
README update
2008-10-10 20:14:44 -04:00
Jean-Marc Valin
5ac6d42e81
Preparing for 0.5.0
2008-10-09 07:29:39 -04:00
Gregory Maxwell
926131291f
Add support for a complexity argument to both testcelt and celtenc.
2008-10-08 19:45:55 -04:00
Wessel Lubberhuizen
7bf550ead4
fix STATIC_MODES for stereo (with a few fixes by JMV)
2008-10-06 07:12:08 -04:00
Jean-Marc Valin
b6f9061343
celt_encoder_ctl() is a bit more type-safe.
2008-10-05 22:39:13 -04:00
Jean-Marc Valin
25ec9ac39a
Fixed support for STATIC_MODES
2008-10-04 22:37:11 -04:00
Jean-Marc Valin
2b08d7a210
Removing the 64-bit part of the range coder.
2008-10-04 21:10:26 -04:00
Gregory Maxwell
b6a3b0c464
Fix stereo support; correctly deallocate bits_stereo.
2008-10-04 00:39:17 -04:00
Jean-Marc Valin
60d0837ea0
lookahead no longer defined when creating a mode
2008-10-03 07:30:08 -04:00
Wessel Lubberhuizen
33ba6cc6b6
fix stack handling
2008-10-03 07:09:29 -04:00
Jean-Marc Valin
b0bef8564e
compute_alloc_cache() isn't defined when STATIC_MODES is.
2008-10-02 23:52:46 -04:00
Jean-Marc Valin
f3190f26b9
s/unsigned/celt_uint32_t/
2008-10-01 19:41:54 -04:00
Gregory Maxwell
8259531160
API: Change celt_encode and celt_encode_float so that they take an optional synthesis parameter after the PCM input. If optional_synthesis is null the encoder will be able to save some computation. If optional_synthesis is non-null if will be used to write the encoder's expectation of the decoder's output. Synthesis may alias the input pcm, so calling the encoder with the same buffer twice will achieve the old behavior. Remove 'restrict' from the CTL prototype.
2008-09-30 23:32:35 -04:00
Jean-Marc Valin
c18fb1d031
Added celt_encoder_ctl() and CELT_SET_COMPLEXITY
2008-09-30 07:36:54 -04:00
Jean-Marc Valin
c591e1542a
Proper stack restore
2008-09-29 17:41:14 -04:00
Gregory Maxwell
cbaf67e836
Fix support for sample rates between 32kHz and 40kHz (lower rates are currently rejected, but work okay).
2008-09-28 08:17:42 -04:00
Jean-Marc Valin
f02c9bac3a
Supporting large prime factors in the FFT
2008-09-27 22:14:18 -04:00
Gregory Maxwell
23e654ff82
Allow all even frame sizes, change the selection of number of short MDCTs per frame to be more intelligent.
2008-09-27 21:23:54 -04:00
Gregory Maxwell
0527f37352
Fix support for 64 sample frames.
2008-09-24 20:27:51 -04:00
Gregory Maxwell
34952f3e45
Add an additional 1/16th bit of padding to avoid budget busting on some inputs.
2008-09-23 21:08:44 -04:00
Jean-Marc Valin
f61be66f42
Some more tuning
2008-09-22 10:46:55 -04:00
Jean-Marc Valin
0ec7c14e0b
Unb0rked a fixed-point regression caused in 7bb339d
2008-09-22 10:25:46 -04:00
Jean-Marc Valin
b155bb8860
Merge branch 'cwrs_speedup'
...
Conflicts:
libcelt/cwrs.c
tests/cwrs32-test.c
2008-09-21 22:38:43 -04:00
Timothy B.B Terriberry
5ee9715c5c
Change cwrsi() to operate on rows of U instead of columns.
...
It is no slower with a large number of pulses, and as much as 30% faster with
a large number of dimensions.
2008-09-21 21:37:41 -04:00
Jean-Marc Valin
7bb339d9f9
Split the last pulse out of the alg_quant() main loop.
2008-09-21 21:11:39 -04:00
Jean-Marc Valin
5ea2e7f267
Dividing by a constant is never good
2008-09-19 17:49:21 -04:00
Jean-Marc Valin
d125c264e4
Removed a bunch of divides from the fine energy quantisation
2008-09-19 17:22:44 -04:00
Jean-Marc Valin
c24b518fb0
Some bit-allocation tuning
2008-09-19 16:49:26 -04:00
Jean-Marc Valin
b4ce40cb55
Fixing the manual stack handling code
2008-09-19 11:50:50 -04:00
Jean-Marc Valin
abf5c8ed64
Merge branch 'cwrs_speedup' (derf's cwrs changes)
...
Conflicts:
libcelt/cwrs.c
2008-09-19 08:02:50 -04:00
Timothy B.B Terriberry
d910274f79
Change CWRS indexing to use Pyramid VQ's magnitude ordering.
...
This lets us encode and decode directly from the pulse vector without an
intermediate transformation.
This makes old streams undecodable.
Additionally, ncwrs_u32() has been sped up for large N by using the sliding
recurrence from Mohorko et al.
ncwrs_u64 could be sped up in a similar manner, but would require a larger
table of multiplicative inverses (or several 32x32->64 bit multiplies).
Note that U(N,M) is now everywhere 1/2 the value it used to be.
2008-09-19 07:38:24 -04:00
Jean-Marc Valin
1dab60cc91
Better use of the arithmetic operators
2008-09-16 13:29:37 -04:00
Jean-Marc Valin
b781877e80
Converted everything to 32-bit CWRS (using split after that)
2008-09-12 21:27:35 -04:00
Jean-Marc Valin
453ccd829a
Generate slightly more accurate WMOPS figures
2008-09-12 20:52:27 -04:00
Jean-Marc Valin
7b0cb4ba0d
One-at-a-time allocator now uses direct feedback from ec_*_tell().
2008-09-11 00:20:08 -04:00