Commit graph

1205 commits

Author SHA1 Message Date
Jean-Marc Valin
f2d5aed8a5 Allowing to choose the frame size and rate from testcelt 2008-02-19 16:45:37 +11:00
Jean-Marc Valin
5a4bbdeb5f Slight increase to the bit allocation in the mid-high freqs 2008-02-19 14:32:08 +11:00
Jean-Marc Valin
472a5f03c6 Fixed a bunch of warnings 2008-02-19 13:12:32 +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
224d2dab9c celtclient udp two-way streamer. Not enabled yet because it's still tricky
to build
2008-02-19 10:24:12 +11:00
Jean-Marc Valin
dba28a52ce cwrs.c links to derf's article on pulse vector encoding. 2008-02-18 23:40:43 +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
17683ebefd minor change to critical bands definitions (nothing to see here) 2008-02-18 21:45:19 +11:00
Jean-Marc Valin
75e9c8607d Some error reporting in the mode generation code. More cleanup 2008-02-18 17:04:15 +11:00
Jean-Marc Valin
134492afd3 Removed all hard-coded modes 2008-02-18 16:46:22 +11:00
Jean-Marc Valin
2ca8fc373c Making use of dynamically generated modes by default 2008-02-18 16:27:49 +11:00
Jean-Marc Valin
65d57e6e96 Can now easily use modes generated on the fly. 2008-02-18 15:49:37 +11:00
Jean-Marc Valin
9838fecf9f Can now generate the entire mode struct 2008-02-18 14:45:11 +11:00
Jean-Marc Valin
4991a568ff pbands code seems to work, cleaned up useless junk in mode definitions 2008-02-18 13:37:40 +11:00
Jean-Marc Valin
2a8c371640 pband generation wip 2008-02-18 12:16:41 +11:00
Jean-Marc Valin
81a829574b Some work trying to generate the modes on the fly 2008-02-17 22:41:29 +11:00
Jean-Marc Valin
6da36c0452 Experimental ld51 mode (needs more work) 2008-02-15 14:20:29 +11:00
Gregory Maxwell
329638626a Fix from speex svn 14504. 2008-02-15 08:18:12 +11:00
Gregory Maxwell
5170dbf3ee Fix handling of truncated ogg packets. 2008-02-15 08:18:04 +11:00
Jean-Marc Valin
883bd8e556 Option use of SSE intrinsics (still trying to convince gcc not to move the
input data across all registers)
2008-02-15 00:34:01 +11:00
Jean-Marc Valin
0d587d89c1 More VQ comments/cleanup, disabled ineffective optimisation 2008-02-14 21:29:50 +11:00
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