3 years agoRemove normative references to encoder or decoder.
Timothy B. Terriberry [Mon, 23 Nov 2015 22:27:54 +0000 (14:27 -0800)]
Remove normative references to encoder or decoder.

To avoid confusion with an RFC 6716 encoder/decoder.
No part of this document is intended to update RFC 6716.

3 years agoFix x86 build if we presume SSE4.1 (and earlier), but not AVX.
Jonathan Lennox [Fri, 20 Nov 2015 16:51:45 +0000 (11:51 -0500)]
Fix x86 build if we presume SSE4.1 (and earlier), but not AVX.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
3 years agooggopus: further cleanup in response to review.
Ralph Giles [Tue, 17 Nov 2015 23:39:47 +0000 (15:39 -0800)]
oggopus: further cleanup in response to review.

3 years agooggopus: Add IANA considerations.
Ralph Giles [Tue, 17 Nov 2015 23:39:05 +0000 (15:39 -0800)]
oggopus: Add IANA considerations.

I *think* all we need to do is document this and the RFC editors
will take care of it.

3 years agooggopus: Add Opus RTP as an informative reference.
Ralph Giles [Tue, 17 Nov 2015 23:37:20 +0000 (15:37 -0800)]
oggopus: Add Opus RTP as an informative reference.

We mention this in the description of Channel Mapping Family 0.
Might as well link to RFC 7587.

Review comment from Mo Zanaty.

3 years agooggopus: remove <spanx style="strong"> markup.
Ralph Giles [Tue, 17 Nov 2015 16:57:03 +0000 (08:57 -0800)]
oggopus: remove <spanx style="strong"> markup.

This improves readability in the xml2rfc html output, but
generates Markdown-style *bold* in the txt output, and
more importantly in the nroff-like html output of the
tools.ietf.org toolchain, which Mo Zanaty and some in
IRC objected to.

3 years agooggopus: Consolidate granulepos description.
Ralph Giles [Mon, 16 Nov 2015 21:31:09 +0000 (13:31 -0800)]
oggopus: Consolidate granulepos description.

Based on Mo Zanaty's review comments.

3 years agooggopus: Convert mentions of 'encoder' to 'muxer'.
Ralph Giles [Mon, 16 Nov 2015 20:54:46 +0000 (12:54 -0800)]
oggopus: Convert mentions of 'encoder' to 'muxer'.

Response to comments from Mo Zanaty. Using "muxer/demuxer"
really isn't less ambiguous than "encoder/decoder" but does
help distinguish between this draft and a 'codec encoder/decoder'
described by the Opus RFC.

3 years agoAdding AVX config switches
Radu Velea [Tue, 27 Oct 2015 10:21:36 +0000 (12:21 +0200)]
Adding AVX config switches

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
3 years agoNaming convention for AVX
Radu Velea [Tue, 27 Oct 2015 11:52:11 +0000 (13:52 +0200)]
Naming convention for AVX

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
3 years agoSuppress generation of comb_filter_const_c when not used; avoid warning.
Jonathan Lennox [Tue, 3 Nov 2015 05:47:43 +0000 (14:47 +0900)]
Suppress generation of comb_filter_const_c when not used; avoid warning.

3 years agoFix unit tests on ARM without RTCD (e.g. aarch64 or iOS).
Jonathan Lennox [Mon, 2 Nov 2015 12:56:23 +0000 (21:56 +0900)]
Fix unit tests on ARM without RTCD (e.g. aarch64 or iOS).

3 years agoDeclare silk_warped_LPC_analysis_filter_FIX_c in silk/fixed/main_FIX.h.
Jonathan Lennox [Mon, 2 Nov 2015 12:56:22 +0000 (21:56 +0900)]
Declare silk_warped_LPC_analysis_filter_FIX_c in silk/fixed/main_FIX.h.

Fixes build failure on platforms with MAY_HAVE_SSE4_1 (but not PRESUME_SSE4_1) with --enable-intrinsics.

3 years agoUpdating links for both https and new versions v1.1.1-rc
Mark Harris [Fri, 23 Oct 2015 17:19:48 +0000 (13:19 -0400)]
Updating links for both https and new versions

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
3 years agoCorrections to doc
Mark Harris [Fri, 23 Oct 2015 17:18:08 +0000 (13:18 -0400)]
Corrections to doc

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
4 years agoconfigure: Remove empty else clauses from AS_IF
Timothy B. Terriberry [Fri, 16 Oct 2015 20:02:24 +0000 (13:02 -0700)]
configure: Remove empty else clauses from AS_IF

These were causing "syntax error near unexpected token `fi'" in the
 generated configure on some systems, because they produced an



 with no commands between the two.

4 years agoAdds "arch" argument to MIPS MDCT
Rhishikesh Agashe [Thu, 8 Oct 2015 10:12:43 +0000 (06:12 -0400)]
Adds "arch" argument to MIPS MDCT

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
4 years agoFix dump_modes output for fixed-point NE10.
Timothy B. Terriberry [Wed, 7 Oct 2015 23:45:44 +0000 (19:45 -0400)]
Fix dump_modes output for fixed-point NE10.

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

4 years agoarmv7: Enable NE10's fixed-point FFT for the MDCT
Viswanath Puttagunta [Fri, 15 May 2015 17:42:26 +0000 (12:42 -0500)]
armv7: Enable NE10's fixed-point FFT for the MDCT

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>
4 years agoarmv7: Optimize fixed point FFT using NE10 library
Viswanath Puttagunta [Fri, 15 May 2015 17:42:25 +0000 (12:42 -0500)]
armv7: Optimize fixed point FFT using NE10 library

Uses NEON optimized fixed point FFT routines in NE10 library.

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
4 years agotest_unit_dft: Add nfft = 60, 240, 480 tests
Viswanath Puttagunta [Fri, 15 May 2015 17:42:24 +0000 (12:42 -0500)]
test_unit_dft: Add nfft = 60, 240, 480 tests

Signed-off-by: Viswanath Puttagunta <viswanath.puttagunta@linaro.org>
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
4 years agoarmv7(float): Optimize decode usecase using NE10 library
Viswanath Puttagunta [Fri, 15 May 2015 17:42:20 +0000 (12:42 -0500)]
armv7(float): Optimize decode usecase using NE10 library

Optimize opus decode (float only) use case using ARM NE10.
Mainly effects opus_ifft and ctl_mdct_backward and related

Work based on previous Encode optimization using ARM NE10
library. See previous commit for details on how to enable

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
4 years agoarmv7(float): Optimize encode usecase using NE10 library
Viswanath Puttagunta [Fri, 15 May 2015 17:42:19 +0000 (12:42 -0500)]
armv7(float): Optimize encode usecase using NE10 library

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

To enable this optimization, use
--enable-intrinsics --with-NE10=<install_prefix>
--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

Runtime checks made to make sure optimized functions only called
on appropriate hardware.

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
4 years agoMove the external ARM asm to a separate library.
Timothy B. Terriberry [Tue, 6 Oct 2015 17:16:24 +0000 (13:16 -0400)]
Move the external ARM asm to a separate library.

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

4 years agoAdd entcode.c to the dump_modes binary.
Timothy B. Terriberry [Wed, 7 Oct 2015 19:29:41 +0000 (15:29 -0400)]
Add entcode.c to the dump_modes binary.

This is needed for the SMALL_DIV_TABLE constants added in commit

4 years agoFixes compile problems for MIPS
Rhishikesh Agashe [Wed, 7 Oct 2015 17:55:12 +0000 (13:55 -0400)]
Fixes compile problems for MIPS

Brings MIPS in sync with the ARM/SSE optimizations that added "arch" parameters.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
4 years agotrivial_example: Fix error message
Mark Harris [Wed, 7 Oct 2015 13:22:57 +0000 (09:22 -0400)]
trivial_example: Fix error message

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
4 years agoExtra safety against NaNs in surround_analysis()
Mark Harris [Wed, 7 Oct 2015 13:21:23 +0000 (09:21 -0400)]
Extra safety against NaNs in surround_analysis()

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>
4 years agoPreventing NaNs from crashing surround_analysis()
Jean-Marc Valin [Wed, 7 Oct 2015 13:17:50 +0000 (09:17 -0400)]
Preventing NaNs from crashing surround_analysis()

4 years agoRemove spurious ACLOCAL_FLAGS variable from autogen.sh.
Ralph Giles [Sat, 26 Sep 2015 01:13:47 +0000 (18:13 -0700)]
Remove spurious ACLOCAL_FLAGS variable from autogen.sh.

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.

4 years agoMake it possible to pass in paths to opus_demo and opus_compare. jon_patches
Jonathan Lennox [Tue, 4 Aug 2015 19:24:21 +0000 (15:24 -0400)]
Make it possible to pass in paths to opus_demo and opus_compare.

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.

4 years agoCreate OPUS_FAST_INT64 macro, to abstract conditions where opus_int64 should be used.
Jonathan Lennox [Tue, 4 Aug 2015 19:47:55 +0000 (15:47 -0400)]
Create OPUS_FAST_INT64 macro, to abstract conditions where opus_int64 should 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.

4 years agoUse ProjectReference rather than AdditionalDependencies for test programs, so build...
Jonathan Lennox [Mon, 3 Aug 2015 21:04:29 +0000 (17:04 -0400)]
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.

4 years agoAdd intrinsics support to Visual Studio build.
Jonathan Lennox [Mon, 3 Aug 2015 21:04:28 +0000 (17:04 -0400)]
Add intrinsics support to Visual Studio build.

4 years agoReorganize x86 SSE intrinsics code.
Jonathan Lennox [Mon, 3 Aug 2015 21:04:27 +0000 (17:04 -0400)]
Reorganize x86 SSE intrinsics code.

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.

4 years agoMove SSE2 and SSE4.1 intrinsics functions to separate files, to be compiled with...
Jonathan Lennox [Mon, 3 Aug 2015 21:04:26 +0000 (17:04 -0400)]
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.

4 years agoRemove some unnecessary #includes from x86cpu.c.
Jonathan Lennox [Mon, 3 Aug 2015 21:04:25 +0000 (17:04 -0400)]
Remove some unnecessary #includes from x86cpu.c.

4 years agoFix struct initialization of CPU_Feature structure.
Jonathan Lennox [Mon, 3 Aug 2015 21:04:24 +0000 (17:04 -0400)]
Fix struct initialization of CPU_Feature structure.

4 years agoFix cpuid asm on 32-bit PIC.
Jonathan Lennox [Mon, 3 Aug 2015 21:04:23 +0000 (17:04 -0400)]
Fix cpuid asm on 32-bit PIC.

4 years agoFix instruction used for cpuid test.
Jonathan Lennox [Mon, 3 Aug 2015 21:04:22 +0000 (17:04 -0400)]
Fix instruction used for cpuid test.

4 years agoIn optimized mode, don't force Clang to use explicit load/store for _mm_cvtepi16_epi3...
Jonathan Lennox [Mon, 3 Aug 2015 21:04:21 +0000 (17:04 -0400)]
In optimized mode, don't force Clang to use explicit load/store for _mm_cvtepi16_epi32, only for _mm_cvtepi8_epi32. Adjust comment accordingly.

4 years agoReorganize configure's detection of intrinsics functions:
Jonathan Lennox [Mon, 3 Aug 2015 21:04:20 +0000 (17:04 -0400)]
Reorganize configure's detection of intrinsics functions:

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.

4 years agoFixes bitrate statistics for decode-only operation and inband FEC
Koen Vos [Thu, 20 Aug 2015 13:38:32 +0000 (09:38 -0400)]
Fixes bitrate statistics for decode-only operation and inband FEC

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
4 years agoFix for flutter with FEC
Koen Vos [Mon, 10 Aug 2015 16:22:25 +0000 (12:22 -0400)]
Fix for flutter with FEC

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>
4 years agoFix const struct to work with C++ compilation
Mark Harris [Fri, 7 Aug 2015 08:25:35 +0000 (01:25 -0700)]
Fix const struct to work with C++ compilation

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

4 years agoSilence clang -Wcast-align warnings
Mark Harris [Fri, 7 Aug 2015 08:24:48 +0000 (01:24 -0700)]
Silence clang -Wcast-align warnings

4 years agoEliminate signed division overhead in align()
Mark Harris [Wed, 5 Aug 2015 00:53:07 +0000 (17:53 -0700)]
Eliminate signed division overhead in align()

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
4 years agoSimplify and generalize implementation of align(). Should be very efficient on sensib...
Jonathan Lennox [Tue, 4 Aug 2015 16:04:20 +0000 (12:04 -0400)]
Simplify and generalize implementation of align(). Should be very efficient on sensible platforms, and correct everywhere.

4 years agoMake align() work even on machines with 32-bit chars
Jean-Marc Valin [Tue, 4 Aug 2015 04:05:16 +0000 (00:05 -0400)]
Make align() work even on machines with 32-bit chars

4 years agoMore conservative alignment
Jean-Marc Valin [Tue, 4 Aug 2015 01:40:46 +0000 (21:40 -0400)]
More conservative alignment

Based on max size of void*, opus_int32 and opus_val32, rounded up to the
nearest power of two

4 years agoUpdate the oggopus draft.
Timothy B. Terriberry [Tue, 7 Jul 2015 18:25:42 +0000 (11:25 -0700)]
Update the oggopus draft.

This version resolves some issues with the packet size limits
 raised by Mark Harris.

4 years agoImprove OPUS_GET_LSB_DEPTH documentation.
Timothy B. Terriberry [Tue, 23 Jun 2015 18:41:11 +0000 (11:41 -0700)]
Improve OPUS_GET_LSB_DEPTH documentation.

We use at most 16 when using fixed-point (for the API or the
 internal implementation), but we didn't tell anyone this.

4 years agoAdd release checksums.
Ralph Giles [Fri, 8 May 2015 21:22:07 +0000 (14:22 -0700)]
Add release checksums.

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

4 years agooggopus: Bump draft date and version for 07 publication.
Timothy B. Terriberry [Tue, 28 Apr 2015 17:40:46 +0000 (10:40 -0700)]
oggopus: Bump draft date and version for 07 publication.

4 years agortp draft -11
Jean-Marc Valin [Wed, 22 Apr 2015 00:33:42 +0000 (20:33 -0400)]
rtp draft -11

4 years agortp draft -10 (deleting text)
Jean-Marc Valin [Wed, 15 Apr 2015 00:50:28 +0000 (20:50 -0400)]
rtp draft -10 (deleting text)

4 years agoIESG RTP draft update
Jean-Marc Valin [Fri, 10 Apr 2015 21:50:26 +0000 (17:50 -0400)]
IESG RTP draft update

4 years agoOgg Opus draft: Address chair review comments.
Timothy B. Terriberry [Fri, 13 Mar 2015 23:32:23 +0000 (16:32 -0700)]
Ogg Opus draft: Address chair review comments.

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.

4 years agoAvoiding the term "mode" in opus_demo
Jean-Marc Valin [Fri, 27 Feb 2015 20:01:28 +0000 (15:01 -0500)]
Avoiding the term "mode" in opus_demo

4 years agoWrap _mm_cvtepi...() intrinsics in macros on clang.
Timothy B. Terriberry [Fri, 27 Feb 2015 19:11:57 +0000 (11:11 -0800)]
Wrap _mm_cvtepi...() intrinsics in macros on clang.

We already needed these macros for gcc with optimizations disabled,
 but it appears clang needs them all the time.

Thanks to Jonathan Lennox for the report.

4 years agoopus_demo: remove unused but set values
Tristan Matthews [Mon, 23 Feb 2015 23:22:09 +0000 (18:22 -0500)]
opus_demo: remove unused but set values

4 years agoDocument how to tell if your build is fixed-point.
Timothy B. Terriberry [Fri, 20 Feb 2015 20:44:10 +0000 (12:44 -0800)]
Document how to tell if your build is fixed-point.

This way we won't break this by accident.

4 years agoAdds MIPS files to the make dist tarball
Jean-Marc Valin [Wed, 11 Feb 2015 19:10:03 +0000 (14:10 -0500)]
Adds MIPS files to the make dist tarball

4 years agoAddressing Gen-ART comments on the RTP draft
Jean-Marc Valin [Fri, 6 Feb 2015 18:34:32 +0000 (13:34 -0500)]
Addressing Gen-ART comments on the RTP draft

4 years agoRTP draft: chair review
Jean-Marc Valin [Tue, 13 Jan 2015 14:19:24 +0000 (09:19 -0500)]
RTP draft: chair review

4 years agoUpdate ISO Base Media Format draft to version 0.6.6.
Ralph Giles [Sat, 10 Jan 2015 21:57:24 +0000 (13:57 -0800)]
Update ISO Base Media Format draft to version 0.6.6.

4 years agoUpdate ISO Base Media Format draft to version 0.6.2.
Ralph Giles [Fri, 9 Jan 2015 16:55:21 +0000 (08:55 -0800)]
Update ISO Base Media Format draft to version 0.6.2.

4 years agoRTP: the return of maxaveragebitrate
Jean-Marc Valin [Tue, 6 Jan 2015 07:35:31 +0000 (02:35 -0500)]
RTP: the return of maxaveragebitrate

4 years agoFix silk_VQ_WMat_EC_sse4_1().
Timothy B. Terriberry [Fri, 2 Jan 2015 23:48:54 +0000 (15:48 -0800)]
Fix silk_VQ_WMat_EC_sse4_1().

During review of c95c9a048f32, I replaced a call to
 _mm_cvtepi8_epi32() with the OP_CVTEPI16_EPI32_M64() macro (note
 the 16 instead of 8).
Make a separate OP_CVTEPI8_EPI32_M32() macro and use that instead.

Thaks to Wei Zhou for the report.

4 years agoFix warnings in pedantic build.
Timothy B. Terriberry [Fri, 26 Dec 2014 16:31:39 +0000 (08:31 -0800)]
Fix warnings in pedantic build.

This should suppress our current issues with unused parameters,
 unused variables, and set-but-not-used variables.

4 years agoarmv7: celt_pitch_xcorr: Introduce ARM NEON intrinsics
Viswanath Puttagunta [Fri, 19 Dec 2014 23:25:55 +0000 (17:25 -0600)]
armv7: celt_pitch_xcorr: Introduce ARM NEON intrinsics

Optimize celt_pitch_xcorr function (for floating point)
using ARM NEON intrinsics for SoCs that have NEON VFP unit.

To enable this optimization, use --enable-intrinsics
configure option.

Compile time and runtime checks are also supported to make sure
this optimization is only enabled when the compiler supports
NEON intrinsics.

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
4 years agoDocument the motivation for the 120 ms repacketizer limit.
Ralph Giles [Sat, 20 Dec 2014 20:37:48 +0000 (12:37 -0800)]
Document the motivation for the 120 ms repacketizer limit.

See the mailing list discussion at

4 years agoFix the quoting of AC_LANG_PROGRAM
Ron [Sat, 20 Dec 2014 09:16:20 +0000 (19:46 +1030)]
Fix the quoting of AC_LANG_PROGRAM

It was under-quoted in c95c9a048f3283afb2e412b10085d4f7c19e1412, which
leads to a flood of warnings when it gets incorrectly expanded, like:

configure.ac:354: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body

4 years agoRTP draft: addressing comments from Martin Thompson
Jean-Marc Valin [Mon, 8 Dec 2014 21:25:57 +0000 (16:25 -0500)]
RTP draft: addressing comments from Martin Thompson

4 years agoFix celt_pitch_xcorr_c signature.
Timothy B. Terriberry [Mon, 1 Dec 2014 18:47:25 +0000 (10:47 -0800)]
Fix celt_pitch_xcorr_c signature.

This should not take an arch parameter, so it can properly be used
 as a fallback for accelerated versions which do not.
This patch instead provides a separate version which can call
 accelerated helpers for platforms that have taken that approach.

4 years agomultistream: improve arg check
Mark Harris [Thu, 27 Nov 2014 16:48:09 +0000 (08:48 -0800)]
multistream: improve arg check

Avoid undefined behavior (signed arithmetic overflow) or
implementation-defined behavior (malloc(0)) on out-of-range arguments,
e.g. opus_multistream_encoder_create(48000, 2, 2147483647, 1, ...)
or opus_multistream_surround_encoder_create(48000, 3, 0, ...).

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
4 years agoRTP draft in last call
Jean-Marc Valin [Wed, 19 Nov 2014 16:07:50 +0000 (11:07 -0500)]
RTP draft in last call

4 years agofloat_cast: Fix MSVC ARM build
Cameron Gutman [Wed, 19 Nov 2014 08:02:11 +0000 (03:02 -0500)]
float_cast: Fix MSVC ARM build

Signed-off-by: Tristan Matthews <tmatth@videolan.org>
4 years agooggopus: bump draft date and version for 06 publication. draft-ietf-codec-oggopus-06
Ralph Giles [Sat, 18 Oct 2014 00:04:45 +0000 (17:04 -0700)]
oggopus: bump draft date and version for 06 publication.

4 years agooggopus: Mention 'malformed' at the first instance of invalid TOC.
Ralph Giles [Sat, 18 Oct 2014 00:02:02 +0000 (17:02 -0700)]
oggopus: Mention 'malformed' at the first instance of invalid TOC.

This is just a should, so we want to leave the RFC 6716 reference
to the second occurance, but using the same language ties them
together and to the later occurances.

4 years agooggopus: Refer to RFC 6716 on how to handle malformed packets.
Ralph Giles [Fri, 17 Oct 2014 23:51:57 +0000 (16:51 -0700)]
oggopus: Refer to RFC 6716 on how to handle malformed packets.

The Opus RFC doesn't really say what to do beyond rejecting
a particular packet, but having the reference reinforces that
we're trying to leverage the same constraints in the specific
context of ogg encapsulation, and this isn't a new rule.

4 years agooggopus: use 'invalid' to match other occurances and RFC 6716.
Ralph Giles [Fri, 17 Oct 2014 23:35:50 +0000 (16:35 -0700)]
oggopus: use 'invalid' to match other occurances and RFC 6716.

Suggestion from mark4o.

4 years agooggopus: Improve wording.
Ralph Giles [Fri, 17 Oct 2014 22:32:10 +0000 (15:32 -0700)]
oggopus: Improve wording.

4 years agooggopus: Refer to 'TOC sequence' instead of byte.
Ralph Giles [Fri, 17 Oct 2014 22:08:11 +0000 (15:08 -0700)]
oggopus: Refer to 'TOC sequence' instead of byte.

This avoids confusion with the number of frames being defined
by more than the first byte with code 3 packets.

Patch from mark4o.

5 years agooggopus: Fix opus_encode_ctl invocations.
Ralph Giles [Wed, 15 Oct 2014 01:23:32 +0000 (18:23 -0700)]
oggopus: Fix opus_encode_ctl invocations.

The macros take arguments, they aren't just constants. Thanks to
mark4o for the report.

5 years agooggopus: Improve wording. draft-ietf-codec-oggopus-05
Ralph Giles [Wed, 15 Oct 2014 00:47:10 +0000 (17:47 -0700)]
oggopus: Improve wording.

5 years agooggopus: bump draft date and version for 05 publication.
Ralph Giles [Tue, 14 Oct 2014 21:54:31 +0000 (14:54 -0700)]
oggopus: bump draft date and version for 05 publication.

5 years agooggopus: Clarify leading zeros are ok for R128 tags.
Ralph Giles [Tue, 14 Oct 2014 21:52:31 +0000 (14:52 -0700)]
oggopus: Clarify leading zeros are ok for R128 tags.

Add a limit of no more than 6 characters for these tags' values.

5 years agotests: fix linking for --enable-fixed-point on ARM v1.1.1-beta
Tristan Matthews [Sun, 12 Oct 2014 19:12:52 +0000 (15:12 -0400)]
tests: fix linking for --enable-fixed-point on ARM

5 years agoUpdate mp4 encapsulation spec to v0.5.3.
Ralph Giles [Tue, 7 Oct 2014 23:05:07 +0000 (16:05 -0700)]
Update mp4 encapsulation spec to v0.5.3.

Based on http://vfrmaniac.fushizen.eu/contents/opus_in_isobmff.html

5 years agoThere are no tabs in source code.
Timothy B. Terriberry [Sat, 4 Oct 2014 04:49:57 +0000 (21:49 -0700)]
There are no tabs in source code.

There is also no trailing whitespace.

5 years agoFix build bustage from c95c9a048.
Timothy B. Terriberry [Sat, 4 Oct 2014 04:11:51 +0000 (21:11 -0700)]
Fix build bustage from c95c9a048.

5 years agoCisco optimization for x86 & fixed point
xiangmingzhu [Wed, 30 Apr 2014 07:48:07 +0000 (15:48 +0800)]
Cisco optimization for x86 & fixed point

1. Only for fixed point on x86 platform (32bit and 64bit, uses SIMD
   intrinsics up to SSE4.2)
2. Use "configure --enable-fixed-point --enable-intrinsics" to enable
   optimization, default is disabled.
3. Official test cases are verified and passed.

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
5 years ago-DOPUS_WILL_BE_SLOW to disable the no-optimization warning
Jean-Marc Valin [Tue, 30 Sep 2014 18:40:13 +0000 (14:40 -0400)]
-DOPUS_WILL_BE_SLOW to disable the no-optimization warning

5 years agoAdd build script for mp4 spec.
Ralph Giles [Mon, 29 Sep 2014 17:53:17 +0000 (10:53 -0700)]
Add build script for mp4 spec.

This is a quick script to download, rename and sanitize
Yusuke Nakamura's draft for opus in the ISO Base Media File Format.

5 years agoUpdate mp4 encapsulation spec to v0.4.8.
Ralph Giles [Mon, 29 Sep 2014 17:51:51 +0000 (10:51 -0700)]
Update mp4 encapsulation spec to v0.4.8.

Based on http://vfrmaniac.fushizen.eu/contents/opus_in_isobmff.html

5 years agoClarify that leading '+' is allowed in R128 tags.
Ralph Giles [Fri, 26 Sep 2014 23:56:27 +0000 (16:56 -0700)]
Clarify that leading '+' is allowed in R128 tags.

5 years agoRemove weasel word.
Ralph Giles [Fri, 26 Sep 2014 23:34:05 +0000 (16:34 -0700)]
Remove weasel word.

SHOULD or SHOULD NOT. There is no attempt.

5 years agoAdd wording about additional binary data in comment headers.
Ralph Giles [Fri, 26 Sep 2014 22:55:44 +0000 (15:55 -0700)]
Add wording about additional binary data in comment headers.

From the codec wg mailing list thread

5 years agoAdd stylesheet for opus_in_isobmff draft.
Ralph Giles [Fri, 26 Sep 2014 17:13:05 +0000 (10:13 -0700)]
Add stylesheet for opus_in_isobmff draft.

Based on http://vfrmaniac.fushizen.eu/style.css