| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The values were never used, but ubsan + valgrind would complain.
Reviewed by Mark Harris
|
|
|
|
|
| |
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
|
|
|
|
| |
As suggested in https://github.com/xiph/opus/pull/83
|
|
|
|
|
|
|
|
|
|
|
| |
The error was:
c:\projects\opus\celt\celt_encoder.c(1019): fatal error C1001: An internal error has occurred in the compiler. [C:\projects\opus\win32\VS2015\opus.vcxproj]
(compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 255)
To work around this problem, try simplifying or changing the program near the locations listed above.
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Internal Compiler Error in C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe. You will be prompted to send an error report to Microsoft later.
|
|
|
|
|
|
|
| |
clang -Wcast-align warnings with ambisonics enabled
clang -Wnull-pointer-arithmetic warnings in test_opus_api.c
gcc -Wimplicit-fallthrough warnings on arm
msvc warning C4244 in celt_encoder.c with fixed point
|
| |
|
| |
|
|
|
|
|
|
| |
NaNs should be filtered at the Opus layer, so if there are any in the CELT
encoder, then it's likely something went horribly wrong (e.g. corrupted state).
In that case, better abort than have something bad happen.
|
| |
|
|
|
|
| |
This improves cases where a whole region is dominated by a handful of tones
|
| |
|
| |
|
|
|
|
| |
Also adds the error terms for band 0 that were previously omitted
|
|
|
|
| |
That corresponds to the fundamental for the shortest pitch period allowed
|
|
|
|
|
|
|
| |
Fixes a warning from PVS-Studio. This was a cut-and-paste error
from the stanza above and had no effect.
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
| |
We boost bands that either cause leakage or are filled with leakage
|
|
|
|
| |
It seems like letting CBR use up to 2/3 of the bit is still a win
|
| |
|
|
|
|
|
| |
The code would have run fine on 32-bit archs, but would have overflowed
on a 16-bit arch
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some informal tests seem to confirm that reducing the trim at 32-64 kbps
improves quality (better HF). It's not clear whether it's also the case
at 96 kb/s and above, so we're leaving it as is for those rates.
This corresponds to buildC in this thread:
https://hydrogenaud.io/index.php/topic,113985.0.html
Also see:
https://hydrogenaud.io/index.php/topic,111798.0.html
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
That experiment never actually worked
|
| |
|
|
|
|
| |
These rely on TF rather than short windows to avoid partial collapse.
|
|
|
|
|
|
| |
The transient detector would trigger on low-pitch vowels, but we didn't have
enough bits to properly code the high bands as a transient, resulting in
partial collapse and unstable energy.
|
| |
|
|
|
|
| |
No point in minimizing the rate too since it's almost constant.
|
|
|
|
|
| |
Fixes a potential overflow in high-passed signal for transient detection
and ensures that the shift can never go negative
|
|
|
|
|
|
|
|
| |
When the energy is stable, we slightly bias energy quantization towards
the previous error to make the gain more stable (a constant offset is
better than fluctuations).
We reduce the bitrate by about 0.2% to 1% at low bitrate for the same quality.
|
|
|
|
| |
Increasing the value at low rate seems to help a bit.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Otherwise, we risk having "temporal holes" in the HF that anti-collapse
can't always fill in.
|
|
|
|
| |
It would trigger on the second frame of "S"s, causing holes in the spectrum
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This saves bits and makes more sense since alloc_trim_analysis()
mostly looks at the lower bands that are coded with SILK
|
|
|
|
| |
Turns out that even low bitrates benefit from VBR
|
|
|
|
| |
Reported by Durandal.
|
| |
|
|
|
|
| |
...and also make it not ignore the right channel
|
|
|
|
|
| |
Previously silence would cause the divide approximation on 0/0 to return a
very large value, which would be interpreted as a transient
|
|
|
|
|
|
|
|
|
|
|
|
| |
Optimize opus decode (float only) use case using ARM NE10.
Mainly effects opus_ifft and ctl_mdct_backward and related
functions.
Work based on previous Encode optimization using ARM NE10
library. See previous commit for details on how to enable
this.
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Optimize opus encode (float only) usecase using ARM NE10
library. Mainly effects opus_fft and ctl_mdct_forward
and related functions.
This optimization can be used for ARM CPUs that have NEON
VFP unit. This patch only enables optimizations for ARMv7.
Official ARM NE10 library page available at
http://projectne10.github.io/Ne10/
To enable this optimization, use
--enable-intrinsics --with-NE10=<install_prefix>
or
--enable-intrinsics --with-NE10-libraries=<NE10_lib_dir> --with-NE10-includes=<NE10_includes_dir>
Compile time checks made during configure process to make sure
optimization option available only when compiler supports NEON
instrinsics.
Runtime checks made to make sure optimized functions only called
on appropriate hardware.
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
|