- Apr 20, 2016
-
-
Daniel Verkamp authored
If building a static library, marking symbols as dllexport causes them to be exported from the final executable. For example, run objdump -x opus_demo.exe on a --disabled-shared build and look for the export table; there should not be one in a normal Win32 .exe file, but when linking static libopus, the exe exports all of the opus_* public functions. Use the libtool-defined DLL_EXPORT flag to determine whether we are building a DLL and only specify __declspec(dllexport) in that case.
-
- Jan 08, 2016
-
-
This is a reasonable choice for the (non-linear) dynamic range of mu-law. A-law is technically 13 bit, maybe 12; experimentation is needed. Per irc discussion with Jean-Marc, Ron, and Mark Harris.
-
- Oct 23, 2015
-
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Jun 23, 2015
-
-
Timothy B. Terriberry authored
We use at most 16 when using fixed-point (for the API or the internal implementation), but we didn't tell anyone this.
-
- Feb 20, 2015
-
-
Timothy B. Terriberry authored
This way we won't break this by accident.
-
- Sep 04, 2014
-
-
Jean-Marc Valin authored
Limit now at 2*streams-1 and anything below that returns OPUS_BUFFER_TOO_SMALL rather than OPUS_BAD_ARG
-
- Feb 24, 2014
-
-
Signed-off-by:
Jean-Marc Valin <jmvalin@jmvalin.ca>
-
- Nov 15, 2013
-
-
Jean-Marc Valin authored
Works by turning off pitch and energy prediction in CELT, while setting first_frame_after_reset in SILK to disable pitch and LSF interpolation and reduce LPC gain.
-
- Nov 09, 2013
-
-
Jean-Marc Valin authored
-
- Oct 28, 2013
-
-
Gregory Maxwell authored
Newer versions of MSVC are unhappy with the strategy of the build environment redefining "inline" (even though they don't support the actual keyword). Instead we define OPUS_INLINE to the right thing in opus_defines.h. This is the same approach we use for restrict.
-
- Jun 30, 2013
-
-
Gregory Maxwell authored
Also makes the CTL bad argument handling more consistent to avoid mistakes like that in the future. Also updates the variable duration docs.
-
- Jun 17, 2013
-
-
Signed-off-by:
Gregory Maxwell <greg@xiph.org>
-
- May 05, 2013
-
-
Jean-Marc Valin authored
The idea is that the rate of each stream is adjusted based on its contribution to the total energy of a stereo downmix.
-
- 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
The search is based on minimizing the bitrate increase due to transients by considering we can reduce the "transient boost" by reducing the frame size, at the cost of increasing the normal overhead.
-
- Dec 04, 2012
-
-
Jean-Marc Valin authored
-
- Nov 29, 2012
-
-
Ralph Giles authored
OPUS_EXPORT was conditionalized on OPUS_BUILD, so that symbols are export based on public header declarations when building opus as a library, but not when those headers are included in other programmes. This doesn't address the case when the opus source and its caller are both included in the same monolithic build. In that case we want to define OPUS_BUILD, to indicate that we are compiling the codec source, but not export the symbols. To support this, only define OPUS_EXPORT if it is not already defined. This allows build scripts to -DOPUS_EXPORT and override the platform-specific attribute decortation in opus_defines.h. Based on a patch by Sergey Ulanov. http://git.chromium.org/gitweb/?p=chromium/deps/opus.git;a=commitdiff;h=6304b9628cb7244e3cc78f740aeb6659562f1857
-
- Oct 31, 2012
-
-
Gregory Maxwell authored
-
- Sep 08, 2012
-
-
This avoids allocating any buffers on the stack that depend on the total channel count. Such buffers could easily exceed the size of the NONTHREADSAFE_PSEUDOSTACK. It also checks the frame_size argument in both the encoder and decoder to avoid allocating large stack buffers for opus_encode() calls that would fail anyway or opus_decode() calls that would never use all that space anyway.
-
- Aug 12, 2012
-
-
Gregory Maxwell authored
In particular we no longer document the default complexity because we're not guaranteeing to keep the default value constant. In the future the default may be lowered in order to keep the default speed constant.
-
- Aug 09, 2012
-
-
Timothy B. Terriberry authored
In addition to general reformatting and cleanup, this fixes a couple of important mistakes: - The arguments to OPUS_SET_FORCE_CHANNELS are now 1 and 2, not 0 and 1 (as they were when this was called OPUS_SET_FORCE_MONO). - The default encoder mode is now constrained VBR, not unconstrained VBR. It also documents defaults for all the other parameters.
-
- Aug 06, 2012
-
-
This implements an API used in future encoders to avoid dynalloc doing silly things on periodic LSB patterns and to reduce the bitrate on near-silence.
-
- Jul 26, 2012
-
-
- Jul 18, 2012
-
-
Gregory Maxwell authored
We had previously advised people to -Drestrict on non-C99 compilers, but this creates problems for some of the MSVC headers. Instead this just uses a macro and defines it sanely.
-
- Jul 17, 2012
-
-
Timothy B. Terriberry authored
-
- Jul 13, 2012
-
-
Jean-Marc Valin authored
This is used to avoid dynalloc doing silly things on periodic LSB patterns and to reduce the bitrate on near-silence.
-
- Jul 11, 2012
-
-
Gregory Maxwell authored
This is the less-surprising behavior and will hopefully result in fewer corner case bugs (e.g. losing gain after seeking). This commit also updates the documentation.
-
Gregory Maxwell authored
This CTL was requested by Nicolas George for FFmpeg.
-
- Jun 01, 2012
-
-
In places where an ignored return or a null-arg is a sure indication of a bug add the GCC warning attributes. The null arg annotation is not enable for Opus itself because it will cause the compiler to optimize out some null checks. I don't trust our callers quite that much.
-
- May 31, 2012
-
-
Jean-Marc Valin authored
This was a problem for static builds
-
- May 30, 2012
-
-
- May 20, 2012
-
-
- 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
-
Jean-Marc Valin authored
See http://www.ietf.org/mail-archive/web/codec/current/msg02833.html Still more changes to come
-
- Mar 06, 2012
-
-
Ralph Giles authored
Doxygen is smart enough to insert a period if the paragraph before the @see directive, which starts a new section, doesn't have one. Unfortunately it's not smart enough to convert a comma to a period. So while the "description, @see foo" idiom used for the CTL documentation scans well in the header file, the Doxygen output end up with "description,.\n". Minimal change to remove the offending commas.
-
- Nov 26, 2011
-
-
We use macros to encapsulate the appropriate type and size information for the different CTL requests, but the macros still need to be used with the _ctl() function call and an encoder or decoder instance structure. As such, just listing the macro defines is confusing. Adding some examples outside the OpusEncoder overview page should help with this. Also document that OPUS_SET_APPLICATION can take OPUS_APPLICATION_RESTRICTED_LOWDELAY.
-
- Oct 27, 2011
-
-
Jean-Marc Valin authored
Let's put it back in if/when we have a clearer view of voice/music detection
-
Jean-Marc Valin authored
-