fixed-point: fixing two overflows that didn't really affect quality
Fix compilation of test cases with fixed-debug enabled
fixing a floating point bug for very small signals
Update valgrind support to match the latest valgrind API.
For some frame sizes there can be 5 shorts in a frame.
This fixes a potential assertion failure with some very weak signals
ietf doc: decoder overview (ASCII art)
ietf doc: encoder overview (ASCII art)
ietf doc: pitch description
Fixes for celt_header_to_packet / celtdec for bigendian systems.
Note some more platforms where float-approx is tested, fix a bug in the prediction ctl,
Additional mathops.h tests.
ietf doc: final fine bits, some fixes to the references
Numerous autoconf changes. Configure option for FLOAT_APPROX
Bump version to 0.6.0 and increase bitstream version.
Gives an error when trying to create a stereo mode with DISABLE_STEREO defined.
Minor simplification to the transient code
Simplifies the stereo mixing code, throwing away some old code.
ietf doc: misc corrections
Fixing a few bugs introduced in the energy interleaving changes and due to
Interleaving the left and right final fine energy bits
Interleaving the left and right fine energy
ietf doc: security, VBR, stereo
intealeaving the left and right coarse energy
Forced intra now overrides intra avoidance at low rate. Also, using the number
ietf doc: stereo description
Minor stuff: preventing float underflow in celt_exp2(), preventing the use of
This fixes a folding issue with stereo
More de-interleaving: denormalised MDCT no longer stored with interleaved
removing redundant calls to exp2()
Simplifying the stereo energy quantisation functions now that energy is
Now storing the band energies in de-interleaved format when doing stereo
removing redundant calls to log2()
float approximations for log2() and exp2()
ietf doc: characteristics, bit-stream
ietf doc: better description of the bitstream
Better ebits rounding and making it possible to add remaining ebits even to
Adding extra fine bits only when we have rounded down in the allocation
Folding, coarse energy, source cleanup
The 010101 end of stream pattern is no longer needed now that we use the
This makes it possible to use the bits left after PVQ for fine energy.
Illustrating the bit-stream
Describing pitch and short blocks
Add support for interframe prediction control in celtenc.
Merge commit 'origin/master'
Minor simplification to the fine energy code
This simplifies the energy quantisation by converting to the log2() scale
Merge commit 'greg/master'
IETF doc update, including better source code formatting
For celt_encoder_ctl CELT_SET_LTP is replaced with CELT_SET_PREDICTION
Fix non-C90 declaration after statement
Improving code conversion to publishable form.
Handle malloc failure in mode_create gracefully without leaking memory.
Add paranoid checking for the validity of the encoder and the decoder
Fixes for the tests in pseudo-stack mode.
Updated scripts for converting the source code to something more publishable
Add get_mode CTL for the encoder and decoder.
Removed support for band-per-band stereo_mode that was never really used
Updating DISABLE_STEREO to the new stereo code (i.e. disabling more stuff)
Disabling K>128 until it can be shown to be useful.
It is no longer necessary to have a minimum of one bit for fine energy
Adding a decision mechanism for turning folding on or off depending on the
Add a mode_info call to obtain the sampling rate of the current mode.
Making the modified transient code work with stereo as well
Fix for a mode memory leak -- was still allocating memory for the energy
New transient handling code that weights the MDCTs directly unless there's
1024 pulses ought to be enough for everybody
Minor optimisation -- using do-while() instead of for() in isqrt32()
Make ectest use random random numbers. Add a new test
Fixing the encoder's handling of no-folding; with folding enabled
Enabling more than 128 pulses for N=3 and N=4.
Switch the N=5 case of CWRS to also use a binary search.
CWRS clean-ups and optimizations.
This fixes a bug in the new stereo code triggered only at ridiculously high
Slightly increasing the range of value by making sure the "start fs" is even
Documentation update: removed lookahead from the doxygen comment long after it
Making use of previously unused range of the laplace encoder to have a slightly
Setting ft=32768 instead of 32767 so that implementations can use shifts and
Should be enough to handle signals with a 144 dB (24-bit) dynamic range
Adds support for up to 32767 pulses for the N=3 case (disabled for now)
The change to FLOAT2INT16 in a8734e0f would break float input for
This code does a very naive reset of the state. It is possible (even likely)
Proper use of SCALEIN() as suggested by John Ridges
VBR support. VBR API and VBR support in celtenc.
Make it possible to use more than 255 pulses (not used yet).
making codec draft more compliant with IETF submission rules
Version -01 of the RTP draft
Change to ipr="trust200902" to make the experimental xml2rfc happy. Also, added
Fixing stereo: Do not attempt to use more bits than are available.
Reduce rounding in the mode allocator and remove a scaling loop.