Setting bandE[] to zero after log2Amp when silence=1
Fixes for silence handling in VBR mode, plus an encoder/decoder desync triggered by silent frames.
Removing more unused function params
Removes explicit filling of remaining bits with zeros
Removes unused function parameters
Should avoid running log2Amp on uninitialized data
Adding a special way to code digital silence in two or more bytes
Oops, fixed the sqrt(2) constant for anti_collapse()
Minimum period is now 15
Taking LM into account for anti-collapse
Fix off-by-one error in ec_laplace_encode.
Moving energy floor to coarse quantization
Clipping the encoder input to +/-2 to prevent scaling errors
prefilter/postfilter now forced off in Opus hybrid mode
Simple DTX/CNG implementation
Considering "badness" in two-pass quant_coarse_energy().
Stop uselessly calling haar1() when resynth=0
Prevent out of bounds access to collapse_masks.
Correct an encoder/decoder mismatch at low volume levels. Relax some low level clamps so that the dynamic range can extend further below the 16bit floor.
Tracking the background noise level
Defining merge_stereo() when S==-M or S==M
Fix collapse_masks overflow for mono.
Reorders some operations in anti-collapse to reuse values
Prevents taking the log of zero in fixed-point
Using previous range coder state for PRNG
Fixes an irrelevant uninitialized bug
Remove useless ec_dec_tell() call.
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.