Another aliasing hack in the SILK PLC with SMALL_FOOTPRINT
Don't allocate pulses on the stack when calling the SILK PLC.
Moves CELT PLC pitch search to a separate function to reduce peak stack
Delaying allocation of the SILK temporary output buffer to reduce peak stack
Adds SMALL_FOOTPRINT hack to the CELT PLC too
Moves deemphasis() call out of celt_decode_lost() to reduce peak stack
Store decoded SILK pulses as 16-bit vector
Cleaning up leftovers of "freq" in celt_decode_with_ec()
Reduces the decoder stack use by removing the pcm_silk buffer in fixed-point
Moves the remains of compute_inv_mdcts() to celt_synthesis()
Hack that makes the SMALL_FOOTPRINT CELT decoder use only 4.25 kB of stack.
Reduces decoder stack usage by only storing one channel of denormalized MDCT
Some cleaning up of the synthesis code.
Making exp_rotation1() use MAC16_16(), which saves a few cycles on ARM
Silences unused parameter warning
Moving the radix-2 to expose trivial twiddle factors
Improving the accuracy of the fixed-point radix-3 and radix-5
Minor cleanup -- nothing to see here
Fixed-point: slight accuracy improvement in the comb filter
Remove a SAVE_STACK that was pasted accidentally in the previous commit
Unifying scaling of fixed-point and float FFT
Getting rid of some negations
Slightly improving the accuracy of the fixed-point MDCT downscale
Commit 99968ab was causing us to allocate too much stack in the MDCT
Removes the separate 1/8N rotation in the (I)MDCT and unmerges the MDCT sizes
Inverse MDCT no longer requires any scratch space
Reverse the ordering of the FFT stage to optimize a degenerate radix-4 case.
Merges the FFT scaling with the MDCT pre-rotate
Getting rid of the inverse FFT entirely
Moving bitrev step to forward MDCT too
Applying the forward FFT gain up-front for fixed-point too
Moves the bitrev step to the IMDCT pre-rotation
Fixes a warning about "conversion from '__int64' to 'int'" on MSVC
configure.ac: fix bashism in ARM optimization handling
fixed-point: slight (but free) accuracy improvement in compute_band_energies()
fixed-point: adds rounding to some shifts to eliminate bias
Remove useless code in alloc_trim_analysis()
Minor fixed-point accuracy improvements that were completely free
Annotating pointer arguments with OPUS_RESTRICT and const
Fixes code that was doing arithmetic on a void pointer.
More NaN hardening in the analysis code
Add a reminder to bump the version.mk version.
Using OPUS_COPY()/OPUS_CLEAR() in the decoder too
Making NaN detection more robust to -ffast-math.
Using celt_inner_prod() in compute_band_energies()
Makes silk_inner_prod_aligned() use celt_inner_prod() in fixed-point.
s/MAX16/MAX32/ in transient_analysis()
Using celt_inner_prod() for input sanity check.
Defining celt_inner_prod() and using it instead of explicit loops.
Replaces inline copies and initialization with OPUS_*() macros.
Changes ABS16() and ABS32() to use fabs() in the float build
Optimizes encoder NaN detection and clipping by only running them when needed
Fixed-point fast-path for normal 48 kHz encoding in celt_preemphasis()
Turns a 16x32 multiply into a 16x16 one in celt_preemphasis().
Mention updating the website examples.
Revert "Disables assembly optimizations by default because of several problems reported"
Disables assembly optimizations by default because of several problems reported
Fixes Opus-custom preemphasis
Whoa! This fixes a pretty bad fixed-point stereo regression
Fixes OPUS_SET_GAIN (was a bug in MULT16_32_P16())
Minor speedups to celt_pitch_xcorr_edsp().
Drop the use of --always to git-describe
Remove the celt_pitch_xcorr() test code.
Actually use my NEON code.
Make celt_pitch_xcorr_edsp() work on ARMv5TE.
Clean up celt_pitch_xcorr() test code.
Silences a warning in fixed-point
Merges surround and stereo intensity stereo thresholds again.
Makes SILK surround masking a bit more aggressive in both directions
Intensity stereo update, partially based on Monty's listening
Put custom_encoder_init decl behind CUSTOM_MODES. More softclip tests.
Using a more reasonably SILK surround calibration value
Reducing the thresholds for enabling stereo and higher audio bandwidths
Surround low-passing thresholds set to much lower bitrates
Minor opus_pcm_soft_clip API hardening and tests.
Add some multistream resets to the tests.
Merge branch 'silk_pitch_fix'
Applies padding to all CBR packets, including PLC and CELT silence
Adds trivial_example.c to make dist
Adds a simple example of Opus encoding+decoding
opus_custom_encoder_init() now only needed for custom modes.
Add copyright header to test_opus_padding.c.
Makes pitch gain control less aggressive
Using the maximum frequency response of pitch taps instead of maxabs
Constrains accumulated pitch gain to avoid potential instability.
Additional opus_multistream_packet_(un)pad tests.
Validate merge argument in repacketizer_demo.
Validate channel count in opus_demo.
Add opus_packet_(un)pad tests.
Don't attenuate hybrid high-band for surround
Fixes unpad for multi-stream
Unpad asserts
Fixes previous commit
Adds functions for multistream padding/unpadding and single-stream unpadding