aboutsummaryrefslogtreecommitdiff
path: root/celt/vq.c
AgeCommit message (Collapse)Author
2019-04-08Fix build errors using Makefile.mipsMark Harris
Broken by earlier ARM optimizations.
2018-03-27Adding ENABLE_HARDENINGJean-Marc Valin
Enables "safes" assertions even with ENABLE_ASSERTIONS isn't set
2017-05-25Fixes unit tests that need arch-specific codeJean-Marc Valin
We now include the object files for those rather than attempt to problems.
2017-02-26Fix compiler warningsMark Harris
- 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
2016-08-15Removed a float operation that sneaked in in the fixed-point codeJean-Marc Valin
2016-08-15Speeding up PVQ search by allocating even more pulses in the projection.Jean-Marc Valin
2016-08-11Making stereo_itheta() use the same atan2() approximation as tonality_analysis()Jean-Marc Valin
2016-08-09SSE2 implementation of the PVQ searchJean-Marc Valin
We used the SSE reciprocal square root instruction to vectorize the serch rather than compare one at a time with multiplies. Speeds up the entire encoder by 8-10%.
2016-08-06Making signx[] an int in alg_quant() and removes unnecessary sign copyingJean-Marc Valin
No measurable speed change.
2016-08-06Speeding up PVQ using unlikely() and moving first position out of the loopJean-Marc Valin
Speeds up encoding by another ~1-2%
2016-08-06Getting gcc to use cmovs rather than branches in alg_quant()Jean-Marc Valin
Speeds up CELT encoding by around 5% on x86
2016-07-28cleanup: putting resynth flag in the contextJean-Marc Valin
2016-06-20Fixes minor code quality issues in CELTJean-Marc Valin
Reported by Durandal.
2015-10-07Fixes compile problems for MIPSRhishikesh Agashe
Brings MIPS in sync with the ARM/SSE optimizations that added "arch" parameters. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2014-10-03Cisco optimization for x86 & fixed pointxiangmingzhu
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>
2014-06-19MIPS optimizationsRhishikesh Agashe
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2014-01-23Speeding up extract_collapse_mask() slightlyJean-Marc Valin
2014-01-21Making decode_pulses() compute the L2-norm on the flyJean-Marc Valin
2014-01-21Save more integer divisions on ARM when we know the operands are positiveJean-Marc Valin
2014-01-04Making exp_rotation1() use MAC16_16(), which saves a few cycles on ARMJean-Marc Valin
2013-12-14fixed-point: adds rounding to some shifts to eliminate biasJean-Marc Valin
This reduces the peak decoding error by removing small (inaudible) spikes in the error at the frame boundaries. These were due to the frequency-domain bias ending up as a small pulse in the middle of the IMDCT overlap. None of this was ever audible, but fixing it is still cleaner.
2013-12-10Annotating pointer arguments with OPUS_RESTRICT and constJean-Marc Valin
2013-12-09Defining celt_inner_prod() and using it instead of explicit loops.Jean-Marc Valin
Also adds an SSE-optimized celt_inner_prod().
2012-07-18Replace C99 restrict keyword with OPUS_RESTRICT.Gregory Maxwell
We had previously advised people to -Drestrict on non-C99 compilers, but this creates problems for some of the MSVC headers. Instead this just uses a macro and defines it sanely.
2012-04-20s/FOUNDATION/COPYRIGHT OWNER/ in CELT code and "glue code"Jean-Marc Valin
Also added 3rd clause to "master" COPYING file
2012-04-20Misc changes to address Robert Sparks' commentsJean-Marc Valin
See http://www.ietf.org/mail-archive/web/codec/current/msg02833.html Still more changes to come
2011-10-24Optimization of the CBR loopKoen Vos
Also some comment/warning fixes
2011-09-25Avoiding more left shifts of negative valuesJean-Marc Valin
2011-09-13renames the libcelt/ directory to celt/Jean-Marc Valin
2011-04-28Moved all SILK source code to the silk/ directoryJean-Marc Valin
2011-04-25Loss rate adaptation for the CELT layerJean-Marc Valin
2011-03-31draft updateJean-Marc Valin
2011-03-23Build fixesJean-Marc Valin
2011-03-21Making mode switching use the same window as CELT (squared)Jean-Marc Valin
2011-03-18CELT updateJean-Marc Valin
With minor fixes
2011-03-18More project files updateJean-Marc Valin
2011-03-16Fixes a few PLC/DTX bugs due to the recent decode API changeJean-Marc Valin
2011-03-14Adding constrained VBR modeJean-Marc Valin
2011-03-14Draft update (allocationGregory Maxwell
2011-03-11Disable newly introduced CELT signallingJean-Marc Valin
2011-03-10Nothing to see hereJean-Marc Valin
2011-03-09CELT updateJean-Marc Valin
2011-03-07Support for glitchles mode switchingJean-Marc Valin
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.
2011-02-28SILK/CELT updateJean-Marc Valin
2011-02-14preparing the next versionJean-Marc Valin
2011-02-14missing filesJean-Marc Valin
2011-02-14SILK and CELT updatesJean-Marc Valin
2011-02-14Update for in-band FECKoen Vos
2011-02-04draft dateJean-Marc Valin
2011-02-04CELT updateJean-Marc Valin