opus.git
21 months agoset version.mk to 1.1.2 v1.1.2
Jean-Marc Valin [Tue, 12 Jan 2016 18:14:47 +0000 (13:14 -0500)]
set version.mk to 1.1.2

21 months agobump libtool revision for 1.1.2
Jean-Marc Valin [Tue, 12 Jan 2016 18:13:13 +0000 (13:13 -0500)]
bump libtool revision for 1.1.2

21 months agoSuggest OPUS_LSB_DEPTH(14) for G.711. r=td-linux,mark4o
Ralph Giles [Thu, 7 Jan 2016 19:43:47 +0000 (11:43 -0800)]
Suggest OPUS_LSB_DEPTH(14) for G.711. r=td-linux,mark4o

This is a reasonable choice for the (non-linear) dynamic
range of mu-law. A-law is technically 13 bit, maybe 12;
experimentation is needed.

Per irc discussion with Jean-Marc, Ron, and Mark Harris.

21 months agoAdd checksums for opusfile 0.7.
Ralph Giles [Wed, 6 Jan 2016 01:54:35 +0000 (17:54 -0800)]
Add checksums for opusfile 0.7.

Also alphabetize the rest of the file.

21 months agoAdd a check target to the static makefiles. r=ron
Ralph Giles [Tue, 29 Dec 2015 07:37:49 +0000 (23:37 -0800)]
Add a check target to the static makefiles. r=ron

21 months agoAdd 'force' to the phony target list. r=ron
Ralph Giles [Tue, 29 Dec 2015 07:30:29 +0000 (23:30 -0800)]
Add 'force' to the phony target list. r=ron

21 months agoRenamed MAX_PULSES to SILK_MAX_PULSES and CELT_MAX_PULSES
Jean-Marc Valin [Thu, 31 Dec 2015 19:43:49 +0000 (14:43 -0500)]
Renamed MAX_PULSES to SILK_MAX_PULSES and CELT_MAX_PULSES

Avoids accidental name collisions

21 months agoActually fix pedantic build bustage.
Timothy B. Terriberry [Thu, 31 Dec 2015 13:56:45 +0000 (05:56 -0800)]
Actually fix pedantic build bustage.

21 months agoFix pedantic build bustage.
Timothy B. Terriberry [Thu, 31 Dec 2015 13:00:31 +0000 (05:00 -0800)]
Fix pedantic build bustage.

ISO C90 forbids mixed declarations and code, r=bustage

21 months agoAdd tonality_analysis_reset().
Ralph Giles [Wed, 30 Dec 2015 23:27:02 +0000 (15:27 -0800)]
Add tonality_analysis_reset().

Add a reset function for the TonalityAnalysisState struct
and call it on encoder reset.

Move the state struct above the clear line in OpusEncoder
so reset doesn't clobber reusable fields. Currently this
is only the arch field, which is moved to to top of the
struct so we can use the same memset-to-the-end pattern
as OpusEncoder.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
21 months agoAdd an initializer for TonalityAnalysisState.
Ralph Giles [Wed, 30 Dec 2015 18:00:17 +0000 (10:00 -0800)]
Add an initializer for TonalityAnalysisState.

This interns the asm flags parameter in the state struct
so we don't need to pass it with every call. It can be
expensive, so we don't want to query every run_analysis()
call, but since this (private) api is used by webrtc code
we need to provide a supportable interface for filling in
the correct value.

Note the initialization code is partially duplicated between
opus_encoder_init and the OPUS_RESET_STATE switch case, so we
must re-initialize it there.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
21 months agoRemove unused encoder field analysis_offset
Mark Harris [Wed, 30 Dec 2015 19:37:20 +0000 (11:37 -0800)]
Remove unused encoder field analysis_offset

21 months agoAvoids having the Opus-level "arch" be set to 0 on encoder/decoder reset
Jean-Marc Valin [Wed, 30 Dec 2015 19:21:34 +0000 (14:21 -0500)]
Avoids having the Opus-level "arch" be set to 0 on encoder/decoder reset

21 months agooggopus: More updates for AD review comments.
Timothy B. Terriberry [Mon, 28 Dec 2015 12:54:55 +0000 (04:54 -0800)]
oggopus: More updates for AD review comments.

Removed 2119 language for general Ogg requirements.
Added IANA registry for channel mapping families.
Adjusted additional copyright grant to match RFC 6716.
Additional comments addressed (see the CODEC mailing list).

21 months agoFixes patch_transient_decision() for hybrid mode
Jean-Marc Valin [Fri, 4 Dec 2015 21:42:19 +0000 (16:42 -0500)]
Fixes patch_transient_decision() for hybrid mode

...and also make it not ignore the right channel

21 months agoOops, fixes max_decay for LFE in fixed-point
Jean-Marc Valin [Sat, 28 Nov 2015 07:35:21 +0000 (02:35 -0500)]
Oops, fixes max_decay for LFE in fixed-point

22 months agooggopus: Revert SHOULD->MUST for reserved mappings.
Timothy B. Terriberry [Fri, 11 Dec 2015 22:11:00 +0000 (14:11 -0800)]
oggopus: Revert SHOULD->MUST for reserved mappings.

Mark Harris convinced me that the significant delay between "WG
 consensus" and "RFC" means we shouldn't rely on RFC updates to
 give people permission to start deploying new things.

22 months agooggopus: Fix typo.
Timothy B. Terriberry [Fri, 11 Dec 2015 19:41:36 +0000 (11:41 -0800)]
oggopus: Fix typo.

Thanks to Mark Harris for the report.

22 months agooggopus: First pass updates for AD review comments.
Timothy B. Terriberry [Fri, 11 Dec 2015 19:30:06 +0000 (11:30 -0800)]
oggopus: First pass updates for AD review comments.

22 months agoMake the CELT background noise estimator adapt more quickly on DTX update
Jean-Marc Valin [Fri, 4 Dec 2015 21:11:39 +0000 (16:11 -0500)]
Make the CELT background noise estimator adapt more quickly on DTX update

22 months agoopus_demo: fixes potential division by zero on files with no active frame
Jean-Marc Valin [Fri, 4 Dec 2015 19:40:50 +0000 (14:40 -0500)]
opus_demo: fixes potential division by zero on files with no active frame

22 months agoFixes memory leak in some CELT unit tests
Jean-Marc Valin [Fri, 4 Dec 2015 19:35:18 +0000 (14:35 -0500)]
Fixes memory leak in some CELT unit tests

Reported in https://trac.xiph.org/ticket/2241

22 months agoAlways use the max of the decaying PLC energy and the background noise
Jean-Marc Valin [Thu, 3 Dec 2015 18:32:10 +0000 (13:32 -0500)]
Always use the max of the decaying PLC energy and the background noise

Should no longer cause discontinuities in the noise after 5 packets

22 months agoFixes the transient detector on silence
Jean-Marc Valin [Thu, 3 Dec 2015 19:12:01 +0000 (14:12 -0500)]
Fixes the transient detector on silence

Previously silence would cause the divide approximation on 0/0 to return a
very large value, which would be interpreted as a transient

22 months agoupdate sha256 in repo
Jean-Marc Valin [Wed, 25 Nov 2015 21:13:18 +0000 (16:13 -0500)]
update sha256 in repo

22 months agobump libtool revision
Jean-Marc Valin [Wed, 25 Nov 2015 02:20:32 +0000 (21:20 -0500)]
bump libtool revision

22 months agooggopus: Fix spelling
Mark Harris [Tue, 24 Nov 2015 19:10:20 +0000 (11:10 -0800)]
oggopus: Fix spelling

22 months agoBump draft version and date for submission.
Timothy B. Terriberry [Tue, 24 Nov 2015 04:56:09 +0000 (20:56 -0800)]
Bump draft version and date for submission.

22 months agoAdditional edits from Mark Harris.
Timothy B. Terriberry [Tue, 24 Nov 2015 04:54:56 +0000 (20:54 -0800)]
Additional edits from Mark Harris.

22 months agoAddress remaining document shepherd review comments.
Timothy B. Terriberry [Tue, 24 Nov 2015 01:32:28 +0000 (17:32 -0800)]
Address remaining document shepherd review comments.

Also remove most <preamble>/<postamble> usage for expository text,
 as most places center the result, which looks ugly (only local
 xml2rfc HTML output does not center: tools.ietf.org HTML output
 still does, as does the .txt version).

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

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

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

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

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

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

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

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

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

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

23 months 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>
23 months 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>
2 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

  else

  fi

 with no commands between the two.

2 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>
2 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
 dump_modes.

2 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>
2 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>
2 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>
2 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
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>
2 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
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>
2 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
 <viswanath.puttagunta@linaro.org>.

2 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
 ec5d01cbe486.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2 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

2 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

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

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

2 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

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

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

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

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

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

2 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

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

2 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

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

2 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

2 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

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

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

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

2 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

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

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