Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-03-27Adding multistream decoder validationJean-Marc Valin
2018-03-27Asserting on some ctl() calls that should never failJean-Marc Valin
2018-03-27Adds Opus decoder state validationJean-Marc Valin
2018-03-27Fixing no-redundancy CELT->SILK and CELT->hybrid transitionsJean-Marc Valin
We make sure the CELT PLC we do in the transition uses the same bandwidth as the previous (CELT) packet and not the new bandwidth
2018-03-21Support for Ambisonics.Andrew Allen
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2018-03-12Using a first-order filter for DC rejectionJean-Marc Valin
A second-order DC rejection filter is uselsss unless we have complex poles. However, complex poles means we have to compute the filter as a single pass (rather than two casdaded first-order filters), which has numerical issues that would require a higher complexity to solve. So rather than waste cycles with a second-order filter (with a longer impulse response), we just go with a first-order filter.
2018-02-21Fix comment to take into account previous commitJean-Marc Valin
2018-02-21Increasing the CELT bit allocation slightly for stereo hybridJean-Marc Valin
Fixes a "regression" from 1.2 to 1.3-beta that was especially noticeable on a Korean speech sample. (it wasn't a real regression since 1.2 only worked because it was using CELT)
2018-02-20Fix divide-by-zeros in opus_demo stats codeJean-Marc Valin
2018-01-26Scaling back the pitch filter when most of the energy is above 3.2 kHzJean-Marc Valin
That corresponds to the fundamental for the shortest pitch period allowed
2017-12-31Fixes NaN issues in compute_stereo_width()Jean-Marc Valin
2017-12-08Decouple OpusProjection* API from static matrices.Andrew Allen
Change-Id: I3db285875b6b5548decc436be00096b97be1be3c Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-12-08Ensure mapping matrix size is always valid.Andrew Allen
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-12-07Fix memory issues in Projection API.Andrew Allen
Modified by Jean-Marc Valin Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-11-17fix float constantsJean-Marc Valin
2017-11-16Tuning decision thresholds for low-bitrate musicJean-Marc Valin
2017-11-10Fix matrix export via CTL func.Andrew Allen
Ensure matrix is properly exported from projection encoder. Change-Id: I5ede77e4f4d0dc82074e2230780777af542a416e Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-11-10Retrained speech/music RNNJean-Marc Valin
Larger network, using 8-bit weights
2017-11-08Support for Channel Mapping 253Andrew Allen
OpusProjection* classes MixingMatrix class Projection tests Change-Id: I98644466abf4ffd36e48bdecad1204d69e1539b9 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-10-06Fixing (hopefully) bandwidth detection for 24 kHz analysisJean-Marc Valin
The masking term was previously completely broken (even in 1.1). The bandwidth detection relies mostly on the noise floor and can only use masking to cut one extra band. The 12-24 kHz energy is now normalized properly but uses a higher noise floor due to the leakage in the resampler. Bandwidth detection is still mostly useless at identifying SWB speech (it usually says FB).
2017-10-06float constantsJean-Marc Valin
2017-10-06Add RNN for VAD and speech/music classificationJean-Marc Valin
Based on two dense layers with a GRU layer in the middle
2017-09-28Better rate allocation for stereo SILK in hybrid modeJean-Marc Valin
SILK was being allocated too few bits for stereo hybrid, often resulting in forced narrowing of the width. We now allocate more bits to SILK and reduce the threshold for narrowing. This improves quality enough that the bitrate threshold for switching to SILK can be increased to 44 kb/s.
2017-08-29Fix typo in a comment in opus_decoder.cMatt Brubeck
Signed-off-by: Ralph Giles <giles@thaumas.net>
2017-07-06Fix uninitialized variables in decide_dtx_mode()Andrew Larkin
Signed-off-by: Felicia Lim <flim@google.com>
2017-06-26Working around misdetected audio bandwidthJean-Marc Valin
The new detector for SWB vs FB is unreliable due to the hack that was required to get 24 kHz analysis working. We're now err on the side of FB just to make sure.
2017-06-20Add "f" suffix to float constantsv1.2Jean-Marc Valin
2017-06-10Improving tonality estimation with delayed decisionJean-Marc Valin
2017-06-07Replace call of celt_inner_prod_c() (step 1)Linfeng Zhang
Should call celt_inner_prod(). This change is bit exact as original, except for x86 floating-point. In x86 floating-point, it calls celt_inner_prod_sse() which may have different output with the change of floating-point operations' orders. Change-Id: Ia2381e2e198a84296ac28305183f15be842b3454 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-06-05Initialize speech/music prob based on applicationJean-Marc Valin
2017-06-04Properly compute redundancy_bytesJean-Marc Valin
2017-06-04Properly init speech/music confidence valuesJean-Marc Valin
This was sometimes causing the music probability to be stuck at zero at the beginning of files
2017-06-02fix commentsJean-Marc Valin
2017-06-01Avoid using log2() since it's not in C90Jean-Marc Valin
2017-06-01Adding leakage modelling to boost bandsexp_leakage7Jean-Marc Valin
We boost bands that either cause leakage or are filled with leakage
2017-06-01Analysis refactoring for fixed-point scalingJean-Marc Valin
Now scaling the energy to the same value is would be in floating-point
2017-05-26Fix memory leaks in opus_compare.cJean-Marc Valin
This makes it possible to run the testvectors with asan enabled.
2017-05-23Fixes a surround bug on loud signalJean-Marc Valin
The constant was copied from the analysis code which uses +/-1 as float scaling, but surround_analysis() uses +/-32767.
2017-05-17Optimize silk_biquad_alt_stride2() for ARM NEONLinfeng Zhang
The optimization is bit exact with C function. Change-Id: Ifb8f04b19f2d576e79ce5dcfa7e0fc374d71d6c8 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-05-17Update silk_biquad_alt()Linfeng Zhang
Split to silk_biquad_alt_stride1() and silk_biquad_alt_stride2(), so that it can be optimized more efficiently when stride is 2. This change in C code is bit exact with the origin. Change-Id: Idaefe670397016ace2a489e3435ac61b7dbe79d5 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-04-29oops, fix build broken by previous patchJean-Marc Valin
2017-04-29Non-diegetic support for Ambisonics Mapping 254.Drew Allen
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2017-02-27Fix compiler warningsMark Harris
- celt/modes.c:430:14: warning: cast from 'const unsigned char *' to 'opus_int16 *' increases required alignment from 1 to 2 [-Wcast-align] - 'C[0][1]' may be used uninitialized [-Wmaybe-uninitialized] - Unused variable/parameter - Value stored is never read - MSVC warnings about "possible loss of data" due to type conversions - MSVC warning C4146: unary minus operator applied to unsigned type - silk/NLSF_del_dec_quant.c:137:20: warning: array subscript is above array bounds [-Warray-bounds] (gcc -O3 false positive) - src/mlp_train.h:39:20: warning: function declaration isn't a prototype [-Wstrict-prototypes] - Remove SMALL_FOOTPRINT code from SSE 4.1 FIR implementation, matching the C implementation. The clang -Wcast-align warnings with SSE intrinsics are a known clang issue: https://llvm.org/bugs/show_bug.cgi?id=20670
2017-02-14Rename y0/y1 to out0/out1 to avoid name clash with the Bessel functionsJean-Marc Valin
2016-12-22Fix some compiler warningsMark Harris
2016-12-20Makes analysis run at 24 kHz, with 20-ms framesJean-Marc Valin
The change also makes the analysis run for sampling rates of 16 kHz and 24 kHz since the features are only computed on the 0-8 kHz band. The longer time window (20 ms instead of 10 ms) makes the tonality estimator more reliable for low-pitch harmonics.
2016-12-18opus_demo: remove obsolete option from usageMark Harris
2016-12-16Adding a missing "else"Jean-Marc Valin
Thanks to Zhendong Wu for spotting the issue
2016-11-11Remove commented-out DEBUG_STORE_DATA calls. r=keonRalph Giles
Also remove the SILK_DEBUG_STORE_CLOSE_FILES flush call from opus_demo. This is debugging code which is no longer used, but defining the symbols for SILK_DEBUG_STORE_CLOSE_FILES and calling it from opus_demo causes linking problems on Microsoft Visual Studio where we have strict controls on public symbols and want to test the compiled DLL. Since the code isn't in active use, it's better to remove it to avoid clutter and address the linking issue.
2016-11-06Remove redundant codeMark Harris
frame_size_select() ensures that frame_size is a valid size or -1, !st->variable_duration is always false, and delay_compensation is no longer needed to choose the frame size.