6 years agoAdd support for RFC5576 source-level attributes.
Timothy B. Terriberry [Thu, 22 Nov 2012 02:48:09 +0000 (18:48 -0800)]
Add support for RFC5576 source-level attributes.

This allows the sender parameters sprop-maxcapturerate and
 sprop-stereo to be specified on a per-SSRC basis, instead of just
 per m-line.

6 years agoUpdate Ogg draft to make it a WG item.
Timothy B. Terriberry [Mon, 19 Nov 2012 23:01:01 +0000 (15:01 -0800)]
Update Ogg draft to make it a WG item.

For complete details on what was changed, see

6 years agoTweaks to the new transient detector
Jean-Marc Valin [Mon, 19 Nov 2012 21:36:22 +0000 (16:36 -0500)]
Tweaks to the new transient detector

Instead of using the average energy over the frame, we use a half-way
point between the average energy and the max energy.

6 years agoEnable maintainer mode by default on automake 1.11
Ralph Giles [Wed, 14 Nov 2012 20:42:19 +0000 (12:42 -0800)]
Enable maintainer mode by default on automake 1.11

Passing 'enable' as an argument to AM_MAINTAINER_MODE flips the
default to enabled, rather than disabled until automake 1.11.
This is a safer default for a developer-oriented library.

./configure --disable-maintainer-mode is still available for
packagers who what to preserve the upstream build distribution.

On earlier automake versions, the argument appears to have no
effect, so there is no behaviour change for developers using
older autotools.

Based on a patch for opusfile by ron@debian.org.

6 years agoFollow up to commit 8b906c102b37ce74571898c8879c01b2a9088fb3
Nils Wallménius [Mon, 12 Nov 2012 22:05:28 +0000 (23:05 +0100)]
Follow up to commit 8b906c102b37ce74571898c8879c01b2a9088fb3

Remove two now redundant zeroing loops

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoFix the draft build.
Timothy B. Terriberry [Mon, 12 Nov 2012 21:09:30 +0000 (13:09 -0800)]
Fix the draft build.

Makefile.draft got renamed to Makefile.unix in e91dfa0f, but
 build_draft.sh was not updated.

6 years agoShould make celt_maxabs*() slightly faster
Jean-Marc Valin [Tue, 6 Nov 2012 05:24:46 +0000 (00:24 -0500)]
Should make celt_maxabs*() slightly faster

shorter dependencies

6 years agoRTP draft: Using sampling rates instead of bandwidths
Jean-Marc Valin [Mon, 12 Nov 2012 20:44:52 +0000 (15:44 -0500)]
RTP draft: Using sampling rates instead of bandwidths

6 years agoOops, fixes transient_analysis() for the right channel
Jean-Marc Valin [Sat, 10 Nov 2012 15:13:03 +0000 (10:13 -0500)]
Oops, fixes transient_analysis() for the right channel

6 years agoFixes a VBR bug caused by maxDepth not to be computed without dynalloc
Jean-Marc Valin [Sat, 10 Nov 2012 05:44:03 +0000 (00:44 -0500)]
Fixes a VBR bug caused by maxDepth not to be computed without dynalloc

Also, moves the dynalloc code to a separate function

6 years agoFix line endings on MSVC project files.
Ralph Giles [Fri, 9 Nov 2012 19:21:33 +0000 (11:21 -0800)]
Fix line endings on MSVC project files.

These files has unix line endings, while the other
project files have dos line endings.

I hoped this would fix the link error about corrupt
or invalid files with these projects, but it doesn't.
Running 'Update project files...' in the VS2012 IDE
is a work around, but it just adds a <PlatformToolset>
element to each <PropertyGroup> and a line ending at
the end of the file.

6 years agoAdd the new source files to the MSVC projects.
Ralph Giles [Fri, 9 Nov 2012 17:42:59 +0000 (09:42 -0800)]
Add the new source files to the MSVC projects.

Commits ae0e2ca8 and 6906210c split encode and decode
support into separate files to help reduce the footprint
of decode-only builds.

This commit adds the new source files to the MSVC
project files, fixing that build.

6 years agoBetter description of the the stereo signalling behaviour
Jean-Marc Valin [Fri, 9 Nov 2012 19:30:25 +0000 (14:30 -0500)]
Better description of the the stereo signalling behaviour

6 years agoBump version.mk.
Ralph Giles [Fri, 9 Nov 2012 18:17:50 +0000 (10:17 -0800)]
Bump version.mk.

Naive builders, particular on Windows without git installed,
would get builds calling themselves 1.0.1 even though master
has diverged significantly from the 1.0.x series at this point.

We should update this file both before and after release.

6 years agoRemove long-outdated comment
Jean-Marc Valin [Fri, 9 Nov 2012 04:59:20 +0000 (23:59 -0500)]
Remove long-outdated comment

6 years agoFixes a quant_coarse_energy() hybrid mode bug
Jean-Marc Valin [Fri, 9 Nov 2012 02:50:05 +0000 (21:50 -0500)]
Fixes a quant_coarse_energy() hybrid mode bug

max_decay was being computed based on the small number of bits allocated
to CELT. It's now set to the max value (16) when in hybrid mode.

6 years agoFixes a bug where transient frames would use previous spreading
Jean-Marc Valin [Thu, 8 Nov 2012 22:22:07 +0000 (17:22 -0500)]
Fixes a bug where transient frames would use previous spreading

Also forces SPREAD_NORMAL in hybrid mode

6 years agoDisables tf_analysis() for hybrid mode
Jean-Marc Valin [Thu, 8 Nov 2012 18:26:49 +0000 (13:26 -0500)]
Disables tf_analysis() for hybrid mode

This prevents issues on speech where tf would undo what transient_analysis()

6 years agoFixes issues with multiple files defining CELT_C
Jean-Marc Valin [Thu, 8 Nov 2012 16:25:20 +0000 (11:25 -0500)]
Fixes issues with multiple files defining CELT_C

6 years agoSplits out the CELT encoder and decoder
Jean-Marc Valin [Thu, 8 Nov 2012 14:42:27 +0000 (09:42 -0500)]
Splits out the CELT encoder and decoder

6 years agoSplits out the Opus multi-stream encoder and decoder
Jean-Marc Valin [Thu, 8 Nov 2012 00:57:33 +0000 (19:57 -0500)]
Splits out the Opus multi-stream encoder and decoder

6 years agoChanged denormalize_bands() to only work between "start" and "end"
Jean-Marc Valin [Wed, 7 Nov 2012 19:09:04 +0000 (14:09 -0500)]
Changed denormalize_bands() to only work between "start" and "end"

6 years agoReduces stack in quant_all_bands() for hybrid mode
Jean-Marc Valin [Wed, 7 Nov 2012 15:19:46 +0000 (10:19 -0500)]
Reduces stack in quant_all_bands() for hybrid mode

No need to allocate for the low-band

6 years agoMore stack usage reduction in quant_all_bands()
Jean-Marc Valin [Wed, 7 Nov 2012 06:27:24 +0000 (01:27 -0500)]
More stack usage reduction in quant_all_bands()

Reduce size of "norm" because we never need it for the last band

6 years agoRemoves the need for lowband_scratch in quant_all_bands()
Jean-Marc Valin [Wed, 7 Nov 2012 06:14:29 +0000 (01:14 -0500)]
Removes the need for lowband_scratch in quant_all_bands()

6 years agoMoved up the second encoder mdct to reduce stack usage
Jean-Marc Valin [Tue, 6 Nov 2012 21:29:11 +0000 (16:29 -0500)]
Moved up the second encoder mdct to reduce stack usage

6 years agoReduces decoder stack usage
Jean-Marc Valin [Mon, 5 Nov 2012 15:25:20 +0000 (10:25 -0500)]
Reduces decoder stack usage

Delays stack allocations as much as possible, and makes some of these
allocations conditional.

6 years agoFurther cleanup of the MDCT code, fixes PLC bug
Jean-Marc Valin [Mon, 5 Nov 2012 04:21:52 +0000 (23:21 -0500)]
Further cleanup of the MDCT code, fixes PLC bug

Doing the overlap coying in the same OPUS_MOVE() as the rest of the synthesis
memory. Also, there was a missing OPUS_MOVE() in the PLC for the hybrid/CNG

6 years agoAvoid copying imdct output
Nils Wallménius [Thu, 1 Nov 2012 21:03:11 +0000 (22:03 +0100)]
Avoid copying imdct output

Use the output buffer directly for imdct output, avoiding use of an
intermediary buffer and copying from it. This works because the output
buffer is offset to always be continous with the overlap buffer in the
decoder. Adjust encoder resynth code to have the same buffer layout.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoVarious fixes to draft-terriberry-oggopus.xml
Timothy B. Terriberry [Sat, 3 Nov 2012 20:01:25 +0000 (13:01 -0700)]
Various fixes to draft-terriberry-oggopus.xml

It should now validate with the Python version of the xml2rfc tool.

6 years agocomb_filter() bypass for the case where the gain is zero.
Jean-Marc Valin [Sat, 3 Nov 2012 15:36:39 +0000 (11:36 -0400)]
comb_filter() bypass for the case where the gain is zero.

6 years agoOops, put back the "static" for transient_analysis()
Jean-Marc Valin [Sat, 3 Nov 2012 14:43:06 +0000 (10:43 -0400)]
Oops, put back the "static" for transient_analysis()

6 years agoFixes a fixed-point overflow in the new transient detector
Jean-Marc Valin [Sat, 3 Nov 2012 04:13:06 +0000 (00:13 -0400)]
Fixes a fixed-point overflow in the new transient detector

6 years agoFixes a fixed-point divide-by-zero issue
Jean-Marc Valin [Fri, 2 Nov 2012 22:47:47 +0000 (18:47 -0400)]
Fixes a fixed-point divide-by-zero issue

6 years agoNew transient detection algorithm
Jean-Marc Valin [Fri, 2 Nov 2012 20:32:37 +0000 (16:32 -0400)]
New transient detection algorithm

This one is explicitly based on a simple temporal masking model

6 years agoMove LSB CTLs to the encoder specific section, thanks to Ilari on IRC for noticing.
Gregory Maxwell [Wed, 31 Oct 2012 22:42:27 +0000 (18:42 -0400)]
Move LSB CTLs to the encoder specific section, thanks to Ilari on IRC for noticing.

6 years agoAdds missing license headers on some scripts and test files
Jean-Marc Valin [Tue, 30 Oct 2012 05:26:36 +0000 (01:26 -0400)]
Adds missing license headers on some scripts and test files

6 years agoKeeping the deemphasis coefficients in local variable to avoid aliasing issues
Jean-Marc Valin [Thu, 25 Oct 2012 18:44:37 +0000 (14:44 -0400)]
Keeping the deemphasis coefficients in local variable to avoid aliasing issues

6 years agoMoves the pitch prefiltering code to a separate function
Jean-Marc Valin [Thu, 25 Oct 2012 03:55:23 +0000 (23:55 -0400)]
Moves the pitch prefiltering code to a separate function

6 years agoFix several issues with multistream argument validation.
Gregory Maxwell [Sat, 27 Oct 2012 17:42:48 +0000 (13:42 -0400)]
Fix several issues with multistream argument validation.

As reported by Mark Warner opus_multistream_*_create were depending on
 the behavior of malloc(0) in order to correctly report some kinds of
 argument errors. Bad arguments could be incorrectly reported as
 allocation failures. This changes multistream to explicitly check the
 arguments like the single stream _create functions. The unit tests were
 enough to catch this on systems where malloc(0) returns NULL but didn't
 catch it on other systems because the later _init call would catch the
 bad arguments and trigger the correct error if and only if the malloc
 didn't return a null pointer.

In multistream_encoder_init failures of the internal non-multistream
 init calls were not being caught and propagated. Decode didn't have
 this problem. This propagates the errors and adds additional tests
 (the multistream encoder api is sill under tested) that would have
 detected this error.

Plus add some stronger tests for things like error==NULL for the _create
 functions that take a pointer for error output.

6 years agooops... fixes a C89 issue
Jean-Marc Valin [Wed, 24 Oct 2012 18:20:43 +0000 (14:20 -0400)]
oops... fixes a C89 issue

6 years agoMoved pre-emphasis to a separate function and cleaned it up
Jean-Marc Valin [Wed, 24 Oct 2012 18:07:46 +0000 (14:07 -0400)]
Moved pre-emphasis to a separate function and cleaned it up

Removed a bunch of if()s from the loops and made the compiler life's
easier by moving some pointer accesses outside the loops.

6 years agoOptimizations to comb_filter()
Jean-Marc Valin [Wed, 24 Oct 2012 05:49:50 +0000 (01:49 -0400)]
Optimizations to comb_filter()

6 years agoRemoves more indirections in celt.c
Jean-Marc Valin [Wed, 24 Oct 2012 00:25:06 +0000 (20:25 -0400)]
Removes more indirections in celt.c


6 years agoRemoves a bunch of indirections from the CELT encoder and decoder
Jean-Marc Valin [Tue, 23 Oct 2012 22:29:40 +0000 (18:29 -0400)]
Removes a bunch of indirections from the CELT encoder and decoder


6 years agoThis should speed up deemphasis() quite a bit.
Jean-Marc Valin [Tue, 23 Oct 2012 20:51:37 +0000 (16:51 -0400)]
This should speed up deemphasis() quite a bit.

Removes the resampling branches from the main loop and no longer computes
the multiplications for coefs equal to one or zero.

6 years agoTake the PLC out of the stack size critical path
Jean-Marc Valin [Tue, 23 Oct 2012 20:14:49 +0000 (16:14 -0400)]
Take the PLC out of the stack size critical path

6 years agoFix MSVC linker warnings
Joshua Bowman [Tue, 23 Oct 2012 20:12:25 +0000 (13:12 -0700)]
Fix MSVC linker warnings

Specify the correct debug runtime libraries for the test
and demo executables to prevent mismatch warnings with
the default runtime.

Signed-off-by: Ralph Giles <giles@mozilla.com>
6 years agoInclude process.h for _getpid on windows.
Ralph Giles [Tue, 23 Oct 2012 20:04:36 +0000 (13:04 -0700)]
Include process.h for _getpid on windows.

Previously the test programmes happened to link because _getpid
returns an int, which is the default prototype. Instead, include
the appropriate header to supply a real declaration, fixing the
associated warning.

I moved the getpid->_getpid define to the site of the header
inclusion to make clear what's going on, rather than have it
floating in win32/config.h.

6 years agoFix the MSVC build.
Joshua Bowman [Tue, 23 Oct 2012 19:18:38 +0000 (12:18 -0700)]
Fix the MSVC build.

Updates the project files to include the new encoder source files.
Use OPUS_RESTRICT and include config.h to set the proper defines
for build under MSVC.

6 years agoFix MSVC format conversion warnings.
Ralph Giles [Tue, 23 Oct 2012 17:49:18 +0000 (10:49 -0700)]
Fix MSVC format conversion warnings.

The Microsoft compiler warns about precision reduction from
default double literals to the floats we generally use outside
the fixed-point build. Avoid these by qualifying the literals
as floats.

Thanks to derf for review.

6 years agoMerge inverse mdct post-rotate and de-shuffle loops
Nils Wallménius [Sun, 21 Oct 2012 12:06:18 +0000 (14:06 +0200)]
Merge inverse mdct post-rotate and de-shuffle loops

Saves some memory access and gives a tiny speedup

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
6 years agoAttempt to have at least two bands that are coded
Jean-Marc Valin [Fri, 19 Oct 2012 23:57:19 +0000 (19:57 -0400)]
Attempt to have at least two bands that are coded

This fixes a SWB hybrid issue where band 18 isn't folded and cannot even
be folded because it's wider than band 17. This was causing noise to
be injected instead.

6 years agocd doc && make is not the same as make -C doc
Ron [Thu, 18 Oct 2012 03:35:55 +0000 (14:05 +1030)]
cd doc && make is not the same as make -C doc

Fixes a regression in the recursive builds introduced in 5467ce7b3f8
that causes `make check-opus` to fail horribly.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoFix an indentation issue.
Ralph Giles [Wed, 17 Oct 2012 18:12:41 +0000 (11:12 -0700)]
Fix an indentation issue.

6 years agoFixes two bugs in the high-band attenuation code (gain_fade())
Jean-Marc Valin [Tue, 16 Oct 2012 04:26:32 +0000 (00:26 -0400)]
Fixes two bugs in the high-band attenuation code (gain_fade())

6 years agoFix minor issues reported by scan-build
Philip Jägenstedt [Thu, 11 Oct 2012 09:27:12 +0000 (11:27 +0200)]
Fix minor issues reported by scan-build

6 years agoIgnore files created by configure && make
Philip Jägenstedt [Fri, 28 Sep 2012 09:01:01 +0000 (11:01 +0200)]
Ignore files created by configure && make

6 years agoAdds OPUS_{G,S}ET_FORCE_CHANNELS requests to multistream API
Jean-Marc Valin [Wed, 10 Oct 2012 20:03:36 +0000 (16:03 -0400)]
Adds OPUS_{G,S}ET_FORCE_CHANNELS requests to multistream API

6 years agoFixes comment-in-comment warning
Jean-Marc Valin [Wed, 10 Oct 2012 17:53:59 +0000 (13:53 -0400)]
Fixes comment-in-comment warning

6 years agoFixes the high-band hybrid gain from the previous commit
Jean-Marc Valin [Thu, 12 Jul 2012 21:36:11 +0000 (17:36 -0400)]
Fixes the high-band hybrid gain from the previous commit

Adds a gain cross-fade to avoid discontinuities and moves it
to a place where it won't affect SILK



6 years agoAttenuates the HF in hybrid mode to match what SILK does below the cutoff
Koen Vos [Thu, 12 Jul 2012 18:55:49 +0000 (14:55 -0400)]
Attenuates the HF in hybrid mode to match what SILK does below the cutoff



6 years agoFixes a fixed-point overflow in the new pitch code
Jean-Marc Valin [Wed, 10 Oct 2012 17:32:16 +0000 (13:32 -0400)]
Fixes a fixed-point overflow in the new pitch code

6 years agoImprovements to the pitch search
Koen Vos [Thu, 12 Jul 2012 18:36:38 +0000 (14:36 -0400)]
Improvements to the pitch search

Normalizes the cost function by (x+y) instead of sqrt(x*y)

6 years agoUsing floor(.5+x) instead of lrint(x) for C90 compilers
Jean-Marc Valin [Wed, 10 Oct 2012 12:58:15 +0000 (08:58 -0400)]
Using floor(.5+x) instead of lrint(x) for C90 compilers

6 years agoFixes a bug in the LSB_DEPTH code introduced in cf1053dc
Jean-Marc Valin [Wed, 10 Oct 2012 00:18:28 +0000 (20:18 -0400)]
Fixes a bug in the LSB_DEPTH code introduced in cf1053dc

6 years agocopysignf() was C99-only
Jean-Marc Valin [Tue, 9 Oct 2012 23:13:04 +0000 (19:13 -0400)]
copysignf() was C99-only

6 years agoFixes a fixed-point stereo savings issue causing a celt_ilog2(0)
Jean-Marc Valin [Tue, 9 Oct 2012 19:07:53 +0000 (15:07 -0400)]
Fixes a fixed-point stereo savings issue causing a celt_ilog2(0)

6 years agoFixes Makefile.unix
Jean-Marc Valin [Tue, 9 Oct 2012 18:25:06 +0000 (14:25 -0400)]
Fixes Makefile.unix

6 years agoGets rid of unused boost analysis code that never worked anyway.
Jean-Marc Valin [Tue, 9 Oct 2012 17:43:54 +0000 (13:43 -0400)]
Gets rid of unused boost analysis code that never worked anyway.

Also removes the -exp_analysis suffix from opus_get_version_string()
and fixes a "ISO C90 forbids mixed declarations and code" warning.

6 years agoMerge branch 'exp_analysis7'
Jean-Marc Valin [Tue, 9 Oct 2012 07:07:06 +0000 (03:07 -0400)]
Merge branch 'exp_analysis7'


6 years agoTuning the speech/music probability model exp_analysis7
Jean-Marc Valin [Tue, 9 Oct 2012 06:12:02 +0000 (02:12 -0400)]
Tuning the speech/music probability model

6 years agoremove GNUism from install doc command
Hanspeter Niederstrasser [Wed, 26 Sep 2012 23:36:57 +0000 (19:36 -0400)]
remove GNUism from install doc command

6 years agoFix typo in documentation for opus_decoder_create().
Gregory Maxwell [Sat, 6 Oct 2012 14:51:04 +0000 (10:51 -0400)]
Fix typo in documentation for opus_decoder_create().

6 years agoBelabor OPUS_SET_BITRATE instead of max_packet, as this is a common trap.
Gregory Maxwell [Thu, 27 Sep 2012 22:36:51 +0000 (18:36 -0400)]
Belabor OPUS_SET_BITRATE instead of max_packet, as this is a common trap.

Philip Jägenstedt [Thu, 27 Sep 2012 12:38:00 +0000 (14:38 +0200)]

6 years agoFix common misspellings
Philip Jägenstedt [Thu, 27 Sep 2012 11:28:32 +0000 (13:28 +0200)]
Fix common misspellings

I stumbled upon the typo in README.draft, so took the opportunity to
grep for common misspellings using List_of_common_misspellings.txt for

6 years agoAdd some more multistream encoder API tests.
Gregory Maxwell [Wed, 26 Sep 2012 12:33:16 +0000 (08:33 -0400)]
Add some more multistream encoder API tests.

6 years agoDocbug: Replace opus_encode_frame with opus_encode_float in doxygen.
Gregory Maxwell [Tue, 25 Sep 2012 01:11:00 +0000 (21:11 -0400)]
Docbug: Replace opus_encode_frame with opus_encode_float in doxygen.

6 years agoSaves channels*overlap*4 bytes off the state encoder
Jean-Marc Valin [Fri, 21 Sep 2012 18:33:01 +0000 (14:33 -0400)]
Saves channels*overlap*4 bytes off the state encoder

These were only needed with RESYNTH defined

6 years agoReduces rate/max rate to make room for redundancy
Jean-Marc Valin [Fri, 21 Sep 2012 02:00:22 +0000 (22:00 -0400)]
Reduces rate/max rate to make room for redundancy

This fixes a problem where we could end up starving the redundancy
frame, especially for CBR. The solution is to make sure that some
bits are left available -- assuming we use the same rate for redundancy
as for the rest of the frame.

6 years agoJust fix opus-uninstalled.pc instead of tweaking the build dir
Ron [Wed, 19 Sep 2012 06:42:16 +0000 (16:12 +0930)]
Just fix opus-uninstalled.pc instead of tweaking the build dir

Doing it this way means it's only the weird corner case that actually
pays for being weird, and we don't litter the build dir with an extra
link that normal builds really don't need at all.

It also avoids the problem of platforms where LN_S isn't well defined.

6 years agoReplace 'maximum frame size' with 'maximum packet duration' in the docs.
Gregory Maxwell [Wed, 19 Sep 2012 13:43:52 +0000 (09:43 -0400)]
Replace 'maximum frame size' with 'maximum packet duration' in the docs.

This could be confusing/misleading.

6 years agoFixes a CELT->hybrid switching issue
Jean-Marc Valin [Wed, 19 Sep 2012 07:28:58 +0000 (03:28 -0400)]
Fixes a CELT->hybrid switching issue

Prefilling didn't use the right offset because of the extra_delay
changes introduced in the analysis branch.

6 years agoLink the include dir into out-of-tree build dirs
Ron [Tue, 18 Sep 2012 22:26:17 +0000 (07:56 +0930)]
Link the include dir into out-of-tree build dirs

Mostly this is for people building other things using an uninstalled
opus tree so that the opus-uninstalled.pc will return a working -I
with --cflags when PKG_CONFIG_PATH is set to point to the build dir.

The version of AC_OUTPUT that takes parameters has long been
deprecated now, and replaced by AC_CONFIG_* macros, so pass them
with AC_CONFIG_FILES, since we're now using AC_CONFIG_COMMANDS
to do the above.

6 years agoMove libm in pkgconf to Libs.private to avoid spurious dependencies.
Gregory Maxwell [Mon, 17 Sep 2012 13:57:22 +0000 (09:57 -0400)]
Move libm in pkgconf to Libs.private to avoid spurious dependencies.

6 years agoOpus custom requires libm unconditionally.
Ralph Giles [Mon, 17 Sep 2012 07:05:00 +0000 (00:05 -0700)]
Opus custom requires libm unconditionally.

6 years agoAdd -lm to the pkg-config link line.
Ralph Giles [Mon, 17 Sep 2012 06:09:21 +0000 (23:09 -0700)]
Add -lm to the pkg-config link line.

The floating-point build calls a number of math library
functions, and linking with libm is technically necessary.
It wasn't obvious because most systems support shlib
dependencies and pulled it in that way, or supply the
referenced functions with intrinsics. Discovered the issue
trying to build libopusfile against the uninstalled static
libopus, which unlike opus-tools, doesn't itself need libm.

The -lm argument is only added to Libs for the floating-
point (default) build. It's not necessary for the fixed-
point build.

Also mark which build was used in the .pc file description.

6 years agoRemove FLOATING_POINT from config.h.
Ralph Giles [Mon, 17 Sep 2012 06:15:37 +0000 (23:15 -0700)]
Remove FLOATING_POINT from config.h.

This isn't used anywhere in the code, floating point is just the
default unless FIXED_POINT is defined.

In the speex codebase, arch.h has a check that both FIXED_POINT
and FLOATING_POINT aren't defined simultaneously, in part as a
check that the build system was constructed with thought about
these and other defines. However, we don't have such a check
and to me it seems unnecessary code.

6 years agoRemove 'low-delay' from the pkg-config description.
Ralph Giles [Mon, 17 Sep 2012 06:14:31 +0000 (23:14 -0700)]
Remove 'low-delay' from the pkg-config description.

While a feature of Opus, its applications are not limited
to contexts where low delay is important.

6 years agoCapitalize Opus in the pkg-config file comment header.
Ralph Giles [Mon, 17 Sep 2012 05:40:37 +0000 (22:40 -0700)]
Capitalize Opus in the pkg-config file comment header.

6 years agoAdd a make install instruction to the README.
Gregory Maxwell [Sun, 16 Sep 2012 05:07:09 +0000 (01:07 -0400)]
Add a make install instruction to the README.

6 years agos/SHL/SHL16/
Jean-Marc Valin [Sat, 15 Sep 2012 07:09:35 +0000 (03:09 -0400)]

6 years agoShrinks tansig table, makes data static const
Jean-Marc Valin [Fri, 14 Sep 2012 19:49:18 +0000 (15:49 -0400)]
Shrinks tansig table, makes data static const

6 years agoMakes dynalloc more conservative for CBR and CVBR
Jean-Marc Valin [Fri, 14 Sep 2012 05:25:05 +0000 (01:25 -0400)]
Makes dynalloc more conservative for CBR and CVBR

6 years agoBit allocation fix for 16-bit platforms
Jean-Marc Valin [Thu, 13 Sep 2012 21:49:42 +0000 (17:49 -0400)]
Bit allocation fix for 16-bit platforms

6 years agoAdds anslysis code for tf_select
Jean-Marc Valin [Thu, 13 Sep 2012 03:33:30 +0000 (23:33 -0400)]
Adds anslysis code for tf_select

For now, we only allow tf_select=1 on transients. This is just to be
on the safe side.

6 years agosilk: move down- and upsamplers constants to the header file.
Diego Elio Pettenò [Mon, 10 Sep 2012 08:48:25 +0000 (01:48 -0700)]
silk: move down- and upsamplers constants to the header file.

These are only being used outside if the translation unit and only in
a few codepaths; by making them static in the header, the compiler can
optimize them quickly.

This avoids GOT-based access to the external symbol on Unix, and can
allow for constant propagation to optimize the code.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
6 years agoMove to comment a table that is never used in the code.
Diego Elio Pettenò [Mon, 10 Sep 2012 08:48:24 +0000 (01:48 -0700)]
Move to comment a table that is never used in the code.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
6 years agoMark tables static when not used outside of their translation unit.
Diego Elio Pettenò [Mon, 10 Sep 2012 08:48:23 +0000 (01:48 -0700)]
Mark tables static when not used outside of their translation unit.

This is similar to the change for functions, but is only used to
perform DCE.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>