Jean-Marc Valin
|
a57e924f2e
|
Removing some warnings
|
2010-06-27 00:53:51 -04:00 |
|
Jean-Marc Valin
|
a01106587c
|
Improved quality of small frame sizes at low bitrate.
Adding a temporal energy floor to prevent extremely small values when there's
only one bin in the band.
|
2010-06-23 15:22:54 -04:00 |
|
Jean-Marc Valin
|
6b95d8fdb8
|
Improved code for reusing ec structures
Using the number of unallocated bytes for coarse quantization and VBR
instead the total number of bytes.
|
2010-06-21 21:39:44 -04:00 |
|
Jean-Marc Valin
|
30d5125bff
|
No need to memset() the byte buffer
|
2010-06-21 17:55:28 -04:00 |
|
Jean-Marc Valin
|
6c3788cb53
|
Removing old PCL, added plc.h
|
2010-06-20 23:01:33 -04:00 |
|
Jean-Marc Valin
|
feca095e96
|
fixed-point: New PLC now enabled by default
|
2010-06-17 20:25:51 -04:00 |
|
Jean-Marc Valin
|
7b7f07120e
|
fixed-point: More work on the PLC
|
2010-06-17 20:10:02 -04:00 |
|
Jean-Marc Valin
|
456eab2e4f
|
More work on fixed-point Levinson-Durbin
|
2010-06-16 22:38:57 -04:00 |
|
Jean-Marc Valin
|
890a9c05e0
|
Implementing two choices for the tf resolution
|
2010-06-13 08:06:28 -04:00 |
|
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 |
|