Commit graph

1205 commits

Author SHA1 Message Date
Jean-Marc Valin
4213a7254c Demoved the divisions from the inner pitch prediction loops, bumped the version
and bit-stream version
2009-10-01 19:42:18 -04:00
Jean-Marc Valin
d5e5436e07 Fix for folding_decision() in stereo mode and more cleaning up of the code
now that we no longer do normalized pitch
2009-09-30 20:50:41 -04:00
Jean-Marc Valin
7013db7ca4 Fix stereo mismatch problem 2009-09-29 23:45:03 -04:00
Jean-Marc Valin
6db9e6eff8 Bringing back min_bins=3 for now 2009-09-29 23:16:26 -04:00
Jean-Marc Valin
75732de1a7 Tuning the spreading rotations 2009-09-29 22:35:32 -04:00
Jean-Marc Valin
4834c92e2b More simplifications from denorm pitch 2009-09-28 19:17:34 -04:00
Jean-Marc Valin
095c1782c5 Removed code that is no longer necessary with denorm pitch and spreading 2009-09-17 22:38:34 -04:00
Jean-Marc Valin
92ae37027f enabling denorm pitch only at low bit-rate 2009-09-16 07:57:17 -04:00
Jean-Marc Valin
00fb6b0765 fixed-point: denorm pitch converted 2009-09-15 23:41:05 -04:00
Jean-Marc Valin
ab220aa212 denorm pitch works in fixed-point (though there's still some floats left) 2009-09-15 22:38:40 -04:00
Jean-Marc Valin
4c77ea96d0 doing pitch in denormalized domain 2009-09-14 22:51:55 -04:00
Jean-Marc Valin
515136a3f1 removed unused #ifdefs 2009-09-13 20:15:24 -04:00
Jean-Marc Valin
3aa3afe74f Only calling intra_fold() when there's no pulse allocated 2009-09-11 20:28:29 -04:00
Jean-Marc Valin
a7750b90cc Re-introducing the successive rotations as a way to control low-bitrate
tonal artefacts. This replaces folding for all cases where we have at least
one pulse.
2009-08-29 22:52:03 +01:00
Jean-Marc Valin
0f0da999ae Better fading for PLC: no fading for the first loss, muting after 6 2009-08-12 21:35:36 -04:00
Jean-Marc Valin
9714f66d5f Disabling some checks for the C55 2009-08-12 20:29:57 -04:00
Jean-Marc Valin
bb275c4101 Making it possible to use the C64x FFT 2009-08-11 22:12:50 -04:00
Jean-Marc Valin
79b361991e Forcing side to be orthogonal to mid for N=2. This saves one degree of freedom. 2009-08-09 19:18:22 -04:00
Jean-Marc Valin
fbfddf7041 Making sure each band has a width that's a multiple of the number of MDCTs 2009-08-09 19:18:16 -04:00
Jean-Marc Valin
692c33f8bb Fixes typo in C6x macro. 2009-08-09 09:23:05 -04:00
Jean-Marc Valin
5a70097d79 C89 and 16-bit fixes 2009-08-08 13:23:03 -04:00
Jean-Marc Valin
54669dc89b Allocating enough mem in celtenc/celtdec to handle 1024-sample frames 2009-08-01 23:22:51 +02:00
Jean-Marc Valin
e610864c74 This fixes a VBR bug introduced by raw bits. We should not write any raw
bit before the rate is decided (otherwise they'll end up at the wrong place)
and we have to shrink the byte buffer before writing raw bits.
2009-08-01 23:05:47 +02:00
Jean-Marc Valin
91f07dc125 Changing some code to use BITRES directly instead of its value. 2009-07-25 20:42:24 -04:00
Jean-Marc Valin
949a29bf0c Raw bits encoding/decoding functions renamed to *_raw() and re-introducing
original ec_encode_bin()/ec_decode_bin() to optimize performance when ft is
a power of two.
2009-07-25 20:16:01 -04:00
Jean-Marc Valin
50cf82f7ab Raw bits enabled for the multiply-free range coder too. 2009-07-23 07:33:25 -04:00
Jean-Marc Valin
c08be4485b Implemented "raw bits"
Making it so all the information encoded directly with ec_enc_bits() gets
stored at the end of the stream, without going through the range coder. This
should be both faster and reduce the effects of bit errors.

Conflicts:

	tests/ectest.c
2009-07-23 07:33:24 -04:00
Timothy B. Terriberry
8d940a664e Change end-of-stream handling in the range coder.
Instead of trying to maximize the number of trailing zeros (minimize the number
 of bits encoded), we try to maximize the number of trailing bits that can
 contain arbitrary data.
Note that this requires ec_enc_tell() and ec_dec_tell() to reserve an extra
 bit, since depending on the exact final codeword, as little as half the final
 range might be available for storing arbitrary data.
This is the first step needed to start packing literal bits outside the range
 coder (for speed and robustness purposes).
2009-07-23 07:33:24 -04:00
Jean-Marc Valin
164a229644 Reducing the size of the pulses->bits cache by restricting the number of pulses
possible
2009-07-23 07:24:03 -04:00
Jean-Marc Valin
cb8780ca96 C89 compatibility fixes for pseudo-stack mode.
Conflicts:

	libcelt/celt.c
2009-07-20 23:40:35 -04:00
Jean-Marc Valin
8ccf148573 Bump version number to 0.6.1 2009-07-13 20:37:06 -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
c81af94437 ietf doc: Last minute changes to the drafts 2009-07-13 15:40:17 -04:00
Jean-Marc Valin
3ea5ea4561 Clarifying the transient time-domain pre-emphasis and energy prediction to
address Koen Vos' comments.
2009-07-13 11:10:02 -04:00
Jean-Marc Valin
2c44b55430 Updating draft to match latest code changes 2009-07-12 22:19:31 -04:00
Jean-Marc Valin
798ab38b27 Using normalised M/S stereo data for folding and use separate folding gains
for M and S.
2009-07-12 20:41:29 -04:00
Gregory Maxwell
0719f6fc25 This patch makes it safe to call the encode / decode functions with a NULL pointer in place of the pcm buffer. 2009-07-12 01:01:33 -04:00
Jean-Marc Valin
4da9e94c98 Using MS stereo for all bands, fixing a few bugs in the stereo folding 2009-07-12 00:58:50 -04:00
Jean-Marc Valin
94b39e9561 ietf doc: clarifications 2009-07-10 11:52:33 -04:00
Jean-Marc Valin
e6d832a721 Allowing frame sizes up to 1024, with pitch enabled only up to 512 2009-07-08 22:21:31 -04:00
Jean-Marc Valin
388fccc334 Most suggestions by Stefan Sayer. 2009-07-08 11:19:46 -04:00
Jean-Marc Valin
36d2a7fd4a Suggestions/corrections by Stefan Sayer. 2009-07-08 09:43:40 -04:00
Jean-Marc Valin
0b765bf8c1 ietf doc: final tweak 2009-07-04 23:02:46 -04:00
Jean-Marc Valin
ece2cfa2d2 removed useless comments 2009-07-04 22:46:38 -04:00
Jean-Marc Valin
66e7816833 ietf doc: stereo and other details 2009-07-04 22:23:58 -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
Jean-Marc Valin
9fe754cf8f ietf doc: more corrections 2009-07-04 21:21:00 -04:00
Jean-Marc Valin
f7e5a8279d ief doc: Moving allocation matrix interpolation to the "Modes" section 2009-07-04 07:19:34 -04:00
Jean-Marc Valin
54f5835035 ietf doc: removed duplicate paragraph in allocation section 2009-07-04 00:31:03 -04:00
Gregory Maxwell
49baf65346 ietf doc: An initial attempt at explaining the allocation machinery. 2009-07-03 22:44:27 -04:00