Commit graph

1584 commits

Author SHA1 Message Date
Jean-Marc Valin
a073c7bedf minor cleanup/commenting to vq search 2008-02-14 16:58:04 +11:00
Jean-Marc Valin
3b277dc757 vq search is now moving much less data around 2008-02-14 16:46:50 +11:00
Jean-Marc Valin
bdd0280293 setting nb channels automatically from the mode. 2008-02-14 15:21:01 +11:00
Jean-Marc Valin
0d28aa99c0 Now no divisions required in the cwrs code 2008-02-14 15:02:04 +11:00
Jean-Marc Valin
bf17da60f0 Reduced useless calls to ncwrs64() by half. 2008-02-14 14:18:19 +11:00
Jean-Marc Valin
5fa59954a9 moved pulse [en|de]coding to cwrs.c 2008-02-14 13:50:44 +11:00
Jean-Marc Valin
3134884408 Speeded up cwrsi and icwrs by at least an order of magnitude. Now using
the recursive definition of ncwrs instead of computing it from scratch
every time.
2008-02-14 11:55:01 +11:00
Jean-Marc Valin
06c67dbce2 Simplified exp_spreading by unifying both directions. Have to admit I don't
fully understand why that works!
2008-02-13 17:41:37 +11:00
Conrad Parker
5215623dcd ensures that the celt header is written as little endian, and also checks
that the passed size parameter is not < 56.
2008-02-13 16:31:36 +11:00
Conrad Parker
7eb3c2b7d0 skeleton endianness fixes 2008-02-13 16:27:21 +11:00
Jean-Marc Valin
0df0eb4c67 doing the folding properly. 2008-02-13 16:00:10 +11:00
Jean-Marc Valin
1b074d6600 Don't try to install the testcases 2008-02-13 14:23:25 +11:00
Conrad Parker
dae5ecc9cc set extra headers to 0, rather than 0xdeadbeef 2008-02-13 14:12:51 +11:00
Conrad Parker
c280e0435a off-by-one fix as reported by ogg.k.ogg.k and recently committed in
liboggz and oggenc
2008-02-13 13:22:19 +11:00
Jean-Marc Valin
3e65d1e41e README update 2008-02-13 13:07:11 +11:00
Jean-Marc Valin
356437048f scales down even further in bit-rate 2008-02-13 12:12:16 +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
ac1e03d78e minor optimisation+tuning of vq search 2008-02-12 23:00:18 +11:00
Jean-Marc Valin
636f5c86ab bit of cleaning up 2008-02-12 17:40:27 +11:00
Jean-Marc Valin
cab576ec9b Updating only the L-best entries in alg_quant() that are useful. 2008-02-12 17:21:14 +11:00
Jean-Marc Valin
fe41983619 Copying pointers is faster than copying arrays (who knew!). 2008-02-12 15:05:01 +11:00
Jean-Marc Valin
846d4e240b Allowing the quantiser serch to put more than one pulse at one,
giving a (minor) speedup. Also fixed optional memory-based ncwrs64().
2008-02-12 13:48:48 +11:00
Jean-Marc Valin
7d40730e22 optional fast ncwrs64() implementation (copied from ncwrs) requiring
statis memory allocation (not enabled by default)
2008-02-12 11:32:20 +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
0e20ca0969 Enabling "plain folding" in case we don't even have enough bits for intra-frame
prediction
2008-02-11 15:33:53 +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
66fa639c53 More flexible energy quantisation with nearly no penalty. 2008-02-11 10:53:11 +11:00
Jean-Marc Valin
c35883d74b Remove multiplier-free version since we don't need it 2008-02-11 10:16:31 +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
6211c90def Split the radix functions into forward and backward versions, removed the
"inverse" flag from the state so it can be shared between the forward and
inverse transforms.
2008-02-08 14:21:20 +11:00
Jean-Marc Valin
d7dfb00886 Made pre-computed twiddles the same for forward and inverse FFT 2008-02-08 13:25:03 +11:00
Jean-Marc Valin
711ad251df Changed ordering of real FFT freq data to something more aligned (it's not
used anywhere yet).
2008-02-08 12:22:03 +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
e6586d21fa Real FFT cleanup, plus some testcases 2008-02-08 10:48:15 +11:00
Jean-Marc Valin
4d0a7d0f1b Now using an MDCT implementation I can actually understand. 2008-02-08 10:22:52 +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
cb0956d06d Add a test for tell(). Turns out we can make it fail by writing zeros. 2008-02-07 20:21:57 +11:00
Jean-Marc Valin
bbe6df88ed Fix reporting of bit-rate in decoder 2008-02-02 21:05:11 +11:00
Jean-Marc Valin
276e6afc03 Fixed a typo and removed an old warning from speexenc. Also, using more useful
bitrate defaults.
2008-02-02 20:15:51 +11:00
Jean-Marc Valin
69f9dea7c5 couple fixes to Ogg encoder/decoder 2008-02-01 23:25:05 +11:00
Jean-Marc Valin
96dec06380 celtenc and celtdec work for stereo as well. 2008-02-01 23:18:22 +11:00
Jean-Marc Valin
1d4dc20e1d oops, forgot the makefile 2008-02-01 18:54:07 +11:00
Jean-Marc Valin
0911f750e6 bit of cleaning up, default sampling rate 2008-02-01 17:34:06 +11:00