Make collapse-detection bitexact.
Adds an anti-collapse mechanism for transients
Moving the tapset signalling to the beginning of the stream
Adding tapset decision logic
Support for multiple postfilter tapsets
In CVBR mode the rate selection was failing to add bytes which were about to fall off the end of the bitres and never be reusable, causing undershoot.
Setting oldBandE to zero outside of [start,end[
Minor code cleanup, nothing to see here
Proper scaling for the mid folding
Replace log2_frac in the delta offset calculation.
Allowing the tf recombining to go all the way to LM=3
Enforces bands of even size even for custom modes
Using a step pdf for the stereo itheta encoding
Minor fixes to testcases
Add --export-symbols-regex
MSVC build fixes
Use more standard test for lrintf/lrint
Fixes the recombining stride and the deinterleaving stride
Using intensity_stereo() when itheta==0
Defines MAX_FINE_BITS to ensure that we're using the same value everywhere
Using tell() rather than log2_frac() to compute qalloc
Changes the N=2 stereo case to use the same sign convention as N=1
Properly skip padding in testcelt for stereo.
Prevent busts at low bitrates.
Fix Jean-Marc's sqrt(0.5) constants.
Tuning the split allocation for temporal masking
Use B0 instead of B for decisions in quant_band().
Fix rounding in bits2pulses search.
Changes to ec_dec_cdf() to support 8-bit tables.
Code intensity offset relative to start.
Make the dynalloc boost run over [start,end).
Fix the limits for CELT_SET_END_BAND_REQUEST.
Update the maximum fine bits everywhere.
Move fine_priority calculation after the bust cap.
Fixing stereo renormalisation
Move tf_select before the tf_res bits.
Fixes tf_select_table[][] (missing commas)
Minor tweaks to the max allocation
Removing FIXMEs that were fixed
Clean up some type usage.
Use _BitScanReverse for EC_ILOG with MSVC.
Update ec_dec_cdf() to use an unsigned cdf[].
Add test coverage for entropy coder compatibility.
Fix a typo in ec_byte_write_done().
Don't enable the post-filter in Opus hybrid mode
Entropy coder clean-up.
Added highest allocation line possible
Ordering Hadamard frequencies when increasing the time-resolution.
Tuning the dynamic allocation probability and increment
Being a bit more careful about enabling the post-filter
Turning noise filling back on for cases where we have no data to fold with
Eliminate some divisions from rate.c.
Fix for the allocation going negative. (bits[j] >= 0 assert)
More simplifications to the decoder renormalization loop.
Replace ec_{enc|dec}_bit_prob() with ec_{enc|dec}_bit_logp().
Subtract one from dif in the range decoder.
Add a generic CDF decoding routine.
Giving less bits to single-bin bands.
Fixed the spreading probabilities (1-x)
Re-organize spreading/folding constants.
Re-enabling post-filter on 2.5 ms frames
More cleanups to compute_allocation().
Give the bit we reserved to end skipping back when we don't use it.
Making lower sampling rates use the same allocation table
Terminate the coding of skip bits at the last dynalloc boosted band. Otherwise the bitstream allows non-sensible behavior by the encoder (dynallocing bits into a band and then skipping it). This reduces skip bit overhead by about 2-3% at moderate bitrates with the current encoder.
Making the encoder fail less often at stupidly low bit-rates
Comments, low bit-rate busting avoidance
Setting fine_priority for skipped bands
Rebalance N=1 allocations during interp_bits2pulses().
Change strategies for allocation hole prevention.
More compute_allocation() fixes.
Store the total budget of compute_allocation in BITRES units.
Don't stop force-skipping on the first manually skipped band.
Move skip coding into interp_bits2pulses().
More allocation function updates.
Tim just rewrote half of the bit allocator -- hope it works now
This fixes a bunch of bit allocation bugs
More negative bits prevention
Preventing negative bit allocation
Tuning for 2.5 ms frames
Fix 2-phase stereo in the encoder
Using overlap=shortMdctSize even for 2.5 ms frames.
Adapting the allocation trim based on the spectral tilt
Adding some hysteresis on the folding threshold frequency
Fixes a fixed-point overflow in stereo angle calculation
Completely new transient analysis algorithm
Simplifying the allocation code and making sure both channels get a bit
Take into accound the 32-bit limit in the VQ
Add API support for unconstrained VBR
Keeping the allocation of the intensity-codec bands
Making VBR slightly exceed the budget rather than fail
Fixing the most obvious problems with the VBR code
Fixes some side-information rate control issues in VBR mode
Adding a dual stereo option.