Commit graph

3269 commits

Author SHA1 Message Date
Jean-Marc Valin
32ada84b5b Fixes code that was doing arithmetic on a void pointer.
Thanks to Kevin O'Connor for reporting this.
2013-12-10 16:43:14 -05:00
Jean-Marc Valin
122971b8cc More NaN hardening in the analysis code 2013-12-10 13:56:38 -05:00
Timothy B. Terriberry
fa85e3bf28 Add a reminder to bump the version.mk version.
We released 1.1 with 1.1-beta as the hard-coded version.
Hopefully this only affects people doing their own windows builds
 without the git tools available.
Thanks to Ron Lee for the report.
2013-12-10 08:16:51 -08:00
Jean-Marc Valin
d5553e8aca Using OPUS_COPY()/OPUS_CLEAR() in the decoder too 2013-12-10 02:32:26 -05:00
Jean-Marc Valin
15edb78b3e Making NaN detection more robust to -ffast-math. 2013-12-09 21:56:21 -05:00
Jean-Marc Valin
4fda6b0142 Using celt_inner_prod() in compute_band_energies() 2013-12-09 18:06:34 -05:00
Jean-Marc Valin
3039c9bde5 Makes silk_inner_prod_aligned() use celt_inner_prod() in fixed-point.
Should make it easier when writing assembly.
2013-12-09 16:31:07 -05:00
Pedro Becerra
a9b7def9f5 s/MAX16/MAX32/ in transient_analysis()
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-12-09 16:08:29 -05:00
Jean-Marc Valin
66b7fe0a5c Using celt_inner_prod() for input sanity check. 2013-12-09 15:27:13 -05:00
Jean-Marc Valin
57cd849cf7 Defining celt_inner_prod() and using it instead of explicit loops.
Also adds an SSE-optimized celt_inner_prod().
2013-12-09 15:26:58 -05:00
Jean-Marc Valin
ff072009fe Replaces inline copies and initialization with OPUS_*() macros.
This is a bit faster at -O2 because memcpy()/memmove()/memset() are
vectorized. The code is also cleaner.
2013-12-09 15:26:52 -05:00
Jean-Marc Valin
0f869cba0f Changes ABS16() and ABS32() to use fabs() in the float build
gcc is better at optimizing it than the ?: version
2013-12-09 15:26:43 -05:00
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