Jean-Marc Valin
|
69921c4cde
|
Considering the end band in more places in the code
|
2010-07-16 15:25:30 -04:00 |
|
Jean-Marc Valin
|
0be05b0335
|
Encoding transient_time independently of the sampling rate
|
2010-07-16 14:23:03 -04:00 |
|
Jean-Marc Valin
|
223b69db02
|
Better support for non-48 kHz sampling rates
|
2010-07-16 11:47:50 -04:00 |
|
Jean-Marc Valin
|
af1fce93b1
|
Pre-emphasis coefficients now part of the mode and has a numerator as well
as a denominator
|
2010-07-16 11:05:06 -04:00 |
|
Jean-Marc Valin
|
e34c85a0cc
|
Using short blocks a bit more often now that we have variable tf resolution
|
2010-07-15 17:57:50 -04:00 |
|
Jean-Marc Valin
|
2ed5e67a2e
|
Handling the start band and end band in tf encoding
|
2010-07-13 18:18:23 -04:00 |
|
Jean-Marc Valin
|
525d7cfdc4
|
Support for adjusting the end band
|
2010-07-13 18:18:23 -04:00 |
|
Jean-Marc Valin
|
72513f3cc7
|
Sharing twiddle factors across all MDCTs
|
2010-07-07 21:26:38 -04:00 |
|
Jean-Marc Valin
|
4424b5a803
|
Updating DISABLE_FLOAT_API use
|
2010-07-06 19:37:23 -04:00 |
|
Jean-Marc Valin
|
b6a5f9d38f
|
fixed point bug fix in tf_analysis()
|
2010-07-06 17:57:14 -04:00 |
|
Jean-Marc Valin
|
c7bcf389da
|
Another coarse budget fix for _ec() calls
|
2010-07-05 14:33:49 -04:00 |
|
Jean-Marc Valin
|
bdcaaf73c6
|
Fixed a few more issues with the _ec() calls.
|
2010-07-05 13:52:41 -04:00 |
|
Jean-Marc Valin
|
71ae6d4714
|
Some C90-ication
|
2010-06-27 21:55:08 -04:00 |
|
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 |
|