jm@0101bb08-14d6-0310-b084-bc0e0c8e3800
e5ec0f8da3
Reverted some of Timothy's changes to the range decoding that were causing decode random decode problems at the end of the stream (but only once in a while).
...
git-svn-id: http://svn.xiph.org/trunk/ghost@14413 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-18 15:28:49 +11:00
Jean-Marc Valin
3cfcd0594a
Big mode cleanup. Keeping only one mono and one stereo mode
2008-01-18 13:56:08 +11:00
Jean-Marc Valin
a76a0b23eb
Further simplified the API by passing the rate directly to the
...
encode function. Also, trying to properly flush the bit packer
(still some problems left).
2008-01-17 22:43:05 +11:00
tterribe
649d5cc23b
Update ec_dec_bits64() to correspond to the new ec_enc_bits64(). Not sure why this wasn't committed before.
...
git-svn-id: http://svn.xiph.org/trunk/ghost@14409 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-17 19:26:17 +11:00
Jean-Marc Valin
b35536a3b0
Enabled pure CBR, though there's still some decoder issues.
2008-01-17 16:57:18 +11:00
Jean-Marc Valin
4fbd18d1f4
Close to getting CBR working
2008-01-17 14:07:55 +11:00
Jean-Marc Valin
f51ca493fb
Looks like the bit allocation code is mostly working. Just need to actually
...
use it now.
2008-01-17 10:58:38 +11:00
Jean-Marc Valin
c6b4390f6a
Working allocation interpolation code
2008-01-16 22:04:17 +11:00
Jean-Marc Valin
a663174665
more bit allocation wip
2008-01-16 17:16:04 +11:00
Jean-Marc Valin
b86ed07dc2
bit allocation wip (untested)
2008-01-15 16:33:21 +11:00
Jean-Marc Valin
137bf01afb
version number bump
2008-01-15 13:17:35 +11:00
Jean-Marc Valin
33ddd7974d
early code for bit-rate management
2008-01-14 17:39:01 +11:00
Jean-Marc Valin
ec71aee772
A bit of tuning and early work on bit allocation
2008-01-12 23:38:01 +11:00
tterribe
3eff11d8d4
Add ec_dec_tell() to report the same information as ec_enc_tell() decode side. Remove ec_enc_tell() and replace it with ec_enc_tellf(): just request 0 fractional bits if you want an integer value.
...
git-svn-id: http://svn.xiph.org/trunk/ghost@14394 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-11 20:51:03 +11:00
tterribe
fad779ca56
Add ec_enc_tellf, which can return the number of bits used to fractional precision.
...
git-svn-id: http://svn.xiph.org/trunk/ghost@14393 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-11 20:51:03 +11:00
tterribe
06390d082d
Add oc_enc_tell to report an estimate of the number of bits used so far.
...
Remove the special case for 0 in EC_ILOG, as we never pass it 0 and this
generates slightly better code.
Update ec_enc_bits64 to split the encoded values along word boundaries...
this should generate slightly better code, as well as fix a subtle bug (the
proper bits were not being masked out of the low part).
However, this will render previous streams that used this function undecodable
(to my knowledge, no one is actually using it yet).
git-svn-id: http://svn.xiph.org/trunk/ghost@14391 0101bb08-14d6-0310-b084-bc0e0c8e3800
2008-01-11 20:51:03 +11:00
Jean-Marc Valin
45018cbfa2
Doing stereo mixing adaptively based on amplitude difference.
2008-01-11 14:02:07 +11:00
Jean-Marc Valin
a2482aceb4
Conversion to 18-band split and fixed a few related bugs.
2008-01-11 11:24:22 +11:00
Jean-Marc Valin
43e224817c
oops, trying not to overflow the 64-bit max allocation.
2008-01-10 17:26:30 +11:00
Jean-Marc Valin
f8dda66a8e
Tuning of the stereo mode, including conversion to the 18-band split.
2008-01-10 17:02:36 +11:00
Jean-Marc Valin
a4833ffada
Stereo decoding working again (fixed a few issues in the encoder at the same
...
time)
2008-01-10 15:34:00 +11:00
Jean-Marc Valin
021478e252
More stereo work (doing mid-side quantisation of the energy)
2008-01-09 15:31:43 +11:00
Jean-Marc Valin
fdca84b42f
Some stereo work (breaks the decoder for now)
2008-01-09 10:44:18 +11:00
Jean-Marc Valin
95c59ea647
Updated the 18-band mode (mode0) to use the low-overlap MDCT
2008-01-08 16:22:37 +11:00
Jean-Marc Valin
2c53c14904
Oops, forgot to add the VQ table!
2008-01-08 11:29:37 +11:00
Jean-Marc Valin
b21b2a404e
Switched to mdct mask computation
2008-01-07 23:04:43 +11:00
Jean-Marc Valin
0a3e79aa11
Pseudo-masking curve for the MDCT
2008-01-07 13:36:01 +11:00
Jean-Marc Valin
825ec60b53
Completed low-overlap MDCT support by reducing the synthesis
...
latency as well.
2008-01-05 22:49:23 +11:00
Jean-Marc Valin
2875f6bf8d
Now using 8 bands for the pitch gain, with a 128-entry codebook.
2008-01-05 13:32:32 +11:00
Jean-Marc Valin
a5431bfb09
Allowing reduced overlap MDCTs as an alternative
...
to multiple MDCTs per frame. Not complete yet.
2008-01-03 20:53:01 +11:00
Timothy B. Terriberry
71c9bbff02
Updated pulse coding to simpler (slightly faster) code included with
...
http://people.xiph.org/~tterribe/notes/cwrs.html
Removed dead code.
2008-01-01 07:18:06 +11:00
Jean-Marc Valin
26c9e1452a
Comments/cleanup, no code change
2007-12-31 21:27:54 +11:00
Jean-Marc Valin
0d227d86e5
Got the intra-band prediction/copy to work correctly with
...
pulse spreading (and to work at all).
2007-12-31 16:12:12 +11:00
Jean-Marc Valin
97252d0365
Spreading function inside quant_bands()
2007-12-30 20:39:14 +11:00
Jean-Marc Valin
e84962bcd9
Doing multiple rotation passes instead of one produces better pulse spreading.
2007-12-30 00:17:44 +11:00
Jean-Marc Valin
571e861dc3
more exp_rotation() cleanup
2007-12-30 00:06:10 +11:00
Jean-Marc Valin
559e8ff602
simplified exp_rotation()
2007-12-30 00:02:00 +11:00
Jean-Marc Valin
6c24524b88
Added a DCT in time direction when multiple MDCTs are used within the same
...
frame.
2007-12-29 23:27:42 +11:00
Jean-Marc Valin
46014ca49a
Propagating perceptual weighting around (not used yet).
2007-12-14 13:47:04 +11:00
Jean-Marc Valin
36d78e6f74
Band energy quantisation info now in the mode directly
2007-12-13 14:59:30 +11:00
Jean-Marc Valin
4a897680e3
Working on some stability issues (appears to be solved by making the pitch
...
projection less aggressive). Also, fixed a 64-bit overflow in the stereo mode
and added a "band rotation" function.
2007-12-12 00:45:15 +11:00
Jean-Marc Valin
f347dd3b3d
Fixed parallel build
2007-12-11 18:01:22 +11:00
Jean-Marc Valin
f8db800c44
Added support for codebooks up to 64 bits.
2007-12-11 14:52:56 +11:00
Timothy B. Terriberry
f13fea7b53
Added ec_{enc|dec}_bits64 and ec_{enc|dec}_bits64.
...
Updated broken paper URLs.
Cleaned up non-multiply-free range coder documentation (e.g., stop claiming
it's multiply-free).
2007-12-11 13:25:57 +11:00
Timothy B. Terriberry
d710177d0a
Documentation fixes and a couple of other minor edits.
2007-12-11 13:25:00 +11:00
Jean-Marc Valin
9d35ccdaea
Fixed stereo version of the pitch estimator
2007-12-10 17:57:19 +11:00
Jean-Marc Valin
bf94045f41
Stereo almost works now (still need to fix the pitch estimate and add more
...
pulses)
2007-12-10 17:10:29 +11:00
Jean-Marc Valin
ffa13474ef
Adding stereo support. Doesn't work yet, but at least it doesn't break
...
mono
2007-12-10 16:54:17 +11:00
Jean-Marc Valin
14bccef8e7
Comments on the spreading function
2007-12-10 13:13:58 +11:00
Jean-Marc Valin
991410be59
Added a simple psychoacoustic model (still needs a lot of work).
2007-12-10 01:28:34 +11:00