opus.git
12 years agoUpdate ec_dec_bits64() to correspond to the new ec_enc_bits64(). Not sure why this...
tterribe [Thu, 17 Jan 2008 07:51:18 +0000 (07:51 +0000)]
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

12 years agoEnabled pure CBR, though there's still some decoder issues.
Jean-Marc Valin [Thu, 17 Jan 2008 05:57:18 +0000 (16:57 +1100)]
Enabled pure CBR, though there's still some decoder issues.

12 years agoClose to getting CBR working
Jean-Marc Valin [Thu, 17 Jan 2008 03:07:55 +0000 (14:07 +1100)]
Close to getting CBR working

12 years agoLooks like the bit allocation code is mostly working. Just need to actually
Jean-Marc Valin [Wed, 16 Jan 2008 23:58:38 +0000 (10:58 +1100)]
Looks like the bit allocation code is mostly working. Just need to actually
use it now.

12 years agoWorking allocation interpolation code
Jean-Marc Valin [Wed, 16 Jan 2008 11:04:17 +0000 (22:04 +1100)]
Working allocation interpolation code

12 years agomore bit allocation wip
Jean-Marc Valin [Wed, 16 Jan 2008 06:16:04 +0000 (17:16 +1100)]
more bit allocation wip

12 years agobit allocation wip (untested)
Jean-Marc Valin [Tue, 15 Jan 2008 05:33:21 +0000 (16:33 +1100)]
bit allocation wip (untested)

12 years agoversion number bump
Jean-Marc Valin [Tue, 15 Jan 2008 02:17:35 +0000 (13:17 +1100)]
version number bump

12 years agoearly code for bit-rate management
Jean-Marc Valin [Mon, 14 Jan 2008 06:39:01 +0000 (17:39 +1100)]
early code for bit-rate management

12 years agoA bit of tuning and early work on bit allocation
Jean-Marc Valin [Sat, 12 Jan 2008 12:38:01 +0000 (23:38 +1100)]
A bit of tuning and early work on bit allocation

12 years agoAdd ec_dec_tell() to report the same information as ec_enc_tell() decode side. Remove...
tterribe [Fri, 11 Jan 2008 05:51:49 +0000 (05:51 +0000)]
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

12 years agoAdd ec_enc_tellf, which can return the number of bits used to fractional precision.
tterribe [Fri, 11 Jan 2008 05:12:17 +0000 (05:12 +0000)]
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

12 years agoAdd oc_enc_tell to report an estimate of the number of bits used so far.
tterribe [Fri, 11 Jan 2008 03:13:50 +0000 (03:13 +0000)]
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

12 years agoDoing stereo mixing adaptively based on amplitude difference.
Jean-Marc Valin [Fri, 11 Jan 2008 03:02:07 +0000 (14:02 +1100)]
Doing stereo mixing adaptively based on amplitude difference.

12 years agoConversion to 18-band split and fixed a few related bugs.
Jean-Marc Valin [Fri, 11 Jan 2008 00:24:22 +0000 (11:24 +1100)]
Conversion to 18-band split and fixed a few related bugs.

12 years agooops, trying not to overflow the 64-bit max allocation.
Jean-Marc Valin [Thu, 10 Jan 2008 06:26:30 +0000 (17:26 +1100)]
oops, trying not to overflow the 64-bit max allocation.

12 years agoTuning of the stereo mode, including conversion to the 18-band split.
Jean-Marc Valin [Thu, 10 Jan 2008 06:02:36 +0000 (17:02 +1100)]
Tuning of the stereo mode, including conversion to the 18-band split.

12 years agoStereo decoding working again (fixed a few issues in the encoder at the same
Jean-Marc Valin [Thu, 10 Jan 2008 04:34:00 +0000 (15:34 +1100)]
Stereo decoding working again (fixed a few issues in the encoder at the same
time)

12 years agoMore stereo work (doing mid-side quantisation of the energy)
Jean-Marc Valin [Wed, 9 Jan 2008 04:31:43 +0000 (15:31 +1100)]
More stereo work (doing mid-side quantisation of the energy)

12 years agoSome stereo work (breaks the decoder for now)
Jean-Marc Valin [Tue, 8 Jan 2008 23:44:18 +0000 (10:44 +1100)]
Some stereo work (breaks the decoder for now)

12 years agoUpdated the 18-band mode (mode0) to use the low-overlap MDCT
Jean-Marc Valin [Tue, 8 Jan 2008 05:22:37 +0000 (16:22 +1100)]
Updated the 18-band mode (mode0) to use the low-overlap MDCT

12 years agoOops, forgot to add the VQ table!
Jean-Marc Valin [Tue, 8 Jan 2008 00:29:37 +0000 (11:29 +1100)]
Oops, forgot to add the VQ table!

12 years agoSwitched to mdct mask computation
Jean-Marc Valin [Mon, 7 Jan 2008 12:04:43 +0000 (23:04 +1100)]
Switched to mdct mask computation

12 years agoPseudo-masking curve for the MDCT
Jean-Marc Valin [Mon, 7 Jan 2008 02:36:01 +0000 (13:36 +1100)]
Pseudo-masking curve for the MDCT

12 years agoCompleted low-overlap MDCT support by reducing the synthesis
Jean-Marc Valin [Sat, 5 Jan 2008 11:49:23 +0000 (22:49 +1100)]
Completed low-overlap MDCT support by reducing the synthesis
latency as well.

12 years agoNow using 8 bands for the pitch gain, with a 128-entry codebook.
Jean-Marc Valin [Sat, 5 Jan 2008 02:32:32 +0000 (13:32 +1100)]
Now using 8 bands for the pitch gain, with a 128-entry codebook.

12 years agoAllowing reduced overlap MDCTs as an alternative
Jean-Marc Valin [Thu, 3 Jan 2008 09:53:01 +0000 (20:53 +1100)]
Allowing reduced overlap MDCTs as an alternative
to multiple MDCTs per frame. Not complete yet.

12 years agoUpdated pulse coding to simpler (slightly faster) code included with
Timothy B. Terriberry [Mon, 31 Dec 2007 20:18:06 +0000 (07:18 +1100)]
Updated pulse coding to simpler (slightly faster) code included with
http://people.xiph.org/~tterribe/notes/cwrs.html
Removed dead code.

12 years agoComments/cleanup, no code change
Jean-Marc Valin [Mon, 31 Dec 2007 10:27:54 +0000 (21:27 +1100)]
Comments/cleanup, no code change

12 years agoGot the intra-band prediction/copy to work correctly with
Jean-Marc Valin [Mon, 31 Dec 2007 05:12:12 +0000 (16:12 +1100)]
Got the intra-band prediction/copy to work correctly with
pulse spreading (and to work at all).

12 years agoSpreading function inside quant_bands()
Jean-Marc Valin [Sun, 30 Dec 2007 09:39:14 +0000 (20:39 +1100)]
Spreading function inside quant_bands()

12 years agoDoing multiple rotation passes instead of one produces better pulse spreading.
Jean-Marc Valin [Sat, 29 Dec 2007 13:17:44 +0000 (00:17 +1100)]
Doing multiple rotation passes instead of one produces better pulse spreading.

12 years agomore exp_rotation() cleanup
Jean-Marc Valin [Sat, 29 Dec 2007 13:06:10 +0000 (00:06 +1100)]
more exp_rotation() cleanup

12 years agosimplified exp_rotation()
Jean-Marc Valin [Sat, 29 Dec 2007 13:02:00 +0000 (00:02 +1100)]
simplified exp_rotation()

12 years agoAdded a DCT in time direction when multiple MDCTs are used within the same
Jean-Marc Valin [Sat, 29 Dec 2007 12:27:42 +0000 (23:27 +1100)]
Added a DCT in time direction when multiple MDCTs are used within the same
frame.

12 years agoPropagating perceptual weighting around (not used yet).
Jean-Marc Valin [Fri, 14 Dec 2007 02:47:04 +0000 (13:47 +1100)]
Propagating perceptual weighting around (not used yet).

12 years agoBand energy quantisation info now in the mode directly
Jean-Marc Valin [Thu, 13 Dec 2007 03:59:30 +0000 (14:59 +1100)]
Band energy quantisation info now in the mode directly

12 years agoWorking on some stability issues (appears to be solved by making the pitch
Jean-Marc Valin [Tue, 11 Dec 2007 13:45:15 +0000 (00:45 +1100)]
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.

12 years agoFixed parallel build
Jean-Marc Valin [Tue, 11 Dec 2007 07:01:22 +0000 (18:01 +1100)]
Fixed parallel build

12 years agoAdded support for codebooks up to 64 bits.
Jean-Marc Valin [Tue, 11 Dec 2007 03:52:56 +0000 (14:52 +1100)]
Added support for codebooks up to 64 bits.

12 years agoAdded ec_{enc|dec}_bits64 and ec_{enc|dec}_bits64.
Timothy B. Terriberry [Tue, 11 Dec 2007 02:25:57 +0000 (13:25 +1100)]
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).

12 years agoDocumentation fixes and a couple of other minor edits.
Timothy B. Terriberry [Tue, 11 Dec 2007 02:25:00 +0000 (13:25 +1100)]
Documentation fixes and a couple of other minor edits.

12 years agoFixed stereo version of the pitch estimator
Jean-Marc Valin [Mon, 10 Dec 2007 06:57:19 +0000 (17:57 +1100)]
Fixed stereo version of the pitch estimator

12 years agoStereo almost works now (still need to fix the pitch estimate and add more
Jean-Marc Valin [Mon, 10 Dec 2007 06:10:29 +0000 (17:10 +1100)]
Stereo almost works now (still need to fix the pitch estimate and add more
pulses)

12 years agoAdding stereo support. Doesn't work yet, but at least it doesn't break
Jean-Marc Valin [Mon, 10 Dec 2007 05:54:17 +0000 (16:54 +1100)]
Adding stereo support. Doesn't work yet, but at least it doesn't break
mono

12 years agoComments on the spreading function
Jean-Marc Valin [Mon, 10 Dec 2007 02:13:58 +0000 (13:13 +1100)]
Comments on the spreading function

12 years agoAdded a simple psychoacoustic model (still needs a lot of work).
Jean-Marc Valin [Sun, 9 Dec 2007 14:28:34 +0000 (01:28 +1100)]
Added a simple psychoacoustic model (still needs a lot of work).

12 years agoFixed a stupid error caused by kdevelop in the configure.ac
Jean-Marc Valin [Sun, 9 Dec 2007 02:02:25 +0000 (13:02 +1100)]
Fixed a stupid error caused by kdevelop in the configure.ac

12 years agoSome cleaning up, a few less warnings and the decoder no longer does an
Jean-Marc Valin [Sat, 8 Dec 2007 14:19:36 +0000 (01:19 +1100)]
Some cleaning up, a few less warnings and the decoder no longer does an
infinitete loop in Laplace decoding when the data is corrupted.

12 years agoUpdated README
Jean-Marc Valin [Sat, 8 Dec 2007 13:55:49 +0000 (00:55 +1100)]
Updated README

12 years agocode cleanup: all inverse MDCTs in the same function
Jean-Marc Valin [Fri, 7 Dec 2007 14:13:34 +0000 (01:13 +1100)]
code cleanup: all inverse MDCTs in the same function

12 years agoVery basic packet loss concealment code
Jean-Marc Valin [Fri, 7 Dec 2007 13:56:04 +0000 (00:56 +1100)]
Very basic packet loss concealment code

12 years agoAnother experimental mode with longer frames.
Jean-Marc Valin [Fri, 7 Dec 2007 13:27:10 +0000 (00:27 +1100)]
Another experimental mode with longer frames.

12 years agoA bit of quality tuning, plus created a higher quality mode
Jean-Marc Valin [Fri, 7 Dec 2007 13:08:37 +0000 (00:08 +1100)]
A bit of quality tuning, plus created a higher quality mode

12 years agoNo more cheating, everything fully quantised
Jean-Marc Valin [Fri, 7 Dec 2007 11:46:47 +0000 (22:46 +1100)]
No more cheating, everything fully quantised

12 years agoMoving to non-multiply-free entropy coder
Jean-Marc Valin [Fri, 7 Dec 2007 11:25:31 +0000 (22:25 +1100)]
Moving to non-multiply-free entropy coder

12 years agoA bit of probability tuning to reduce bit-rate variations
Jean-Marc Valin [Fri, 7 Dec 2007 08:12:51 +0000 (19:12 +1100)]
A bit of probability tuning to reduce bit-rate variations

12 years agooops, forgot laplace.h
Jean-Marc Valin [Fri, 7 Dec 2007 07:54:59 +0000 (18:54 +1100)]
oops, forgot laplace.h

12 years agodebug code
Jean-Marc Valin [Fri, 7 Dec 2007 07:02:56 +0000 (18:02 +1100)]
debug code

12 years agoActually enabled the probability model
Jean-Marc Valin [Fri, 7 Dec 2007 06:58:44 +0000 (17:58 +1100)]
Actually enabled the probability model

12 years agoDecent starting point for energy probabilities
Jean-Marc Valin [Fri, 7 Dec 2007 06:48:18 +0000 (17:48 +1100)]
Decent starting point for energy probabilities

12 years agoEnergy is now Laplace-encoded (very poorly for now)
Jean-Marc Valin [Fri, 7 Dec 2007 06:10:14 +0000 (17:10 +1100)]
Energy is now Laplace-encoded (very poorly for now)

12 years agoenergy decoding partially done (cheating a bit)
Jean-Marc Valin [Fri, 7 Dec 2007 05:40:39 +0000 (16:40 +1100)]
energy decoding partially done (cheating a bit)

12 years agoFixed Laplace encoder
Jean-Marc Valin [Fri, 7 Dec 2007 05:06:27 +0000 (16:06 +1100)]
Fixed Laplace encoder

12 years agoMore work on decoding (still cheating)
Jean-Marc Valin [Fri, 7 Dec 2007 04:36:39 +0000 (15:36 +1100)]
More work on decoding (still cheating)

12 years agoCheating decoder now produces the same result as the encoder
Jean-Marc Valin [Fri, 7 Dec 2007 04:09:58 +0000 (15:09 +1100)]
Cheating decoder now produces the same result as the encoder

12 years agoNearly working cheating decoder.
Jean-Marc Valin [Fri, 7 Dec 2007 03:59:06 +0000 (14:59 +1100)]
Nearly working cheating decoder.

12 years agoMore decoding work
Jean-Marc Valin [Fri, 7 Dec 2007 03:20:01 +0000 (14:20 +1100)]
More decoding work

12 years agoAlgebraic codebook decoding (not tested yet)
Jean-Marc Valin [Fri, 7 Dec 2007 02:26:15 +0000 (13:26 +1100)]
Algebraic codebook decoding (not tested yet)

12 years agoAdded decoder code (not working yet)
Jean-Marc Valin [Fri, 7 Dec 2007 00:29:45 +0000 (11:29 +1100)]
Added decoder code (not working yet)

12 years agoMost of the Laplace encoding works, except that ec_decode() is still not giving
Jean-Marc Valin [Thu, 6 Dec 2007 23:56:25 +0000 (10:56 +1100)]
Most of the Laplace encoding works, except that ec_decode() is still not giving
me what I expect

12 years agoMore code for laplace decoding (doesn't work)
Jean-Marc Valin [Thu, 6 Dec 2007 22:50:22 +0000 (09:50 +1100)]
More code for laplace decoding (doesn't work)

12 years agoCode for encoding Laplace-distributed variables (doesn't work).
Jean-Marc Valin [Thu, 6 Dec 2007 14:40:02 +0000 (01:40 +1100)]
Code for encoding Laplace-distributed variables (doesn't work).

12 years agominor cleanup
Jean-Marc Valin [Thu, 6 Dec 2007 08:14:20 +0000 (19:14 +1100)]
minor cleanup

12 years agoFixed codebook entirely quantised
Jean-Marc Valin [Thu, 6 Dec 2007 06:44:09 +0000 (17:44 +1100)]
Fixed codebook entirely quantised

12 years agoproper COPYING file
Jean-Marc Valin [Thu, 6 Dec 2007 06:33:10 +0000 (17:33 +1100)]
proper COPYING file

12 years agoDoing init/reset of the entropy coder properly
Jean-Marc Valin [Thu, 6 Dec 2007 05:51:19 +0000 (16:51 +1100)]
Doing init/reset of the entropy coder properly

12 years agoSome work on index packing
Jean-Marc Valin [Thu, 6 Dec 2007 04:39:38 +0000 (15:39 +1100)]
Some work on index packing

12 years agoLinking with libentcode
Jean-Marc Valin [Thu, 6 Dec 2007 04:18:25 +0000 (15:18 +1100)]
Linking with libentcode

12 years agoMultiplier-free entropy coder
Timothy B. Terriberry [Thu, 6 Dec 2007 04:09:53 +0000 (15:09 +1100)]
Multiplier-free entropy coder

12 years agoimproved energy quantisation/prediction
Jean-Marc Valin [Thu, 6 Dec 2007 02:50:14 +0000 (13:50 +1100)]
improved energy quantisation/prediction

12 years agoMore energy quantisation work
Jean-Marc Valin [Thu, 6 Dec 2007 00:13:56 +0000 (11:13 +1100)]
More energy quantisation work

12 years agoQuantisation of band energies (adding files)
Jean-Marc Valin [Wed, 5 Dec 2007 20:51:53 +0000 (07:51 +1100)]
Quantisation of band energies (adding files)

12 years agoQuantisation of energies
Jean-Marc Valin [Wed, 5 Dec 2007 20:51:27 +0000 (07:51 +1100)]
Quantisation of energies

12 years agoconversion to modes complete
Jean-Marc Valin [Wed, 5 Dec 2007 10:14:22 +0000 (21:14 +1100)]
conversion to modes complete

12 years agoMore modes work
Jean-Marc Valin [Wed, 5 Dec 2007 10:00:03 +0000 (21:00 +1100)]
More modes work

12 years agoConverting the code to use the modes instead of global arrays.
Jean-Marc Valin [Wed, 5 Dec 2007 06:48:24 +0000 (17:48 +1100)]
Converting the code to use the modes instead of global arrays.

12 years agoAdding mode infrastructure (still incomplete)
Jean-Marc Valin [Tue, 4 Dec 2007 14:31:49 +0000 (01:31 +1100)]
Adding mode infrastructure (still incomplete)

12 years agoCompressing the innovation along the pitch direction
Jean-Marc Valin [Tue, 4 Dec 2007 02:05:43 +0000 (13:05 +1100)]
Compressing the innovation along the pitch direction

12 years agoAllowing to add pulses on top of intra-band prediction
Jean-Marc Valin [Mon, 3 Dec 2007 04:24:11 +0000 (15:24 +1100)]
Allowing to add pulses on top of intra-band prediction

12 years agoFixed intra-frame prediction (added sign)
Jean-Marc Valin [Mon, 3 Dec 2007 03:34:52 +0000 (14:34 +1100)]
Fixed intra-frame prediction (added sign)

12 years agoIntra-frame prediction
Jean-Marc Valin [Mon, 3 Dec 2007 02:54:30 +0000 (13:54 +1100)]
Intra-frame prediction

12 years agoCode for converting back and forth between pulse vectors and the correspondig
Timothy B. Terriberry [Mon, 3 Dec 2007 00:51:29 +0000 (11:51 +1100)]
Code for converting back and forth between pulse vectors and the correspondig
VQ index.

12 years agoNothing to see here.
Jean-Marc Valin [Sun, 2 Dec 2007 09:55:22 +0000 (20:55 +1100)]
Nothing to see here.

12 years agoSome improvements to the pitch period estimation
Jean-Marc Valin [Fri, 30 Nov 2007 14:55:17 +0000 (01:55 +1100)]
Some improvements to the pitch period estimation

12 years agoPre-emphasis, plus a few minor tweaks
Jean-Marc Valin [Fri, 30 Nov 2007 13:36:41 +0000 (00:36 +1100)]
Pre-emphasis, plus a few minor tweaks

12 years agoOops, forgot to add the Ghost/ceft vq files
Jean-Marc Valin [Fri, 30 Nov 2007 07:35:37 +0000 (18:35 +1100)]
Oops, forgot to add the Ghost/ceft vq files

12 years agoVector quantisation of the residual (copied from Ghost/ceft)
Jean-Marc Valin [Fri, 30 Nov 2007 06:41:09 +0000 (17:41 +1100)]
Vector quantisation of the residual (copied from Ghost/ceft)

12 years agoSome pitch prediction work.
Jean-Marc Valin [Fri, 30 Nov 2007 05:57:43 +0000 (16:57 +1100)]
Some pitch prediction work.

12 years agoCode for computing band energies and normalising: adapted from CEFT.
Jean-Marc Valin [Fri, 30 Nov 2007 05:07:46 +0000 (16:07 +1100)]
Code for computing band energies and normalising: adapted from CEFT.