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

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-10Only build platform RTCD sources when enabled.Timothy B. Terriberry
To avoid issues with empty compilation units.
2022-07-08cmake - fix rtcd detection on x86 non windowsMarcus Asteborg
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
2021-05-12cmake - add support to run ctest on android #2347Marcus Asteborg
Signed-off-by: Ralph Giles <giles@thaumas.net>
2020-10-28Add support for Meson build systemTim-Philipp Müller
Tested on: - Linux/x86* with gcc - Android armv7 arm64 x86 x86_64 with clang - Windows x86 x86_64 with Visual Studio 2017 - Windows x86 x86_64 with MinGW - macOS x86_64 with clang - iOS arm64 x86_64 with clang Co-authored by: Nirbheek Chauhan <nirbheek@centricular.com> https://gitlab.xiph.org/xiph/opus/-/merge_requests/13
2020-08-08cmake - fix bugs around consuming Opus as a submodule in cmake and package ↵Marcus Asteborg
version parsing
2020-06-13cmake - move cmake related files to cmake folder to make root dir less busyMarcus Asteborg
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
2020-06-01Build trivial_example by default.Ralph Giles
Add doc/trivial_example.c to the autotools build so we get some minimal verification that the code compiles. Signed-off-by: Mark Harris <mark.hsj@gmail.com>
2020-04-21cmake - Add variable length detection and alloca detectionMarcus Asteborg
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2019-04-26Add mising cmake file from make distexp_ignoreJean-Marc Valin
Thanks to theislander on HA for reporting this.
2019-04-03Adding CMake support for Windows, Mac, Linux and Android Co-Authored-By: evpobrMarcus Asteborg
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2018-03-27Adding ENABLE_HARDENINGJean-Marc Valin
Enables "safes" assertions even with ENABLE_ASSERTIONS isn't set
2017-11-08Support for Channel Mapping 253Andrew Allen
OpusProjection* classes MixingMatrix class Projection tests Change-Id: I98644466abf4ffd36e48bdecad1204d69e1539b9 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-05-26Fixes unit tests that need arch-specific codeJean-Marc Valin
We now include the object files for those rather than attempt to problems.
2017-04-14Optimize silk_warped_autocorrelation_FIX() for ARM NEONLinfeng Zhang
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>
2017-02-21Add common.props to Makefile.amRicardo Constantino
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
2017-02-15Adding a unit test for LPC_inv_pred_gain()Jean-Marc Valin
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>.
2016-11-18genversion.bat: generate same version as update_versionRicardo Constantino
Remove version.mk and references to it in the repo. genversion.bat will now generate the same version strings as update_version script, i.e. without 'v' prefix and without a fallback if git archive is used. If run from a release tarball it'll use package_version, like configure. If run from a git repo, it will use the same 'git describe' with '-dirty' as update_version. Signed-off-by: Ralph Giles <giles@thaumas.net>
2016-10-29New regression test from Mark's fuzzing test casesJean-Marc Valin
2016-07-27vs2015: Merge opus dependencies into its project.Ricardo Constantino (:RiCON)
Since DLL builds can't include both fixed and float, separate DLL_fixed configurations added that include fixed silk code and also set FIXED_POINT. Signed-off-by: Ralph Giles <giles@mozilla.com>
2016-07-26Create a simple project to create version.h.Ricardo Constantino (:RiCON)
Run before any other project. Avoids trying to create and replace version.h more than once which led to file-locking errors with multicore builds. Signed-off-by: Ralph Giles <giles@mozilla.com>
2016-07-07Add Neon intrinsics for Silk noise shape quantization.Jonathan Lennox
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2016-07-07Rename OPUS_ARM_NEON_INTR AM_CONDITIONAL as HAVE_ARM_NEON_INTR, for ↵Jonathan Lennox
consistency with x86. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2016-05-18Update EXTRA_DIST to ship the VS2015 project files.Ralph Giles
Thanks to derf for the report.
2015-10-08armv7(float): Optimize encode usecase using NE10 libraryViswanath Puttagunta
Optimize opus encode (float only) usecase using ARM NE10 library. Mainly effects opus_fft and ctl_mdct_forward and related functions. This optimization can be used for ARM CPUs that have NEON VFP unit. This patch only enables optimizations for ARMv7. Official ARM NE10 library page available at http://projectne10.github.io/Ne10/ To enable this optimization, use --enable-intrinsics --with-NE10=<install_prefix> or --enable-intrinsics --with-NE10-libraries=<NE10_lib_dir> --with-NE10-includes=<NE10_includes_dir> Compile time checks made during configure process to make sure optimization option available only when compiler supports NEON instrinsics. Runtime checks made to make sure optimized functions only called on appropriate hardware. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2015-10-08Move the external ARM asm to a separate library.Timothy B. Terriberry
This library is linked statically with libopus.so, so nothing changes on an installed system. This merely simplifies linking in the unit tests. Based in part on a patch originally by Viswanath Puttagunta <viswanath.puttagunta@linaro.org>.
2015-09-02Reorganize x86 SSE intrinsics code.Jonathan Lennox
Enable x86 intrinsics when building in floating-point mode. Support SSE as an arch value. Use RTCD to conditionally enable existing floating-point Celt SSE code. Call functions directly (without RTCD) when their architecture can be presumed. Use SSE4.1 intrinsics optimized code for Silk even in floating-point mode.
2015-09-02Move SSE2 and SSE4.1 intrinsics functions to separate files, to be compiled ↵Jonathan Lennox
with appropriate compiler flags. Otherwise, compilers are allowed to take advantage of (e.g.) -msse4.1 to generate code that uses SSE4.1 instructions, even when no SSE4.1 intrinsics are explicitly used in the source.
2015-09-02Reorganize configure's detection of intrinsics functions:Jonathan Lennox
Actually try to compile intrinsics rather than using the output of --help. Allow caller of configure script to set custom compiler options to enable intrinsics. Detect when intrinsics are always available, without needing special compiler options. Make naming of #defines for detected intrinsics support more systematic.
2015-02-11Adds MIPS files to the make dist tarballJean-Marc Valin
2014-12-26armv7: celt_pitch_xcorr: Introduce ARM NEON intrinsicsViswanath Puttagunta
Optimize celt_pitch_xcorr function (for floating point) using ARM NEON intrinsics for SoCs that have NEON VFP unit. To enable this optimization, use --enable-intrinsics configure option. Compile time and runtime checks are also supported to make sure this optimization is only enabled when the compiler supports NEON intrinsics. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2014-10-12tests: fix linking for --enable-fixed-point on ARMv1.1.1-betaTristan Matthews
2014-10-04Cisco 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-03-26Fix iOS builds with assembly.Timothy B. Terriberry
The patch in 76e831d917ff got us most of the way there, but out-of-tree builds required a second Makefile.am rule, which was missing @ARM2GNU_PARAMS@. Also, the arm2gnu.pl was terminating argument processing on any argument beginning with --, rather than an argument that was just -- by itself (as is the normal convention in GNU programs). That meant it never saw the --apple flag even when it was passed. Thanks to Jonathan Lennox for the report and for testing.
2014-03-20Make the arm2gnu.pl converter handle apple specific detailsMartin Storsjo
This allows building the arm assembly for iOS. This checks for the __APPLE__ preprocessor built-in define to determine whether this extra handling should be enabled. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2013-11-19More make dist fixesRon
Don't include the generated celt/arm/celt_pitch_xcorr_arm-gnu.S in the dist tarball, but do include its celt_pitch_xcorr_arm.s source file.
2013-11-19Fix 'make distclean'.Ralph Giles
Automake's dependency tracking seems to be confused by our asm generation double-indirection. It's sufficient to have just CLEANFILES = $(CELT_AM_SOURCES_ARM_ASM:.s.in=-gnu.S) to fix the error about 'armopts-gnu.S' not being cleaned, but celt_pitch_xcorr_arm-gnu.S is also not cleaned without raising a warning. Therefore we explicitly clean both sets of ARM_ASM.
2013-11-18ASM build fixTimothy B. Terriberry
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-11-04Exposes --disable-float-api in autoconfJean-Marc Valin
2013-09-07First pass at making the analysis code run with FIXED_POINTJean-Marc Valin
Code is still float, but at least tonality esitmation seems to work. Speech/music analysis is still disabled.
2013-07-02Link libopus itself with libm tooRon
2013-06-29Make the parallel test mode of automake 1.13 useableRon
2013-06-29Replace INCLUDES with AM_CPPFLAGSRon
Automake 1.13 complains that INCLUDES is obsoleted now.
2013-06-28More autoconf housekeepingRon
Drop the test for getopt, it's not used anywhere anymore. Switch the last uses of AC_TRY_COMPILE to AC_COMPILE_IFELSE now. The former is marked as obsolete, and this will leave no confusion about which to cut and paste if new tests are added. Double quote all the parameters to AC_LANG_SOURCE and AC_LANG_PROGRAM. This is actually required, even if you can get away with not doing it sometimes, so again set a good example for future changes to follow, to hopefully avoid people getting bitten harder than they need to be. Don't bother checking for alloca if we're never going to use it (ie. if we have C99 variable-size array support). The test for this is a bit sketchy anyway ... we separately test for HAVE_ALLOCA_H and USE_ALLOCA, but the test for USE_ALLOCA depends upon having alloca.h present, yet the use of these macros in stack_alloc.h only tests for HAVE_ALLOCA_H inside of a test for USE_ALLOCA. I'm not going to change this logic right now, since I don't know what crazy system it was attempting to cater for, though I suspect it was one that was not using the autoconf build system ... since with the current test that combination should not be possible to obtain. Use LT_LIB_M instead of the song and dance with testing for exp(). This should also work for BeOS which is what the exp test was added for. It also means we don't unconditionally add -lm to everything via LIBS. Use LIBM now instead of hardcoding -lm everywhere. Use AS_HELP_STRING to format all option descriptions. Don't bother to test for doxygen if using it is --disable'd. Drop the SYMBOL_VISIBILITY export, it isn't used anywhere (we add the compiler flag to CFLAGS).
2013-06-27Updates the Makefile.am EXTRA_DIST for the MSVC reorgJean-Marc Valin
2013-06-05Add run-time CPU detection and support for ARM architectureAurélien Zanelli
Run-time CPU detection (RTCD) is enabled by default if target platform support it. It can be disable at compile time with --disable-rtcd option. Add RTCD support for ARM architecture. Thanks to Timothy B. Terriberry for help and code review Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2013-05-27Add an option to disable build of extra programs (demos and tests)Aurélien Zanelli
2013-05-20Add support for autoconf macros in m4/Ron
Needed by commit 972a34ec2c79d241318af24389b8ee042d10556a. Use autoreconf in autogen.sh instead of the handwritten version, it's simpler, and also updates things that we weren't handling. Drop the hand-written INSTALL file. Its information content was ~zero, and autotools wants to overwrite it with its own version, so don't fight that, just .gitignore it.
2013-05-11Don't fail hard if package_version does not existRon
There's currently at least one way that people can legitimately get a tarball that doesn't include it, via the gitweb snapshots, so create it rather than considering that an error to be manually fixed.
2013-05-10Fully automate version updatingRon
This one meets or exceeds the following requirements: - Version is checked/updated for every build action when in the git repo. Does not require the user to re- ./configure to get the correct version. - Version is not updated automatically when using exported tarball source. Avoids accidentally getting a wrong version from some other git repo in a parent directory of the source, and allows setting the correct version for distro package exports. - Automatic updating can be manually suppressed. For developers doing lots of change/rebuild cycles they don't plan to release, when they don't want a full rebuild triggered for every commit, and again for every change made immediately after a commit. The version will still always be updated if they do a `make dist`. - Does not require any manual updating of versions in the mainline git repo for each release aside from normal tagging. The version is recorded in one file only, that is automatically generated and will never need to be committed. - Does not require gnu-make features for the autoconf builds. It does not currently: - Keep a checksum of every source file in tarball releases to mangle the version if people modify the tarball source. Responsible people can manually update the version easily though in such cases. The version.mk file is now only used by the VC project files. Once they are updated to use the package_version file too, then it can be deleted from the repository.