opus.git
5 years agoMerge branch 'silk_pitch_fix'
Jean-Marc Valin [Thu, 21 Nov 2013 19:43:53 +0000 (14:43 -0500)]
Merge branch 'silk_pitch_fix'

5 years agoApplies padding to all CBR packets, including PLC and CELT silence
Jean-Marc Valin [Thu, 21 Nov 2013 19:42:00 +0000 (14:42 -0500)]
Applies padding to all CBR packets, including PLC and CELT silence

5 years agoAdds trivial_example.c to make dist
Jean-Marc Valin [Thu, 21 Nov 2013 19:36:41 +0000 (14:36 -0500)]
Adds trivial_example.c to make dist

5 years agoAdds a simple example of Opus encoding+decoding
Jean-Marc Valin [Thu, 21 Nov 2013 19:33:42 +0000 (14:33 -0500)]
Adds a simple example of Opus encoding+decoding

5 years agoopus_custom_encoder_init() now only needed for custom modes.
Jean-Marc Valin [Thu, 21 Nov 2013 00:34:14 +0000 (19:34 -0500)]
opus_custom_encoder_init() now only needed for custom modes.

5 years agoAdd copyright header to test_opus_padding.c.
Ralph Giles [Wed, 20 Nov 2013 22:31:09 +0000 (11:31 +1300)]
Add copyright header to test_opus_padding.c.

5 years agoMakes pitch gain control less aggressive silk_pitch_fix
Jean-Marc Valin [Wed, 20 Nov 2013 22:11:15 +0000 (17:11 -0500)]
Makes pitch gain control less aggressive

5 years agoUsing the maximum frequency response of pitch taps instead of maxabs
Jean-Marc Valin [Wed, 20 Nov 2013 18:39:23 +0000 (13:39 -0500)]
Using the maximum frequency response of pitch taps instead of maxabs

5 years agoConstrains accumulated pitch gain to avoid potential instability.
Koen Vos [Wed, 20 Nov 2013 13:32:32 +0000 (08:32 -0500)]
Constrains accumulated pitch gain to avoid potential instability.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoAdditional opus_multistream_packet_(un)pad tests.
Gregory Maxwell [Tue, 19 Nov 2013 16:52:49 +0000 (08:52 -0800)]
Additional opus_multistream_packet_(un)pad tests.

5 years agoValidate merge argument in repacketizer_demo.
Gregory Maxwell [Tue, 19 Nov 2013 16:35:26 +0000 (08:35 -0800)]
Validate merge argument in repacketizer_demo.

5 years agoValidate channel count in opus_demo.
Gregory Maxwell [Tue, 19 Nov 2013 16:29:06 +0000 (08:29 -0800)]
Validate channel count in opus_demo.

5 years agoAdd opus_packet_(un)pad tests.
Gregory Maxwell [Tue, 19 Nov 2013 07:25:20 +0000 (23:25 -0800)]
Add opus_packet_(un)pad tests.

5 years agoMore make dist fixes
Ron [Tue, 19 Nov 2013 07:04:12 +0000 (17:34 +1030)]
More make dist fixes

Don't include the generated celt/arm/celt_pitch_xcorr_arm-gnu.S in the
dist tarball, but do include its celt_pitch_xcorr_arm.s source file.

5 years agoFix 'make distclean'.
Ralph Giles [Tue, 19 Nov 2013 04:50:05 +0000 (17:50 +1300)]
Fix 'make distclean'.

Automake's dependency tracking seems to be confused by our asm
generation double-indirection. It's sufficient to have just
CLEANFILES = $(CELT_AM_SOURCES_ARM_ASM:.s.in=-gnu.S)
to fix the error about 'armopts-gnu.S' not being cleaned, but
celt_pitch_xcorr_arm-gnu.S is also not cleaned without raising
a warning. Therefore we explicitly clean both sets of ARM_ASM.

5 years agoDon't attenuate hybrid high-band for surround
Jean-Marc Valin [Tue, 19 Nov 2013 04:00:36 +0000 (23:00 -0500)]
Don't attenuate hybrid high-band for surround

5 years agoFixes unpad for multi-stream
Jean-Marc Valin [Tue, 19 Nov 2013 02:22:30 +0000 (21:22 -0500)]
Fixes unpad for multi-stream

5 years agoUnpad asserts
Timothy B. Terriberry [Tue, 19 Nov 2013 01:02:08 +0000 (20:02 -0500)]
Unpad asserts

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoFixes previous commit
Mark Harris [Mon, 18 Nov 2013 21:52:22 +0000 (16:52 -0500)]
Fixes previous commit

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoAdds functions for multistream padding/unpadding and single-stream unpadding
Jean-Marc Valin [Mon, 18 Nov 2013 21:46:38 +0000 (16:46 -0500)]
Adds functions for multistream padding/unpadding and single-stream unpadding

These are all completely untested.

5 years agoASM build fix
Timothy B. Terriberry [Mon, 18 Nov 2013 19:10:57 +0000 (14:10 -0500)]
ASM build fix

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoFixes permissions on arm2gnu.pl
Jean-Marc Valin [Mon, 18 Nov 2013 18:49:34 +0000 (13:49 -0500)]
Fixes permissions on arm2gnu.pl

5 years agoAdds Neon assembly for correlation/convolution
Timothy B. Terriberry [Mon, 18 Nov 2013 18:30:13 +0000 (13:30 -0500)]
Adds Neon assembly for correlation/convolution

Optimizing celt_pitch_xcorr()/xcorr_kernel() which also speeds up
FIRs, IIRs and auto-correlations

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoAdds SATURATE16() to the fixed-point debug build too
Jean-Marc Valin [Mon, 18 Nov 2013 03:42:42 +0000 (22:42 -0500)]
Adds SATURATE16() to the fixed-point debug build too

5 years agoFixes SILK surround calibration while fixing other MSVC warnings
Jean-Marc Valin [Mon, 18 Nov 2013 03:35:15 +0000 (22:35 -0500)]
Fixes SILK surround calibration while fixing other MSVC warnings

5 years agoAdd some basic testing for OPUS_{GET|SET}_PREDICTION_DISABLED.
Gregory Maxwell [Sun, 17 Nov 2013 16:52:00 +0000 (08:52 -0800)]
Add some basic testing for OPUS_{GET|SET}_PREDICTION_DISABLED.

5 years agooops, fix previous commit
Jean-Marc Valin [Sat, 16 Nov 2013 18:33:38 +0000 (13:33 -0500)]
oops, fix previous commit

5 years agoMake CELT_PVQ_U_ROW static
Jean-Marc Valin [Sat, 16 Nov 2013 08:54:58 +0000 (03:54 -0500)]
Make CELT_PVQ_U_ROW static

5 years agoAdds OPUS_SET_PREDICTION_DISABLED() ctl to force "independent" frames
Jean-Marc Valin [Fri, 15 Nov 2013 18:50:38 +0000 (13:50 -0500)]
Adds OPUS_SET_PREDICTION_DISABLED() ctl to force "independent" frames

Works by turning off pitch and energy prediction in CELT, while
setting first_frame_after_reset in SILK to disable pitch and LSF interpolation
and reduce LPC gain.

5 years agoAdds a simple padding test to opus_demo (disabled by default)
Jean-Marc Valin [Fri, 15 Nov 2013 18:35:04 +0000 (13:35 -0500)]
Adds a simple padding test to opus_demo (disabled by default)

5 years agoOops, missing semicolon on RESTORE_STACK in previous commit
Jean-Marc Valin [Fri, 15 Nov 2013 06:57:25 +0000 (01:57 -0500)]
Oops, missing semicolon on RESTORE_STACK in previous commit

5 years agoAdds missing RESTORE_STACKs in celt_encode_with_ec()
Jean-Marc Valin [Fri, 15 Nov 2013 06:52:28 +0000 (01:52 -0500)]
Adds missing RESTORE_STACKs in celt_encode_with_ec()

5 years agoFixes a bug where the encoder was trying to use redundancy in CELT mode
Jean-Marc Valin [Fri, 15 Nov 2013 06:41:12 +0000 (01:41 -0500)]
Fixes a bug where the encoder was trying to use redundancy in CELT mode

The problem was that forcing CELT-mode for low bitrate CBR was done too late,
after the encoder had decided to use SILK. This was causing redundancy
to be allocated because the encoder didn't realize it was going to keep
using CELT.

5 years agoAdds packet padding that works for all codes and fixes 40/60 ms CBR.
Jean-Marc Valin [Wed, 13 Nov 2013 19:08:22 +0000 (14:08 -0500)]
Adds packet padding that works for all codes and fixes 40/60 ms CBR.

Padding is now handled by the repacketizer.

5 years agoFixes max_redundancy so that hybrid CBR can fill all bytes
Jean-Marc Valin [Wed, 13 Nov 2013 22:50:39 +0000 (17:50 -0500)]
Fixes max_redundancy so that hybrid CBR can fill all bytes

5 years agoopus_multistream_packet_validate() now called with the total number of streams
Mark Harris [Thu, 14 Nov 2013 00:31:59 +0000 (19:31 -0500)]
opus_multistream_packet_validate() now called with the total number of streams

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoRename preemphasis() to celt_preemphasis() to avoid amrnb symbol clash
Jean-Marc Valin [Thu, 14 Nov 2013 00:35:43 +0000 (19:35 -0500)]
Rename preemphasis() to celt_preemphasis() to avoid amrnb symbol clash

http://lists.xiph.org/pipermail/opus/2013-November/002372.html

5 years agoFixes more warnings
Jean-Marc Valin [Thu, 14 Nov 2013 04:06:25 +0000 (23:06 -0500)]
Fixes more warnings

5 years agoIncrease surround allocation offset for smaller frame sizes
Jean-Marc Valin [Thu, 14 Nov 2013 03:58:10 +0000 (22:58 -0500)]
Increase surround allocation offset for smaller frame sizes

5 years agoPrevents LFE from busting at really low bitrate
Jean-Marc Valin [Thu, 14 Nov 2013 03:42:04 +0000 (22:42 -0500)]
Prevents LFE from busting at really low bitrate

5 years agoFixes MSVC conversion warnings
Jean-Marc Valin [Wed, 13 Nov 2013 17:07:01 +0000 (12:07 -0500)]
Fixes MSVC conversion warnings

5 years agoVariable frame size fixes (still not exposed in the API)
Jean-Marc Valin [Wed, 13 Nov 2013 16:57:31 +0000 (11:57 -0500)]
Variable frame size fixes (still not exposed in the API)

This fixes an actual error in the downmix (using the float version even
for the int API), as well as a bunch of conversion warnings.

5 years agoMaking the CELT fixed-point decoder a bit more robust to extreme signals
Jean-Marc Valin [Wed, 13 Nov 2013 14:39:05 +0000 (09:39 -0500)]
Making the CELT fixed-point decoder a bit more robust to extreme signals

denormalise_bands() can now produce signals close to the max MDCT amplitude.

5 years agoFixes an initialization issue in SILK prefill found by Coverity
Jean-Marc Valin [Tue, 12 Nov 2013 19:20:00 +0000 (14:20 -0500)]
Fixes an initialization issue in SILK prefill found by Coverity

5 years agooops, don't need RESTORE_STACK when there's no stack
Jean-Marc Valin [Mon, 11 Nov 2013 23:24:56 +0000 (18:24 -0500)]
oops, don't need RESTORE_STACK when there's no stack

5 years agogcc -pedantic had "comparison of unsigned expression < 0 is always false"
Jean-Marc Valin [Mon, 11 Nov 2013 22:39:02 +0000 (17:39 -0500)]
gcc -pedantic had "comparison of unsigned expression < 0 is always false"

5 years agoMore size-zero VLA fixes and making opus_decode* return BAD_ARG on framesize<0
Jean-Marc Valin [Mon, 11 Nov 2013 18:06:54 +0000 (13:06 -0500)]
More size-zero VLA fixes and making opus_decode* return BAD_ARG on framesize<0

5 years agoFixes some minor issues found by scan build
Jean-Marc Valin [Sat, 9 Nov 2013 23:28:40 +0000 (18:28 -0500)]
Fixes some minor issues found by scan build

5 years agostupid uninitialized variable in the mlp training caught by cppcheck
Jean-Marc Valin [Sat, 9 Nov 2013 02:47:44 +0000 (21:47 -0500)]
stupid uninitialized variable in the mlp training caught by cppcheck

5 years agoHides OPUS_FRAMESIZE_VARIABLE from the API until it actually works
Jean-Marc Valin [Sat, 9 Nov 2013 00:54:03 +0000 (19:54 -0500)]
Hides OPUS_FRAMESIZE_VARIABLE from the API until it actually works

5 years agoMakes surround bandwidth decision based on the number of channels (duh!)
Jean-Marc Valin [Sat, 9 Nov 2013 00:53:27 +0000 (19:53 -0500)]
Makes surround bandwidth decision based on the number of channels (duh!)

5 years agoTaking into account the frame size in more encoder decisions
Jean-Marc Valin [Sat, 9 Nov 2013 00:24:10 +0000 (19:24 -0500)]
Taking into account the frame size in more encoder decisions

Stereo mode, stereo width, min bandwidth, VBR damping

5 years agoThis should be less confusing for static analyzers
Jean-Marc Valin [Tue, 5 Nov 2013 02:16:00 +0000 (21:16 -0500)]
This should be less confusing for static analyzers

Code behaviour is unchanged

5 years agoExposes --disable-float-api in autoconf
Jean-Marc Valin [Mon, 4 Nov 2013 17:26:50 +0000 (12:26 -0500)]
Exposes --disable-float-api in autoconf

5 years agoRemoves a float var that shouldn't have been there
Jean-Marc Valin [Tue, 29 Oct 2013 01:50:10 +0000 (21:50 -0400)]
Removes a float var that shouldn't have been there

Defining FIXED_POINT and DISABLE_FLOAT_API now leaves no float instruction

5 years agoFixes DISABLE_FLOAT_API build
Jean-Marc Valin [Tue, 29 Oct 2013 01:48:50 +0000 (21:48 -0400)]
Fixes DISABLE_FLOAT_API build

5 years agoMoves opus_packet_parse_impl() from opus_decoder.c to opus.c
Jean-Marc Valin [Mon, 28 Oct 2013 20:41:26 +0000 (16:41 -0400)]
Moves opus_packet_parse_impl() from opus_decoder.c to opus.c

Because it's indirectly used in the encoder (through the repackerizer).

5 years agoImplements OPUS_RESET_STATE for multi-stream encoder
Jean-Marc Valin [Mon, 28 Oct 2013 20:11:53 +0000 (16:11 -0400)]
Implements OPUS_RESET_STATE for multi-stream encoder

5 years agoAvoid a bogus uninitialized warning and simplify some code.
Gregory Maxwell [Mon, 28 Oct 2013 19:55:41 +0000 (12:55 -0700)]
Avoid a bogus uninitialized warning and simplify some code.

5 years agoRemove now-unused check_decoder_option.
Gregory Maxwell [Mon, 28 Oct 2013 18:40:00 +0000 (11:40 -0700)]
Remove now-unused check_decoder_option.

5 years agoMakes stereo savings still less aggressive
Jean-Marc Valin [Mon, 28 Oct 2013 18:15:18 +0000 (14:15 -0400)]
Makes stereo savings still less aggressive

Caps the savings at 1 bit per (coded) sample. This doesn't really increase
the bitrate and fixes some issues, e.g. with IgorC's "twilight" sample.

5 years agoAdd a little missive when compiling without optimization.
Gregory Maxwell [Mon, 28 Oct 2013 18:04:57 +0000 (11:04 -0700)]
Add a little missive when compiling without optimization.

The library really depends on all the little fixed point math functions
 being inlined in order to get acceptable performance. It turns out that
 it's very easy for someone to compile with optimization disable when
 twiddling cflags or cooking up their own build system.

5 years agoReplace "inline" with OPUS_INLINE.
Gregory Maxwell [Thu, 17 Oct 2013 22:56:52 +0000 (15:56 -0700)]
Replace "inline" with OPUS_INLINE.

Newer versions of MSVC are unhappy with the strategy of the build
 environment redefining "inline" (even though they don't support the
 actual keyword). Instead we define OPUS_INLINE to the right thing
 in opus_defines.h.

This is the same approach we use for restrict.

5 years agoRemove dead code
Stefan Beller [Tue, 8 Oct 2013 22:01:36 +0000 (00:01 +0200)]
Remove dead code

The compiler warned:
silk/float/pitch_analysis_core_FLP.c: In function 'silk_P_Ana_calc_corr_st3':
silk/float/pitch_analysis_core_FLP.c:499:36: warning: variable 'basis_ptr' set but not used [-Wunused-but-set-variable]
     const silk_float *target_ptr, *basis_ptr;

This means we can safely remove it.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoFixes a potential crash when encoding NaNs
Jean-Marc Valin [Mon, 21 Oct 2013 21:53:48 +0000 (17:53 -0400)]
Fixes a potential crash when encoding NaNs

This fixes tansig_approx() to avoid crashing when the input is NaN.
The problem could only be triggered when calling the float API with
a float build at a complexity of 7 or more (i.e. analysis called).
Since the crash was due to an out-of-bound read (typically the index
is INT_MIN), it's unlikely to be exploitable in any other way than
causing a crash.

5 years agoRemove restrict definition from the unix Makefile.
Ralph Giles [Thu, 17 Oct 2013 21:52:56 +0000 (14:52 -0700)]
Remove restrict definition from the unix Makefile.

This define was replaces by OPUS_RESTRICT in opus_defines.h
in de0b5324b687 and subsequent commits. It is no longer necessary
to include it.

5 years agoFixes multistream CBR encoding and multistream surround for >20 ms
Jean-Marc Valin [Mon, 14 Oct 2013 21:47:18 +0000 (17:47 -0400)]
Fixes multistream CBR encoding and multistream surround for >20 ms

5 years agoFixes weird LFE bug
Jean-Marc Valin [Mon, 14 Oct 2013 21:33:53 +0000 (17:33 -0400)]
Fixes weird LFE bug

The LFE encoder would first decide to switch to SILK, and allocated
redundancy bytes. Then, it would force CELT because of LFE, but keep
the redundancy allocation, and end up with too few bytes, that would
end up being padded to the desired size for CBR.

5 years agoSurround encoder can now produce hard CBR streams again.
Jean-Marc Valin [Mon, 14 Oct 2013 19:01:36 +0000 (15:01 -0400)]
Surround encoder can now produce hard CBR streams again.

Even when using SILK/hybrid.

5 years agoOops, thanks to Mark Harris for spotting this!
Jean-Marc Valin [Mon, 14 Oct 2013 17:58:51 +0000 (13:58 -0400)]
Oops, thanks to Mark Harris for spotting this!

5 years agoopus_packet_parse_impl() now computes the packet size with padding
Jean-Marc Valin [Mon, 14 Oct 2013 17:45:58 +0000 (13:45 -0400)]
opus_packet_parse_impl() now computes the packet size with padding

This should fix decoding of padded multistream packets and (hopefully)
multistream fec.

5 years agoRejects bad multistream frame length
Mark Harris [Sun, 13 Oct 2013 05:23:58 +0000 (01:23 -0400)]
Rejects bad multistream frame length

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoFixes PLC for sizes that don't match basic Opus frame sizes.
Mark Harris [Sun, 13 Oct 2013 05:12:35 +0000 (01:12 -0400)]
Fixes PLC for sizes that don't match basic Opus frame sizes.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoMake -loss valid for opus_demo -e
Mark Harris [Tue, 8 Oct 2013 05:25:06 +0000 (22:25 -0700)]
Make -loss valid for opus_demo -e

In addition to its decoding use, it is the value used for
OPUS_SET_PACKET_LOSS_PERC.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoFix 40/60ms zero-length frame decode failure
Mark Harris [Tue, 8 Oct 2013 01:50:59 +0000 (18:50 -0700)]
Fix 40/60ms zero-length frame decode failure

Decoding failed with OPUS_BAD_ARG on a packet containing a 40ms or
60ms zero-length frame when it followed a hybrid or MDCT frame.
It now invokes the PLC for the duration of the packet as expected.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoCleaning up multistream packet validation
Jean-Marc Valin [Sat, 12 Oct 2013 00:41:30 +0000 (20:41 -0400)]
Cleaning up multistream packet validation

5 years agoCorrect opus_packet_parse code 0 packet tests.
Mark Harris [Sat, 12 Oct 2013 00:22:00 +0000 (17:22 -0700)]
Correct opus_packet_parse code 0 packet tests.

5 years agoDo up-front validation of multistream packets
Jean-Marc Valin [Fri, 11 Oct 2013 22:06:00 +0000 (18:06 -0400)]
Do up-front validation of multistream packets

Prevents the decoder from being out-of-sync on an invalid packet. Also
returns OPUS_INVALID_PACKET on a corrupted FEC packet.

5 years agoRemoves useless VARDECL() of "out"
Jean-Marc Valin [Tue, 1 Oct 2013 23:46:48 +0000 (19:46 -0400)]
Removes useless VARDECL() of "out"

5 years agoReplaces log2() with celt_log2() and fixes a potential divide-by-zero
Jean-Marc Valin [Tue, 1 Oct 2013 23:27:30 +0000 (19:27 -0400)]
Replaces log2() with celt_log2() and fixes a potential divide-by-zero

5 years agoFixes scaling of downmix_float() for fixed-point.
Jean-Marc Valin [Tue, 1 Oct 2013 23:25:40 +0000 (19:25 -0400)]
Fixes scaling of downmix_float() for fixed-point.

The previous version simply produced zeros for fixed-point.

5 years agoFixes missing VARDECL()
Jean-Marc Valin [Tue, 1 Oct 2013 21:16:33 +0000 (17:16 -0400)]
Fixes missing VARDECL()

5 years agoDon't use --dirty in genversion.bat.
Ralph Giles [Tue, 1 Oct 2013 21:07:17 +0000 (14:07 -0700)]
Don't use --dirty in genversion.bat.

This script updates version.mk, which is under version control,
so the tree is always dirty. Until the script is updated to write
package_version instead, incorporating version.mk as a fallback
the way update_version does, it's better not to use --dirty.

5 years agoMerge branch 'exp_surround1'
Jean-Marc Valin [Tue, 1 Oct 2013 21:06:09 +0000 (17:06 -0400)]
Merge branch 'exp_surround1'

5 years agoPass --always to git describe.
Ralph Giles [Tue, 1 Oct 2013 20:05:33 +0000 (13:05 -0700)]
Pass --always to git describe.

This generates a useful version string even for --depth=1 checkouts.
The option was added in git v1.6.6.

5 years agoAvoid using C++ keyword 'new'
Stefan Hacker [Fri, 20 Sep 2013 02:07:53 +0000 (04:07 +0200)]
Avoid using C++ keyword 'new'

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
5 years agoAvoids unnecessary copying in opus_encode for delayed decision exp_surround1
Jean-Marc Valin [Sun, 29 Sep 2013 03:51:11 +0000 (23:51 -0400)]
Avoids unnecessary copying in opus_encode for delayed decision

5 years agoMakes analysis work when encoding more than 20 ms at a time
Jean-Marc Valin [Sat, 28 Sep 2013 23:29:23 +0000 (19:29 -0400)]
Makes analysis work when encoding more than 20 ms at a time

5 years agorun_analysis() doesn't need to return the frame size anymore
Jean-Marc Valin [Sat, 28 Sep 2013 21:22:41 +0000 (17:22 -0400)]
run_analysis() doesn't need to return the frame size anymore

6 years agoRemove trailing whitespace from the license headers.
Ralph Giles [Mon, 16 Sep 2013 21:40:04 +0000 (14:40 -0700)]
Remove trailing whitespace from the license headers.

6 years agoRemove trailing whitespace.
Ralph Giles [Mon, 16 Sep 2013 21:29:24 +0000 (14:29 -0700)]
Remove trailing whitespace.

6 years agoMakes the fixed-point build only run the float analysis at complexity 10
Jean-Marc Valin [Mon, 16 Sep 2013 18:36:53 +0000 (14:36 -0400)]
Makes the fixed-point build only run the float analysis at complexity 10

Default complexity is now 9.

6 years agoMoves frame size selection back out of opus_encode_native()
Jean-Marc Valin [Mon, 16 Sep 2013 17:08:52 +0000 (13:08 -0400)]
Moves frame size selection back out of opus_encode_native()

Should fix delayed decision on surround, but not well tested.

6 years agoVery basic surround rate calibration
Jean-Marc Valin [Sat, 14 Sep 2013 19:46:09 +0000 (15:46 -0400)]
Very basic surround rate calibration

6 years agoAllowing surround to use lower bandwidth than fullband
Jean-Marc Valin [Fri, 13 Sep 2013 21:16:38 +0000 (17:16 -0400)]
Allowing surround to use lower bandwidth than fullband

6 years agoMore surround masking tuning
Jean-Marc Valin [Fri, 13 Sep 2013 19:05:50 +0000 (15:05 -0400)]
More surround masking tuning

6 years agoTuning the surround masking
Jean-Marc Valin [Thu, 12 Sep 2013 07:05:43 +0000 (03:05 -0400)]
Tuning the surround masking

We're now a bit more conservative and only take into account the bands
that are being codec. Also weighting the rate saving by the band width.

6 years agoSurround analysis should now work for non-20ms frame sizes.
Jean-Marc Valin [Thu, 12 Sep 2013 03:34:51 +0000 (23:34 -0400)]
Surround analysis should now work for non-20ms frame sizes.

Not well tested.

6 years agoCode for handling upsampling in surround_analysis()
Jean-Marc Valin [Wed, 11 Sep 2013 04:51:22 +0000 (00:51 -0400)]
Code for handling upsampling in surround_analysis()

Still untested.

6 years agoAdds surround masking to SILK
Jean-Marc Valin [Tue, 10 Sep 2013 05:15:19 +0000 (01:15 -0400)]
Adds surround masking to SILK