opus.git
11 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

11 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.

11 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

12 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.

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

12 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.

12 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

12 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

12 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

12 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>
13 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.

13 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()

13 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>
13 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

13 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

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

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

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

13 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.

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

13 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

13 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

13 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

15 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

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

15 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)

15 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)

15 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

15 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).

15 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

15 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.

15 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.

16 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.

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

16 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.

16 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>
16 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

16 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.

17 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

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

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

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

17 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

17 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

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

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

17 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

17 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

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

17 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

17 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

17 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>
18 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.

18 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

18 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

18 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>
18 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

18 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

18 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)

18 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

19 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

19 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

19 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

19 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

19 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

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

19 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

19 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

20 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()

20 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.

21 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>
21 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>
21 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>
22 months agofix float constants
Jean-Marc Valin [Thu, 16 Nov 2017 22:21:03 +0000 (17:21 -0500)]
fix float constants

22 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>
22 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

22 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>
22 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

22 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

22 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>
22 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>
22 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

22 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.

23 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

23 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

23 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

23 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.

23 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).

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

23 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

23 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.

23 months agoupdate draft version -10
Jean-Marc Valin [Fri, 1 Sep 2017 20:24:06 +0000 (16:24 -0400)]
update draft version -10

2 years agoFix typo with NE10 prefix
Alexander Kochetkov [Mon, 11 Sep 2017 10:45:01 +0000 (13:45 +0300)]
Fix typo with NE10 prefix

Prefix passed using '--with-NE10=PFX' not used as NE10 include path.

Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Signed-off-by: Ralph Giles <giles@thaumas.net>
2 years agoRename arm ne10 assembly optimization files.
Ralph Giles [Wed, 14 Jun 2017 21:37:30 +0000 (14:37 -0700)]
Rename arm ne10 assembly optimization files.

Make these consistent with the other optimization file
sets which use a suffix to indicate the extension they
use.

Signed-off-by: Jonathan Lennox <jonathan@vidyo.com>
2 years agoRename SSE 4.1 files to match their targets.
Ralph Giles [Tue, 13 Jun 2017 22:50:07 +0000 (15:50 -0700)]
Rename SSE 4.1 files to match their targets.

Distinguish source files for the SSE 4.1 instruction
set extension consistently by their filename. This makes
it easier to check the correct flags are being set at
build time.

Signed-off-by: Jonathan Lennox <jonathan@vidyo.com>
2 years agoFix typo in a comment in opus_decoder.c
Matt Brubeck [Thu, 24 Aug 2017 19:03:11 +0000 (12:03 -0700)]
Fix typo in a comment in opus_decoder.c

Signed-off-by: Ralph Giles <giles@thaumas.net>
2 years agofix alignment exceptions
Ray Essick [Thu, 24 Aug 2017 12:32:42 +0000 (05:32 -0700)]
fix alignment exceptions

some SSE optimizations were using an instruction sequence that required
128-bit alignment, even though this is not always guaranteed. The error
was in handling a 64-bit entity; made the same macro changes that had
been done previously for 32-bit entities.

Signed-off-by: Felicia Lim <flim@google.com>
2 years agoMore fixes for IESG
Jean-Marc Valin [Thu, 17 Aug 2017 23:02:59 +0000 (19:02 -0400)]
More fixes for IESG

2 years agoupdate draft: addressing IETF LC comments
Jean-Marc Valin [Thu, 17 Aug 2017 18:23:51 +0000 (14:23 -0400)]
update draft: addressing IETF LC comments

2 years agoForce crlf line endings for VS2015 project files.
Pavel P [Thu, 10 Aug 2017 08:22:33 +0000 (01:22 -0700)]
Force crlf line endings for VS2015 project files.

Signed-off-by: Ricardo Constantino <wiiaboo@gmail.com>