- Feb 13, 2019
-
-
Jean-Marc Valin authored
The previous code would go out of sync in those cases.
-
- Oct 05, 2017
-
-
Jean-Marc Valin authored
Based on two dense layers with a GRU layer in the middle
-
- Jun 26, 2017
-
-
Jean-Marc Valin authored
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.
-
- Jun 04, 2017
-
-
Jean-Marc Valin authored
-
- Dec 20, 2016
-
-
Jean-Marc Valin authored
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.
-
- Nov 05, 2016
-
-
Jean-Marc Valin authored
That experiment never actually worked
-
- Dec 31, 2015
-
-
Ralph Giles authored
Add a reset function for the TonalityAnalysisState struct and call it on encoder reset. Move the state struct above the clear line in OpusEncoder so reset doesn't clobber reusable fields. Currently this is only the arch field, which is moved to to top of the struct so we can use the same memset-to-the-end pattern as OpusEncoder. Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
Ralph Giles authored
This interns the asm flags parameter in the state struct so we don't need to pass it with every call. It can be expensive, so we don't want to query every run_analysis() call, but since this (private) api is used by webrtc code we need to provide a supportable interface for filling in the correct value. Note the initialization code is partially duplicated between opus_encoder_init and the OPUS_RESET_STATE switch case, so we must re-initialize it there. Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Oct 07, 2015
-
-
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>
-
- Dec 10, 2013
-
-
Jean-Marc Valin authored
-
- Nov 13, 2013
-
-
Jean-Marc Valin authored
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.
-
- Sep 28, 2013
-
-
Jean-Marc Valin authored
-
- Sep 16, 2013
-
-
Jean-Marc Valin authored
Should fix delayed decision on surround, but not well tested.
-
- Sep 06, 2013
-
-
Jean-Marc Valin authored
Code is still float, but at least tonality esitmation seems to work. Speech/music analysis is still disabled.
-
Jean-Marc Valin authored
I checked that it's not *completely* busted, but it probably needs more testing.
-
- Jul 02, 2013
-
-
Jean-Marc Valin authored
-
- May 17, 2013
-
-
Jean-Marc Valin authored
This should prevent errors in the bandwidth detection from affecting quality when we have enough bits to be close to transparent.
-
- Feb 28, 2013
-
-
Jean-Marc Valin authored
This is done using an adaptive beta and an estimate of the speech and music detection confidence
-
- Feb 20, 2013
-
-
Jean-Marc Valin authored
Variable duration option renamed to OPUS_SET_EXPERT_FRAME_DURATION, with new API. Also moves up the analysis to avoid having to do int->float conversion on large buffers.
-
- Feb 10, 2013
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
-
- Dec 21, 2012
-
-
Jean-Marc Valin authored
Can now work up to full-band and uses lsb_depth to fix the noise issue.
-
- Jul 13, 2012
-
-
Jean-Marc Valin authored
-
Jean-Marc Valin authored
Also, reducing the VBR rate on panned mono
-
- May 16, 2012
-
-
Jean-Marc Valin authored
This reverts commit 9f407afa.
-
- Apr 24, 2012
-
-
Jean-Marc Valin authored
-
- Apr 20, 2012
-
-
Jean-Marc Valin authored
Also added 3rd clause to "master" COPYING file
-
- Sep 07, 2011
-
-
Ralph Giles authored
In f9265ddf opus_get_version_string() was moved to libcelt, but the fallback definition for OPUS_VERSION stayed in src/opus.c. This is helpful for those using and external build system, which may not duplicate all the defines from the included build files.
-
- Sep 01, 2011
-
-
Jean-Marc Valin authored
-
- Aug 23, 2011
-
-
Jean-Marc Valin authored
-
- Aug 12, 2011
-
-
Jean-Marc Valin authored
-
- Aug 02, 2011
-
-
Ralph Giles authored
Thanks to Tim Terriberry for pointing out the issue.
-
Ralph Giles authored
This better distinguishes the reference implementation, which is what this string is meant to do. Thanks to Greg Maxwell for the suggestion.
-
Ralph Giles authored
This lets users print it out without context, which is a little easier for clients.
-
Ralph Giles authored
The new opus_get_version_string() call just returns a static string defined by OPUS_VERSION, which is passed in from the build system through config.h (or a custom compile line). Provide a fallback to "unknown" if the build system fails to actually provide that definition. This restores compilation with Makefile.draft. In general, this means there will be builds out there with non-specific version strings, since ports won't be forced to update the string. While that's unfortunate, I think it's more valuable that the library be simple to build.
-
Jean-Marc Valin authored
-
- Aug 01, 2011
-
-
Jean-Marc Valin authored
-
- Jul 05, 2011
-
-
Jean-Marc Valin authored
-
- Mar 03, 2011
-
-
These were used because the entropy coder originally came from outside libcelt, and thus did not have a common type system. It's now undergone enough modification that it's not ever likely to be used as-is in another codec without some porting effort, so there's no real reason to maintain the typedefs separately. Hopefully we'll replace these all again somedate with a common set of Opus typedefs, but for now this will do. This fixes an issue caused by commit 6c8acbf1, which moved the ec_ilog() prototype from entcode.h to ecintrin.h, where the ec_uint32 typedef was not yet available. Thanks to John Ridges for the report.
-
- Feb 10, 2011
-
-
Jean-Marc Valin authored
Got authorization from all copyright holders
-