summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Fixes unit tests that need arch-specific codeJean-Marc Valin2017-05-251-11/+15
| | | | | We now include the object files for those rather than attempt to problems.
* Optimize silk_warped_autocorrelation_FIX() for ARM NEONLinfeng Zhang2017-04-131-1/+6
| | | | | | | | | | | 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>
* Add common.props to Makefile.amRicardo Constantino2017-02-201-0/+1
| | | | Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Adding a unit test for LPC_inv_pred_gain()Jean-Marc Valin2017-02-141-4/+37
| | | | | | | 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>.
* genversion.bat: generate same version as update_versionRicardo Constantino2016-11-171-2/+1
| | | | | | | | | | | | | | 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>
* New regression test from Mark's fuzzing test casesJean-Marc Valin2016-10-291-1/+1
|
* vs2015: Merge opus dependencies into its project.Ricardo Constantino (:RiCON)2016-07-271-9/+0
| | | | | | | 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>
* Create a simple project to create version.h.Ricardo Constantino (:RiCON)2016-07-261-0/+1
| | | | | | | | | 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>
* Add Neon intrinsics for Silk noise shape quantization.Jonathan Lennox2016-07-061-2/+3
| | | | Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* Rename OPUS_ARM_NEON_INTR AM_CONDITIONAL as HAVE_ARM_NEON_INTR, for ↵Jonathan Lennox2016-07-061-2/+2
| | | | | | consistency with x86. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* Update EXTRA_DIST to ship the VS2015 project files.Ralph Giles2016-05-181-19/+19
| | | | Thanks to derf for the report.
* armv7(float): Optimize encode usecase using NE10 libraryViswanath Puttagunta2015-10-071-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Move the external ARM asm to a separate library.Timothy B. Terriberry2015-10-071-7/+7
| | | | | | | | 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>.
* Reorganize x86 SSE intrinsics code.Jonathan Lennox2015-09-011-0/+3
| | | | | | | | 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.
* Move SSE2 and SSE4.1 intrinsics functions to separate files, to be compiled ↵Jonathan Lennox2015-09-011-12/+25
| | | | 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.
* Reorganize configure's detection of intrinsics functions:Jonathan Lennox2015-09-011-4/+3
| | | | | | | 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.
* Adds MIPS files to the make dist tarballJean-Marc Valin2015-02-111-0/+1
|
* armv7: celt_pitch_xcorr: Introduce ARM NEON intrinsicsViswanath Puttagunta2014-12-251-0/+12
| | | | | | | | | | | | | | 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>
* tests: fix linking for --enable-fixed-point on ARMv1.1.1-betaTristan Matthews2014-10-121-0/+10
|
* Cisco optimization for x86 & fixed pointxiangmingzhu2014-10-031-0/+21
| | | | | | | | | | 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>
* Fix iOS builds with assembly.Timothy B. Terriberry2014-03-261-1/+1
| | | | | | | | | | | | 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.
* Make the arm2gnu.pl converter handle apple specific detailsMartin Storsjo2014-03-191-1/+1
| | | | | | | | | 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>
* More make dist fixesRon2013-11-191-1/+2
| | | | | 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.
* Fix 'make distclean'.Ralph Giles2013-11-191-0/+3
| | | | | | | | | 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.
* ASM build fixTimothy B. Terriberry2013-11-181-1/+1
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Adds Neon assembly for correlation/convolutionTimothy B. Terriberry2013-11-181-1/+20
| | | | | | | Optimizing celt_pitch_xcorr()/xcorr_kernel() which also speeds up FIRs, IIRs and auto-correlations Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Exposes --disable-float-api in autoconfJean-Marc Valin2013-11-041-0/+3
|
* First pass at making the analysis code run with FIXED_POINTJean-Marc Valin2013-09-061-1/+2
| | | | | Code is still float, but at least tonality esitmation seems to work. Speech/music analysis is still disabled.
* Link libopus itself with libm tooRon2013-07-021-0/+1
|
* Make the parallel test mode of automake 1.13 useableRon2013-06-291-0/+4
|
* Replace INCLUDES with AM_CPPFLAGSRon2013-06-291-1/+2
| | | | Automake 1.13 complains that INCLUDES is obsoleted now.
* More autoconf housekeepingRon2013-06-291-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Updates the Makefile.am EXTRA_DIST for the MSVC reorgJean-Marc Valin2013-06-271-19/+19
|
* Add run-time CPU detection and support for ARM architectureAurélien Zanelli2013-06-041-0/+4
| | | | | | | | | | | | 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>
* Add an option to disable build of extra programs (demos and tests)Aurélien Zanelli2013-05-261-0/+4
|
* Add support for autoconf macros in m4/Ron2013-05-201-0/+1
| | | | | | | | | | | 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.
* Don't fail hard if package_version does not existRon2013-05-111-0/+3
| | | | | | 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.
* Fully automate version updatingRon2013-05-111-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add a regression test for the padding issue.Ralph Giles2012-11-301-2/+5
| | | | | | | | This is a heavily modified version of the demonstration program Jüri Aedla posted to the mailing list. Verified to pass with the current commit, but fail with the tree from two commits ago. http://lists.xiph.org/pipermail/opus/2012-November/001834.html
* cd doc && make is not the same as make -C docRon2012-10-191-6/+6
| | | | | | | Fixes a regression in the recursive builds introduced in 5467ce7b3f8 that causes `make check-opus` to fail horribly. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Merge branch 'exp_analysis7'Jean-Marc Valin2012-10-091-0/+1
|\ | | | | | | | | | | | | | | Conflicts: celt/celt.c celt/mdct.c include/opus_defines.h src/opus_encoder.c
| * Fixes make distJean-Marc Valin2012-07-131-0/+4
| |
| * Builds the analysis files more cleanly than #including C filesJean-Marc Valin2012-07-131-4/+1
| |
* | bump version, include Makefile.unixJean-Marc Valin2012-08-311-0/+1
| |
* | Add an m4 macro set for pkgconfig less usage with autotools.Gregory Maxwell2012-08-301-0/+3
| |
* | Avoid using make -C, a gnuism, in Makefile.am.Gregory Maxwell2012-08-291-6/+6
| | | | | | | | | | Instead use cd inside the makefiles. This fixes 'make check', etc. with some non-gnu makes. (HPUX, for example)
* | Include tests/run_vectors.sh in EXTRA_DIST.Gregory Maxwell2012-08-191-0/+1
| |
* | Move the release version string to version.mk.Ralph Giles2012-08-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we defined the release version string in configure.ac, and overrode that with 'git describe --tags' if possible. This made it difficult for non-autoconf builds to set their version string correctly. Instead we create, and check into version control, a file called version.mk which defines OPUS_VERSION. The configure script reads that file and uses it as a fallback if the git revision isn't available. The expectation is that version.mk will be manually updated for releases, just as the previous configure.ac version was. However, since this is a simpler format, it is easier for alternate build systems to use, reducing the number of places which must be updated. Also removes the OPUS_MINOR_VERSION, etc. defines from config.h.
* | Use configure.ac provided soname versioning.Gregory Maxwell2012-08-101-1/+1
| |
* | Add MSVC makefiles to the dist tarball.Gregory Maxwell2012-08-091-1/+23
| |