const correctness. celt_mode_create() now makes a copy of the static mode
oops, forgot to disable the main()
Changed some of the mode data from int to celt_int16_t to save memory.
No longer include redundent entries in the bit allocation cache
Allocation cache can now be pre-computed as well.
Psychoacoustic decay coefficients can now be included in the static modes
Improvements to static modes
Moved the psycoacoustics data to the mode struct
Simplified spreading function so that only one set of coefficients (the right
Initial support for static modes (defined STATIC_MODES)
fixed-point: done converting find_spectral_pitch()
fixed some build problems
testcelt no longer attempts to use ALLOC()
manual stack allocator should now work for sizeof(char)!=1
fixed-point: stereo_mix() converted.
cleaning up some of the mode stuff
oops, forgot an int sampling rate somewhere
sampling rate has to be int32
Adding code to dump the contents of a mode struct to a C file that can be
fixed-point: defined HALF32() and used it for the forward mdct.
fixed-point: real FFT no longer needs float ops when MIXED_PRECISION is enabled.
Bit of cleaning up. No real code change (well, I hope so!).
fixed-point: removed the last float op in celt.c
fixed-point: finished intra_prediction(). No float ops left in vq.c
fixed-point: converting intra-frame predictor (checkpoint #1).
fixed-point: intra_fold() converted
fixed-point: compute_band_energies() converted. Had to add some tiny bias to
fixed-point: converted normalise_bands (had to split implementation)
Revert "compute_band_energies() merged with normalised_bands()"
Changed the pulse spreading rotations so that the number of iterations is
fixed-point: done converting quant_bands() and unquant_bands()
Add option to #include "custom_support.h"
doing spreading function and gain quantisation in-place
fixed-point: part of stereo_mix() converted.
oops, unb0rked testcelt output
Defining RADIX_TWO_ONLY removes all butterflies, except for radix 2 and 4.
fixed-point: changed find_spectral_pitch() to use single-precision (16-bit) FFT.
fixed-point: masking curve computation now converted. ***Fixed a bug in the
oops, pgain_table now has half the number of elements
fixed-point: quantised the pitch gain table.
fixed-point: converted the pitch gain quantisation, except for the codebook
Making 16-bit compilers happy
Fixed a bunch of warnings
compute_band_energies() merged with normalised_bands()
Removed deprecated mode interface and added missing include
fixed-point: exp_rotation() now fully converted, using an approximation of the
fixed-point: converted denormalise_bands()
added suffix to real fft. The celtclient can now be built with an unmodified
First attempt at adding a suffix to kiss_fft functions so we can have multiple
making sure __GNUC_PREREQ() is only used when __GNUC__ is defined
pre-emphasis coef now a constant
A bunch of const qualifyers and a few comments
Applying the window properly in find_spectral_pitch()
A bit more reordering in stack memory allocation -- saved 1024 bytes on peak use
applying the pitch windowing directly in find_spectral_pitch()
No longer storing the zero parts of the in[] array in the encoder
Pitch predictor now uses a larger range of offset by not being limited to the
compute_mdcts() no longer reads the part of the input that should be zeros
Only the (rising) overlap part of the window is stored now. No need to hold the
Don't bother multiplying when the window's value is one or zero
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