fixed a cwrs bug in fits_in32()
Implemented split-cwrs for very large codebooks (>64 bits), but still getting
Implemented a cleaner way to detect whether CWRS codebooks fit in 32 or 64 bits
Suggesting .oga as extension for Ogg files
Use EXPORT macro in a way compatible with win32
Allowing frames up to 512 samples
Infrastructure work for a psy model
Adjusted stereo bit allocation to be higher than mono for the same alloc line
Brought the mdct masking function up-to-date
Making the Laplace test case pass again
Preventing encoder-decoder mismatch when energy values are too large to be
fixed the skipping of the zeros (skip the zeros instead of the good samples!)
Doing mid-side stereo when not doing intensity.
Implemented intensity stereo, which required changes all over the place
More stereo infrastructure
infrastructure changes for upcoming stereo improvements
Preventing some encode/decoder mismatch situations at low bit-rate. Also, some
Added calls to query the bit-stream version.
Some code for packet loss and bit error simulation
More bit allocation tuning
Implemented rate-dependant allocation for the fine energy quantisation.
Packing the pitch parameters first to improve robustness to bit errors with
Some tuning improvements, more to come
Disabled pulse spreading until I can show it actually helps
Slightly less arbitrary gains for intra prediction.
Using only a sign for the intra prediction instead of using up to 5 bits for
Fixed a bug in the PLC and added code to estimate the pitch from the synthesis
Error detection in uint decoding (can no longer return an int that's out
Better value for prediction coef beta
Added code for simulating bit errors
mdct_overlap no longer needed
Added STDIN_TUNING to make it easier to tune CELT
Brought the mdct test-case with the recent changes to the mdct semantic
SHORTCUTS now disables the encoder's de-emphasis (i.e. can't check encoder
Optimisation: caching the divisions used in the Laplace encoder.
removed two shifts from the pitch estimation inner loop
Better indexing for find_spectral_pitch()
Reverted to the old MDCT behaviour of only doing down-scaling in the FFT.
mdct_backward now does the WOLA, so there isn't much left in compute_inv_mdcts
Moved the windowing from compute_inv_mdcts() to mdct_backward()
Separated the pre-rotate from the window+shuffling and further simplified
Further simplifications to the forward mdct
non-negative mdct input index
Moved the windowing operation from compute_mdcts() to mdct_forward() in an
Passing the mode to the intra prediction functions so the single-channel case
Disabling pitch when gain is very small.
Making stack push a tiny bit clearer to the compiler -- don't think it really
s/B/C/ in the intra stuff to have the same notation as everywhere else
Bit better indexing in intra_prediction()
Removing some unnecessary initialisations to zero.
Another bunch of do-while() loops
Further simplifications to comb2pulses() to remove all conditional branches.
Saved some memory by reducing the size of some arrays to only what's needed.
Better indexing of pre/de-emphasis in celt_{en|de}code().
Saved two copies when computing MDCTs of mono signals
more use of CELT_COPY in celt_encode(). Also fixed a stack size bug for stereo
This both reverts 3fe0db172c334b4fc3fc773cb08d96867402b532 that caused
more restricted pointers in celt.c
added a shortcut (SHORTCUT) to skip the spreading function in the pitch search
encoder pre-emphasis now in 16-bits
better indexing in exp_rotation()
better mdct_backward() indexing
optimisation: giving more hints to the compiler about the sizes in
a few minor optimisations
removed unneeded variable shifts from alg_quant()
separated the two passes from interp_bits2pulses()
optimisation: removed the shifts from the vq_index() inner loop
optimisation: better indexing/looping in vq_index()
pseudo-stack no longer checks on every function entry whether it has been
optimisation: one less conditional branch in pulse2comb()
optimisation: Removed a bunch of conditional branches from comb2pulse()
Saturation in SIG2INT16 using MIN/MAX
Removed implicit 32=>16 conversion (changed to EXTRACT16)
optimisation: Got rid of the 32-bit mul in find_spectral_pitch()
minor simplification in alg_quant()
fixed an issue (lacking parentheses) in the no-op version of BITREV
Made twiddle pointer in mdct more explicit
optimisation: Making it clear to the compiler that many of the loops in cwrs
Make use of CELT_MEMSET() in find_spectral_pitch()
Fixed incorrect energy calculation in stereo intra prediction
optimisation: reworked intra_prediction() so that yy is computed fully only
optimisation: intra_prediction() uses a 16-bit numerator for the search
optimisation: managed to avoid dividing in the "full gain" case of alg_quant()
oops, forgot to make the gain a 16-bit var
optimisation: simplified the "full gain" case of alg_quant() to remove some
optimisation: another bunch of simplifications to the "simple case" of the
a few loop optimisations.
optimisation: merged the init loop of vq_quant().
fix minor compilation error/warning
fixed three declaration-after-statement issues
fixed a few warnings, no real change
Reworked the static modes. Now, if all static modes have the same frame size,
some index work (simplifications for dumb compilers) on IMDCT
Added a missing RESTORE_STACK in intra_prediction()
Not all compilers are equal -- making it clearer how the MDCT indexing is done