- Dec 15, 2010
-
-
Now that manual skipping is in the same loop as forced skipping, there is no reason to do all of one, then all of the other. This ensures we won't propagate bits to bands that have almost nothing later in quant_all_bands() because we didn't have enough bits to signal them skipped.
-
This allows us to a) not pay a coding cost to avoid skipping bands that are stupid to skip (e.g., the first band, or bands that have so few bits that we wouldn't redistribute anything) and b) not reserve bits to pay that cost.
-
This moves more of the decisions about when to stop skipping bands into the encoder-specific branch, so they are not forced in the decoder (because there is currently no bit-savings from forcing them). It also no longer requires an extra bit to code the fine energy in a skipped band: that was meant to account for the skip flag, but we already subtracted that.
-
Jean-Marc Valin authored
Making sure we never waste bits due to band skip and also making sure we don't skip bands "in the middle".
-
- Dec 14, 2010
-
-
Jean-Marc Valin authored
Now properly (I think) handling thresh[] and skipping
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
- Dec 13, 2010
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
And fixed a post-filter bug for that special case.
-
- Dec 10, 2010
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
This adds some side-information that can be used to change the threshold freq arbitrarily.
-
- Dec 09, 2010
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
Should be more robust to closely-spaced transients
-
- Dec 08, 2010
-
-
Jean-Marc Valin authored
-
- Dec 07, 2010
-
-
Jean-Marc Valin authored
This reduces waste at high bit-rate
-
- Dec 05, 2010
-
-
Jean-Marc Valin authored
celtenc now defaults to unconstrained VBR.
-
- Dec 04, 2010
-
-
Jean-Marc Valin authored
Also some code to select between constrained and unconstrained VBR
-
- Dec 03, 2010
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
- Dec 02, 2010
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
Left and right are coded independently.
-
- Dec 01, 2010
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
Also, making per-band dynamic allocation less aggressive.
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
- Nov 30, 2010
-
-
Jean-Marc Valin authored
-
- Nov 26, 2010
-
-
Jean-Marc Valin authored
Bands that are intensity-coded also get less bits than the others
-
- Nov 25, 2010
-
-
Jean-Marc Valin authored
-
- Nov 24, 2010
-
-
Jean-Marc Valin authored
There's no explicit signaling for it yet.
-
Jean-Marc Valin authored
-
- Nov 19, 2010
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
Mimimum resolution is now 1/4 bit/sample instead of 3/8. The allocation tilt now gives more LF bits for small frame sizes. There's also a new "alternate" allocation that should soon replace the current one.
-
- Nov 16, 2010
-
-
Jean-Marc Valin authored
-
- Nov 09, 2010
-
-
This tunes the entropy model for coarse energy introduced in commit c1c40a76. It uses a constant set of parameters, tuned from about an hour and a half of randomly selected test data encoded for each frame size, prediction type (inter/intra), and band number. These will be slightly sub-optimal for different frame sizes, but should be better than what we were using. For inter, this saves an average of 2.8, 5.2, 7.1, and 6.7 bits/frame for frame sizes of 120, 240, 480, and 960, respectively. For intra, this saves an average of 1.5, 3.0, 4.5, and 5.3 bits/frame (for the same frame sizes, respectively).
-
- Nov 08, 2010
-
-
Jean-Marc Valin authored
-
- Nov 07, 2010
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-