- Nov 25, 2015
-
- Nov 03, 2015
-
-
-
-
Fixes build failure on platforms with MAY_HAVE_SSE4_1 (but not PRESUME_SSE4_1) with --enable-intrinsics.
-
- Oct 23, 2015
-
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Oct 16, 2015
-
-
Timothy B. Terriberry authored
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.
-
- Oct 08, 2015
-
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Oct 07, 2015
-
-
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.
-
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>
-
Uses NEON optimized fixed point FFT routines in NE10 library. Signed-off-by:
Timothy B. Terriberry <tterribe@xiph.org>
-
Signed-off-by:
Viswanath Puttagunta <viswanath.puttagunta@linaro.org> Signed-off-by:
Timothy B. Terriberry <tterribe@xiph.org>
-
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>
-
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>
-
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>.
-
This is needed for the SMALL_DIV_TABLE constants added in commit ec5d01cb.
-
Brings MIPS in sync with the ARM/SSE optimizations that added "arch" parameters. Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
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>
-
Jean-Marc Valin authored
-
- Sep 26, 2015
-
-
Ralph Giles authored
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.
-
- Sep 01, 2015
-
-
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.
-
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, so build dependencies are right. Actually add source code to opus_demo project, and fix its include paths.
-
-
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 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.
-
-
-
-
-
In optimized mode, don't force Clang to use explicit load/store for _mm_cvtepi16_epi32, only for _mm_cvtepi8_epi32. Adjust comment accordingly.
-
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.
-
- Aug 20, 2015
-
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Aug 10, 2015
-
-
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>
-
- Aug 07, 2015
-
-
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).
-
-
- Aug 05, 2015
-
-
Signed-off-by:
Timothy B. Terriberry <tterribe@xiph.org>
-
- Aug 04, 2015
-
-
Simplify and generalize implementation of align(). Should be very efficient on sensible platforms, and correct everywhere.
-
Jean-Marc Valin authored
-