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"
More size-zero VLA fixes and making opus_decode* return BAD_ARG on framesize<0
Fixes some minor issues found by scan build
stupid uninitialized variable in the mlp training caught by cppcheck
Hides OPUS_FRAMESIZE_VARIABLE from the API until it actually works
Makes surround bandwidth decision based on the number of channels (duh!)
Taking into account the frame size in more encoder decisions
This should be less confusing for static analyzers
Exposes --disable-float-api in autoconf
Removes a float var that shouldn't have been there
Fixes DISABLE_FLOAT_API build
Moves opus_packet_parse_impl() from opus_decoder.c to opus.c
Implements OPUS_RESET_STATE for multi-stream encoder
Avoid a bogus uninitialized warning and simplify some code.
Remove now-unused check_decoder_option.
Makes stereo savings still less aggressive
Add a little missive when compiling without optimization.
Replace "inline" with OPUS_INLINE.
Remove dead code
Fixes a potential crash when encoding NaNs
Remove restrict definition from the unix Makefile.
Fixes multistream CBR encoding and multistream surround for >20 ms
Surround encoder can now produce hard CBR streams again.
Oops, thanks to Mark Harris for spotting this!
opus_packet_parse_impl() now computes the packet size with padding
Rejects bad multistream frame length
Fixes PLC for sizes that don't match basic Opus frame sizes.
Make -loss valid for opus_demo -e
Fix 40/60ms zero-length frame decode failure
Cleaning up multistream packet validation
Correct opus_packet_parse code 0 packet tests.
Do up-front validation of multistream packets
Removes useless VARDECL() of "out"
Replaces log2() with celt_log2() and fixes a potential divide-by-zero
Fixes scaling of downmix_float() for fixed-point.
Don't use --dirty in genversion.bat.
Merge branch 'exp_surround1'
Pass --always to git describe.
Avoid using C++ keyword 'new'
Avoids unnecessary copying in opus_encode for delayed decision
Makes analysis work when encoding more than 20 ms at a time
run_analysis() doesn't need to return the frame size anymore
Remove trailing whitespace from the license headers.
Makes the fixed-point build only run the float analysis at complexity 10
Moves frame size selection back out of opus_encode_native()
Very basic surround rate calibration
Allowing surround to use lower bandwidth than fullband
More surround masking tuning
Tuning the surround masking
Surround analysis should now work for non-20ms frame sizes.
Code for handling upsampling in surround_analysis()
Adds surround masking to SILK
Fixes delayed decision for fixed-point
Makes speech/music detection work with FIXED_POINT (code still float)
First pass at making the analysis code run with FIXED_POINT
Moves the analysis back to opus_encode_native() to it runs for all streams.
Adds trim and dynalloc control to surround masking
Makes surround_analysis() work in fixed-point
Surround masking rewrite
Implements fixed-point silk_LPC_analysis_filter() in terms of celt_fir()