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
2013-12-17configure.ac: fix bashism in ARM optimization handlingPeter Korsgaard
Breaks configure when /bin/sh isn't bash with: configure: Trying to force-enable ARMv6 media instructions... checking if assembler supports ARMv6 media instructions on ARM... yes configure: Trying to force-enable NEON instructions... checking if assembler supports NEON instructions on ARM... yes ./configure.lineno: 12799: Bad substitution Fix it by using the %% expansion to remove everything from the first space instead. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-12-05Bump sonamev1.1Jean-Marc Valin
2013-12-03Revert "Disables assembly optimizations by default because of several ↵v1.1-rc3Jean-Marc Valin
problems reported" This reverts commit 2446445b15e0a1961e1566006b34c586fd3162c4.
2013-12-03Disables assembly optimizations by default because of several problems reportedJean-Marc Valin
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-07-13Always try to update the version when autogen.sh is runRon
This avoids at least one case where ./autogen.sh && ./configure && make will re-run configure because the makefile rules updated something that it depends upon. Pulling a new version from git will change the version so we should update that at the first step rather than iterating after the last one.
2013-07-01Get rid of PC_LIBMRon
It only existed to not include -lm in the .pc for fixed point builds, but that is still needed since the float API is still enabled and will use at least lrint.
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-08Drop the stdint size tests that we never use anywhereRon
These were probably cribbed from libogg, but we don't use them here, opus_types.h instead has a list of hardcoded arch definitions.
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-23Minor configure adjustment.Timothy B. Terriberry
Define ARMv4_ASM to 1 like the other ARM defines.
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-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 %
2013-05-18Use m4_esyscmd instead of m4_esyscmd_sRon
We shouldn't ever have any trailing newlines that need trimming here, and the _s version wasn't added to m4sugar.m4 until autoconf 2.63b, so this will let it work with 2.13 again.
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.
2013-05-10Bump version to match 1.0.x branchJean-Marc Valin
2013-03-13Remove -Wdeclaration-after-statement.Ralph Giles
This causes warnings with the ALLOC() macro.
2013-03-11Add -Wdeclaration-after-statement.Ralph Giles
We keep accidentally adding these which break the -pedantic build, so complain about it in the normal build. Also de-duplicate the warning list.
2013-01-03Use AC_CONFIG_HEADERS.Ralph Giles
This avoids a warning about obsolete AM_CONFIG_HEADERS() on more recent autoconf. The new macro has been around at least since autoconf 2.60. So this should be safe.
2012-12-06Bump soname version to match the 1.0.x branch.Ralph Giles
Library soname versioning is something we normally change only right before each release. However, with 1.0.2 being released from the 1.0.x branch with 3.0.3, it makes sense to make the same update here. That way when we do a new release from master we can just increment again and have the version properly reflect ranges relative to the stable branch.
2012-11-30Remove obsolete check for endianness.Ralph Giles
We don't ever use the WORDS_BIGENDIAN cpp symbol in our code.
2012-11-15Enable maintainer mode by default on automake 1.11Ralph Giles
Passing 'enable' as an argument to AM_MAINTAINER_MODE flips the default to enabled, rather than disabled until automake 1.11. This is a safer default for a developer-oriented library. ./configure --disable-maintainer-mode is still available for packagers who what to preserve the upstream build distribution. On earlier automake versions, the argument appears to have no effect, so there is no behaviour change for developers using older autotools. Based on a patch for opusfile by ron@debian.org.
2012-09-19Just fix opus-uninstalled.pc instead of tweaking the build dirRon
Doing it this way means it's only the weird corner case that actually pays for being weird, and we don't litter the build dir with an extra link that normal builds really don't need at all. It also avoids the problem of platforms where LN_S isn't well defined.
2012-09-19Link the include dir into out-of-tree build dirsRon
Mostly this is for people building other things using an uninstalled opus tree so that the opus-uninstalled.pc will return a working -I with --cflags when PKG_CONFIG_PATH is set to point to the build dir. The version of AC_OUTPUT that takes parameters has long been deprecated now, and replaced by AC_CONFIG_* macros, so pass them with AC_CONFIG_FILES, since we're now using AC_CONFIG_COMMANDS to do the above.
2012-09-17Opus custom requires libm unconditionally.Ralph Giles
2012-09-17Add -lm to the pkg-config link line.Ralph Giles
The floating-point build calls a number of math library functions, and linking with libm is technically necessary. It wasn't obvious because most systems support shlib dependencies and pulled it in that way, or supply the referenced functions with intrinsics. Discovered the issue trying to build libopusfile against the uninstalled static libopus, which unlike opus-tools, doesn't itself need libm. The -lm argument is only added to Libs for the floating- point (default) build. It's not necessary for the fixed- point build. Also mark which build was used in the .pc file description.
2012-09-17Remove FLOATING_POINT from config.h.Ralph Giles
This isn't used anywhere in the code, floating point is just the default unless FIXED_POINT is defined. In the speex codebase, arch.h has a check that both FIXED_POINT and FLOATING_POINT aren't defined simultaneously, in part as a check that the build system was constructed with thought about these and other defines. However, we don't have such a check and to me it seems unnecessary code.
2012-09-01some doc for --enable-fixed-point and --enable-floating-pointv1.0.1-rc3Jean-Marc Valin
2012-08-29Completely remove the built-in autotools -fstatck-protector detection.Gregory Maxwell
On some systems (HPPA+HPUX+GCC) -fstatck-protector was causing failures not at build or link time but at actual runtime. This is much less reasonable to detect from autotools. It looks this this really can only safely be a white- list, and the systems which would be whitelisted often already pick up the setting from the OS build environment in any case. It isn't important for OPUS, we were just using it as belt-and-suspenders security and because it makes some failure types easier to troubleshoot.
2012-08-21Clarify a comment.Ralph Giles
Further cleanup of the confusion with the version string settings.
2012-08-21Propagate OPUS_VERSION to config.h.Ralph Giles
I'm not sure how this worked before, the the previous version string fiddling commit ended up not defining OPUS_VERSION in the autoconf build, so opus_get_version_string() returned 'unknown'.
2012-08-16Move the release version string to version.mk.Ralph Giles
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.
2012-08-16Bump version numberv1.0.1-rc2Jean-Marc Valin
2012-08-11Use configure.ac provided soname versioning.Gregory Maxwell
2012-08-09Disable stack-protector for mingw32 and remove win32 restrict define.Gregory Maxwell
2012-08-08Bump version number to 1.0.1 and set libtool versionv1.0.1-rcJean-Marc Valin
2012-07-07Make stack-protector check use AC_LINK_IFELSE.Gregory Maxwell
2012-06-29Add configure option to disable stack protector.Gregory Maxwell
2012-06-12Add -fixed to the version string & clarify that fixed disables float.Gregory Maxwell
2012-05-18Remove the obsolete LIBOPUS_SUFFIX define.Ralph Giles
As best we recall, this was used to version the library filename during rapid development. It's no longer needed now that the bitstream is frozen and isn't hooked up to anything in the build system.
2012-05-18Move the various version defines to be together.Ralph Giles
The config.h version defines were declared in the middle of the math feature testing. This commit moves it to the top of configure.ac where the other version number code resides.
2012-05-18Sync with draft -14Jean-Marc Valin
2012-05-16version bumpv0.9.11draft-13Jean-Marc Valin
2012-05-16Make vararray and restrict checks fail GCC 2.95.3's broken implementation.Gregory Maxwell
2012-05-16Improve portability to BeOS via some configure.ac fixes and cleanups.Gregory Maxwell
2012-04-24Adds some references, bumps version numberJean-Marc Valin
2012-02-18Last updates for draft -11v0.9.9Jean-Marc Valin
- Draft updates - Updated code to produce and check test vectors - Making sure that the test vectors pass at all rates as well as for mono and stereo
2011-11-01version bumpJean-Marc Valin