Disabling the postfilter when complexity<5 or when CELT_SET_PREDICTION<=1
Replaces previous commit with something safer
Patch from Tim: Prevents bits2 from going negative
Revert -export-symbols-regex 'celt_'. That probably wasn't a good idea
Renormalize in anti-collapse only when needed
Fix collapse mask tracking for recombine steps.
Fix short length detection.
Enabling the post-filter and exporting the ec functions for Opus
Also fixing the DoFs for intensity stereo
Getting the right DoFs for dual stereo
Removing ancient allocation matrix
Increase caps/allocation accuracy.
Only checking for a mismatch when RESYNTH is defined
Limit mode creation to supported modes.
Fixing the global stack -- and an overflow in collapse_mask
Add assertions for band size restrictions.
Don't allow empty eBands.
Adds a generic CELT_SET_BITRATE() ctl() API for CBR and VBR
Tuning the split threshold
Add a seprate qtheta offset for two-phase stereo.
Adjust the splitting threshold.
Including static_mode* files in the distribution
Stop collapsing the background noise channels when switching to mono
Don't destroy stereo history when switching to mono.
Propagate balance from compute_allocation() to quant_all_bands().
Fix sample type conversion when resampling
No longer extracting the frame size from the mode to build the header
Making the stereo encoder capable of encoding in mono
Making it possible for the stereo decoder to decode a mono stream
Apply band caps to the band allocation table.
More band caps updates.
Add generic fine-energy rebalancing.
Custom and non-custom versions of the get_size() functions
Making sure that itheta=0 or 16384 really cuts allocation to one band
Merge branch 'exp_api_change'
Use a smarter per-band bitrate cap.
Error handling in _create() functions
Adding resampling support
Change qb cap to prevent side-fold collapses.
celt_encoder_create() now defaults to Opus standard mode
Enabling the standard static mode by default
Adding the auto-generated static modes for float and fixed
Using the actual degrees of freedom rather than N*C for fine offset
Prevent VBR from shooting up to the maximum rate if set to very low target rates, and prevent the encoder VBR from producing 1 byte frames (which are no longer allowed).
Don't rebalance bits for itheta=0 or 16384
Making rebalance a celt_int32
Making anti-collapse a bit more conservative again
Changing some double constants to float
Adjusting post-filter coefficients to be exact in 13 bit precision.
Adjusting pre-emphasis coefs to be exact in 16-bit precision
Using a real 16-bit value for the coarse beta on intra frames
Reducing waste at high bit-rate
Comparison tool for decoder compliance
Fixes fixed-point overflow on really low energy
Fixes a fixed-point overflow in anti-collapse
Improve accuracy of update_lowband test.
Only allowing silence in non-hybrid mode.
More anti-collapse fixes, as well as a fold fix.
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