opus.git
7 years agoUpdates MDCT unit test
Jean-Marc Valin [Sun, 2 Dec 2012 03:11:47 +0000 (22:11 -0500)]
Updates MDCT unit test

7 years agoMore comments in the PLC
Jean-Marc Valin [Sun, 2 Dec 2012 03:00:53 +0000 (22:00 -0500)]
More comments in the PLC

7 years agoPlace output of imdct post-rotate and deshuffle in out buffer to avoid copying and...
Nils Wallménius [Sat, 1 Dec 2012 20:28:59 +0000 (21:28 +0100)]
Place output of imdct post-rotate and deshuffle in out buffer to avoid copying and simplify the code.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
7 years agoWindow both sides of overlap when adding them.
Nils Wallménius [Sat, 1 Dec 2012 20:11:50 +0000 (21:11 +0100)]
Window both sides of overlap when adding them.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
7 years agoAdd a regression test for the padding issue.
Ralph Giles [Sat, 1 Dec 2012 02:00:38 +0000 (18:00 -0800)]
Add a regression test for the padding issue.

This is a heavily modified version of the demonstration program
Jüri Aedla posted to the mailing list. Verified to pass with
the current commit, but fail with the tree from two commits ago.

http://lists.xiph.org/pipermail/opus/2012-November/001834.html

7 years agoFixes an out-of-bounds read issue with the padding handling code
Jean-Marc Valin [Fri, 30 Nov 2012 22:36:36 +0000 (17:36 -0500)]
Fixes an out-of-bounds read issue with the padding handling code

This was reported by Juri Aedla and is limited to reading memory up
to about 60 kB beyond the compressed buffer. This can only be triggered
by a compressed packet more than about 16 MB long, so it's not a problem
for RTP. In theory, it *could* crash an Ogg decoder if the memory just after
the incoming packet is out-of-range.

7 years agobump rtp draft version
Jean-Marc Valin [Fri, 30 Nov 2012 19:41:32 +0000 (14:41 -0500)]
bump rtp draft version

7 years agoRTP draft updates addressing the rest of Tina's comments
Julian Spittka [Fri, 30 Nov 2012 08:12:59 +0000 (03:12 -0500)]
RTP draft updates addressing the rest of Tina's comments

7 years agoBetter comments in the PLC
Jean-Marc Valin [Thu, 29 Nov 2012 22:59:50 +0000 (17:59 -0500)]
Better comments in the PLC

7 years agoRemove obsolete check for endianness.
Ralph Giles [Thu, 29 Nov 2012 22:58:39 +0000 (14:58 -0800)]
Remove obsolete check for endianness.

We don't ever use the WORDS_BIGENDIAN cpp symbol in our code.

7 years agoFixes an overflow in the fixed-point celt_sqrt() for large values.
Jean-Marc Valin [Thu, 29 Nov 2012 21:51:06 +0000 (16:51 -0500)]
Fixes an overflow in the fixed-point celt_sqrt() for large values.

Was causing problems with the PLC

7 years agoFixes many many issues in the CELT PLC
Jean-Marc Valin [Thu, 29 Nov 2012 21:49:46 +0000 (16:49 -0500)]
Fixes many many issues in the CELT PLC

Previous code was so broken that it's`not worth listing the changes.
Aside from quality, one obvious improvement is a 3.75k reduction in stack size

7 years agoAddressing some of Tina's comments on the RTP draft
Jean-Marc Valin [Thu, 29 Nov 2012 14:24:54 +0000 (09:24 -0500)]
Addressing some of Tina's comments on the RTP draft

7 years agoImprove the !OPUS_BUILD #error.
Ralph Giles [Thu, 29 Nov 2012 19:40:04 +0000 (11:40 -0800)]
Improve the !OPUS_BUILD #error.

The README doesn't say anything about this particular define.
Refer people to config.h and the other build files for examples.

7 years agoAllow the build files to override OPUS_EXPORT.
Ralph Giles [Thu, 29 Nov 2012 19:01:27 +0000 (11:01 -0800)]
Allow the build files to override OPUS_EXPORT.

OPUS_EXPORT was conditionalized on OPUS_BUILD, so that symbols
are export based on public header declarations when building
opus as a library, but not when those headers are included in
other programmes. This doesn't address the case when the opus
source and its caller are both included in the same monolithic
build.

In that case we want to define OPUS_BUILD, to indicate that we
are compiling the codec source, but not export the symbols. To
support this, only define OPUS_EXPORT if it is not already defined.
This allows build scripts to -DOPUS_EXPORT and override the
platform-specific attribute decortation in opus_defines.h.

Based on a patch by Sergey Ulanov.
http://git.chromium.org/gitweb/?p=chromium/deps/opus.git;a=commitdiff;h=6304b9628cb7244e3cc78f740aeb6659562f1857

7 years agoRemove obsolete #ifdef OPUS_BUILD.
Ralph Giles [Thu, 29 Nov 2012 18:36:12 +0000 (10:36 -0800)]
Remove obsolete #ifdef OPUS_BUILD.

We always define OPUS_BUILD, so this code has no effect.
Likewise there is no reason for it to be conditional.
According to Jean-Marc it's left over from when we had
an alternate CELT_BUILD define.

7 years agoGuard _BitScanReverse on MSVC so that MSVC 6 doesn't break.
Gregory Maxwell [Tue, 27 Nov 2012 17:51:20 +0000 (12:51 -0500)]
Guard _BitScanReverse on MSVC so that MSVC 6 doesn't break.

This also adds some extra casts to shut up compiler warnings
 reported on MSVC 6 where there is implicit truncation for the
 arguments of bitexact_cos().
Lacking access to CLZ/BSR will make the code a fair bit slower but
 that is better than failing to compile.

7 years agoMore minor updates to RTP draft
Jean-Marc Valin [Thu, 22 Nov 2012 22:25:22 +0000 (17:25 -0500)]
More minor updates to RTP draft

7 years agoMisc updates to the RTP draft
Jean-Marc Valin [Thu, 22 Nov 2012 22:10:50 +0000 (17:10 -0500)]
Misc updates to the RTP draft

Made RFC6716 a normative reference, removed non-sensical constraints,
updated contact info, ...

7 years agoReword 239e9a33 for better clarity.
Timothy B. Terriberry [Thu, 22 Nov 2012 12:38:35 +0000 (04:38 -0800)]
Reword 239e9a33 for better clarity.

Thanks to Randell Jesup for the feedback.

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

7 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
 <http://www.ietf.org/mail-archive/web/codec/current/msg02941.html>

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

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

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

7 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

7 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

7 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

7 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

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

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

7 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

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

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

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

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

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

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

mode->eBands[]

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

st->mode->overlap
st->mode->nbEBands
st->overlap
st->mode

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

Conflicts:

src/opus_encoder.c

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

Conflicts:

src/opus_multistream.c
src/opus_private.h

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'

Conflicts:
celt/celt.c
celt/mdct.c
include/opus_defines.h
src/opus_encoder.c

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.

7 years agoTypo: FIND_PITCH_BANDWI(D)TH_EXPANSION
Philip Jägenstedt [Thu, 27 Sep 2012 12:38:00 +0000 (14:38 +0200)]
Typo: FIND_PITCH_BANDWI(D)TH_EXPANSION

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

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