Bump bitstream version now that we broke everything
Tuning the amount of spreading based on Koen's feedback
Improved transient_analysis() by adding one frame of memory.
Removed unnecessary calls to log2Amp()
Disabling resynthesis when not needed (need to remove folding for this to work)
Re-introducing the successive spreading rotations, but in a two-step
Corrected some non-sensical code
Converted a few double-precision constants to single precision
Making sure compute_allocation_table() doesn't overrun at lower sampling rates
version string set to 0.8.0-git
Changed compute_allocation_table() so it handles ebands that start and end in the same allocation band. Also fixed a minor C89 issue.
Fix small mode leak (forgot to free the new logN array).
Caching log2_frac(N, BITRES) in the more data to save some CPU
A few minor optimisations (compute_allocation, denormalise_bands,
A bit more tuning on the pseudo-frac-Hadamard. Also Trying to improve
Doing the spreading with a "pseudo-fractional-Hadamard" transform
fixed-point: improving accuracy of the energy prediction
fixed-point: slightly increasing the decoder accuracy again
Update the log2 approximation to accomodate the increased bit precision from bd0610d21b28b76095a49e601df44fb792b96369. This requires another term in the power series to reduce the error to the level of truncation (peak absolute error 0.621785). Also refactor the rounding bias term so that further changes to DB_SHIFT will leave the result unbiased.
fixed-point: Further reduction in mismatch
fixed-point: reducing the mismatch in the folded part
Increasing log energy resolution
Using the mean energy even when start>0
Improves fixed-point precision for quant_coarse_energy
Fix quant_bands() for start != 0
Allowing CELT to skip the low frequencies
Updating CELT_RESET_STATE to clear some fields that were "recently" added.
Getting "make dist" to work again with the files that got removed
Change name of libcelt to libcelt0
Updates celtclient to the new API.
fixed-point: converted PLC filters and LPC parameters
fixed-point: starting conversion of the new PLC
Adding a safeguard against unstable LPC, so now there's no way (that I can
Making new PLC code work in fixed-point even though it's still using float
This fixes a bug in stereo PLC (offset wasn't changed between channels)
PLC: Added lag windowing and constraint to synthesis energy
Varlength arrays fix for C89
Oops, forgot to free the pitch bufer
Fixing (read) array overrun for 1024-sample frames.
Some work on the pitch search weighting filter (still disabled)
Reorganised the pitch code to simplify the PLC case and fixed a buffer overflow
Fixing a few memory errors
Use stack_alloc for pitch.c
Renamed MDCT functions to avoid symbol clashes with Vorbis
Removing original freq-domain pitch code
celt_ilog2() is only used in fixed-point mode
Expose the normalized range for reciprocal square roots in fixed-point mode. This allows subsequnt calculations to use the full precision of the result.
SMALL_FOOTPRINT preserves the special n=1 cwrs case
Added a SMALL_FOOTPRINT option
removing more unused code
Removing unused code in the entropy coder
prevent busting at ridiculously low bit-rate VBR
Making sure the VBR controller never busts the number of bytes allowed
Better computation of the VBR rate upper bound and reducing the coarse energy
Enhancements the fixed-point approximations of non-linear functions.
Allow coarse energy to take almost all the bits. Also, fixed a some issues with
Making the multiplication in normalise_residual() produce a 32-bit result just
Accuracy improvements to the fixed-point celt_rsqrt().
This should prevent a rare divide-by-zero in the pitch gain code
New VBR rate controller that doesn't allow more than one frame worth of excess
fixed a few trivial bugs: exporting celt_strerror(), changed DB_SCALING to a
Removed the _t from all the celt*_t types to avoid clashing with POSIX
Updated copyright notices
Changed all the celt*int*_t types to remove the _t suffix, which is reserved
Constrain the pitch gain to prevent potential instabilities.
Now using a unique ID for CELT_ALLOC_FAIL
Improved error handling, and implemented celt_strerror()
The number of channels is now set when creating the states rather than when
first step for removing the number of channels from the mode
Adjusting the allocation for stereo directly in the alloc function rather than
merged the code for quant_bands() and unquant_bands()
Renamed mix_pitch_and_residual() to normalise_residual(), after minor
Further simplifications to mix_pitch_and_residual() (which no longer does
Doing the mdct shaping in the normalised domain, so that energy is preserved
making compute_ebands() a tiny bit less stupid.
moved the de-emphasis code to a separate function (shared between encoder and
Simplifications to the code
more stereo simplifications
No longer interleaving channels of the normalised spectrum. Also fixed the
simplifications to the stereo code
Fix for some test program compat and an assertion that didn't make sense anymore
Demoved the divisions from the inner pitch prediction loops, bumped the version
Fix for folding_decision() in stereo mode and more cleaning up of the code
Fix stereo mismatch problem
Bringing back min_bins=3 for now
Tuning the spreading rotations
More simplifications from denorm pitch
Removed code that is no longer necessary with denorm pitch and spreading
enabling denorm pitch only at low bit-rate
fixed-point: denorm pitch converted
denorm pitch works in fixed-point (though there's still some floats left)