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
|
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 |
|
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 |
|
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
|
1e98cc5ad1
|
oops, type safety issue resolved
|
2008-02-01 10:45:45 +11:00 |
|
Jean-Marc Valin
|
17e5b805a5
|
clean up... oh and actually committed the header definition
|
2008-02-01 09:02:05 +11:00 |
|
Jean-Marc Valin
|
2fecbdf084
|
Fixed the default int32 type which was wrong on amd64 (and added testcase).
Also, added an Ogg encoder (doesn't work quite yet).
|
2008-01-31 23:43:10 +11:00 |
|
Jean-Marc Valin
|
eaab4b7121
|
Getting closer to 0.1.0
|
2008-01-31 17:37:28 +11:00 |
|
Jean-Marc Valin
|
4c6bc884c8
|
"make check" now actually tried to encode and decode to see if things work
(need to have test files installed otherwise it'll just pass by default)
|
2008-01-31 17:34:27 +11:00 |
|
Jean-Marc Valin
|
f997ad51dc
|
Mode info
|
2008-01-31 16:47:16 +11:00 |
|
Jean-Marc Valin
|
abe043f0a1
|
Moving everything to the same type abstraction (sort of).
|
2008-01-31 14:26:29 +11:00 |
|
Jean-Marc Valin
|
3d3bb68536
|
cleaning up
|
2008-01-31 10:05:39 +11:00 |
|
Jean-Marc Valin
|
ccc988b822
|
type abstraction header and header definition (still incomplete)
|
2008-01-31 09:59:15 +11:00 |
|