Timothy B. Terriberry
|
299747ee24
|
Provide direct implementations ec_{enc|dec}_bit_prob() that do not require a division instead of using the normal entropy coder path. This should be exactly equivalent to the existing code.
|
2010-05-29 23:45:18 -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
|
524623899c
|
Folding tuning
Trying to fold only from regions where we have at least 2 bits of depth
|
2010-05-29 00:28:06 -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
|
8035b6589d
|
Adds a range coder call to encode a single bit with arbitrary probability
|
2010-05-27 16:25:07 -04:00 |
|
Jean-Marc Valin
|
c4ac57023c
|
Fixed a long-standing rare mismatch
In cases where the coarse energy quantizer wasn't able to
go down fast enough, we could have a negative error that didn't
get clamped.
|
2010-05-26 15:04:41 -04:00 |
|
Jean-Marc Valin
|
40e993c029
|
Re-organised the special case for N==1
|
2010-05-26 15:04:29 -04:00 |
|
Jean-Marc Valin
|
c5d00a066e
|
Bunch of fixes for frames of 2.5 ms.
|
2010-05-26 11:27:32 -04:00 |
|
Jean-Marc Valin
|
9d069846ee
|
More recombining "infrastructure"
|
2010-05-25 23:54:56 -04:00 |
|
Jean-Marc Valin
|
cee66b512e
|
Code for recombining bands (not enabled yet)
|
2010-05-25 23:15:14 -04:00 |
|
Jean-Marc Valin
|
2fcb239736
|
Removing the rest of the >32-bit PVQ code
|
2010-05-24 09:05:36 -04:00 |
|
Jean-Marc Valin
|
cccdfd481b
|
Minor code simplifications
|
2010-05-21 17:36:58 -04:00 |
|
Jean-Marc Valin
|
a148df18dc
|
Doing folding from the highest freq possible
(rather than the lowest)
|
2010-05-21 16:05:47 -04:00 |
|
Jean-Marc Valin
|
791cfe1f0a
|
Increasing the temporal resolution of transients
Apply a one-level Haar transform (or Hadamard) on each short MDCT
to nearly double the time-domain resolution.
|
2010-05-21 15:44:06 -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
|
67217ee746
|
Splitting transients in time domain
|
2010-05-21 13:58:51 -04:00 |
|
Jean-Marc Valin
|
6384196f76
|
Moving code to quant_band()
|
2010-05-21 10:44:11 -04:00 |
|
Jean-Marc Valin
|
4c27552b09
|
Tuning/cleanup of angle quantization
|
2010-05-21 07:54:59 -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
|
4aa1b8df26
|
Most 5ms bands now have even width
|
2010-05-19 22:02:02 -04:00 |
|
Jean-Marc Valin
|
20639c416c
|
Tuned the 5ms mode to have a band at 4 kHz and one at 8 kHz
|
2010-05-19 16:10:12 -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
|
c1ca587d47
|
Saving ~1 kB by using chars for the alloc table
Also a bunch of comments
|
2010-05-18 23:20:43 -04:00 |
|
Jean-Marc Valin
|
72c97f5633
|
Sharing more code between encode and decode (bis)
|
2010-05-18 23:19:19 -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
|
eb926680f6
|
Trying to prevent PVQ-level splits
We prevent as many as possible, but they can still occur if we
manage to reach the LN limit
|
2010-05-14 07:47:30 -04:00 |
|
Jean-Marc Valin
|
c803ee1959
|
Entropy-coding the new split parameter.
Uses a triangular PDF for coding the angle.
|
2010-05-14 00:17:31 -04:00 |
|
Jean-Marc Valin
|
2e8ba5483d
|
New band splitting method based on the stereo code
|
2010-05-13 00:04:57 -04:00 |
|
Jean-Marc Valin
|
1520f8924e
|
Stereo quantization also made more generic
|
2010-05-11 23:38:23 -04:00 |
|
Jean-Marc Valin
|
80e56f1a2e
|
Making stereo code a bit more generic
|
2010-05-11 23:13:30 -04:00 |
|
Jean-Marc Valin
|
06073824a5
|
Trivial code cleanup
|
2010-05-11 21:01:19 -04:00 |
|
Jean-Marc Valin
|
aead79b133
|
Proper use of logN and logM for the offsets
|
2010-05-11 07:46:35 -04:00 |
|
Jean-Marc Valin
|
c40d6f97a2
|
Making stereo code use [un]quant_bands() as well
|
2010-05-10 21:55:36 -04:00 |
|
Jean-Marc Valin
|
94216aeba4
|
Allocation adjustment code in quand_band().
|
2010-05-10 21:27:00 -04:00 |
|
Jean-Marc Valin
|
2123f358b1
|
Cleaning up the folding code.
Folding now moved to alg_quant() and alg_unquant(). No more funny short block
alignment checks because bands now have to be aligned.
|
2010-05-09 19:45:31 -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
|
e949b72049
|
Fixed pitchEnd wrt to variable frame size. It should (sort of) all work now
|
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
|
811f21ab76
|
Fix for very short frame size (M=1)
|
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 |
|