summaryrefslogtreecommitdiff
path: root/silk/structs.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixes a SILK bandwidth switching regressionJean-Marc Valin2018-05-241-0/+1
| | | | | | | The bug was triggered because f982b84d started using prefill for SILK bandwidth changes, which reinitialized the encoder state and prevented the variable lowpass from working properly. To fix the problem, we preserve the sampling rate and variable low-pass when prefilling.
* Optimize silk_LPC_inverse_pred_gain() for ARM NEONLinfeng Zhang2017-02-141-0/+1
| | | | | | | | The optimization is bit exact with C function. Change-Id: Ib3bdc26a5a4ebe02e7f24be85104e8e9a2a9a738 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* removed prefilterKoen Vos2016-07-171-0/+1
| | | | The NSQ SSE optimizations are disabled for now because they need to be updated
* slight clean upKoen Vos2016-07-171-1/+0
|
* simplified computation of LTP coefsKoen Vos2016-07-171-1/+0
|
* NLSF decoding now uses tables for NLSF weightsKoen Vos2016-07-171-0/+1
|
* There are no tabs in source code.Timothy B. Terriberry2014-10-031-1/+1
| | | | There is also no trailing whitespace.
* Constrains accumulated pitch gain to avoid potential instability.Koen Vos2013-11-201-0/+1
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Adds Neon assembly for correlation/convolutionTimothy B. Terriberry2013-11-181-0/+2
| | | | | | | Optimizing celt_pitch_xcorr()/xcorr_kernel() which also speeds up FIRs, IIRs and auto-correlations Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Remove trailing whitespace from the license headers.Ralph Giles2013-09-161-1/+1
|
* Convert quotes in license headers to ASCII.Timothy B. Terriberry2013-05-191-1/+1
| | | | | | Since the last patch originally had them mangled (presumably by mailer, http server, or something else), let's just get rid of them.
* License update using the IETF Trust flavour of the BSD on the Silk codeJean-Marc Valin2012-04-201-17/+17
|
* Accuracy improvements to help float implementationsKoen Vos2011-12-141-6/+6
| | | | | Also clamps the gain to avoid forcing a float decoder to emulate the state rescaling.
* Improves the accuracy such that it matches a float decoder much betterKoen Vos2011-12-131-2/+2
|
* SILK fixes following last codec WG meetingKoen Vos2011-12-131-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | decoder: - fixed incorrect scaling of filter states for the smallest quantization step sizes - NLSF2A now limits the prediction gain of LPC filters encoder: - increased damping of LTP coefficients in LTP analysis - increased white noise fraction in noise shaping LPC analysis - introduced maximum total prediction gain. Used by Burg's method to exit early if prediction gain is exceeded. This improves packet loss robustness and numerical robustness in Burg's method - Prefiltered signal is now in int32 Q10 domain, from int16 Q0 - Increased max number of iterations in CBR gain control loop from 5 to 6 - Removed useless code from LTP scaling control - Optimization: smarter LPC loop unrolling - Switched default win32 compile mode to be floating-point resampler: - made resampler have constant delay of 0.75 ms; removed delay compensation from silk code. - removed obsolete table entries (~850 Bytes) - increased downsampling filter order from 16 to 18/24/36 (depending on frequency ratio) - reoptimized filter coefficients
* Fixes two SILK PLC issuesKoen Vos2011-10-281-1/+3
| | | | | - Calling the decoder for FEC when there's no LBRR should no longer crash - There should no longer be an issue with the PLC on frame size switching
* Reformatting changes with an update to the MSVC project filesKoen Vos2011-10-281-156/+156
|
* Implements hard CBR for SILKJean-Marc Valin2011-10-201-1/+1
| | | | | | | This is achieved by running the encoding process in a loop and padding when we don't reach the exact rate. It also implements VBR-with-cap, which means we no longer need to artificially decrease the SILK bandwidth when it's close to the cap.
* Misc bug fixesJean-Marc Valin2011-10-111-3/+4
| | | | | | | | | | | | | | | | | | | | - There was a bug where the decoder resampler was not properly initialized when fs_kHz == API_fs_kHz. In that case the resampler would continue to upsample, and the output was corrupt. - The delay value in the decoder was taken from the state before it was potentially updated. This caused the decoder to apply the new dalay value one frame late - The encoder and decoder states are now updated more consistently, when the sampling rate changes (pesq liked these changes) - Properly resetting the side channel encoder and decoder for the first frame with side coding active again - Faster updating the "ratio" value in the LR_to_MS() code for large prediction values means that for certain extreme/artificial input signals the output looks better
* Misc SILK fixes:Koen Vos2011-10-101-3/+2
| | | | | | - compile warning in opus_decoder.c - decoder state reduced by ~3 kB (by merging buffers, as Tim suggested) - some minor decoder optimizations (only the PLC is non-bit exact, so should be ok)
* Cleaner way to take into account the prediction for stereo widthKoen Vos2011-10-091-1/+0
|
* Avoids unnecessary collapse of the HF stereo image in hybrid mode.Jean-Marc Valin2011-10-091-0/+1
| | | | SILK now reports an "effective width" that takes into account side prediction.
* Proper SILK delay compensation for resamplingJean-Marc Valin2011-10-071-0/+4
| | | | | | | | Adds SILK delay compensation that depends on encode and decode sampling rate, as well as SILK internal coding rate. This ensures that the SILK part of Opus is always in sync with the CELT part no matter what the sampling rates are. It also increases the resampling delay to 1.15 ms (was previously 0.48 ms).
* Removed all the silk_ prefixes in source file names (not symbols)Jean-Marc Valin2011-09-161-0/+322
|
* Moved all SILK source code to the silk/ directoryJean-Marc Valin2011-04-281-6/+0
|
* Relying on SILK for the switching decisionsJean-Marc Valin2011-04-281-5/+5
|
* SILK makefile updateJean-Marc Valin2011-04-271-5/+5
|
* Changing the SILK bandwidth only when there's no speechJean-Marc Valin2011-04-271-29/+5
|
* SILK updateKoen Vos2011-04-271-5/+29
|
* Project files updateJean-Marc Valin2011-03-181-8/+5
|
* DTX fixJean-Marc Valin2011-03-171-5/+8
|
* Support for glitchles mode switchingJean-Marc Valin2011-03-071-5/+5
| | | | | | Uses a 5ms redundant CELT frame embedded into the SILK or hybrid packet to handle the switching. It's still possible to use the PLC-based method when no redundant packet is included.
* SILK bugfixJean-Marc Valin2011-03-031-5/+5
|
* SILK updateJean-Marc Valin2011-03-021-17/+5
|
* SILK/CELT updateJean-Marc Valin2011-02-281-10/+10
|
* SILK updateJean-Marc Valin2011-02-171-5/+17
|
* fix make distJean-Marc Valin2011-02-151-5/+5
|
* missing filesJean-Marc Valin2011-02-141-8/+5
|
* SILK and CELT updatesJean-Marc Valin2011-02-141-5/+8
|
* Update for in-band FECKoen Vos2011-02-141-9/+5
|
* Update Opus range coder due to CELT refactoring.Timothy B. Terriberry2011-02-031-5/+9
| | | | | The byte buffer is now part of the range coder struct itself, and rangeenc.c and rangedec.c have gone away.
* Build fixesJean-Marc Valin2011-02-031-5/+5
|
* Testing the range coder final stateKoen Vos2011-02-031-5/+5
|
* SILK updateJean-Marc Valin2011-02-021-5/+5
|
* SILK updateJean-Marc Valin2011-02-021-5/+5
|
* SILK update (fixing segfault) and MSVS fixJean-Marc Valin2011-02-021-5/+5
|
* SILK updateJean-Marc Valin2011-02-021-5/+5
|
* Disabling debugJean-Marc Valin2011-01-311-5/+5
|
* Adding missing SILK files to the buildJean-Marc Valin2010-11-131-5/+5
|
* Updated to follow changes in SILK APIJean-Marc Valin2010-11-121-5/+5
|