cwrs32-test should be 16-bit clean now.
Laplace encoder now works with 16-bit frequencies
Hadn't realised the bitr* stuff wasn't needed.
oops, fixed the Laplace testcase
Saved 4 kB of stack usage in find_spectral_pitch() by doing the FFT in-place
Making it easier to debug laplace testcase
Stereo pitch search no longer requires twice the memory/complexity.
oops. Another 16-bit fix
Another C90-fying pass. Fixed some warnings in the process.
Moved mdct state and window to the mode so it can be shared between multiple
Just realised half the twiddles in the real FFT weren't even used. Removing
Saved on stack usage by changing the order of the allocation
Bit of memory reduction in the pitch search. More needed.
Fixed temp arrays that were allocated too large (no change in peak mem)
fixed-point: converted intra prediction and folding, unb0rked mixed-precision
fixed-point: overflow debugging now works again.
Initial support for a managed stack/scratchpad. Still needs some work.
fixed-point: energy quantisation is entirely converted now.
fixed-point: more energy quantisation stuff.
fixed-point: a few more bits converted from the energy quantisation. Almost done
fixed-point: copied the exp2 implementation from Speex, using it for dB2Amp()
fixed-point: log approximation
fixed-point: unquant_energy_mono() has received the fixed-point code from
fixed-point: second check-point on quant_energy_mono()
fixed-point: first check-point on quant_energy_mono() conversion
fixed-point: alg_quant() entirely converter -- may require revisiting...
fixed-point: (hopefully) last check-point for alg_quant() conversion
fixed-point: The cross-products in alg_quant() are now all converted.
fixed-point: third alg_quant() checkpoint
fixed-point: second check-point in the conversion of alg_quant()
fixed-point: First check-point in alg_quant() conversion
fixed-point: Added a ROUND() operator, no real change to the code
Oops. Fixed a missing \ in a Makefile.am
Just in case sizeof(char)!=1
Removed some unused parameters and fixed a couple -W warnings
fixed-point: Moved sqrt and cos approximations to mathops.h
fixed-point: done with mix_pitch_and_residual() though a bit of cleaning up
fixed-point: mix_pitch_and_residual() check-point #3
fixed-point: another mix_pitch_and_residual() check-point
fixed-point: half-way converting mix_pitch_and_residual() -- just check-pointing
fixed-point: compression factor (alpha) now a 16-bit value (still internally
fixed-point: converted pitch_quant_bands() -- that one was an easy one-liner
fixed-point: converted compute_pitch_gain() and removed the energy-based
Fixing pi again before another massive public outcry
fixed-point: exp_rotation() mostly converted (still need to convert the cos/sin)
fixed-point: no float vars left (and nearly no float ops left) in celt.c
fixed-point: log-energy for previous frame now a 16-bit value. This currently
fixed-point: converted window to 16-bit value
fixed-point: pre/de-emphasis converted.
Reduced code duplication in vq.c by adding mix_pitch_and_residual() which
fixed-point: got stereo to work again by fixing renormalise_bands()
fixed-point: celt_pgain_t now a 16-bit value (Q15)
celt_mask_t for masking curves
Removed useless masking curve for current frame and ignored Fs argument to
pitch gain is now celt_pgain_t
fixed-point: band energy now a 32-bit value. It might have (barely) fix into
fixed-point: added a celt_ener_t type for band energy.
Minus a bunch of warnings when enabling alloca()
Put the channel count outside of the energy calculation. Increased the allowed
fixed-point: celt_norm_t now a 16-bit value.
16-bit fixes and warning fixes
Trying to be nice with 16-bit chips.
Corrected the last digit of pi after massive public outcry :-)
Ogg decoder does gapless for the beginning of the file.
fixed-point: Using a NORM_SCALING of 16384, sig_norm_t is still a float though.
fixed-point: celt_sig_t now a 32-bit value.
fixed-point: initial support for using the fixed-point MDCT (rest is still all
MDCT is in fixed-point now
MDCT conversion, part I.
real fft no longer needs an internal buffer.
real fft snr comparison testcase includes DC
Float FFT now does the same scaling as the fixed-point FFT
Added a mixed-precision version of the FFT with 32-bit data and 16-bit twiddles.
Created an separate kiss_twiddle_cpx type to make it possible to use
MDCT now scales down by N/2 instead of N/4. The factor two is moved to the
testcase for the MDCT and IMDCT
Increased precision for real FFT
Fixed the FFT for higher precision
Adding celt_sig_t where needed
Separating types for normalised vs. denormalised data paths
Fixed the real fft testsuite as well
Fixed stuff that got broken during the forward-backward split of the FFT
Making sure freed or corrupted modes can't be used (produce a run-time warning).
Updated the header and celtenc/celtdec tools to the new way modes are handled.
Doing intra-frame prediction backwards (and a few comments)
Development documentation (internals)
Some sampling rate cleanup (now in the mode)
Updated Doxygen comments, removed an incorrectly placed LGPL header (we own
Changed _new() to _create() in the API. Added some documentation
making sure testcases have a non-zero error code when they fail
Testcase for laplace encoder
Everything should now compile with a C89 compiler.
Another bunch of C99 array conversions (few more to go)