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
ASM build fix
Fixes permissions on arm2gnu.pl
Adds Neon assembly for correlation/convolution
Adds SATURATE16() to the fixed-point debug build too
Fixes SILK surround calibration while fixing other MSVC warnings
Add some basic testing for OPUS_{GET|SET}_PREDICTION_DISABLED.
oops, fix previous commit
Make CELT_PVQ_U_ROW static
Adds OPUS_SET_PREDICTION_DISABLED() ctl to force "independent" frames
Adds a simple padding test to opus_demo (disabled by default)
Oops, missing semicolon on RESTORE_STACK in previous commit
Adds missing RESTORE_STACKs in celt_encode_with_ec()
Fixes a bug where the encoder was trying to use redundancy in CELT mode
Adds packet padding that works for all codes and fixes 40/60 ms CBR.
Fixes max_redundancy so that hybrid CBR can fill all bytes
opus_multistream_packet_validate() now called with the total number of streams
Rename preemphasis() to celt_preemphasis() to avoid amrnb symbol clash
Increase surround allocation offset for smaller frame sizes
Prevents LFE from busting at really low bitrate
Fixes MSVC conversion warnings
Variable frame size fixes (still not exposed in the API)
Making the CELT fixed-point decoder a bit more robust to extreme signals
Fixes an initialization issue in SILK prefill found by Coverity
oops, don't need RESTORE_STACK when there's no stack
gcc -pedantic had "comparison of unsigned expression < 0 is always false"