Commit graph

1205 commits

Author SHA1 Message Date
Jean-Marc Valin
987921a067 fixed the skipping of the zeros (skip the zeros instead of the good samples!) 2008-05-26 23:46:28 +10:00
Jean-Marc Valin
f4f5dac8ba Doing mid-side stereo when not doing intensity. 2008-05-23 17:27:39 +10:00
Jean-Marc Valin
bf2d648bbd Implemented intensity stereo, which required changes all over the place
to make sure that stereo coupling is done at the band level. Previously
the stereo coupling was done all at once, but there were all kinds of
interactions with the prediction and folding.
2008-05-23 16:57:34 +10:00
Jean-Marc Valin
7bd2b9e001 More stereo infrastructure 2008-05-23 14:23:22 +10:00
Jean-Marc Valin
fe0b8e8db4 infrastructure changes for upcoming stereo improvements 2008-05-23 13:35:35 +10:00
Jean-Marc Valin
21f2666155 Preventing some encode/decoder mismatch situations at low bit-rate. Also, some
simplifications to the energy encoding.
2008-05-22 16:49:38 +10:00
Jean-Marc Valin
03b645d5a0 doxygen version number 2008-05-16 13:28:58 +10:00
Jean-Marc Valin
ab5e061061 version bump to 0.3.2 2008-05-15 21:53:36 +10:00
Jean-Marc Valin
59093c090e Added calls to query the bit-stream version. 2008-05-15 21:53:27 +10:00
Jean-Marc Valin
b9da9e45fd Some code for packet loss and bit error simulation 2008-05-15 20:21:27 +10:00
Jean-Marc Valin
6855bf6903 More bit allocation tuning 2008-05-07 16:44:29 +10:00
Jean-Marc Valin
ad6371906a Implemented rate-dependant allocation for the fine energy quantisation. 2008-05-07 13:44:39 +10:00
Jean-Marc Valin
827f93175b Packing the pitch parameters first to improve robustness to bit errors with
(hopefully) no other side effect
2008-05-06 23:21:55 +10:00
Jean-Marc Valin
52824c7931 Some tuning improvements, more to come 2008-05-06 18:01:17 +10:00
Jean-Marc Valin
2de66199b2 Disabled pulse spreading until I can show it actually helps 2008-05-05 16:05:34 +10:00
Jean-Marc Valin
2dc4b2d93f Slightly less arbitrary gains for intra prediction. 2008-05-05 15:43:57 +10:00
Jean-Marc Valin
9a8bac019c Using only a sign for the intra prediction instead of using up to 5 bits for
an offset.
2008-05-05 12:02:14 +10:00
Jean-Marc Valin
24c9cdaca1 Fixed a bug in the PLC and added code to estimate the pitch from the synthesis
instead of relying on the one previously transmitted by the encoder.
2008-05-02 10:34:07 +10:00
Jean-Marc Valin
a1bb9c707f Error detection in uint decoding (can no longer return an int that's out
of range.
2008-04-28 17:30:26 +10:00
Jean-Marc Valin
eaeb0b7788 Better value for prediction coef beta 2008-04-28 15:57:03 +10:00
Jean-Marc Valin
56cf2d6ae0 Added code for simulating bit errors 2008-04-28 15:56:38 +10:00
Jean-Marc Valin
c95ab8ccb2 mdct_overlap no longer needed 2008-04-28 13:14:08 +10:00
Jean-Marc Valin
47c248a56a Added STDIN_TUNING to make it easier to tune CELT 2008-04-26 08:16:12 +10:00
Jean-Marc Valin
693268374f bump version number 2008-04-25 22:54:11 +10:00
Jean-Marc Valin
cb1cf2f169 Brought the mdct test-case with the recent changes to the mdct semantic 2008-04-25 22:39:46 +10:00
Jean-Marc Valin
ef1002746c SHORTCUTS now disables the encoder's de-emphasis (i.e. can't check encoder
against the decoder)
2008-04-24 08:29:25 +10:00
Jean-Marc Valin
4ce9205f38 Optimisation: caching the divisions used in the Laplace encoder. 2008-04-23 13:42:10 +10:00
Jean-Marc Valin
e488a1077b removed two shifts from the pitch estimation inner loop 2008-04-23 11:57:40 +10:00
Jean-Marc Valin
56120d0691 Better indexing for find_spectral_pitch() 2008-04-23 08:49:32 +10:00
Jean-Marc Valin
3ccf3a5655 Reverted to the old MDCT behaviour of only doing down-scaling in the FFT. 2008-04-22 17:08:59 +10:00
Jean-Marc Valin
8ddd7f400d mdct_backward now does the WOLA, so there isn't much left in compute_inv_mdcts 2008-04-22 13:37:16 +10:00
Jean-Marc Valin
4989c1212a Moved the windowing from compute_inv_mdcts() to mdct_backward() 2008-04-22 12:18:36 +10:00
Jean-Marc Valin
447e5b8fc6 Separated the pre-rotate from the window+shuffling and further simplified
everything.
2008-04-22 10:13:25 +10:00
Jean-Marc Valin
ef0d5f15c7 Further simplifications to the forward mdct 2008-04-22 09:49:22 +10:00
Jean-Marc Valin
41880805ab non-negative mdct input index 2008-04-22 07:50:50 +10:00
Jean-Marc Valin
30e1b4d36c Moved the windowing operation from compute_mdcts() to mdct_forward() in an
attempt to reduce copying.
2008-04-22 00:10:52 +10:00
Jean-Marc Valin
ba11d78372 Passing the mode to the intra prediction functions so the single-channel case
can be optimised
2008-04-21 21:59:37 +10:00
Jean-Marc Valin
2146e649c8 Disabling pitch when gain is very small. 2008-04-21 15:08:57 +10:00
Jean-Marc Valin
431e46469c Making stack push a tiny bit clearer to the compiler -- don't think it really
has an effect though.
2008-04-21 13:54:41 +10:00
Jean-Marc Valin
945d0df7de s/B/C/ in the intra stuff to have the same notation as everywhere else 2008-04-21 13:41:09 +10:00
Jean-Marc Valin
8c4877bd52 Bit better indexing in intra_prediction() 2008-04-21 12:15:16 +10:00
Jean-Marc Valin
50bf8b0121 Removing some unnecessary initialisations to zero. 2008-04-21 12:14:16 +10:00
Jean-Marc Valin
dff9b7eb65 Another bunch of do-while() loops 2008-04-21 11:43:51 +10:00
Jean-Marc Valin
d7291d2430 Further simplifications to comb2pulses() to remove all conditional branches. 2008-04-21 07:53:40 +10:00
Jean-Marc Valin
7aa9d8c7ae Saved some memory by reducing the size of some arrays to only what's needed.
Typically saves 768 bytes.
2008-04-21 00:04:23 +10:00
Jean-Marc Valin
6229006510 Better indexing of pre/de-emphasis in celt_{en|de}code(). 2008-04-20 22:16:02 +10:00
Jean-Marc Valin
1a3ed79cbe Saved two copies when computing MDCTs of mono signals 2008-04-20 20:39:53 +10:00
Jean-Marc Valin
bdb58836ce more use of CELT_COPY in celt_encode(). Also fixed a stack size bug for stereo 2008-04-20 17:42:10 +10:00
Jean-Marc Valin
0bc5f7fcdc This both reverts 3fe0db172c that caused
accuracy-related issues at high bit-rate, and fixed an overflow caused by large
Rxy values.
2008-04-20 17:16:18 +10:00
Jean-Marc Valin
65fb92e824 more restricted pointers in celt.c 2008-04-19 22:24:53 +10:00