summaryrefslogtreecommitdiff
path: root/silk/main.h
Commit message (Collapse)AuthorAgeFilesLines
* removed prefilterKoen Vos2016-06-031-8/+8
| | | | The NSQ SSE optimizations are disabled for now because they need to be updated
* simplified computation of LTP coefsKoen Vos2016-06-021-18/+14
|
* take advantage of more efficient NLSF quantization by reducing number of ↵Koen Vos2016-06-021-3/+2
| | | | | | survivors in search JMV: edited to be a little more conservative
* NLSF VQ now uses absolute error, and predictionKoen Vos2016-06-021-0/+1
|
* NLSF decoding now uses tables for NLSF weightsKoen Vos2016-06-021-2/+3
|
* Fixes compile problems for MIPSRhishikesh Agashe2015-10-071-19/+0
| | | | | | Brings MIPS in sync with the ARM/SSE optimizations that added "arch" parameters. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* There are no tabs in source code.Timothy B. Terriberry2014-10-031-1/+1
| | | | There is also no trailing whitespace.
* Cisco optimization for x86 & fixed pointxiangmingzhu2014-10-031-7/+59
| | | | | | | | | | 1. Only for fixed point on x86 platform (32bit and 64bit, uses SIMD intrinsics up to SSE4.2) 2. Use "configure --enable-fixed-point --enable-intrinsics" to enable optimization, default is disabled. 3. Official test cases are verified and passed. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* Store decoded SILK pulses as 16-bit vectorJean-Marc Valin2014-01-061-4/+4
| | | | This saves 640 bytes on the peak stack usage.
* Using the maximum frequency response of pitch taps instead of maxabsJean-Marc Valin2013-11-201-0/+1
|
* Constrains accumulated pitch gain to avoid potential instability.Koen Vos2013-11-201-0/+3
| | | | 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.
* Uses opus_int32 for fs_API_Hz parameter in silk_decoder_set_fsJean-Marc Valin2012-04-241-1/+1
|
* License update using the IETF Trust flavour of the BSD on the Silk codeJean-Marc Valin2012-04-201-17/+17
|
* Last part of the LPC work stabilization work discussed at the last meetingKoen Vos2012-01-311-1/+1
| | | | | Also adds the encoder part of commit ee8adbe701 as well as a few minor cleanups.
* 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-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Reformatting changes with an update to the MSVC project filesKoen Vos2011-10-281-227/+208
|
* Optimization of the CBR loopKoen Vos2011-10-241-0/+6
| | | | Also some comment/warning fixes
* Implements glitchless switching between SILK bandwidthsJean-Marc Valin2011-10-211-1/+2
| | | | | | | | Only encoder changes were necessary because this uses the same "redundant frames" mechanism as SILK<->CELT switching. This also fixes a regression introduced in 78291b27 that was causing the encoder to go back and forth between bandwidths when SILK wasn't ready to change.
* Fix the side frame conditional coding rules.Timothy B. Terriberry2011-10-171-4/+8
| | | | | | | | | | | | | | | | | | | | b24e5746 introduced changes to LastGainIndex which broke conditional coding for side frames after a mid-only frame (i.e., in a 60 ms frame where the side is coded, not coded, then coded again). These rules were a mess in general, however, because the side channel state kept a different nFramesDecoded count from the mid channel state, and had no way to tell if the prior side frame was coded. This patch attempts to rationalize them by moving the conditional coding decision up to the top level, where all this information is available. The first coded side frame after an uncoded side frame now always uses independent coding. If such a frame is also not the first side frame in an Opus frame, then it doesn't include an LTP scaling parameter (because the LTP state is well-defined).
* Misc bug fixesJean-Marc Valin2011-10-111-2/+3
| | | | | | | | | | | | | | | | | | | | - 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
* Proper SILK delay compensation for resamplingJean-Marc Valin2011-10-071-0/+2
| | | | | | | | 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).
* SILK updateKoen Vos2011-10-061-0/+1
| | | | | | Simplifies mono/stereo switching in SILK Fixes a quantization mismatch between encoder and decoder Constrains the pitch lags in the same way in the encoder and decoder
* Misc. silk/ cleanups: static inline things which are only used in one file.Gregory Maxwell2011-09-281-6/+0
|
* Fix some GCC warings in the silk/ directory.Gregory Maxwell2011-09-271-1/+0
|
* Removed all the silk_ prefixes in source file names (not symbols)Jean-Marc Valin2011-09-161-0/+448
|
* 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
|