Jean-Marc Valin
|
e2d5b33780
|
Completely disabling the tf code at low bitrate
|
2010-06-06 23:16:40 -04:00 |
|
Jean-Marc Valin
|
0a571ef92a
|
Encoding the tf parameters after coarse energy
Also a minor cleanup to the recombining/division
|
2010-06-05 23:12:19 -04:00 |
|
Jean-Marc Valin
|
6202c746cf
|
Fix for PLC crash when using large frames
|
2010-06-01 00:30:37 -04:00 |
|
Jean-Marc Valin
|
32589cd33e
|
Trying not to crash on bit errors
When the pitch flag gets corrupted, make sure that pitch is actually
allowed instead of generating a bogus pitch index and crashing.
|
2010-05-31 21:56:12 -04:00 |
|
Jean-Marc Valin
|
816f893569
|
removed stupid code in transient_analysis()
|
2010-05-31 21:36:46 -04:00 |
|
Timothy B. Terriberry
|
43e9406201
|
Change ec_{enc|dec}_bit_prob to take probabilities in units of 1/65536 instead of 1/256. This allows them to use a single 16x16->32 multiply instead of a 24x8->32 multiply. Also change the time-frequency resolution flag coding to ensure that "0" is always the most-probable symbol (i.e., that prob("1")<50%), as that's where all the rounding error accumulates.
|
2010-05-29 23:45:28 -04:00 |
|
Jean-Marc Valin
|
8cc945c53a
|
Cleaning up VBR to be frame-size independent
|
2010-05-29 08:07:18 -04:00 |
|
Jean-Marc Valin
|
7331977c29
|
RD optimisation now takes bitrate into account
|
2010-05-28 21:12:39 -04:00 |
|
Jean-Marc Valin
|
bdb5871bc4
|
Simplification to the transient detection code
Discarding the amplitude of the overlap for "frame_max"
|
2010-05-28 18:58:42 -04:00 |
|
Jean-Marc Valin
|
8823261738
|
More simplifications to the Viterbi code
|
2010-05-28 18:01:02 -04:00 |
|
Jean-Marc Valin
|
0ef39c9cc4
|
Simplifications to the tf_res RD code
|
2010-05-28 17:50:34 -04:00 |
|
Jean-Marc Valin
|
9d420c58e9
|
Viterbi-based RD optimization of the tf_res decisions
|
2010-05-28 17:26:27 -04:00 |
|
Jean-Marc Valin
|
581fdba936
|
changing probability of first tf resolution symbol
|
2010-05-28 06:56:23 -04:00 |
|
Jean-Marc Valin
|
163b76e8c4
|
Adaptive time-frequency resolution
Encoding the optimal tf-tradeoff for each band and then
applying it during quantization.
|
2010-05-27 23:56:53 -04:00 |
|
Jean-Marc Valin
|
9f89cab6ec
|
Improving the transient detection
When a transient occurs in the overlap between two frames, we
now make sure that both these frames are coded as transients
|
2010-05-21 14:18:38 -04:00 |
|
Jean-Marc Valin
|
cae30df09a
|
Getting rid of PVQ-level split
Adding one more level of band splitting so that splitting at the
PVQ encoding level is no longer necessary.
|
2010-05-21 00:26:03 -04:00 |
|
Jean-Marc Valin
|
5f96146a85
|
Implemented CELT_SET_START_BAND
|
2010-05-19 13:38:36 -04:00 |
|
Jean-Marc Valin
|
f5e2e32d15
|
Support for passing your own ec state to the decoder
|
2010-05-19 12:05:02 -04:00 |
|
Jean-Marc Valin
|
4794f2ec86
|
Support for passing your own ec state to the encoder
|
2010-05-19 11:56:57 -04:00 |
|
Jean-Marc Valin
|
746b2a8c63
|
Merged encoding/decoding of mono/stereo
Now everything is done through quant_all_bands() and quant_band().
|
2010-05-14 22:12:33 -04:00 |
|
Jean-Marc Valin
|
94216aeba4
|
Allocation adjustment code in quand_band().
|
2010-05-10 21:27:00 -04:00 |
|
Jean-Marc Valin
|
d56c610cac
|
API change: optional resynthesis
The main encode call no longer takes a pointer for the optional resynthesis.
It's now done with a call to celt_encode_resynthesis().
|
2010-05-07 21:20:22 -04:00 |
|
Jean-Marc Valin
|
ce4dd367c2
|
More work on variable frame size (getting rid of FRAMESIZE() )
|
2010-05-07 21:20:22 -04:00 |
|
Jean-Marc Valin
|
017fa85775
|
Changing the encoder API to add the frame size
|
2010-05-07 21:20:22 -04:00 |
|
Jean-Marc Valin
|
fbd82eb8f4
|
Oops! Fixed the fixed-point build
|
2010-05-07 21:20:22 -04:00 |
|
Jean-Marc Valin
|
073d0bc925
|
Yet another step towards variable frame size
|
2010-05-07 21:20:22 -04:00 |
|
Jean-Marc Valin
|
0475267e62
|
More preparation work for variable frame size
|
2010-05-07 21:20:22 -04:00 |
|
Jean-Marc Valin
|
3b918bac54
|
replaced instances of mode->nbShortMdcts by the dynamic number of MDCTs (M)
|
2010-05-07 21:20:22 -04:00 |
|
Jean-Marc Valin
|
65ee67ac55
|
Making the band definition the same at all frame sizes.
|
2010-04-26 07:08:44 -04:00 |
|
Jean-Marc Valin
|
d6b79eeb7a
|
Skipping transient shape renormalisation in the encoder because
our search can now work on vectors that don't have unit norm
|
2010-04-20 17:31:45 -04:00 |
|
Jean-Marc Valin
|
9c30de571d
|
Improved transient_analysis() by adding one frame of memory.
|
2010-04-19 13:32:15 -04:00 |
|
Jean-Marc Valin
|
b8ba70c99b
|
Disabling resynthesis when not needed (need to remove folding for this to work)
|
2010-04-18 22:10:24 -04:00 |
|
Jean-Marc Valin
|
628c025373
|
Converted a few double-precision constants to single precision
|
2010-04-16 20:57:56 -04:00 |
|
Jean-Marc Valin
|
64209a3edf
|
A few minor optimisations (compute_allocation, denormalise_bands,
deemphasis)
|
2010-04-06 20:33:50 -04:00 |
|
Jean-Marc Valin
|
3a0bc3d95c
|
Allowing CELT to skip the low frequencies
|
2010-02-25 22:46:55 -05:00 |
|
John Ridges
|
5378bf8253
|
Updating CELT_RESET_STATE to clear some fields that were "recently" added.
|
2010-02-12 07:08:01 -05:00 |
|
Jean-Marc Valin
|
6c79a9325c
|
Getting "make dist" to work again with the files that got removed
|
2010-01-16 23:35:45 -05:00 |
|
Jean-Marc Valin
|
74128befe4
|
fixed-point: converted PLC filters and LPC parameters
|
2010-01-01 09:33:17 -05:00 |
|
Jean-Marc Valin
|
303b3b627e
|
fixed-point: starting conversion of the new PLC
|
2009-12-30 22:40:24 -05:00 |
|
Jean-Marc Valin
|
07fed1bf76
|
Adding a safeguard against unstable LPC, so now there's no way (that I can
think of) to produce NaNs in the new PLC.
|
2009-12-28 07:59:42 -05:00 |
|
Jean-Marc Valin
|
d69c1cb37c
|
Making new PLC code work in fixed-point even though it's still using float
arithmetic.
|
2009-12-28 00:34:29 -05:00 |
|
Jean-Marc Valin
|
aec0ee41ab
|
C89 friendliness
|
2009-12-21 00:06:12 -05:00 |
|
Jean-Marc Valin
|
d5f99308c9
|
This fixes a bug in stereo PLC (offset wasn't changed between channels)
|
2009-12-16 22:42:32 -05:00 |
|
Jean-Marc Valin
|
5a0fae53c7
|
PLC: Added lag windowing and constraint to synthesis energy
|
2009-12-14 21:19:37 -05:00 |
|
Jean-Marc Valin
|
e14fe9046f
|
New LPC-based PLC code
|
2009-12-11 00:07:31 -05:00 |
|
Jean-Marc Valin
|
1ccfd3cc03
|
Oops, forgot to free the pitch bufer
|
2009-12-02 21:07:11 -05:00 |
|
Jean-Marc Valin
|
e465c1490a
|
Reorganised the pitch code to simplify the PLC case and fixed a buffer overflow
introduced in Thorvald's previous patch.
|
2009-11-26 00:39:36 -05:00 |
|
Jean-Marc Valin
|
7a7c42a716
|
Fixing a few memory errors
|
2009-11-25 20:38:52 -05:00 |
|
Jean-Marc Valin
|
e05e7e23bb
|
minor code cleanup
|
2009-11-21 23:41:26 -05:00 |
|
Jean-Marc Valin
|
6d584acd95
|
Renamed MDCT functions to avoid symbol clashes with Vorbis
|
2009-11-21 21:57:44 -05:00 |
|