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
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