More fine energy tuning, compensation for N=2
New fine energy allocation tuning.
CELT no longer prints to stderr (unless assertions are enabled)
Simplifies the implementation of RESET by placing all the data that needs
Adds _init() functions that do not allocate the states themselves
Comments on encoder and decoder struct contents
Unb0rk fixed-point build
Removing check_decoder()
Decoder state stored in a single allocated object.
Removing check_encoder()
Encoder state now stored in a single allocated object
Simplifies convoluted/idiotic indexing.
More IMDCT de-uglification
Removing out_mem from the encoder state.
Inverse MDCT no longer keeps channels interleaved.
Small suckage reduction in compute_inv_mdcts(). More to come.
Disabling mdct and fft init code with static modes
No longer making copies of static modes
Fixes an off-by-one bug in the static mode's MDCT twiddles
Fixed an old issue where the fixed-point MDCT twiddles were stored as 32-bit values
coarse probability model in static modes too
static modes update for MDCT
Updating dump_modes to include the MDCT and FFT. More work needed.
Updated static modes for new pulse cache.
MSE measurement details (no codec changes)
Making the fine energy allocation code less ugly.
Rework coarse energy coding.
Fixes a stereo bug introduced in the previous commit
Choosing intra frame energy when it's cheaper than inter
Moving intra decision to quant_coarse_energy()
Shuffling code around -- no change to the algorithm
Reorganizing the VBR code
Implemented variable spreading amount in the decoder
Minor simplification to exp_rotation().
eMeans[] quantized to 8 bits
Using the real spectral means instead of the ones
Adaptive fine offset value
More simplifications to N=2 stereo
More N=2 stereo simplifications
Simplifications to the N=2 stereo split.
Fix dump_modes when requesting multiple modes.
This patch makes Tim happy
Making qn code 16-bit clean while simplifying it
Simplified flags encoding
Removing pitch prediction code
Allowing fractional bits for splitting angle (theta)
cleanup in qb-related code
Fixed "forced intensity stereo"
More float conversion cleanup
Changing some constants to float
Removing files that are no longer needed
DOUBLE_PRECISION and MIXED_PRECISION no longer need to be defined
Code simplifications for log->amplitude conversion
Remove useless use of "long", remove useless prototypes
Error measurement for stereo as well
Measuring the normalized error directly within the encoder
Separate qtheta offset for stereo
Fixing the qtheta dependency for the delta allocation
Removing uselessly low bitrate allocation entries
Only using triangular split pdf up to 8 bits
updated cwrs test for previous commit
Eliminate the loop when decoding the split angle.
Eliminate the loop when encoding the split angle.
Adjust fine bits allocation.
Spreading code cleanup -- now allowing tf change when spreading is off
Using random noise in upper bands when signal is "normal"
Codec state simplification
Updated static mode generation for latest changes
Just removing old code that was commented out anyway
Cleanup, de-inlining some math functions
Making a bunch of things static
Cleaning up intra_decision()
Energy quantization tuning.
Fixes a bug that could turn off folding at low rate when specifying
The coarse energy budget is no longer part of the bit-stream.
Error checking on the decoder side
Encoder now has a way to check whether an error has occurred
The encoder and decoder can now process audio encoded at a higher rate
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