opus.git
3 months agomissing script
Jean-Marc Valin [Sat, 3 Nov 2018 06:49:44 +0000 (02:49 -0400)]
missing script

3 months agoAdding the scripts used to train the RNN classifier
Jean-Marc Valin [Sat, 3 Nov 2018 06:39:15 +0000 (02:39 -0400)]
Adding the scripts used to train the RNN classifier

Sorry, no doc for now

3 months agoTrivial sprintf to snprintf conversion. Some linkers warn about unbounded sprintf...
Janne Johansson [Fri, 19 Oct 2018 07:12:07 +0000 (09:12 +0200)]
Trivial sprintf to snprintf conversion. Some linkers warn about unbounded sprintf calls.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
3 months agoMake float2int() static with VS
Jean-Marc Valin [Wed, 31 Oct 2018 06:36:17 +0000 (02:36 -0400)]
Make float2int() static with VS

Addresses the rest of https://github.com/xiph/opus/pull/79

3 months agoRemove useless OPUS_SET_EXPERT_FRAME_DURATION() on CELT
Jean-Marc Valin [Tue, 30 Oct 2018 18:23:09 +0000 (14:23 -0400)]
Remove useless OPUS_SET_EXPERT_FRAME_DURATION() on CELT

frame diration is only handled at the Opus layer. There's no change
in behaviour, just less puzzling code.

Thanks to Dmitriy <dmilvdv@gmail.com> for reporting this.

3 months agoFixes misleading initialization with not enough zeros
Jean-Marc Valin [Tue, 16 Oct 2018 19:48:31 +0000 (15:48 -0400)]
Fixes misleading initialization with not enough zeros

3 months agoupdate checksums
Jean-Marc Valin [Tue, 30 Oct 2018 18:19:38 +0000 (14:19 -0400)]
update checksums

4 months agoBump LT version numbers v1.3
Jean-Marc Valin [Tue, 16 Oct 2018 23:44:13 +0000 (19:44 -0400)]
Bump LT version numbers

We're adding the ambisonics API

4 months agoProper detection of _mm_cvtss_si32 for MS compiler
Pavel P [Tue, 27 Feb 2018 21:16:14 +0000 (13:16 -0800)]
Proper detection of _mm_cvtss_si32 for MS compiler

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
4 months agoRenaming compute_allocation to clt_compute_allocation() to avoid symbol clashes
Jean-Marc Valin [Tue, 16 Oct 2018 19:57:04 +0000 (15:57 -0400)]
Renaming compute_allocation to clt_compute_allocation() to avoid symbol clashes

As suggested in https://github.com/xiph/opus/pull/83

4 months agoPrevent the SILK counter from overflowing after 2 years and 9 months
Jean-Marc Valin [Thu, 27 Sep 2018 02:57:36 +0000 (22:57 -0400)]
Prevent the SILK counter from overflowing after 2 years and 9 months

or "just" 1 year and 4 months for 10-ms frames.
The overflow can eventually cause a divide-by-zero when counter == -16

Thanks to Dmitry Malinin for reporting the bug.

4 months agoRetrain RNN classifier weights to include reverberated speech
Jean-Marc Valin [Mon, 24 Sep 2018 20:02:37 +0000 (16:02 -0400)]
Retrain RNN classifier weights to include reverberated speech

5 months agoFixes packet parsing for 16-bit CPUs v1.3-rc2
Jean-Marc Valin [Fri, 14 Sep 2018 20:27:03 +0000 (16:27 -0400)]
Fixes packet parsing for 16-bit CPUs

Without that change, a very long (> 682 ms) illegal packet could trigger
a wrap-around in the test and be accepted as valid.

Only 16-bit architectures (e.g. TI C5x) were affected.

5 months agoClarify configure --help
Jean-Marc Valin [Fri, 14 Sep 2018 17:12:53 +0000 (13:12 -0400)]
Clarify configure --help

5 months agoUpdate ISO Base Media Format draft to version 0.8.1.
Ralph Giles [Thu, 13 Sep 2018 01:42:51 +0000 (18:42 -0700)]
Update ISO Base Media Format draft to version 0.8.1.

- Switch to 'Opus' file type identification.
- Revise channel mapping to better support ambisonics.

5 months agoAvoiding get_demixing_matrix() symbol clash on unified build
Jean-Marc Valin [Mon, 10 Sep 2018 17:49:38 +0000 (13:49 -0400)]
Avoiding get_demixing_matrix() symbol clash on unified build

5 months agoOpusMSDecoder does not have an arch field
Jean-Marc Valin [Mon, 10 Sep 2018 17:30:35 +0000 (13:30 -0400)]
OpusMSDecoder does not have an arch field

5 months agoAdd include/opus_projection.h to opus_headers.mk
Jean-Marc Valin [Thu, 6 Sep 2018 22:14:38 +0000 (18:14 -0400)]
Add include/opus_projection.h to opus_headers.mk

5 months agoApply equal bit allocation to ambisonic channels
Marcin Gorzel [Thu, 30 Aug 2018 12:15:21 +0000 (13:15 +0100)]
Apply equal bit allocation to ambisonic channels

Fixes issue #95 on GitHub.

Signed-off-by: Felicia Lim <flim@google.com>
6 months agoWork around VS2015 internal compiler error staging
Mark Harris [Sat, 28 Jul 2018 20:07:15 +0000 (13:07 -0700)]
Work around VS2015 internal compiler error

The error was:
c:\projects\opus\celt\celt_encoder.c(1019): fatal error C1001: An internal error has occurred in the compiler. [C:\projects\opus\win32\VS2015\opus.vcxproj]
  (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 255)
   To work around this problem, try simplifying or changing the program near the locations listed above.
  Please choose the Technical Support command on the Visual C++
   Help menu, or open the Technical Support help file for more information

  Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe.  You will be prompted to send an error report to Microsoft later.

6 months agoFixing arithmetic problems for 16-bit CPUs in ambisonics_rate_allocation()
Jean-Marc Valin [Sat, 28 Jul 2018 17:50:45 +0000 (13:50 -0400)]
Fixing arithmetic problems for 16-bit CPUs in ambisonics_rate_allocation()

6 months agoFix bitrate allocation for channel mapping 2
Felicia Lim [Sat, 28 Jul 2018 01:10:05 +0000 (18:10 -0700)]
Fix bitrate allocation for channel mapping 2

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 months agowin32: Add ambisonics sources to VS project
Joshua Bowman [Sat, 7 Jul 2018 01:07:09 +0000 (18:07 -0700)]
win32: Add ambisonics sources to VS project

[mark.hsj: Add other missing files and update filter file]
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
Fixes https://github.com/xiph/libopusenc/issues/9
Fixes https://github.com/xiph/opus-tools/issues/32

6 months agoFixes C90 "mixed declarations and code" error
Jean-Marc Valin [Fri, 27 Jul 2018 00:13:55 +0000 (20:13 -0400)]
Fixes C90 "mixed declarations and code" error

6 months agoRemove ambisonics experimental flag
Jean-Marc Valin [Thu, 26 Jul 2018 16:06:35 +0000 (12:06 -0400)]
Remove ambisonics experimental flag

6 months agoEnable ambisonics by default
Jean-Marc Valin [Wed, 4 Jul 2018 18:37:12 +0000 (14:37 -0400)]
Enable ambisonics by default

6 months agoEnable hardening by default
Jean-Marc Valin [Wed, 4 Jul 2018 18:36:53 +0000 (14:36 -0400)]
Enable hardening by default

6 months agoFix comma that should have been a semicolon
Jean-Marc Valin [Thu, 26 Jul 2018 02:47:50 +0000 (22:47 -0400)]
Fix comma that should have been a semicolon

Didn't cause any problem, but still good to fix. Reported by
keithchugg on github.

6 months agooops
Jean-Marc Valin [Thu, 26 Jul 2018 04:19:11 +0000 (00:19 -0400)]
oops

6 months agoUse ambisonics families 2 and 3 instead of 254 and 253
Jean-Marc Valin [Fri, 15 Jun 2018 20:52:14 +0000 (16:52 -0400)]
Use ambisonics families 2 and 3 instead of 254 and 253

6 months agoValidate multistream/projection decoder frame_size
Mark Harris [Sun, 22 Jul 2018 04:10:17 +0000 (21:10 -0700)]
Validate multistream/projection decoder frame_size

6 months agoSilence compiler warnings
Mark Harris [Sun, 22 Jul 2018 00:55:24 +0000 (17:55 -0700)]
Silence compiler warnings

clang -Wcast-align warnings with ambisonics enabled
clang -Wnull-pointer-arithmetic warnings in test_opus_api.c
gcc -Wimplicit-fallthrough warnings on arm
msvc warning C4244 in celt_encoder.c with fixed point

8 months agoMake bandwidth detection more conservative to avoid low-passing frames
Jean-Marc Valin [Thu, 14 Jun 2018 17:22:48 +0000 (13:22 -0400)]
Make bandwidth detection more conservative to avoid low-passing frames

8 months agoupdate checksums
Jean-Marc Valin [Fri, 1 Jun 2018 19:54:56 +0000 (15:54 -0400)]
update checksums

8 months agoAvoiding arithmetic on NULL pointer v1.3-rc
Jean-Marc Valin [Tue, 29 May 2018 04:35:02 +0000 (00:35 -0400)]
Avoiding arithmetic on NULL pointer

Causes a warning with -Wnull-pointer-arithmetic and the code wasn't doing
anything anyway (the ctl call ignores NULLs)

8 months agoAvoiding leaks when opus_demo exits with an error
Jean-Marc Valin [Tue, 29 May 2018 04:28:50 +0000 (00:28 -0400)]
Avoiding leaks when opus_demo exits with an error

This gets rid of false positives in static analysis
(see https://trac.webkit.org/changeset/232236/webkit)

8 months agoFix DISABLE_FLOAT_API unused parameter warning
Mark Harris [Mon, 28 May 2018 08:09:09 +0000 (01:09 -0700)]
Fix DISABLE_FLOAT_API unused parameter warning

8 months agoOnly call isqrt32() with a positive argument
Mark Harris [Mon, 28 May 2018 00:47:28 +0000 (17:47 -0700)]
Only call isqrt32() with a positive argument

Fixes test_opus_projection failure under ubsan, due to clz(0).

8 months agoSwitch from narrowband to wideband at 9 kb/s, don't use mediumband exp_bandwidth_fix4
Jean-Marc Valin [Thu, 24 May 2018 17:15:39 +0000 (13:15 -0400)]
Switch from narrowband to wideband at 9 kb/s, don't use mediumband

8 months agoFix decision thresholds for larger frame sizes exp_bandwidth_fix3
Jean-Marc Valin [Thu, 24 May 2018 06:36:30 +0000 (02:36 -0400)]
Fix decision thresholds for larger frame sizes

Don't assume that frames larger than 20 ms save any overhead compared to 20 ms.

8 months agoFixes a SILK bandwidth switching regression
Jean-Marc Valin [Wed, 23 May 2018 20:59:23 +0000 (16:59 -0400)]
Fixes a SILK bandwidth switching regression

The bug was triggered because f982b84d started using prefill for
SILK bandwidth changes, which reinitialized the encoder state and
prevented the variable lowpass from working properly. To fix the problem,
we preserve the sampling rate and variable low-pass when prefilling.

9 months agoImproving rate control for low bitrate
Jean-Marc Valin [Thu, 17 May 2018 00:05:47 +0000 (20:05 -0400)]
Improving rate control for low bitrate

Using a finer table for the rate to SNR curves in silk_control_SNR().
It's now possible to have an SNR that reaches 0, so we can lower bitrate
down to ~5 kbps for narrowband and 5.5 kbps for wideband.

9 months agoOops, fix NaN test
Jean-Marc Valin [Thu, 17 May 2018 19:26:19 +0000 (15:26 -0400)]
Oops, fix NaN test

9 months agoAborting on NaN in CELT
Jean-Marc Valin [Tue, 15 May 2018 19:36:33 +0000 (15:36 -0400)]
Aborting on NaN in CELT

NaNs should be filtered at the Opus layer, so if there are any in the CELT
encoder, then it's likely something went horribly wrong (e.g. corrupted state).
In that case, better abort than have something bad happen.

9 months agoSilk makes use of Opus VAD
Gustaf Ullberg [Tue, 10 Apr 2018 11:37:49 +0000 (13:37 +0200)]
Silk makes use of Opus VAD

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
9 months agoREADME: Update to reflect RFC 7845 and 8251
Mark Harris [Mon, 7 May 2018 03:31:30 +0000 (20:31 -0700)]
README: Update to reflect RFC 7845 and 8251

9 months agoFix opus_packet_parse() non-null arg attribute
Mark Harris [Fri, 4 May 2018 05:55:54 +0000 (22:55 -0700)]
Fix opus_packet_parse() non-null arg attribute

It is the size array that must be non-null.

10 months agotwo more asserts I forgot
Jean-Marc Valin [Tue, 27 Mar 2018 07:54:21 +0000 (03:54 -0400)]
two more asserts I forgot

10 months agoMisc assertion cleanup
Jean-Marc Valin [Mon, 26 Mar 2018 17:48:39 +0000 (13:48 -0400)]
Misc assertion cleanup

10 months agoHarden SILK x86 code
Jean-Marc Valin [Mon, 26 Mar 2018 16:54:38 +0000 (12:54 -0400)]
Harden SILK x86 code

10 months agoHardening silk/fixed
Jean-Marc Valin [Mon, 26 Mar 2018 16:46:47 +0000 (12:46 -0400)]
Hardening silk/fixed

10 months agoHardening asserts for SILK float
Jean-Marc Valin [Mon, 26 Mar 2018 07:23:09 +0000 (03:23 -0400)]
Hardening asserts for SILK float

10 months agoConverting some silk_assert()s into hardening celt_assert()s
Jean-Marc Valin [Sat, 24 Mar 2018 06:16:15 +0000 (02:16 -0400)]
Converting some silk_assert()s into hardening celt_assert()s

Only converted the ones that are really sure (not signal-dependent)
and that shouldn't add much run-time complexity

10 months agoSome missing checks
Jean-Marc Valin [Fri, 23 Mar 2018 20:13:59 +0000 (16:13 -0400)]
Some missing checks

10 months agoAdding multistream decoder validation
Jean-Marc Valin [Fri, 23 Mar 2018 18:29:11 +0000 (14:29 -0400)]
Adding multistream decoder validation

10 months agoAsserting on some ctl() calls that should never fail
Jean-Marc Valin [Fri, 23 Mar 2018 17:25:01 +0000 (13:25 -0400)]
Asserting on some ctl() calls that should never fail

10 months agoAdds Opus decoder state validation
Jean-Marc Valin [Fri, 23 Mar 2018 17:04:13 +0000 (13:04 -0400)]
Adds Opus decoder state validation

10 months agoAdding decoder state validation
Jean-Marc Valin [Fri, 23 Mar 2018 07:16:33 +0000 (03:16 -0400)]
Adding decoder state validation

10 months agoFixing no-redundancy CELT->SILK and CELT->hybrid transitions
Jean-Marc Valin [Fri, 23 Mar 2018 16:13:30 +0000 (12:13 -0400)]
Fixing no-redundancy CELT->SILK and CELT->hybrid transitions

We make sure the CELT PLC we do in the transition uses the same bandwidth
as the previous (CELT) packet and not the new bandwidth

10 months agoAdding ENABLE_HARDENING
Jean-Marc Valin [Thu, 22 Mar 2018 21:40:35 +0000 (17:40 -0400)]
Adding ENABLE_HARDENING

Enables "safes" assertions even with ENABLE_ASSERTIONS isn't set

10 months agoSupport for Ambisonics.
Andrew Allen [Mon, 19 Mar 2018 21:55:24 +0000 (14:55 -0700)]
Support for Ambisonics.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
11 months agoUsing a first-order filter for DC rejection
Jean-Marc Valin [Mon, 12 Mar 2018 15:39:08 +0000 (11:39 -0400)]
Using a first-order filter for DC rejection

A second-order DC rejection filter is uselsss unless we have complex
poles. However, complex poles means we have to compute the filter as a
single pass (rather than two casdaded first-order filters), which has
numerical issues that would require a higher complexity to solve.
So rather than waste cycles with a second-order filter (with a longer
impulse response), we just go with a first-order filter.

11 months agoDon't enable -fstack-protector-strong on Windows for now
Jean-Marc Valin [Fri, 2 Mar 2018 20:08:21 +0000 (15:08 -0500)]
Don't enable -fstack-protector-strong on Windows for now

It adds a libssp-0.dll dependency and prevents static linking

11 months agoAdding -D_FORTIFY_SOURCE=2 when possible
Jean-Marc Valin [Thu, 22 Feb 2018 22:18:57 +0000 (17:18 -0500)]
Adding -D_FORTIFY_SOURCE=2 when possible

11 months agoFixed off-by-one issue in Silk DTX
Gustaf Ullberg [Wed, 22 Nov 2017 10:38:18 +0000 (11:38 +0100)]
Fixed off-by-one issue in Silk DTX

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
11 months agoEnable -fstack-protector-strong by default on x86
Jean-Marc Valin [Thu, 22 Feb 2018 19:51:52 +0000 (14:51 -0500)]
Enable -fstack-protector-strong by default on x86

The size overhead seems to be about 1% and the speed overhead is
"in the noise" (<2%).
The automake code is copied from opus-tools

11 months agoFix comment to take into account previous commit
Jean-Marc Valin [Wed, 21 Feb 2018 08:15:52 +0000 (03:15 -0500)]
Fix comment to take into account previous commit

11 months agoIncreasing the CELT bit allocation slightly for stereo hybrid
Jean-Marc Valin [Wed, 21 Feb 2018 06:33:59 +0000 (01:33 -0500)]
Increasing the CELT bit allocation slightly for stereo hybrid

Fixes a "regression" from 1.2 to 1.3-beta that was especially noticeable
on a Korean speech sample. (it wasn't a real regression since 1.2 only
worked because it was using CELT)

11 months agoFix divide-by-zeros in opus_demo stats code
Jean-Marc Valin [Tue, 20 Feb 2018 06:54:33 +0000 (01:54 -0500)]
Fix divide-by-zeros in opus_demo stats code

11 months agoFixes integer overflow in SILK VAD for 10-ms frames
Jean-Marc Valin [Fri, 16 Feb 2018 17:36:44 +0000 (12:36 -0500)]
Fixes integer overflow in SILK VAD for 10-ms frames

Reported by Chandrakala Madhira on the mailing list

11 months agoForgot one RFC8251 behaviour to disable with --disable-rfc8251
Jean-Marc Valin [Fri, 16 Feb 2018 17:36:17 +0000 (12:36 -0500)]
Forgot one RFC8251 behaviour to disable with --disable-rfc8251

Reported by daddesio in #opus

12 months agoDisabling weak transients and 5ms resolution on voiced frames
Jean-Marc Valin [Thu, 15 Feb 2018 19:58:53 +0000 (14:58 -0500)]
Disabling weak transients and 5ms resolution on voiced frames

12 months agoAdd a simple masking model to the spreading decision
Jean-Marc Valin [Mon, 12 Feb 2018 23:44:36 +0000 (18:44 -0500)]
Add a simple masking model to the spreading decision

This improves cases where a whole region is dominated by a handful of tones

12 months agoMaking sure importance[] is initialized even when we don't use dynalloc
Jean-Marc Valin [Tue, 13 Feb 2018 19:09:07 +0000 (14:09 -0500)]
Making sure importance[] is initialized even when we don't use dynalloc

12 months agooops
Jean-Marc Valin [Tue, 13 Feb 2018 18:39:06 +0000 (13:39 -0500)]
oops

12 months agoImprove TF analysis RDO to take into account how important each band is
Jean-Marc Valin [Tue, 16 Jan 2018 17:38:07 +0000 (12:38 -0500)]
Improve TF analysis RDO to take into account how important each band is

Also adds the error terms for band 0 that were previously omitted

12 months agoScaling back the pitch filter when most of the energy is above 3.2 kHz
Jean-Marc Valin [Wed, 10 Jan 2018 22:41:50 +0000 (17:41 -0500)]
Scaling back the pitch filter when most of the energy is above 3.2 kHz

That corresponds to the fundamental for the shortest pitch period allowed

13 months agoFixes NaN issues in compute_stereo_width()
Jean-Marc Valin [Sun, 31 Dec 2017 20:29:28 +0000 (15:29 -0500)]
Fixes NaN issues in compute_stereo_width()

13 months agoMaking opus-uninstalled.pc use the .la instead of the .a v1.3-beta
Jean-Marc Valin [Tue, 19 Dec 2017 20:17:10 +0000 (15:17 -0500)]
Making opus-uninstalled.pc use the .la instead of the .a

This makes it possible to link dynamically with an uninstalled libopus.
It does require the executable to use libtool however.

14 months agoDecouple OpusProjection* API from static matrices.
Andrew Allen [Tue, 5 Dec 2017 23:34:43 +0000 (15:34 -0800)]
Decouple OpusProjection* API from static matrices.

Change-Id: I3db285875b6b5548decc436be00096b97be1be3c
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
14 months agoEnsure mapping matrix size is always valid.
Andrew Allen [Tue, 5 Dec 2017 00:05:57 +0000 (16:05 -0800)]
Ensure mapping matrix size is always valid.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
14 months agoFix memory issues in Projection API.
Andrew Allen [Mon, 4 Dec 2017 23:32:18 +0000 (15:32 -0800)]
Fix memory issues in Projection API.

Modified by Jean-Marc Valin

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
15 months agofix float constants
Jean-Marc Valin [Thu, 16 Nov 2017 22:21:03 +0000 (17:21 -0500)]
fix float constants

15 months agoDefine integer types from stdint.h where it's available
Kári Tristan Helgason [Thu, 9 Nov 2017 12:34:55 +0000 (13:34 +0100)]
Define integer types from stdint.h where it's available

This fixes issues when using neon intrinsics on 64-bit
systems.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
15 months agoTuning decision thresholds for low-bitrate music
Jean-Marc Valin [Wed, 15 Nov 2017 17:46:55 +0000 (12:46 -0500)]
Tuning decision thresholds for low-bitrate music

15 months agoFix matrix export via CTL func.
Andrew Allen [Tue, 7 Nov 2017 21:26:23 +0000 (13:26 -0800)]
Fix matrix export via CTL func.

Ensure matrix is properly exported from
projection encoder.

Change-Id: I5ede77e4f4d0dc82074e2230780777af542a416e
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
15 months agoRetrained speech/music RNN
Jean-Marc Valin [Thu, 9 Nov 2017 01:35:30 +0000 (20:35 -0500)]
Retrained speech/music RNN

Larger network, using 8-bit weights

15 months agoAdd missing include to the list
Jean-Marc Valin [Wed, 8 Nov 2017 01:03:10 +0000 (20:03 -0500)]
Add missing include to the list

15 months agoSupport for Channel Mapping 253
Andrew Allen [Tue, 7 Nov 2017 21:26:23 +0000 (13:26 -0800)]
Support for Channel Mapping 253

OpusProjection* classes
MixingMatrix class
Projection tests

Change-Id: I98644466abf4ffd36e48bdecad1204d69e1539b9
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
15 months agoFix unnecessary assignment.
Roman Kalashnikov [Mon, 30 Oct 2017 15:23:38 +0000 (18:23 +0300)]
Fix unnecessary assignment.

Fixes a warning from PVS-Studio. This was a cut-and-paste error
from the stanza above and had no effect.

Signed-off-by: Ralph Giles <giles@thaumas.net>
15 months agoEnable RFC 8251 changes by default
Jean-Marc Valin [Sun, 29 Oct 2017 04:58:23 +0000 (00:58 -0400)]
Enable RFC 8251 changes by default

15 months agoFix configure output formatting.
Ralph Giles [Mon, 23 Oct 2017 19:50:14 +0000 (12:50 -0700)]
Fix configure output formatting.

Put the colon ':' before the continuation dots like all the
other entries.

16 months agoFix entropy coder doc
Jean-Marc Valin [Sun, 8 Oct 2017 07:26:30 +0000 (03:26 -0400)]
Fix entropy coder doc

Addresses issue https://github.com/xiph/opus/issues/54

16 months agoSimplifying celt_fir5() since x==y and mem[]={0}
Jean-Marc Valin [Sun, 8 Oct 2017 07:21:38 +0000 (03:21 -0400)]
Simplifying celt_fir5() since x==y and mem[]={0}

Addresses issue https://github.com/xiph/opus/issues/58

16 months agoFix #undef of constant
Jean-Marc Valin [Sun, 8 Oct 2017 07:09:58 +0000 (03:09 -0400)]
Fix #undef of constant

Reported in https://github.com/xiph/opus/issues/55

16 months agoFixes CELT PLC
Jean-Marc Valin [Fri, 6 Oct 2017 22:22:17 +0000 (18:22 -0400)]
Fixes CELT PLC

The regression was introduced in 783ad76766e1f6b6aaca5d6eb415ac8a8269e1f2
by changes to celt_fir() that make it no longer in-place.

16 months agoFixing (hopefully) bandwidth detection for 24 kHz analysis
Jean-Marc Valin [Fri, 6 Oct 2017 20:45:41 +0000 (16:45 -0400)]
Fixing (hopefully) bandwidth detection for 24 kHz analysis

The masking term was previously completely broken (even in 1.1). The
bandwidth detection relies mostly on the noise floor and can only use
masking to cut one extra band. The 12-24 kHz energy is now normalized properly
but uses a higher noise floor due to the leakage in the resampler. Bandwidth
detection is still mostly useless at identifying SWB speech (it usually says
FB).

16 months agofloat constants
Jean-Marc Valin [Fri, 6 Oct 2017 00:07:29 +0000 (20:07 -0400)]
float constants

16 months agoAdd RNN for VAD and speech/music classification
Jean-Marc Valin [Wed, 12 Jul 2017 20:55:28 +0000 (16:55 -0400)]
Add RNN for VAD and speech/music classification

Based on two dense layers with a GRU layer in the middle

16 months agoBetter rate allocation for stereo SILK in hybrid mode
Jean-Marc Valin [Sun, 16 Jul 2017 07:01:41 +0000 (03:01 -0400)]
Better rate allocation for stereo SILK in hybrid mode

SILK was being allocated too few bits for stereo hybrid, often resulting
in forced narrowing of the width. We now allocate more bits to SILK
and reduce the threshold for narrowing. This improves quality enough that
the bitrate threshold for switching to SILK can be increased to 44 kb/s.