7 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

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

7 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

7 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

7 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

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

7 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

7 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

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

7 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

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

7 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

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

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

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

7 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

7 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

7 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

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

7 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

7 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

7 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

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

7 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

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

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

7 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


7 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


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

7 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

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

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

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

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

7 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>
7 years agoFix an indentation issue.
Ralph Giles [Wed, 17 Oct 2012 18:12:41 +0000 (11:12 -0700)]
Fix an indentation issue.

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

7 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

7 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

7 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

7 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

7 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



7 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



7 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

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

7 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

7 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

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

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

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

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

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


7 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

7 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

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

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

7 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

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

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

7 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

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

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

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

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

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

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

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

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

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

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

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

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

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

7 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

7 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

7 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

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

7 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>
7 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>
7 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>
7 years agoMark functions static if they are only used in their own translation unit.
Diego Elio Pettenò [Mon, 10 Sep 2012 08:48:22 +0000 (01:48 -0700)]
Mark functions static if they are only used in their own translation unit.

This allows the compiler to perform more optimization on them as it
knows how the functions are being called.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
7 years agoopus_demo: mark tables as static constants.
Diego Elio Pettenò [Mon, 10 Sep 2012 08:48:19 +0000 (01:48 -0700)]
opus_demo: mark tables as static constants.

While this is not making a huge difference it still makes the code
more consistent.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
7 years agoFixes multistream doc
Jean-Marc Valin [Tue, 11 Sep 2012 01:47:09 +0000 (21:47 -0400)]
Fixes multistream doc

7 years agoExpand documentation for the multistream API.
Timothy B. Terriberry [Sun, 9 Sep 2012 14:22:11 +0000 (07:22 -0700)]
Expand documentation for the multistream API.

This patch also includes some small edits/additions to the main API

7 years agoFixes to the new repacketizer doc
Jean-Marc Valin [Mon, 10 Sep 2012 20:24:33 +0000 (16:24 -0400)]
Fixes to the new repacketizer doc

7 years agoAdd documentation for the repacketizer API.
Timothy B. Terriberry [Sun, 9 Sep 2012 10:13:26 +0000 (03:13 -0700)]
Add documentation for the repacketizer API.

This patch also includes some small edits for the main API

7 years agoUse dynamic stack allocations in SILK decoder.
Timothy B. Terriberry [Wed, 5 Sep 2012 14:35:49 +0000 (07:35 -0700)]
Use dynamic stack allocations in SILK decoder.

This allows the decoder to be compiled with
 NONTHREADSAFE_PSEUDOSTACK to move the memory for large buffers off
 the stack for devices where it is very limited.
This patch only attempts to do this for the decoder.
The encoder still requires more than 10 kB of stack.

7 years agoBump version to 1.0.1 1.0.1 v1.0.1
Jean-Marc Valin [Sat, 8 Sep 2012 06:29:35 +0000 (02:29 -0400)]
Bump version to 1.0.1

7 years agoRemove large multistream stack buffers.
Timothy B. Terriberry [Fri, 7 Sep 2012 13:01:53 +0000 (06:01 -0700)]
Remove large multistream stack buffers.

This avoids allocating any buffers on the stack that depend on the
 total channel count.
Such buffers could easily exceed the size of the
It also checks the frame_size argument in both the encoder and
 decoder to avoid allocating large stack buffers for opus_encode()
 calls that would fail anyway or opus_decode() calls that would
 never use all that space anyway.

7 years agoBalance parentheses in opus_multistream.c.
Timothy B. Terriberry [Thu, 6 Sep 2012 16:30:06 +0000 (09:30 -0700)]
Balance parentheses in opus_multistream.c.

This makes simple syntax highlighters (e.g., vim) stop complaining
 because they don't parse the #ifdef's.

7 years agosome doc for --enable-fixed-point and --enable-floating-point v1.0.1-rc3
Jean-Marc Valin [Sat, 1 Sep 2012 03:35:12 +0000 (23:35 -0400)]
some doc for --enable-fixed-point and --enable-floating-point

7 years agobump version, include Makefile.unix
Jean-Marc Valin [Sat, 1 Sep 2012 03:10:12 +0000 (23:10 -0400)]
bump version, include Makefile.unix

7 years agoAdd an m4 macro set for pkgconfig less usage with autotools.
Gregory Maxwell [Thu, 30 Aug 2012 16:26:34 +0000 (12:26 -0400)]
Add an m4 macro set for pkgconfig less usage with autotools.

7 years agoAdd opus_multistream.h to MSVC project files.
Gregory Maxwell [Wed, 29 Aug 2012 15:41:30 +0000 (11:41 -0400)]
Add opus_multistream.h to MSVC project files.

7 years agoAvoid using make -C, a gnuism, in Makefile.am.
Gregory Maxwell [Wed, 29 Aug 2012 14:31:16 +0000 (10:31 -0400)]
Avoid using make -C, a gnuism, in Makefile.am.

Instead use cd inside the makefiles.
This fixes 'make check', etc. with some non-gnu makes. (HPUX, for example)

7 years agoCompletely remove the built-in autotools -fstatck-protector detection.
Gregory Maxwell [Wed, 29 Aug 2012 14:29:24 +0000 (10:29 -0400)]
Completely remove the built-in autotools -fstatck-protector detection.

 On some systems (HPPA+HPUX+GCC) -fstatck-protector was causing failures not
at build or link time but at actual runtime. This is much less reasonable to
detect from autotools. It looks this this really can only safely be a white-
list, and the systems which would be whitelisted often already pick up the
setting from the OS build environment in any case.  It isn't important for
OPUS, we were just using it as belt-and-suspenders security and because it
makes some failure types easier to troubleshoot.