Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-06-19MIPS optimizationsRhishikesh Agashe
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-18Adds Neon assembly for correlation/convolutionTimothy B. Terriberry
Optimizing celt_pitch_xcorr()/xcorr_kernel() which also speeds up FIRs, IIRs and auto-correlations Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-10-28Replace "inline" with OPUS_INLINE.Gregory Maxwell
Newer versions of MSVC are unhappy with the strategy of the build environment redefining "inline" (even though they don't support the actual keyword). Instead we define OPUS_INLINE to the right thing in opus_defines.h. This is the same approach we use for restrict.
2013-09-17Remove trailing whitespace from the license headers.Ralph Giles
2013-05-21Move ARM asm into its own directories.Timothy B. Terriberry
2013-05-20Convert quotes in license headers to ASCII.Timothy B. Terriberry
Since the last patch originally had them mangled (presumably by mailer, http server, or something else), let's just get rid of them.
2013-05-20Add ARMv4/ARMv5E macros.Timothy B. Terriberry
Original patch by Aurélien Zanelli <aurelien.zanelli@parrot.com>: http://lists.xiph.org/pipermail/opus/2013-May/002078.html Revised version: - Add autconf detection (ported from libtheora). - Rename ARM5E to ARMv5E (an ARM5 is not the same thing as ARMv5!). - Use actual macros so they can still be selectively overridden. - Split out ARMv4 parts and add a few more ARMv4 macros. - Label blocks to make them easy to find in generated assembly. - Fix MULT16_32_Q15() so we can pass make check. The MDCT test passes in values larger than 2**30 for b. The new version should be just as fast (or faster, since it's easier to merge the shift with following instructions), and there's no appreciable impact on accuracy (FFT/MDCT SNR actually goes up in most cases). - Fix register constraints. We were using early-clobber flags in a bunch of places that didn't need them, and commutative-pair flags in a bunch of places that weren't actually commutative. This was Jean-Marc's fault (the original code came from Speex). - Simplify silk_CLZ16(). - Port over iFFT C_MULC asm by Andree Buschmann <AndreeBuschmann@t-online.de> from Rockbox. - Speed up the C_MULC asm by using LDRD, allowing more flexible addressing, re-ordering instructions to avoid some stalls, allowing more flexible register allocation, and getting things out of the inline asm block so the compiler can schedule them better. - Add C_MUL and C_MUL4 asm for the FFT to the encoder based, on the new C_MULC. In total, this patch gives a 22.3% speed-up on test_opus_encoder on a 600 MHz Cortex A8 using gcc 4.2.1, When restricted to ARMv4 optimizations, it gives a 9.6% speed-up on the same processor/compiler. On the conformance test vectors: Average mono quality is 97.0583 % Average stereo quality is 97.775 %
2012-10-10Improvements to the pitch searchKoen Vos
Normalizes the cost function by (x+y) instead of sqrt(x*y)
2012-09-27Fix common misspellingsPhilip Jägenstedt
I stumbled upon the typo in README.draft, so took the opportunity to grep for common misspellings using List_of_common_misspellings.txt for hunspell.
2012-05-23Use 'frame' instead of 'signal', take out stdlib.h in silk/.Gregory Maxwell
On MacOS, stdlib.h ends up including sys/signal.h, generating warnings about the local variables called 'signal' shadowing the global symbol signal(3). This was originally done in 86476906 but it missed some use of 'signal' in prototypes in headers where it didn't cause warnings. Later the prototypes were moved around and the warnings came back. This also cleans up some cases in where stdlib.h was used but shouldn't be required.
2012-04-24Merge commit '390c89225d'Jean-Marc Valin
2012-04-21License update using the IETF Trust flavour of the BSD on the Silk codeJean-Marc Valin
2012-04-02Remove trailing whitespace.Ralph Giles
Also fixes a minor typo.
2012-03-06Removes a number of macro definitions which are used nowhere in the codebase.Gregory Maxwell
2011-12-13SILK fixes following last codec WG meetingKoen Vos
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
2011-12-02Rename '_FOO' to avoid potentional collisions with reserved identifiers.Ralph Giles
C reserves identifiers of the from _[A-Z]+ and we have a number of those in the code. This patch renames the various function arguments, MACROS and preprocessor symbols to avoid the reserved form. It also removes the CHANNELS() macro altogether. This was a minor optimization for TI DSP to force a mono-only build, as were the associated local 'const' versions. Since stereo support is manditory, it wasn't worth keeping. Thanks to John Ridges for raising the issue, and Jean-Marc Valin and Greg Maxwell for reviewing the changes.
2011-10-29Reformatting changes with an update to the MSVC project filesKoen Vos
2011-10-27Allow wrap-around in silk_LPC_analysis_filter()Jean-Marc Valin
2011-10-20Implements hard CBR for SILKJean-Marc Valin
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.
2011-10-12Gets rid of a "safe" signed overflow in silk_DIV32_varQ()Jean-Marc Valin
2011-09-29Misc. silk/ cleanups: static inline things which are only used in one file.Gregory Maxwell
2011-09-28More resampler cleanups.Gregory Maxwell
2011-09-28Eliminate function pointers from the resampler.Gregory Maxwell
2011-09-23Making the left shift macros use unsigned to avoid undefined behaviourJean-Marc Valin
Result should be bit-identical on most machines/compilers, minus the undefined behaviour
2011-09-21Fixes an integer overflow caused by uninitialized values in LTP scalingKoen Vos
2011-09-16Removed all the silk_ prefixes in source file names (not symbols)Jean-Marc Valin
2011-04-29Moved all SILK source code to the silk/ directoryJean-Marc Valin
2011-04-28Relying on SILK for the switching decisionsJean-Marc Valin
2011-04-28SILK makefile updateJean-Marc Valin
2011-04-27Changing the SILK bandwidth only when there's no speechJean-Marc Valin
2011-04-27SILK updateKoen Vos
2011-03-18Project files updateJean-Marc Valin
2011-03-17DTX fixJean-Marc Valin
2011-03-08Support 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-03-04SILK bugfixJean-Marc Valin
2011-03-02SILK updateJean-Marc Valin
2011-03-01SILK/CELT updateJean-Marc Valin
2011-02-18SILK updateJean-Marc Valin
2011-02-15fix make distJean-Marc Valin
2011-02-15missing filesJean-Marc Valin
2011-02-15SILK and CELT updatesJean-Marc Valin
2011-02-14Update for in-band FECKoen Vos
2011-02-04Update Opus range coder due to CELT refactoring.Timothy B. Terriberry
The byte buffer is now part of the range coder struct itself, and rangeenc.c and rangedec.c have gone away.
2011-02-03Build fixesJean-Marc Valin
2011-02-03Testing the range coder final stateKoen Vos
2011-02-03SILK updateJean-Marc Valin
2011-02-03SILK updateJean-Marc Valin
2011-02-03SILK update (fixing segfault) and MSVS fixJean-Marc Valin
2011-02-02SILK updateJean-Marc Valin
2011-02-01Disabling debugJean-Marc Valin