Commit graph

183 commits

Author SHA1 Message Date
Jean-Marc Valin
017d4455da pitch gain is now celt_pgain_t 2008-02-26 16:19:03 +11:00
Jean-Marc Valin
e901fe35b8 fixed-point: added a celt_ener_t type for band energy. 2008-02-26 14:46:26 +11:00
Jean-Marc Valin
5c032a4cb4 fixed-point: celt_sig_t now a 32-bit value. 2008-02-25 14:55:09 +11:00
Jean-Marc Valin
49ca99efa5 fixed-point: initial support for using the fixed-point MDCT (rest is still all
float)
2008-02-25 14:12:10 +11:00
Jean-Marc Valin
2c1d2f5bcc MDCT now scales down by N/2 instead of N/4. The factor two is moved to the
overlap-add during synthesis.
2008-02-22 21:54:11 +11:00
Jean-Marc Valin
18ddc02afd Separating types for normalised vs. denormalised data paths 2008-02-22 14:24:50 +11:00
Jean-Marc Valin
44ffd5a8da Making sure freed or corrupted modes can't be used (produce a run-time warning). 2008-02-22 00:39:25 +11:00
Jean-Marc Valin
d501f6143c Doing intra-frame prediction backwards (and a few comments) 2008-02-21 12:16:57 +11:00
Jean-Marc Valin
e6b7465087 Some sampling rate cleanup (now in the mode) 2008-02-20 18:01:08 +11:00
Jean-Marc Valin
276de7211d Mode doc 2008-02-20 17:45:51 +11:00
Jean-Marc Valin
8c19b030df Changed _new() to _create() in the API. Added some documentation
on how to use the API.
2008-02-20 15:53:15 +11:00
Jean-Marc Valin
0bb05bc5ea Another bunch of C99 array conversions (few more to go) 2008-02-20 13:43:40 +11:00
Jean-Marc Valin
02fa913c32 More C89 fixes, making sure to include config.h from all source files. 2008-02-20 12:09:29 +11:00
Jean-Marc Valin
a85657bd29 removed // comments and added stack_alloc.h (not used everywhere yet)
to make the code more C89-friendly.
2008-02-20 11:59:30 +11:00
Jean-Marc Valin
25358cd407 Merged the rate allocation atruct directly into the mode struct. 2008-02-19 12:21:32 +11:00
Jean-Marc Valin
ccea9ce917 Two-pass algorithm for filling the remaining bits. Still not perfect, but close
enough.
2008-02-18 22:03:18 +11:00
Jean-Marc Valin
c9cc6d3e34 Introducing a (very) crude budget for the energy encoder. 2008-02-13 11:37:41 +11:00
Jean-Marc Valin
cc4d3dda74 Fixed stereo regression introduced in 05686a5d6e
also another stereo bug fixed for static-array ncwrs64().
2008-02-13 00:08:29 +11:00
Jean-Marc Valin
636f5c86ab bit of cleaning up 2008-02-12 17:40:27 +11:00
Jean-Marc Valin
05686a5d6e As extra safety, make sure not to use pitch prediction when it would make
the "effective gain" too high (>10 dB).
2008-02-11 17:54:28 +11:00
Jean-Marc Valin
7e8a487ed2 No longer encoding the pitch index if the gain is zero anyway. 2008-02-11 16:55:34 +11:00
Jean-Marc Valin
cb7a2a3d52 Re-ordered the parameters in the stream: [energy, pitch index, pitch gains]
Also fixed a bug that was exposed by the change (and removed some warnings)
2008-02-11 16:44:48 +11:00
Jean-Marc Valin
6c1f604944 Oops. Fixed spreading function for stereo 2008-02-11 16:17:42 +11:00
Jean-Marc Valin
8f0f4b9421 Limiting intra-frame prediction codebook to 32 entries (plus sign) 2008-02-11 13:52:44 +11:00
Jean-Marc Valin
5b50f4bf81 Decays corresponding to the psychoacoustic spreading function are now
pre-computed (instead of computing tons of pow() uselessly all the time)
2008-02-11 11:50:20 +11:00
Jean-Marc Valin
b7ed44ba0a minor tweak to pitch weighting function, disabled some code that doesn't
do anything yet.
2008-02-11 11:15:33 +11:00
Jean-Marc Valin
e4475871fb fixed leaked ritrev table 2008-02-08 16:08:40 +11:00
Jean-Marc Valin
7351e286c8 Everything converted to use kiss-fft. Got rid of smallft and fftwrap.
Code much leaner now.
2008-02-08 15:09:45 +11:00
Jean-Marc Valin
b3756709ad Fixed incorrect assumption about the number of bytes returned by the
entropy coder. All testcases pass again.
2008-02-08 11:50:17 +11:00
Jean-Marc Valin
012407760c Re-enabled intra-frame prediction, which seems to have exposed a few issues
with the entropy coder.
2008-02-07 21:14:16 +11:00
Jean-Marc Valin
f997ad51dc Mode info 2008-01-31 16:47:16 +11:00
Jean-Marc Valin
3d3bb68536 cleaning up 2008-01-31 10:05:39 +11:00
Jean-Marc Valin
6238bc0ece Moved the content of libentcode into libcelt to reduce dependencies,
especially now that we have a custom version of that code anyway. Moved
the test code to tests/
2008-01-28 22:28:54 +11:00
Jean-Marc Valin
94d4ea9305 Bit of cleaning up in the byte dumping part. Making use of any remaining bit(s)
to do error detection in the decoder.
2008-01-27 17:34:35 +11:00
Jean-Marc Valin
388f1d6cc8 Tweaks for slightly improving the handling of the last byte (still not
perfect)
2008-01-18 16:28:11 +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
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
45018cbfa2 Doing stereo mixing adaptively based on amplitude difference. 2008-01-11 14:02:07 +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
fdca84b42f Some stereo work (breaks the decoder for now) 2008-01-09 10:44:18 +11:00
Jean-Marc Valin
b21b2a404e Switched to mdct mask computation 2008-01-07 23:04:43 +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
a5431bfb09 Allowing reduced overlap MDCTs as an alternative
to multiple MDCTs per frame. Not complete yet.
2008-01-03 20:53:01 +11:00
Jean-Marc Valin
26c9e1452a Comments/cleanup, no code change 2007-12-31 21:27:54 +11:00
Jean-Marc Valin
97252d0365 Spreading function inside quant_bands() 2007-12-30 20:39:14 +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
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
9d35ccdaea Fixed stereo version of the pitch estimator 2007-12-10 17:57:19 +11:00