summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ci: add ci-fairy linter to make sure commits are GPG signedHEADmasterTim-Philipp Müller2023-04-271-0/+29
|
* ci: add arm64 CITim-Philipp Müller2023-04-261-10/+33
|
* meson: fix build on arm64Tim-Philipp Müller2023-04-261-1/+1
| | | | | | | | | | | | | Would fail like: Checking if "compiler supports ARMv7/AArch64 NEON intrinsics" : links: NO Checking if "compiler supports ARMv7/AArch64 NEON intrinsics with -mfpu=neon" : links: YES Checking if "compiler supports AArch64 NEON intrinsics" : links: NO Checking if "compiler supports AArch64 NEON intrinsics with -mfpu=neon" : links: NO Message: Compiler does not support AArch64 NEON intrinsics ../silk/meson.build:28:45: ERROR: Unknown variable "have_arm_intrinsics_or_asm". since commit 08088411259056f63774befb2d00951fdd5c46ba.
* docs: replace fgrep with grep -FClaudio Saavedra2023-04-201-1/+1
| | | | | | | It's been deprecated for decades and in Debian system it's starting to print warnings. Just use grep -F instead. Signed-off-by: Ralph Giles <giles@thaumas.net>
* oops, avoid using a reserved identifierv1.4Jean-Marc Valin2023-04-191-1/+1
|
* Avoid "ISO C forbids an empty translation unit"Jean-Marc Valin2023-04-171-0/+2
| | | | Add dummy typedef to avoid the warning
* Bump LT versionJean-Marc Valin2023-04-171-2/+2
| | | | Added OPUS_SET_INBAND_FEC(2) since previous version
* Make CELT FFT twiddle complex type alignedZheng Lv2023-01-171-1/+11
| | | | | | | | | | | | This makes kiss_twiddle_cpx 4-byte aligned (instead of 2-byte) for fixed-point builds. Tested with an armv6j+nofp development board, CELT encoding becomes 1.4x as fast, and decoding over 2x. Performance gain is mostly attributed to the proper alignment of the static const array mdct_twiddles960. Co-authored-by: David Gao <davidgao@google.com> Signed-off-by: Felicia Lim <flim@google.com>
* opus.m4: fix -Wstrict-prototypesSam James2022-11-241-1/+1
| | | | | Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Fix typo in MacroDebug.h comment.Nathan E. Egge2022-09-051-2/+2
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Change pitch scaling behavior wrt nFramesPerPacketJean-Marc Valin2022-08-042-2/+2
| | | | | | | | Not sure if it was the original intent, but we now reduce the loss percentage threshold for pitch scaling as 1/nFramesPerPacket since only the first frame will have pitch scaling anyway. As a side effect, this brings back the original behavior of disabling pitch scaling for 0% loss.
* Smooth out the LBRR rate estimateJean-Marc Valin2022-07-241-2/+13
| | | | Reduces fluctuations in the non-FEC target bitrate.
* More FEC tuning: lowering the LBRR bitrate a bitJean-Marc Valin2022-07-241-1/+1
|
* Re-tuning the use of LTP scalingJean-Marc Valin2022-07-242-3/+14
| | | | | Making LTP scaling depend on the bitrate and whether FEC is on. The thresholds for scaling 1 and 2 are now independent.
* Ensuring we can see where crashes occurJean-Marc Valin2022-07-221-0/+4
| | | | Reviewed by Mark Harris
* More ubsan fixes for the debug macros themselvesJean-Marc Valin2022-07-221-9/+9
| | | | Reviewed by Mark Harris
* Using saturating round to fix some wrap-aroundsJean-Marc Valin2022-07-222-9/+9
| | | | Reviewed by Mark Harris
* Relaxing checks for MULT16_32_QX()Jean-Marc Valin2022-07-221-2/+2
| | | | | | | | MULT16_32_QX() is now implemented using a signed-unsigned multiply, so the second argument can now have one extra bit compared to the old signed-signed implementation. Reviewed by Mark Harris
* Fix NORM_ALIASING_HACKJean-Marc Valin2022-07-151-5/+4
| | | | | | | We need to move the history out of the way before we write to the shape array X, or else we get corruption of the audio. Signed-off-by: Jean-Marc Valin <jmvalin@amazon.com>
* Silence MSVC C4244 warningMarcus Asteborg2022-07-121-1/+1
| | | | | | When building with FLOAT_APPROX. Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Silence Clang 13+ null-pointer-subtraction warningMark Harris2022-07-101-1/+1
|
* Only build platform RTCD sources when enabled.Timothy B. Terriberry2022-07-098-14/+52
| | | | To avoid issues with empty compilation units.
* Don't compile x86 cpu detection without RTCD.Timothy B. Terriberry2022-07-096-24/+36
| | | | | | | Also #error if RTCD is enabled without a detection method, like Arm. A number of SILK functions also still used the lookup tables, even when RTCD was disabled. Fix those, too.
* Make silk/x86 header indentation consistent.Timothy B. Terriberry2022-07-092-51/+51
| | | | The indentation for nested #ifs was all over the place.
* Fix C90-related warningsexp_warnings1Jean-Marc Valin2022-07-096-7/+10
|
* update doc on custom modeMarcus Asteborg2022-07-091-1/+2
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* cmake - move warning C4244 to level 4Marcus Asteborg2022-07-071-0/+4
| | | | | | | Opus compare is used to generate test vectors so no cosmetic changes is taken. Hence we move this warning to level 4 for opus compare. Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* cmake - fix rtcd detection on x86 non windowsMarcus Asteborg2022-07-075-10/+76
| | | | Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* cmake - fix lrintf, lrint detectionMarcus Asteborg2022-07-071-9/+20
| | | | | | | | | | | | | This commit addresses the issues of not finding lrintf and lrint. We switch to check_symbol_exists instead per cmake documentation. Also make sure to link math lib for detection for nix. For MSVC the issue for non x86 builds was that the standard was set to default which is 199409L. This resulted in not using lrintf even that it was found. To address this we set the C standard to C11 and it will only apply to newer versions of MSVC where the /std flag is supported. Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Fix uninitialized field on custom mode malloc failMark Harris2022-07-071-0/+3
|
* meson: Fix reporting of cpu family if intrinsics not supportedDoug Nazar2022-07-061-2/+2
| | | | Signed-off-by: Doug Nazar <nazard@nazar.ca>
* Update x86 CPU detection configure check.Timothy B. Terriberry2022-07-061-1/+1
| | | | | | | | | | Commit 6577534a80c8 switched from using __get_cpuid() to __get_cpuid_count(), but the corresponding configure check was not updated. Since __get_cpuid_count() was introduced much later, make sure we check for the function we actually use. Thanks to Mark Harris for the report.
* Fix warnings when compiling with FUZZING enabledJean-Marc Valin2022-07-062-0/+6
|
* cmake - Add OPUS_BUILD to test targetsMarcus Asteborg2022-07-051-0/+5
| | | | Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* doc: Use consistent alternative notationMark Harris2022-07-051-2/+2
| | | | Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Fix opus.h for doxygen when referencing alternative valuesAlexander Traud2022-07-051-1/+1
| | | | | | | Doxygen was not able to resolve the references because it looked for OPUS_APPLICATION_VOIP/@ref. Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Remove unused variable in testsMarcus Asteborg2022-07-051-6/+3
| | | | Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Replace assert with test_failed function in testMarcus Asteborg2022-07-053-20/+18
| | | | | | | This will fix -Wunused-but-set-variable on gcc 9.3 release build. Also remove unused assert.h. Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Fix warning with --disable-rfc8251Jean-Marc Valin2022-07-051-0/+2
|
* Fix quoting and whitespace errors in build testMark Harris2022-07-052-35/+34
| | | | Reviewed by Jean-Marc Valin.
* Silence GCC 11+ -Wmaybe-uninitialized warningsMark Harris2022-07-051-4/+6
| | | | Reviewed by Timothy B. Terriberry.
* Avoids incrementing uninitialized valuesJean-Marc Valin2022-07-051-4/+10
| | | | | | The values were never used, but ubsan + valgrind would complain. Reviewed by Mark Harris
* Avoid undefined behaviour within the debug macrosJean-Marc Valin2022-07-051-2/+2
| | | | | | Even when the macro itself would overflow. Reviewed by Mark Harris
* Fix fixed-point overflow in pitch downsamplingJean-Marc Valin2022-07-051-6/+15
| | | | Reviewed by Mark Harris
* Fix some 16-bit overflows (using 32-bit macros)Jean-Marc Valin2022-07-052-6/+6
| | | | Reviewed by Mark Harris
* Avoid left shifts of negative values in debug macrosJean-Marc Valin2022-07-052-22/+16
| | | | Reviewed by Mark Harris
* Work around UBSan unaligned access errors.Timothy B. Terriberry2022-07-051-1/+9
| | | | | | | The underlying objects are all 8-bit integers. Verified that the generated assembly still just uses MOVD. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Add asan/ubsan support in random testsJean-Marc Valin2022-07-051-3/+6
|
* Adds OPUS_SET_INBAND_FEC(2) optionJean-Marc Valin2022-06-303-8/+13
| | | | | Unlike OPUS_SET_INBAND_FEC(1), the encoder does not necessarily switch to SILK if we have music.
* Estimate the inner product accuracy to fix check-asmJean-Marc Valin2022-06-301-30/+21
| | | | | | Estimate the rounding error so that we can have a useful margin of error when checking the asm against the C code even when the float operations get reordered due to -ffast-math.