Commit graph

129 commits

Author SHA1 Message Date
Jean-Marc Valin
b18ec0b08d Reworked the static modes. Now, if all static modes have the same frame size,
overlap or number of channels, we can pass the hint to the compiler.
2008-04-11 04:07:52 +10:00
Timothy B. Terriberry
d883670bf7 Rework CWRS code.
This eliminates an extra O(nm) lookups on decode, and reduces the rate control
 from O(nm^2) to O(nm), in addition to eliminating O(m) lookups on both encode
 and decode.
Although the interface is slightly more complex, the internal code is also
 simpler.
2008-04-05 14:31:35 +10:00
Jean-Marc Valin
f958477a54 removed some int div 2008-03-27 12:22:44 +11:00
Jean-Marc Valin
fed97d58b5 optimisation: changed some for() loops to do-while() to give the compiler
a hint that there has to be at least one iteration.
2008-03-26 21:31:56 +11:00
Jean-Marc Valin
0de9d8abec Making bits2pulses() use a fixed number of iterations to allow further
optimisations.
2008-03-24 17:06:08 +11:00
Jean-Marc Valin
679f5cc675 Enabling warnings and restricting symbol visibility 2008-03-13 17:39:55 +11:00
Jean-Marc Valin
31b79d1993 Changed definition of VARDECL to make it more flexible. No actual code change. 2008-03-12 17:17:23 +11:00
Jean-Marc Valin
db0141e766 Changed some of the mode data from int to celt_int16_t to save memory. 2008-03-10 16:37:37 +11:00
Jean-Marc Valin
b76ee70606 Allocation cache can now be pre-computed as well. 2008-03-10 15:42:35 +11:00
Jean-Marc Valin
8600f69f79 Initial support for a managed stack/scratchpad. Still needs some work. 2008-02-29 15:14:12 +11:00
Jean-Marc Valin
5e171490a9 Removed some unused parameters and fixed a couple -W warnings 2008-02-28 00:07:23 +11:00
Jean-Marc Valin
9a5f3d2e6d 16-bit fixes and warning fixes 2008-02-26 10:38:17 +11:00
Jean-Marc Valin
9caa3346c4 Testcase for laplace encoder 2008-02-20 15:00:26 +11:00
Jean-Marc Valin
9a0bba183c Everything should now compile with a C89 compiler. 2008-02-20 14:08:50 +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
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
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
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
4fbd18d1f4 Close to getting CBR working 2008-01-17 14:07:55 +11:00
Jean-Marc Valin
f51ca493fb Looks like the bit allocation code is mostly working. Just need to actually
use it now.
2008-01-17 10:58:38 +11:00
Jean-Marc Valin
c6b4390f6a Working allocation interpolation code 2008-01-16 22:04:17 +11:00
Jean-Marc Valin
a663174665 more bit allocation wip 2008-01-16 17:16:04 +11:00
Jean-Marc Valin
b86ed07dc2 bit allocation wip (untested) 2008-01-15 16:33:21 +11:00
Jean-Marc Valin
33ddd7974d early code for bit-rate management 2008-01-14 17:39:01 +11:00