Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Optimize silk_warped_autocorrelation_FIX() for ARM NEON | Linfeng Zhang | 2017-04-13 | 8 | -10/+366 |
| | | | | | | | | | | | The optimization is bit exact with C function. This optimization speeds up fixed-point SILK encoder on NEON about 5% to 8%. (Tested on Acer Chromebook, ARMv7 Processor rev 3 (v7l).) Change-Id: I582f6f3585b7946149e16a2ad3084ebc0ae79a4f Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Fix compiler warnings | Mark Harris | 2017-02-26 | 6 | -17/+19 |
| | | | | | | | | | | | | | | | | | | | - celt/modes.c:430:14: warning: cast from 'const unsigned char *' to 'opus_int16 *' increases required alignment from 1 to 2 [-Wcast-align] - 'C[0][1]' may be used uninitialized [-Wmaybe-uninitialized] - Unused variable/parameter - Value stored is never read - MSVC warnings about "possible loss of data" due to type conversions - MSVC warning C4146: unary minus operator applied to unsigned type - silk/NLSF_del_dec_quant.c:137:20: warning: array subscript is above array bounds [-Warray-bounds] (gcc -O3 false positive) - src/mlp_train.h:39:20: warning: function declaration isn't a prototype [-Wstrict-prototypes] - Remove SMALL_FOOTPRINT code from SSE 4.1 FIR implementation, matching the C implementation. The clang -Wcast-align warnings with SSE intrinsics are a known clang issue: https://llvm.org/bugs/show_bug.cgi?id=20670 | ||||
* | Fix stability test | Jean-Marc Valin | 2017-02-18 | 1 | -1/+1 |
| | |||||
* | Speed up test_unit_LPC_inv_pred_gain by returning early on stable filters | Jean-Marc Valin | 2017-02-18 | 1 | -0/+10 |
| | |||||
* | Optimize silk_LPC_inverse_pred_gain() for ARM NEON | Linfeng Zhang | 2017-02-14 | 18 | -21/+384 |
| | | | | | | | | The optimization is bit exact with C function. Change-Id: Ib3bdc26a5a4ebe02e7f24be85104e8e9a2a9a738 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Adding a unit test for LPC_inv_pred_gain() | Jean-Marc Valin | 2017-02-14 | 1 | -0/+118 |
| | | | | | | | It checks that no clearly unstable filter passes the LPC_inv_pred_gain() test. Also, this will make it possible to check assembly for correctness. Modified from an original patch from Linfeng Zhang <linfengz@google.com>. | ||||
* | Remove silk_LPC_inverse_pred_gain_Q24() which is no longer used anywhere | Jean-Marc Valin | 2017-02-09 | 2 | -26/+0 |
| | |||||
* | fix ARM build w/--disable-intrinsics --enable-asm | James Zern | 2017-02-04 | 1 | -1/+1 |
| | | | | | | | | | and rtcd disabled (CFLAGS=-mfpu=neon) broken since: cfdaf365 Optimize silk_NSQ_del_dec() for ARM NEON Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Optimize silk_NSQ_del_dec() for ARM NEON | Linfeng Zhang | 2017-01-30 | 5 | -1/+1255 |
| | | | | | | | | | | | | | | | | The optimization is bit exact with C function. This optimization speeds up SILK encoder on NEON as following. Fixed-point: Complexity 0-5: 0% Complexity 6-7: 6% Complexity 8-9: 10% Complexity 10: 8% Got similar results on floating-point. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Avoids undefined behaviour in ARM-optimized code | Jean-Marc Valin | 2017-01-25 | 3 | -20/+35 |
| | | | | Casting to unsigned to avoid shifting negative values left. | ||||
* | Update NSQ_LPC_BUF_LENGTH macro | Linfeng Zhang | 2017-01-23 | 1 | -4/+0 |
| | | | | | | NSQ_LPC_BUF_LENGTH is independent of DECISION_DELAY. Signed-off-by: Felicia Lim <flim@google.com> | ||||
* | Add FIXED_POINT check if using celt_fir in SILK's LPC analysis filter | Felicia Lim | 2017-01-17 | 1 | -2/+2 |
| | | | | Use of celt_fir remains off by default | ||||
* | Revise celt_fir_c() to not pass in argument "mem" | Linfeng Zhang | 2017-01-17 | 1 | -5/+1 |
| | | | | | | | | The "mem" in celt_fir_c() either is contained in the head of input "x" in reverse order already, or can be easily attached to the head of "x" before calling the function. Removing argument "mem" can eliminate the redundant buffer copies inside. Update celt_fir_sse4_1() accordingly. | ||||
* | Fix some compiler warnings | Mark Harris | 2016-12-22 | 1 | -5/+0 |
| | |||||
* | Correct SILK encoder gain limit | Mark Harris | 2016-11-16 | 1 | -0/+1 |
| | | | | | | | Ensure that the SILK encoder's log gain is 63, not 64, when encoding a maximum-value delta gain index of 40. This matches the decoder and RFC 6716 4.2.7.4, and prevents an assertion failure in the rare case that the gain is later independently coded. | ||||
* | Remove SILK_DEBUG define when _WIN32 and _DEBUG are defined. | Ralph Giles | 2016-11-10 | 1 | -17/+4 |
| | | | | | This was just enabling commented-out code, setting a fixed default removes dead code. | ||||
* | Remove commented-out DEBUG_STORE_DATA calls. r=keon | Ralph Giles | 2016-11-10 | 5 | -6/+0 |
| | | | | | | | | | | | | | | Also remove the SILK_DEBUG_STORE_CLOSE_FILES flush call from opus_demo. This is debugging code which is no longer used, but defining the symbols for SILK_DEBUG_STORE_CLOSE_FILES and calling it from opus_demo causes linking problems on Microsoft Visual Studio where we have strict controls on public symbols and want to test the compiled DLL. Since the code isn't in active use, it's better to remove it to avoid clutter and address the linking issue. | ||||
* | Eliminate trailing spaces | Mark Harris | 2016-11-02 | 2 | -4/+4 |
| | |||||
* | Fixing some opus_int vs opus_int32 mismatches | Jean-Marc Valin | 2016-10-05 | 2 | -3/+4 |
| | | | | Reported by Mark Warner. | ||||
* | Fixes an overflow in LPC_inverse_pred_gain_QA() | Jean-Marc Valin | 2016-08-17 | 1 | -2/+13 |
| | | | | We now declare that anything that would overflow is not stable enough | ||||
* | Speeding up PVQ using unlikely() and moving first position out of the loop | Jean-Marc Valin | 2016-08-06 | 1 | -8/+0 |
| | | | | Speeds up encoding by another ~1-2% | ||||
* | Making it clearer to Coverity that nStates cannot exceed ↵ | Jean-Marc Valin | 2016-08-05 | 1 | -1/+1 |
| | | | | NLSF_QUANT_DEL_DEC_STATES | ||||
* | Fixes overflow in CNG | Jean-Marc Valin | 2016-07-30 | 1 | -1/+1 |
| | | | | (found through fuzzing) | ||||
* | Ensure that NLSF cannot be negative when computing a min distance between them | Felicia Lim | 2016-07-28 | 1 | -1/+1 |
| | | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Disabling the use of celt_fir() in silk_LPC_analysis_filter() by default | Jean-Marc Valin | 2016-07-25 | 1 | -2/+9 |
| | |||||
* | Fixes an overflow in limit_warped_coefs() | Jean-Marc Valin | 2016-07-25 | 1 | -4/+7 |
| | | | | | For large values of maxabs_Q20, silk_MUL( maxabs_Q20, ind + 1 ) could overflow. | ||||
* | Avoiding an overflow in the LTP quantization | Jean-Marc Valin | 2016-07-22 | 1 | -1/+1 |
| | | | | | Reduces the XX values to avoid an overflow in silk_VQ_WMat_EC(), even in floating-point. | ||||
* | Disables MIPS silk_noise_shape_analysis_FIX() until it's updated | Jean-Marc Valin | 2016-07-22 | 1 | -1/+2 |
| | |||||
* | More headroom in fixed-point silk_burg_modified() to avoid an overflow | Jean-Marc Valin | 2016-07-22 | 1 | -1/+1 |
| | |||||
* | Increase headroom in silk_warped_autocorrelation_FIX() | Jean-Marc Valin | 2016-07-22 | 1 | -1/+1 |
| | |||||
* | Increase headroom to avoid overflow in silk_pitch_analysis_core() | Jean-Marc Valin | 2016-07-22 | 1 | -1/+1 |
| | |||||
* | Avoids undefined behaviour from left-shifting negative values | Jean-Marc Valin | 2016-07-20 | 1 | -2/+2 |
| | |||||
* | Fix include warning | Tristan Matthews | 2016-07-19 | 1 | -0/+1 |
| | |||||
* | Fix include warning | Tristan Matthews | 2016-07-19 | 1 | -0/+1 |
| | |||||
* | Moving FEC decision to the Opus encoder level (from SILK level) | Jean-Marc Valin | 2016-07-19 | 5 | -27/+14 |
| | |||||
* | CBR: set gains to their previons values where we're busting the budget | Jean-Marc Valin | 2016-07-19 | 2 | -6/+42 |
| | |||||
* | Set pulses to zero if we can't meet rate target | Jean-Marc Valin | 2016-07-19 | 2 | -0/+26 |
| | |||||
* | Now that we're preventing huge gains, we no longer need to pretend there's | Jean-Marc Valin | 2016-07-19 | 2 | -7/+0 |
| | | | | no dither | ||||
* | CBR: lock the gain on a subframe when the number of pulses stops going down | Jean-Marc Valin | 2016-07-19 | 2 | -2/+50 |
| | |||||
* | merge back in the LTP gain safety limiter | Koen Vos | 2016-07-19 | 10 | -9/+74 |
| | |||||
* | CBR: Using the same gain increase for fixed-point as for float | Jean-Marc Valin | 2016-07-19 | 1 | -5/+10 |
| | |||||
* | comment about reduced codelength component in LTP quantizer error metric | Koen Vos | 2016-07-19 | 1 | -2/+3 |
| | |||||
* | avoid double if statement for finding best quantized LTP coefs | Koen Vos | 2016-07-19 | 1 | -4/+2 |
| | |||||
* | increase NSQ decision delay from 32 to 40 | Koen Vos | 2016-07-19 | 5 | -14/+20 |
| | |||||
* | reduced noise floor in noise shaping analysis by 2 dB | Koen Vos | 2016-07-19 | 1 | -1/+1 |
| | |||||
* | increase order of noise shaping filter | Koen Vos | 2016-07-19 | 6 | -13/+12 |
| | |||||
* | more conservative scaling of LTP corrs; remove assert that checks for ↵ | Koen Vos | 2016-07-19 | 7 | -36/+31 |
| | | | | negative residual energy; discard CB entries leading to such negative energies | ||||
* | Clean up: alignment of comments | Koen Vos | 2016-07-17 | 4 | -36/+36 |
| | |||||
* | Clean up: replace tabs by spaces | Koen Vos | 2016-07-17 | 23 | -146/+146 |
| | |||||
* | removed prefilter | Koen Vos | 2016-07-17 | 29 | -975/+256 |
| | | | | The NSQ SSE optimizations are disabled for now because they need to be updated |