summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* bump version for upcoming 1.1.1v1.1.11.1.1Jean-Marc Valin2015-11-242-2/+2
|
* Suppress generation of comb_filter_const_c when not used; avoid warning.Jonathan Lennox2015-11-031-0/+2
|
* Fix unit tests on ARM without RTCD (e.g. aarch64 or iOS).Jonathan Lennox2015-11-024-8/+4
|
* Declare silk_warped_LPC_analysis_filter_FIX_c in silk/fixed/main_FIX.h.Jonathan Lennox2015-11-022-0/+13
| | | | Fixes build failure on platforms with MAY_HAVE_SSE4_1 (but not PRESUME_SSE4_1) with --enable-intrinsics.
* Updating links for both https and new versionsv1.1.1-rcMark Harris2015-10-233-13/+13
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Corrections to docMark Harris2015-10-231-10/+21
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* configure: Remove empty else clauses from AS_IFTimothy B. Terriberry2015-10-161-3/+3
| | | | | | | | | | | These were causing "syntax error near unexpected token `fi'" in the generated configure on some systems, because they produced an else fi with no commands between the two.
* Adds "arch" argument to MIPS MDCTRhishikesh Agashe2015-10-081-2/+7
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Fix dump_modes output for fixed-point NE10.Timothy B. Terriberry2015-10-073-24/+10
| | | | | | | | Some of the fields present in NE10's float state struct are not present in the fixed-point version, but we were generating initializers for them anyway. Also, the float modes were not up-to-date with the output of dump_modes.
* armv7: Enable NE10's fixed-point FFT for the MDCTViswanath Puttagunta2015-10-074-32/+27
| | | | | | | Extends usage of NEON optimized fixed-point FFT optimizations in libNE10 to clt_mdct_forward and clt_mdct_backward. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* armv7: Optimize fixed point FFT using NE10 libraryViswanath Puttagunta2015-10-0715-114/+587
| | | | | | Uses NEON optimized fixed point FFT routines in NE10 library. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* test_unit_dft: Add nfft = 60, 240, 480 testsViswanath Puttagunta2015-10-071-0/+6
| | | | | Signed-off-by: Viswanath Puttagunta <viswanath.puttagunta@linaro.org> Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* armv7(float): Optimize decode usecase using NE10 libraryViswanath Puttagunta2015-10-0713-19/+211
| | | | | | | | | | | | Optimize opus decode (float only) use case using ARM NE10. Mainly effects opus_ifft and ctl_mdct_backward and related functions. Work based on previous Encode optimization using ARM NE10 library. See previous commit for details on how to enable this. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* armv7(float): Optimize encode usecase using NE10 libraryViswanath Puttagunta2015-10-0731-143/+1492
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>.
* Add entcode.c to the dump_modes binary.Timothy B. Terriberry2015-10-071-1/+1
| | | | | This is needed for the SMALL_DIV_TABLE constants added in commit ec5d01cbe486.
* Fixes compile problems for MIPSRhishikesh Agashe2015-10-078-34/+27
| | | | | | Brings MIPS in sync with the ARM/SSE optimizations that added "arch" parameters. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* trivial_example: Fix error messageMark Harris2015-10-071-3/+3
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Extra safety against NaNs in surround_analysis()Mark Harris2015-10-071-1/+1
| | | | | | | Fix out-of-bounds memory read in multichannel surround analysis with float input that contains NaNs. Found by afl-fuzz. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Preventing NaNs from crashing surround_analysis()Jean-Marc Valin2015-10-072-0/+17
|
* Remove spurious ACLOCAL_FLAGS variable from autogen.sh.Ralph Giles2015-09-251-1/+0
| | | | | | | autoreconf looks for ACLOCAL_*FLAGS in Makefile.am and will pass that on when it invokes aclocal. Furthermore, setting a local like this doesn't make it available to subcommands, so the line has no effect.
* Make it possible to pass in paths to opus_demo and opus_compare.jon_patchesJonathan Lennox2015-09-011-2/+2
| | | | | | | | | | This patch lets you pass paths for opus_demo and opus_compare to the run_vectors.sh script. The motivation for this was for my aarch64 patches (forthcoming), which I've been testing under qemu. I want to run an emulated opus_demo, but a native opus_compare, so the script completes in a reasonable amount of time.
* Create OPUS_FAST_INT64 macro, to abstract conditions where opus_int64 should ↵Jonathan Lennox2015-09-011-5/+8
| | | | | | | | | be used. This patch adds a macro abstracting the condition under which the silk math macros use opus_int64-based calculations rather than opus_int32. No substantive change, but will make it easier to adjust if additional such platforms are found in the future.
* Use ProjectReference rather than AdditionalDependencies for test programs, ↵Jonathan Lennox2015-09-015-20/+68
| | | | | | so build dependencies are right. Actually add source code to opus_demo project, and fix its include paths.
* Add intrinsics support to Visual Studio build.Jonathan Lennox2015-09-018-20/+119
|
* Reorganize x86 SSE intrinsics code.Jonathan Lennox2015-09-0122-202/+503
| | | | | | | | 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-018-229/+372
| | | | 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.
* Remove some unnecessary #includes from x86cpu.c.Jonathan Lennox2015-09-011-3/+0
|
* Fix struct initialization of CPU_Feature structure.Jonathan Lennox2015-09-011-1/+5
|
* Fix cpuid asm on 32-bit PIC.Jonathan Lennox2015-09-011-1/+15
|
* Fix instruction used for cpuid test.Jonathan Lennox2015-09-011-1/+1
|
* In optimized mode, don't force Clang to use explicit load/store for ↵Jonathan Lennox2015-09-011-8/+12
| | | | _mm_cvtepi16_epi32, only for _mm_cvtepi8_epi32. Adjust comment accordingly.
* Reorganize configure's detection of intrinsics functions:Jonathan Lennox2015-09-017-132/+209
| | | | | | | 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.
* Fixes bitrate statistics for decode-only operation and inband FECKoen Vos2015-08-201-11/+15
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Fix for flutter with FECKoen Vos2015-08-105-11/+21
| | | | | | | | | The bug was caused by an improper feedback of the per-frame bitrate, causing the bitrate to jump up and down from frame to frame, within a packet. The patch avoids this, and also gives a slight improvement in general for multi-frame packets, even without FEC. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Fix const struct to work with C++ compilationMark Harris2015-08-072-2/+2
| | | | | | | | | | | This allows the libopus source files to be compiled with a C++ compiler, by ensuring that the "extern const MLP net" declaration is visible at the point of the "const MLP net" in src/mlp_data.c. Otherwise it will default to static linkage in C++, resulting in an undefined symbol. Note that if compiled with a C++ compiler the symbols will be mangled, so don't do that if you want to be able to call it from C code or run the tests (which still require a C compiler).
* Silence clang -Wcast-align warningsMark Harris2015-08-071-2/+4
|
* Eliminate signed division overhead in align()Mark Harris2015-08-041-1/+1
| | | | Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* Simplify and generalize implementation of align(). Should be very efficient ↵Jonathan Lennox2015-08-041-9/+9
| | | | on sensible platforms, and correct everywhere.
* Make align() work even on machines with 32-bit charsJean-Marc Valin2015-08-041-2/+7
|
* More conservative alignmentJean-Marc Valin2015-08-031-2/+5
| | | | | Based on max size of void*, opus_int32 and opus_val32, rounded up to the nearest power of two
* Update the oggopus draft.Timothy B. Terriberry2015-07-071-27/+45
| | | | | This version resolves some issues with the packet size limits raised by Mark Harris.
* Improve OPUS_GET_LSB_DEPTH documentation.Timothy B. Terriberry2015-06-231-0/+3
| | | | | We use at most 16 when using fixed-point (for the API or the internal implementation), but we didn't tell anyone this.
* Add release checksums.Ralph Giles2015-05-081-0/+45
| | | | | | | | Keep a copy of the release tarball sha-256 checksums in the repository for reference. Having a copy with the code in distributed version control adds a verification path. This should match http://downloads.xiph.org/releases/opus/SHA256SUMS.txt
* oggopus: Bump draft date and version for 07 publication.Timothy B. Terriberry2015-04-281-2/+2
|
* rtp draft -11Jean-Marc Valin2015-04-211-16/+10
|
* rtp draft -10 (deleting text)Jean-Marc Valin2015-04-141-14/+3
|
* IESG RTP draft updateJean-Marc Valin2015-04-101-10/+66
|
* Ogg Opus draft: Address chair review comments.Timothy B. Terriberry2015-03-131-3/+7
| | | | | | 1. Removed an inappropriate normative MAY. 2. Gave an explicit range of sample rates deemed to be "non-crazy". 3. Give explicit guidance on packet sizes that SHOULD and MAY be rejected.
* Avoiding the term "mode" in opus_demoJean-Marc Valin2015-02-271-3/+3
|