Some work towards being able to encode a 48 kHz stream from 32 kHz audio (incomplete)
All modes based on 2.5 ms short blocks now use the same definition
Considering the end band in more places in the code
Encoding transient_time independently of the sampling rate
Number of short blocks now based on the frame duration instead of the
Better support for non-48 kHz sampling rates
Pre-emphasis coefficients now part of the mode and has a numerator as well
Using short blocks a bit more often now that we have variable tf resolution
Handling the start band and end band in tf encoding
Support for adjusting the end band
Sharing of the twiddles across multiple FFTs
Fix accidental change of celt_alloc() to non-inline
ietf draft update (incomplete)
Sharing twiddle factors across all MDCTs
Some code cleanup in the FFT.
Fixed C99-style declaration
Updating DISABLE_FLOAT_API use
fixes an int vs celt_int32 mismatch
fixed point bug fix in tf_analysis()
Another coarse budget fix for _ec() calls
Fixed a few more issues with the _ec() calls.
Fix misleading comments about ec_{enc|dec}_tell()
Prototypes for the _ec variants of the calls
Oops, fixed an uninitialized var error
Updating various version strings
No need for --enable-new-plc anymore (always on)
Mode cleanup (removed redundant mdctSize field)
Think I got static modes working again
Updating static modes (not done yet)
Improved quality of small frame sizes at low bitrate.
Preventing ridiculous bit depths > 16 bit/sample
Improved code for reusing ec structures
No need to memset() the byte buffer
Compile fix for MSVC
Removing old PCL, added plc.h
fixed-point: New PLC now enabled by default
fixed-point: More work on the PLC
fixed-point: PLC auto-correlation converted
minor tweaks to frac_div32()
Fixed-point version of frac_div32()
More work on fixed-point Levinson-Durbin
Implementing two choices for the tf resolution
Remove unnecessary free of global stack on error
Completely disabling the tf code at low bitrate
Encoding the tf parameters after coarse energy
Doing the log2Amp() just in one place
Completely removed the old allocation table.
Base everything on the "standard allocation table"
Using allocation table for "standard" frame sizes
Allocation table now in bits/sample
Changing the allocator resolution to 1/8 bit
Fix for PLC crash when using large frames
Trying not to crash on bit errors
removed stupid code in transient_analysis()
Fixed stupid bug for single-sample bands
Change ec_{enc|dec}_bit_prob to take probabilities in units of 1/65536 instead of 1/256. This allows them to use a single 16x16->32 multiply instead of a 24x8->32 multiply. Also change the time-frequency resolution flag coding to ensure that "0" is always the most-probable symbol (i.e., that prob("1")<50%), as that's where all the rounding error accumulates.
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.
Cleaning up VBR to be frame-size independent
RD optimisation now takes bitrate into account
Simplification to the transient detection code
More simplifications to the Viterbi code
Simplifications to the tf_res RD code
Viterbi-based RD optimization of the tf_res decisions
changing probability of first tf resolution symbol
Adaptive time-frequency resolution
Adds a range coder call to encode a single bit with arbitrary probability
Fixed a long-standing rare mismatch
Re-organised the special case for N==1
Bunch of fixes for frames of 2.5 ms.
More recombining "infrastructure"
Code for recombining bands (not enabled yet)
Removing the rest of the >32-bit PVQ code
Minor code simplifications
Doing folding from the highest freq possible
Increasing the temporal resolution of transients
Improving the transient detection
Splitting transients in time domain
Moving code to quant_band()
Tuning/cleanup of angle quantization
Getting rid of PVQ-level split
Most 5ms bands now have even width
Tuned the 5ms mode to have a band at 4 kHz and one at 8 kHz
Implemented CELT_SET_START_BAND
Support for passing your own ec state to the decoder
Support for passing your own ec state to the encoder
Saving ~1 kB by using chars for the alloc table
Sharing more code between encode and decode (bis)
Merged encoding/decoding of mono/stereo