Commit graph

3157 commits

Author SHA1 Message Date
Jean-Marc Valin
c94e4bb103 Optimizes encoder NaN detection and clipping by only running them when needed
NaN detection should now be able to catch values that would create NaNs
further down.
2013-12-09 15:26:03 -05:00
Jean-Marc Valin
5626908ec3 Fixed-point fast-path for normal 48 kHz encoding in celt_preemphasis() 2013-12-05 16:40:59 -05:00
Jean-Marc Valin
aed1009df9 Turns a 16x32 multiply into a 16x16 one in celt_preemphasis(). 2013-12-05 13:36:48 -05:00
Jean-Marc Valin
65471dd567 Bump soname 2013-12-04 18:26:45 -05:00
Ralph Giles
6fb9855158 Mention updating the website examples. 2013-12-04 15:18:41 -08:00
Ralph Giles
6dc50f48e7 Start a release checklist. 2013-12-04 15:16:46 -08:00
Jean-Marc Valin
17dcb27026 Revert "Disables assembly optimizations by default because of several problems reported"
This reverts commit 2446445b15.
2013-12-03 13:31:24 -05:00
Jean-Marc Valin
2446445b15 Disables assembly optimizations by default because of several problems reported 2013-12-02 22:17:58 -05:00
Jean-Marc Valin
96408b6295 Fixes Opus-custom preemphasis
Also adds denorm avoidance for non-48 kHz rates
2013-12-02 20:02:37 -05:00
Jean-Marc Valin
086ea7c7e5 Whoa! This fixes a pretty bad fixed-point stereo regression 2013-11-29 16:47:52 -05:00
Jean-Marc Valin
35a44c6100 Fixes OPUS_SET_GAIN (was a bug in MULT16_32_P16()) 2013-11-29 12:21:34 -05:00
Timothy B. Terriberry
c16a96b458 Minor speedups to celt_pitch_xcorr_edsp().
This moves some stuff out of the main loop for the unaligned case.
2013-11-27 11:08:33 -08:00
Ron
a1740d9ad1 Drop the use of --always to git-describe
This is a partial revert of c435f06b30,
since it didn't actually fix the original problem with shallow clones.
It returns just a hash, not something we (currently) can extract as a
version string in the form things are expecting.
2013-11-28 04:18:45 +10:30
Timothy B. Terriberry
a8fa0cb629 Remove the celt_pitch_xcorr() test code.
Revision control will remember it for us forever.
2013-11-26 23:47:25 -08:00
Timothy B. Terriberry
e98816e9c1 Actually use my NEON code.
I'd commented out mine and stuck azanelli's code in for testing,
 and then accidentally committed it like that.
2013-11-26 23:47:10 -08:00
Timothy B. Terriberry
5c02c5ffb5 Make celt_pitch_xcorr_edsp() work on ARMv5TE.
We were assuming that LDR, LDRD, and STRD could be used on
 unaligned addresses, but this turns out not to be true on really
 old hardware.
2013-11-26 21:58:35 -08:00
Timothy B. Terriberry
aa8ff201b5 Clean up celt_pitch_xcorr() test code.
This will be removed shortly, but at least it should be correct
 before it goes.
Makes the code get used unconditionally (when uncommented), and
 actually frees the buffer it allocates (now using the libopus
 allocation functions).
2013-11-26 21:58:32 -08:00
Jean-Marc Valin
d6eb9c468f Silences a warning in fixed-point 2013-11-25 22:33:43 -05:00
Jean-Marc Valin
2924af4db0 Merges surround and stereo intensity stereo thresholds again.
The different results for surround were mostly due to a bug in squishyball.
2013-11-25 21:24:30 -05:00
Jean-Marc Valin
93e1096093 Makes SILK surround masking a bit more aggressive in both directions
This also splits the rate adjustment between SILK and CELT (previous
code only changed SILK)
2013-11-25 01:52:08 -05:00
Jean-Marc Valin
a47d6f308f Intensity stereo update, partially based on Monty's listening
Intensity stereo is now based on equiv_rate and should no longer oscillate
in hybrid mode. Also, there is now a separate set of thresholds for
surround tuned by Monty. The non-surround thresholds were also updated at
low bitrate to be closer to what Monty found for surround.
2013-11-25 00:03:31 -05:00
Gregory Maxwell
f4d2c034a6 Put custom_encoder_init decl behind CUSTOM_MODES. More softclip tests.
This removes an unused definition warning when compiling without
 custom modes.
2013-11-24 06:49:01 -08:00
Jean-Marc Valin
1bf1f51c0a Using a more reasonably SILK surround calibration value
Still needs more tuning
2013-11-24 02:01:55 -05:00
Jean-Marc Valin
d94ed205c0 Reducing the thresholds for enabling stereo and higher audio bandwidths 2013-11-24 01:59:43 -05:00
Jean-Marc Valin
ccf7d9b18c Surround low-passing thresholds set to much lower bitrates 2013-11-24 01:57:52 -05:00
Gregory Maxwell
abf91fe9d0 Minor opus_pcm_soft_clip API hardening and tests. 2013-11-22 11:32:32 -08:00
Gregory Maxwell
f6ec71925a Add some multistream resets to the tests. 2013-11-22 10:30:30 -08:00
Jean-Marc Valin
ae39180bad Merge branch 'silk_pitch_fix' 2013-11-21 14:43:53 -05:00
Jean-Marc Valin
21b131fbe5 Applies padding to all CBR packets, including PLC and CELT silence 2013-11-21 14:42:00 -05:00
Jean-Marc Valin
1bf1da3c96 Adds trivial_example.c to make dist 2013-11-21 14:36:41 -05:00
Jean-Marc Valin
574247f79c Adds a simple example of Opus encoding+decoding 2013-11-21 14:33:42 -05:00
Jean-Marc Valin
41e8906cd6 opus_custom_encoder_init() now only needed for custom modes. 2013-11-20 19:34:14 -05:00
Ralph Giles
28b49e04b7 Add copyright header to test_opus_padding.c. 2013-11-21 11:31:09 +13:00
Jean-Marc Valin
9864c51592 Makes pitch gain control less aggressive 2013-11-20 17:14:01 -05:00
Jean-Marc Valin
854e9bd499 Using the maximum frequency response of pitch taps instead of maxabs 2013-11-20 13:39:23 -05:00
Koen Vos
c63fb978be Constrains accumulated pitch gain to avoid potential instability.
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-20 08:32:32 -05:00
Gregory Maxwell
ac31a0af4a Additional opus_multistream_packet_(un)pad tests. 2013-11-19 08:52:49 -08:00
Gregory Maxwell
4fa2b548d4 Validate merge argument in repacketizer_demo. 2013-11-19 08:35:26 -08:00
Gregory Maxwell
d8302fc093 Validate channel count in opus_demo. 2013-11-19 08:29:06 -08:00
Gregory Maxwell
733b47f31c Add opus_packet_(un)pad tests. 2013-11-18 23:25:20 -08:00
Ron
135d1c9848 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.
2013-11-19 17:34:12 +10:30
Ralph Giles
d5cb06305b 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.
2013-11-19 18:12:55 +13:00
Jean-Marc Valin
ca5bf5b049 Don't attenuate hybrid high-band for surround 2013-11-18 23:00:36 -05:00
Jean-Marc Valin
43a287fd75 Fixes unpad for multi-stream 2013-11-18 21:23:21 -05:00
Timothy B. Terriberry
2ce30358ec Unpad asserts
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-18 20:02:08 -05:00
Mark Harris
3d09c5cb35 Fixes previous commit
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-18 16:52:46 -05:00
Jean-Marc Valin
f183566752 Adds functions for multistream padding/unpadding and single-stream unpadding
These are all completely untested.
2013-11-18 16:46:38 -05:00
Timothy B. Terriberry
7a0b68233f ASM build fix
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-18 14:10:57 -05:00
Jean-Marc Valin
f50df82246 Fixes permissions on arm2gnu.pl 2013-11-18 13:49:34 -05:00
Timothy B. Terriberry
39386e0b85 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>
2013-11-18 13:41:17 -05:00