Jean-Marc Valin
b801da5e83
Preventing bands from being coded at a rate below (for now) 3/8 bit/sample
2010-09-28 14:56:20 -04:00
Jean-Marc Valin
8abc6bee40
Fixes a minor folding bug for N=2 bands in stereo
2010-09-15 06:57:55 -04:00
Jean-Marc Valin
3c15659c39
Fixes fixed-point overflow in stereo_merge()
2010-09-14 16:02:47 -04:00
Jean-Marc Valin
d60e0db0e2
Fixes a fixed-point overflow in haar1()
2010-09-14 12:22:17 -04:00
Jean-Marc Valin
5f3ad5f985
Fix stereo for N=2
2010-09-14 10:30:32 -04:00
Jean-Marc Valin
79b4533846
Copy lowband when needed instead of undoing the transforms
2010-09-14 09:48:41 -04:00
Jean-Marc Valin
ad7d5e002f
Allowing a max of 8 bits to qtheta
2010-09-13 17:44:48 -04:00
Jean-Marc Valin
a5ce03fe8a
More quant_band() reorganisation.
2010-09-13 15:06:35 -04:00
Jean-Marc Valin
a18c75e55a
Restructuring in quant_band()
2010-09-13 14:59:13 -04:00
Jean-Marc Valin
3578076003
Separates stereo_band_mix() into the intensity and MS stereo cases
2010-09-13 13:56:21 -04:00
Jean-Marc Valin
90e7fdd70e
Added stereo_merge(), which does the renormalisation too
2010-09-13 13:44:11 -04:00
Jean-Marc Valin
009978ee6c
Moves the bit-side gain application to the quantizer
2010-09-13 11:05:08 -04:00
Jean-Marc Valin
eea914cb88
Simplifies vector renormalisation (and using it less)
2010-09-12 20:11:32 -04:00
Jean-Marc Valin
725e5f4b4c
Fix a minor, but bitstream-affecting bug
2010-09-11 08:57:59 -04:00
Jean-Marc Valin
5277d2db03
Fixes a divide-by-zero in narrowband mode with small frame size
2010-09-10 20:29:00 -04:00
Jean-Marc Valin
020ef4f810
Ignoring lower bands in folding_decision()
2010-08-31 17:08:45 -04:00
Jean-Marc Valin
1d17b9ae67
New implementation of folding_decision()
2010-08-31 14:51:58 -04:00
Jean-Marc Valin
736efd6909
Fixes some MSVC warnings
2010-08-31 11:52:45 -04:00
Jean-Marc Valin
3ad8db49c5
New pulse cache
2010-08-25 13:11:09 -04:00
Jean-Marc Valin
ba3a28921a
MSE measurement details (no codec changes)
2010-08-23 11:14:35 -04:00
Jean-Marc Valin
d38d6b9aa1
Implemented variable spreading amount in the decoder
...
Decision not yet implemented in the encoder
2010-08-07 09:21:32 -04:00
Jean-Marc Valin
1f589ef143
More simplifications to N=2 stereo
2010-08-05 21:14:49 -04:00
Jean-Marc Valin
960505f074
More N=2 stereo simplifications
2010-08-05 20:35:53 -04:00
Timothy B. Terriberry
e4d271dcfb
Simplifications to the N=2 stereo split.
...
This saves almost 200 bytes of code size.
2010-08-05 20:11:33 -04:00
Jean-Marc Valin
08b88c8d3d
This patch makes Tim happy
2010-08-05 18:15:56 -04:00
Jean-Marc Valin
aa995ddde3
Making qn code 16-bit clean while simplifying it
2010-08-05 17:39:13 -04:00
Jean-Marc Valin
8cbea177ba
Removing pitch prediction code
2010-08-05 15:28:27 -04:00
Jean-Marc Valin
30e2493efa
Allowing fractional bits for splitting angle (theta)
2010-08-05 09:16:52 -04:00
Jean-Marc Valin
0b9e9ce465
cleanup in qb-related code
2010-08-05 00:09:23 -04:00
Jean-Marc Valin
5d774e075e
Fixed "forced intensity stereo"
2010-08-04 17:17:18 -04:00
Jean-Marc Valin
4409224845
Error measurement for stereo as well
2010-07-29 18:32:54 +02:00
Jean-Marc Valin
7b5a086b45
Measuring the normalized error directly within the encoder
2010-07-29 15:01:24 +02:00
Jean-Marc Valin
fd3139cccf
Separate qtheta offset for stereo
2010-07-29 12:51:06 +02:00
Jean-Marc Valin
8d18601413
Fixing the qtheta dependency for the delta allocation
...
Removed useless code in transient_analysis()
2010-07-28 22:12:36 +02:00
Jean-Marc Valin
743abbbac9
Only using triangular split pdf up to 8 bits
2010-07-28 10:34:07 +02:00
Timothy B. Terriberry
68242ac58c
Eliminate the loop when decoding the split angle.
...
Use a closed-form formula for the search instead.
This requires an integer sqrt, so it is not actually closed-form,
but the number of iterations is O(qb) instead of O(2**qb).
2010-07-28 00:20:16 +02:00
Timothy B. Terriberry
5bdb7dbafc
Eliminate the loop when encoding the split angle.
...
Use a closed-form formula for the codebook parameters instead.
2010-07-27 23:11:56 +02:00
Jean-Marc Valin
37546cc3f6
Bit allocation
...
Also convert the stereo split code to use log(N)/2 as the bit allocation
offset
2010-07-27 22:39:15 +02:00
Jean-Marc Valin
6f1cbca519
More cleanup
2010-07-24 22:06:29 -04:00
Jean-Marc Valin
663c0492bb
Spreading code cleanup -- now allowing tf change when spreading is off
2010-07-24 21:36:44 -04:00
Jean-Marc Valin
f276b23415
Using random noise in upper bands when signal is "normal"
2010-07-24 17:13:17 -04:00
Jean-Marc Valin
48923ae996
Cleanup, de-inlining some math functions
2010-07-23 17:28:50 -04:00
Jean-Marc Valin
2ed05631f8
Fixes a bug that could turn off folding at low rate when specifying
...
a start band.
2010-07-20 17:30:31 -04:00
Jean-Marc Valin
9d785afb67
Encoder now has a way to check whether an error has occurred
2010-07-18 09:42:05 -04:00
Jean-Marc Valin
8952c45ea5
The encoder and decoder can now process audio encoded at a higher rate
...
than what they're running at.
2010-07-16 21:48:44 -04:00
Jean-Marc Valin
69921c4cde
Considering the end band in more places in the code
2010-07-16 15:25:30 -04:00
Jean-Marc Valin
525d7cfdc4
Support for adjusting the end band
2010-07-13 18:18:23 -04:00
Jean-Marc Valin
084a5cc626
fixes an int vs celt_int32 mismatch
2010-07-06 18:58:19 -04:00
Jean-Marc Valin
a57e924f2e
Removing some warnings
2010-06-27 00:53:51 -04:00
Jean-Marc Valin
281c8b7e99
Preventing ridiculous bit depths > 16 bit/sample
2010-06-22 21:26:16 -04:00