<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.xiph.org/skins/common/feed.css?272"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.xiph.org/index.php?title=Special:Contributions/Jmspeex&amp;feed=atom&amp;limit=50&amp;target=Jmspeex&amp;year=&amp;month=</id>
		<title>XiphWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.xiph.org/index.php?title=Special:Contributions/Jmspeex&amp;feed=atom&amp;limit=50&amp;target=Jmspeex&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Special:Contributions/Jmspeex"/>
		<updated>2013-05-21T16:16:55Z</updated>
		<subtitle>From XiphWiki</subtitle>
		<generator>MediaWiki 1.16.1</generator>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2013-05-03T21:13:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* Tune mode switching decisions&lt;br /&gt;
** &amp;lt;s&amp;gt;Use SILK up to higher rates on voice&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Adapt stereo SILK/CELT threshold based on stereo width&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tune hybrid rate allocation?&lt;br /&gt;
* Figure out how to use speech/music detection optimally&lt;br /&gt;
** find optimal switching time (low energy/tonality)&lt;br /&gt;
* Improve variable frame size&lt;br /&gt;
* Tune transient detector?&lt;br /&gt;
* Use ALLOC in tonality analysis&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage - some suggestions: write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?), and the prop. ones), write about implementations (is there only one so far?), comparison table (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...), future use in video files (Theora? Dirac? WebM? other future codecs...), audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ... &lt;br /&gt;
* Promotional material (some nice free or Public domain sounds in Opus format)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Surround work ==&lt;br /&gt;
&lt;br /&gt;
* Apply spreading to energy masking&lt;br /&gt;
* More conservative energy masking (not just mean difference) and dynalloc&lt;br /&gt;
* Allow SILK/hybrid on center channel for voice?&lt;br /&gt;
&lt;br /&gt;
== Psychoacoustic stuff ==&lt;br /&gt;
&lt;br /&gt;
* Adaptive width narrowing and forced intensity stereo bands&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2013-04-13T06:37:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? Who created it? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a totally open, royalty-free, highly versatile audio codec. It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's SILK codec and Xiph.Org's CELT codec. It has been standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. &lt;br /&gt;
&lt;br /&gt;
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group.&lt;br /&gt;
&lt;br /&gt;
=== How does Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format. Further, the Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for usage as part of the basic infrastructure of the Internet. See the Opus [http://opus-codec.org/comparison comparison page] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus make all those other lossy codecs obsolete? ===&lt;br /&gt;
&lt;br /&gt;
Theoretically, yes. From technical point of view (loss, delay, bitrates, ...) it can replace both Vorbis and Speex, and the common proprietary codecs too.&lt;br /&gt;
&lt;br /&gt;
=== Will Opus replace Vorbis in video files? ===&lt;br /&gt;
&lt;br /&gt;
For OGG Theora video files, it can, just the overall size reduction will be minimal, and it will break compatibility with existing players.&lt;br /&gt;
&lt;br /&gt;
For WebM video files, same does apply, but additionally this would need a change of the spec, as the current spec says that the only allowed video codec is VP8 and the only allowed audio codec is Vorbis.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus? What programs support Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus decoding support is now included in many applications, including Firefox, foobar2000, and VLC, as well as in frameworks such as GStreamer and FFmpeg. For now, the best way to '''encode''' Opus files is to use the opusenc command-line tool from the opus-tools package. For real-time applications, Opus support should soon be available in the Google webrtc codebase. Opus is still a new codec, expect many more applications to support it in the near future.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===&lt;br /&gt;
&lt;br /&gt;
Yes and no. Opus encoding tools like opusenc will happily encode files that are sampled at 96 or 192 kHz. However, input files at these rates are internally converted to 48 kHz, and then only frequencies up to 20 kHz are encoded. The reason is simple: lossy codecs are designed to preserve audible details while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go. See Monty's [http://people.xiph.org/~xiphmont/demo/neil-young.html 24/192 Music Downloads ...and why they make no sense] for more details. &lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3). See the [http://www.opus-codec.org/license/ licensing page] for details.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. In addition to a linear prediction &amp;quot;SILK mode&amp;quot; and a MDCT &amp;quot;CELT mode&amp;quot; it has a &amp;quot;hybrid mode,&amp;quot; where speech frequencies up to 8 kHz are encoded with LP while those above 8 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch between these modes seamlessly, without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improves on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
=== Will all future Opus releases comply with the [http://tools.ietf.org/html/rfc6716 Opus specification]? ===&lt;br /&gt;
&lt;br /&gt;
Yes.&lt;br /&gt;
&lt;br /&gt;
=== In what ways is Opus optimized for the Internet? ===&lt;br /&gt;
&lt;br /&gt;
Opus being optimized for the Internet obviously means that it has good packet loss robustness and concealment, but it goes further. One of the first things we've been asked when designing Opus was to make the rate '''really''' adaptable because we never know what kind of rates will be available. This not only meant having a wide range of bitrates, but also being able to vary in small increments. This is why Opus scales from about 6 kb/s to 512 kb/s, in increments of 0.4 kb/s (one byte with 20 ms frames). The reason Opus can have more than 1200 possible bitrates spending 11 bits signalling the bitrate is because UDP already encodes the packet size. One last aspect is that Opus is simple to transport over RTP, as can be seen from [http://tools.ietf.org/html/draft-spittka-payload-rtp-opus Opus RTP payload format]. For example, it's possible to decode RTP packets without having even seen the SDP or any out-of-band signalling. &lt;br /&gt;
&lt;br /&gt;
=== What applications for Android can play Opus? ===&lt;br /&gt;
&lt;br /&gt;
Right now, there are just a few but that list is fast growing. Please reference [http://android.stackexchange.com/q/37970/7425 this question on android.stackexchange.com]. Feel free to suggest other applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes; the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;br /&gt;
&lt;br /&gt;
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates or channel counts.  It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation].&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder.&lt;br /&gt;
&lt;br /&gt;
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].&lt;br /&gt;
&lt;br /&gt;
=== How do I report a bug? ===&lt;br /&gt;
&lt;br /&gt;
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report]. Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur. If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc. Also, don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should interoperate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
Note that it's generally preferable for a decoder to output at 48kHz even when you know the original input was 44.1kHz, not only because you can skip resampling but also because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform. How do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;br /&gt;
&lt;br /&gt;
=== How can I ensure that my software interoperates with other software implementing Opus? ===&lt;br /&gt;
&lt;br /&gt;
For applications using Ogg files, there are some [http://people.xiph.org/~greg/opus_testvectors/ Ogg Opus testvectors] to test decoders and you can test encoders with opusdec. For RTP applications, the opusrtp tool can be useful. In general, here's a list of specific issues to check:&lt;br /&gt;
* Can your application handle all frame sizes, including changing the frame size from frame to frame?&lt;br /&gt;
* Does your application properly react to lost packet by calling the decoder with a NULL packet?&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2013-04-10T13:20:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* Tune mode switching decisions&lt;br /&gt;
** &amp;lt;s&amp;gt;Use SILK up to higher rates on voice&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Adapt stereo SILK/CELT threshold based on stereo width&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tune hybrid rate allocation?&lt;br /&gt;
* Figure out how to use speech/music detection optimally&lt;br /&gt;
** find optimal switching time (low energy/tonality)&lt;br /&gt;
* Improve variable frame size&lt;br /&gt;
* Tune transient detector?&lt;br /&gt;
* Use ALLOC in tonality analysis&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage - some suggestions: write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?), and the prop. ones), write about implementations (is there only one so far?), comparison table (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...), future use in video files (Theora? Dirac? WebM? other future codecs...), audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ... &lt;br /&gt;
* Promotional material (some nice free or Public domain sounds in Opus format)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2013-04-10T13:18:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* Tune mode switching decisions&lt;br /&gt;
** &amp;lt;s&amp;gt;Use SILK up to higher rates on voice&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Adapt stereo SILK/CELT threshold based on stereo width&amp;lt;/s&amp;gt;&lt;br /&gt;
* Tune hybrid rate allocation?&lt;br /&gt;
* Figure out how to use speech/music detection optimally&lt;br /&gt;
** find optimal switching time (low energy/tonality)&lt;br /&gt;
* Improve variable frame size&lt;br /&gt;
* Tune transient detector?&lt;br /&gt;
* Use ALLOC in tonality analysis&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
&lt;br /&gt;
== Lower priority ==&lt;br /&gt;
&lt;br /&gt;
* Handle packets with PLC frames followed by FEC&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage - some suggestions: write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?), and the prop. ones), write about implementations (is there only one so far?), comparison table (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...), future use in video files (Theora? Dirac? WebM? other future codecs...), audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ... &lt;br /&gt;
* Promotional material (some nice free or Public domain sounds in Opus format)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2013-03-12T17:58:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* Tune mode switching decisions&lt;br /&gt;
** Use SILK up to higher rates on voice&lt;br /&gt;
** Adapt stereo SILK/CELT threshold based on stereo width&lt;br /&gt;
* Tune hybrid rate allocation&lt;br /&gt;
* Figure out how to use speech/music detection optimally&lt;br /&gt;
** find optimal switching time (low energy/tonality)&lt;br /&gt;
* Improve variable frame size&lt;br /&gt;
* Tune transient detector?&lt;br /&gt;
* Use ALLOC in tonality analysis&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
&lt;br /&gt;
== Lower priority ==&lt;br /&gt;
&lt;br /&gt;
* Handle packets with PLC frames followed by FEC&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage - some suggestions: write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?), and the prop. ones), write about implementations (is there only one so far?), comparison table (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...), future use in video files (Theora? Dirac? WebM? other future codecs...), audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ... &lt;br /&gt;
* Promotional material (some nice free or Public domain sounds in Opus format)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2013-03-07T23:37:13Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* Tune mode switching decisions&lt;br /&gt;
** Use SILK up to higher rates on voice&lt;br /&gt;
** Adapt stereo SILK/CELT threshold based on stereo width&lt;br /&gt;
* Tune hybrid rate allocation&lt;br /&gt;
* Figure out how to use speech/music detection optimally&lt;br /&gt;
** find optimal switching time (low energy/tonality)&lt;br /&gt;
* Improve variable frame size&lt;br /&gt;
* Tune transient detector?&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
&lt;br /&gt;
== Lower priority ==&lt;br /&gt;
&lt;br /&gt;
* Handle packets with PLC frames followed by FEC&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage - some suggestions: write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?), and the prop. ones), write about implementations (is there only one so far?), comparison table (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...), future use in video files (Theora? Dirac? WebM? other future codecs...), audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ... &lt;br /&gt;
* Promotional material (some nice free or Public domain sounds in Opus format)&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2013-02-05T05:52:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c. A high trim value signals more bits to the low frequencies, while a lower trim value signals more bits to the high frequencies.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
''Dynamic allocation'' is the part of the Opus bitstream that makes it possible to increase the allocation of any band(s). This is currently computed in dynalloc_analysis() around line 810 of celt_encoder.c. &lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
Stereo saving controls the bitrate reduction applied for stereo signals with a narrow image. It is computed in alloc_trim_analysis(), around line 733 of celt_encoder.c. It is applied in celt_encode_with_ec(), around line 1558 or celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
tf_analysis() in celt_encoder.c around line 475.&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
The intensity threshold is the first band to be coded as intensity stereo. When a band is intensity-coded, the coding noise in that band is lower, at the expense of a narrower stereo image.&lt;br /&gt;
In celt_encoder.c around line 1492:&lt;br /&gt;
&lt;br /&gt;
      static const opus_val16 intensity_thresholds[21]=&lt;br /&gt;
      /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19  20  off*/&lt;br /&gt;
        { 16,21,23,25,27,29,31,33,35,38,42,46,50,54,58,63,68,75,84,102,130};&lt;br /&gt;
      static const opus_val16 intensity_histeresis[21]=&lt;br /&gt;
        {  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 6,  8, 12};&lt;br /&gt;
&lt;br /&gt;
The intensity_thresholds[] table defines the intensity threshold as a function of the ''effective bitrate''. For example, between 63 and 68 kb/s effective rate, the intensity threshold is 16. Above 130 kb/s, intensity stereo is completely disabled. Note that for 20 ms frames, the effective rate is equal to the actual rate, minus 4 kb/s.&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
In function interp_bits2pulses() in rate.c around line 356.&lt;br /&gt;
&lt;br /&gt;
            if (codedBands&amp;lt;=start+2 || (band_bits &amp;gt; ((j&amp;lt;prev?7:9)*band_width&amp;lt;&amp;lt;LM&amp;lt;&amp;lt;BITRES)&amp;gt;&amp;gt;4 &amp;amp;&amp;amp; j&amp;lt;=signalBandwidth))&lt;br /&gt;
&lt;br /&gt;
The important constants are the 7 and the 9. They determine the minimum allocation for a band to be coded, with hysteresis. The units are 1/16 bit per sample. The code above means that if a band was coded in the previous frame, it needs 7/16 bit per sample in this frame, but if it wasn't coded, then it needs 9/16 bits. If a band isn't coded, then it's contents gets replaced by a copy of the lower MDCT spectrum, or by noise. Decreasing these values increases the quality of the highest frequency bands, at the expense of all other bands. &lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2013-01-07T20:39:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c. A high trim value signals more bits to the low frequencies, while a lower trim value signals more bits to the high frequencies.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
''Dynamic allocation'' is the part of the Opus bitstream that makes it possible to increase the allocation of any band(s). This is currently computed in dynalloc_analysis() around line 810 of celt_encoder.c. &lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
Stereo saving controls the bitrate reduction applied for stereo signals with a narrow image. It is computed in alloc_trim_analysis(), around line 733 of celt_encoder.c. It is applied in celt_encode_with_ec(), around line 1558 or celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
tf_analysis() in celt_encoder.c around line 475.&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
The intensity threshold is the first band to be coded as intensity stereo. When a band is intensity-coded, the coding noise in that band is lower, at the expense of a narrower stereo image.&lt;br /&gt;
In celt_encoder.c around line 1492:&lt;br /&gt;
&lt;br /&gt;
      static const opus_val16 intensity_thresholds[21]=&lt;br /&gt;
      /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19  20  off*/&lt;br /&gt;
        { 16,21,23,25,27,29,31,33,35,38,42,46,50,54,58,63,68,75,84,102,130};&lt;br /&gt;
      static const opus_val16 intensity_histeresis[21]=&lt;br /&gt;
        {  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 6,  8, 12};&lt;br /&gt;
&lt;br /&gt;
The intensity_thresholds[] table defines the intensity threshold as a function of the ''effective bitrate''. For example, between 63 and 68 kb/s, the intensity threshold is 16. Above 130 kb/s, intensity stereo is completely disabled.&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
In function interp_bits2pulses() in rate.c around line 356.&lt;br /&gt;
&lt;br /&gt;
            if (codedBands&amp;lt;=start+2 || (band_bits &amp;gt; ((j&amp;lt;prev?7:9)*band_width&amp;lt;&amp;lt;LM&amp;lt;&amp;lt;BITRES)&amp;gt;&amp;gt;4 &amp;amp;&amp;amp; j&amp;lt;=signalBandwidth))&lt;br /&gt;
&lt;br /&gt;
The important constants are the 7 and the 9. They determine the minimum allocation for a band to be coded, with hysteresis. The units are 1/16 bit per sample. The code above means that if a band was coded in the previous frame, it needs 7/16 bit per sample in this frame, but if it wasn't coded, then it needs 9/16 bits. If a band isn't coded, then it's contents gets replaced by a copy of the lower MDCT spectrum, or by noise. Decreasing these values increases the quality of the highest frequency bands, at the expense of all other bands. &lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2013-01-07T20:32:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c. A high trim value signals more bits to the low frequencies, while a lower trim value signals more bits to the high frequencies.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
''Dynamic allocation'' is the part of the Opus bitstream that makes it possible to increase the allocation of any band(s). This is currently computed in dynalloc_analysis() around line 810 of celt_encoder.c. &lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
Stereo saving controls the bitrate reduction applied for stereo signals with a narrow image. It is computed in alloc_trim_analysis(), around line 733 of celt_encoder.c. It is applied in celt_encode_with_ec(), around line 1558 or celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
tf_analysis() in celt_encoder.c around line 475.&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
The intensity threshold is the first band to be coded as intensity stereo. When a band is intensity-coded, the coding noise in that band is lower, at the expense of a narrower stereo image.&lt;br /&gt;
In celt_encoder.c around line 1492:&lt;br /&gt;
&lt;br /&gt;
      static const opus_val16 intensity_thresholds[21]=&lt;br /&gt;
      /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19  20  off*/&lt;br /&gt;
        { 16,21,23,25,27,29,31,33,35,38,42,46,50,54,58,63,68,75,84,102,130};&lt;br /&gt;
      static const opus_val16 intensity_histeresis[21]=&lt;br /&gt;
        {  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 6,  8, 12};&lt;br /&gt;
&lt;br /&gt;
The intensity_thresholds[] table defines the intensity threshold as a function of the ''effective bitrate''. For example, between 63 and 68 kb/s, the intensity threshold is 16. Above 130 kb/s, intensity stereo is completely disabled.&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
interp_bits2pulses() in rate.c around line 356.&lt;br /&gt;
&lt;br /&gt;
            if (codedBands&amp;lt;=start+2 || (band_bits &amp;gt; ((j&amp;lt;prev?7:9)*band_width&amp;lt;&amp;lt;LM&amp;lt;&amp;lt;BITRES)&amp;gt;&amp;gt;4 &amp;amp;&amp;amp; j&amp;lt;=signalBandwidth))&lt;br /&gt;
&lt;br /&gt;
The important constants are the 7 and the 9. They determine the minimum allocation for a band to be coded, with hysteresis. The units are 1/16 bit per sample. &lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2013-01-07T04:15:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c. A high trim value signals more bits to the low frequencies, while a lower trim value signals more bits to the high frequencies.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
''Dynamic allocation'' is the part of the Opus bitstream that makes it possible to increase the allocation of any band(s). This is currently computed in dynalloc_analysis() around line 810 of celt_encoder.c. &lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
Stereo saving controls the bitrate reduction applied for stereo signals with a narrow image. It is computed in alloc_trim_analysis(), around line 733 of celt_encoder.c. It is applied in celt_encode_with_ec(), around line 1558 or celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
tf_analysis() in celt_encoder.c around line 475.&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
The intensity threshold is the first band to be coded as intensity stereo. When a band is intensity-coded, the coding noise in that band is lower, at the expense of a narrower stereo image.&lt;br /&gt;
In celt_encoder.c around line 1492:&lt;br /&gt;
&lt;br /&gt;
      static const opus_val16 intensity_thresholds[21]=&lt;br /&gt;
      /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19  20  off*/&lt;br /&gt;
        { 16,21,23,25,27,29,31,33,35,38,42,46,50,54,58,63,68,75,84,102,130};&lt;br /&gt;
      static const opus_val16 intensity_histeresis[21]=&lt;br /&gt;
        {  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 6,  8, 12};&lt;br /&gt;
&lt;br /&gt;
The intensity_thresholds[] table defines the intensity threshold as a function of the ''effective bitrate''. For example, between 63 and 68 kb/s, the intensity threshold is 16. Above 130 kb/s, intensity stereo is completely disabled.&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
interp_bits2pulses() in rate.c around line 356.&lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2013-01-07T04:08:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
''Dynamic allocation'' is the part of the Opus bitstream that makes it possible to increase the allocation of any band(s). This is currently computed in dynalloc_analysis() around line 810 of celt_encoder.c. &lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
Stereo saving controls the bitrate reduction applied for stereo signals with a narrow image. It is computed in alloc_trim_analysis(), around line 733 of celt_encoder.c. It is applied in celt_encode_with_ec(), around line 1558 or celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
tf_analysis() in celt_encoder.c around line 475.&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
The intensity threshold is the first band to be coded as intensity stereo. When a band is intensity-coded, the coding noise in that band is lower, at the expense of a narrower stereo image.&lt;br /&gt;
In celt_encoder.c around line 1492:&lt;br /&gt;
&lt;br /&gt;
      static const opus_val16 intensity_thresholds[21]=&lt;br /&gt;
      /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19  20  off*/&lt;br /&gt;
        { 16,21,23,25,27,29,31,33,35,38,42,46,50,54,58,63,68,75,84,102,130};&lt;br /&gt;
      static const opus_val16 intensity_histeresis[21]=&lt;br /&gt;
        {  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 6,  8, 12};&lt;br /&gt;
&lt;br /&gt;
The intensity_thresholds[] table defines the intensity threshold as a function of the ''effective bitrate''. For example, between 63 and 68 kb/s, the intensity threshold is 16. Above 130 kb/s, intensity stereo is completely disabled.&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
interp_bits2pulses() in rate.c around line 356.&lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2013-01-07T04:03:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
''Dynamic allocation'' is the part of the Opus bitstream that makes it possible to increase the allocation of any band(s). This is currently computed in dynalloc_analysis() around line 810 of celt_encoder.c. &lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
Stereo saving controls the bitrate reduction applied for stereo signals with a narrow image. It is computed in alloc_trim_analysis(), around line 733 of celt_encoder.c. It is applied in celt_encode_with_ec(), around line 1558 or celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
tf_analysis() in celt_encoder.c around line 475.&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
The intensity threshold is the first band to be coded as intensity stereo.&lt;br /&gt;
In celt_encoder.c around line 1492:&lt;br /&gt;
&lt;br /&gt;
      static const opus_val16 intensity_thresholds[21]=&lt;br /&gt;
      /* 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19  20  off*/&lt;br /&gt;
        { 16,21,23,25,27,29,31,33,35,38,42,46,50,54,58,63,68,75,84,102,130};&lt;br /&gt;
      static const opus_val16 intensity_histeresis[21]=&lt;br /&gt;
        {  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 6,  8, 12};&lt;br /&gt;
&lt;br /&gt;
The intensity_thresholds[] table defines the intensity threshold as a function of the ''effective bitrate''. For example, between 63 and 68 kb/s, the intensity threshold is 16. Above 130 kb/s, intensity stereo is completely disabled.&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
interp_bits2pulses() in rate.c around line 356.&lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2013-01-07T03:19:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
''Dynamic allocation'' is the part of the Opus bitstream that makes it possible to increase the allocation of any band(s). This is currently computed in dynalloc_analysis() around line 810 of celt_encoder.c. &lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
Stereo saving controls the bitrate reduction applied for stereo signals with a narrow image. It is computed in alloc_trim_analysis(), around line 733 of celt_encoder.c. It is applied in celt_encode_with_ec(), around line 1558 or celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
spreading_decision() bands.c around line 413.&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
transient_analysis() celt_encoder.c around line 209.&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
tf_analysis() in celt_encoder.c around line 475.&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
intensity_thresholds[] table in celt_encoder.c around line 1492.&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
interp_bits2pulses() in rate.c around line 356.&lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2013-01-02T21:17:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
''Dynamic allocation'' is the part of the Opus bitstream that makes it possible to increase the allocation of any band(s). This is currently computed in dynalloc_analysis() around line 810 of celt_encoder.c. &lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
Stereo saving controls the bitrate reduction applied for stereo signals with a narrow image. It is computed in alloc_trim_analysis(), around line 733 of celt_encoder.c. It is applied in celt_encode_with_ec(), around line 1558 or celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2012-12-29T07:24:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
These are some parameters that can be tuned to improve the Opus encoder quality (in no particular order) &lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
Trim controls the bit allocation balance between low and high frequencies. This is currently computed by alloc_trim_analysis() around line 677 of celt_encoder.c.&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2012-12-29T07:21:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
around line 1574 of celt_encoder.c:&lt;br /&gt;
&lt;br /&gt;
        tonal_target = target + (opus_int32)((coded_bins&amp;lt;&amp;lt;BITRES)*1.2f*tonal);&lt;br /&gt;
&lt;br /&gt;
Replacing the constant 1.2f will change the impact of tonality on the bit-rate. The higher value, the higher the bit-rate of tonal frames/samples.&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus_tuning</id>
		<title>Opus tuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus_tuning"/>
				<updated>2012-12-29T07:18:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: Created page with &amp;quot;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any l...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to provide help on tuning the current Opus encoder. It assumes you are working on the master branch, not 1.0.x. As work progresses, some info (especially any line numbers) may become outdated. The numbers in parentheses represent (in order):&lt;br /&gt;
* Impact on quality &lt;br /&gt;
* Quality of current tuning&lt;br /&gt;
* Difficulty&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&lt;br /&gt;
== tonality (10 5 1) ==&lt;br /&gt;
&lt;br /&gt;
== trim (7 7 8) ==&lt;br /&gt;
&lt;br /&gt;
== dynalloc (5 5 9) ==&lt;br /&gt;
&lt;br /&gt;
== stereo saving (4 6 6) ==&lt;br /&gt;
&lt;br /&gt;
== spreading (4 7 7) ==&lt;br /&gt;
&lt;br /&gt;
== tapset (1 4 9) ==&lt;br /&gt;
&lt;br /&gt;
== transient estimator (10 8 8) ==&lt;br /&gt;
===transient boost (8 6 6) ===&lt;br /&gt;
&lt;br /&gt;
== tf estimator (6 6 9) ==&lt;br /&gt;
&lt;br /&gt;
== Intensity threshold (7 8 3) ==&lt;br /&gt;
&lt;br /&gt;
== skip threshold (3 6 4) ==&lt;br /&gt;
&lt;br /&gt;
== mode/bandwidth decisions (6 4 4) ==&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus-1.1-alpha</id>
		<title>Opus-1.1-alpha</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus-1.1-alpha"/>
				<updated>2012-12-21T16:45:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an alpha release for the upcoming 1.1 release. Compared to 1.0.2, it includes quality improvements, optimizations, bug fixes, as well as an experimental speech/music detector for mode decisions. All the fixes and improvements from 1.0.2 are also in this release.&lt;br /&gt;
&lt;br /&gt;
== Quality ==&lt;br /&gt;
&lt;br /&gt;
* Unconstrained VBR algorithm&lt;br /&gt;
* New transient detector&lt;br /&gt;
* Bitrate boost for tonal samples, which are harder to code&lt;br /&gt;
* Fixes to the tf analysis code&lt;br /&gt;
* Improvements to the hybrid mode code&lt;br /&gt;
* Fixed some mode switching issues&lt;br /&gt;
* More aggressive use of dynamic allocation&lt;br /&gt;
* Automatic audio bandwidth detection&lt;br /&gt;
* DC rejection filter&lt;br /&gt;
&lt;br /&gt;
== Optimizations ==&lt;br /&gt;
&lt;br /&gt;
* Significant reduction of the decoder stack size requirement&lt;br /&gt;
* Optimization of several functions for the common case of zero&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus-1.1-alpha</id>
		<title>Opus-1.1-alpha</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus-1.1-alpha"/>
				<updated>2012-12-21T06:39:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an alpha release for the upcoming 1.1 release. Compared to 1.0.2, it includes quality improvements, optimizations, bug fixes, as well as an experimental speech/music detector for mode decisions. All the fixes and improvements from 1.0.2 are also in this release.&lt;br /&gt;
&lt;br /&gt;
== Quality ==&lt;br /&gt;
&lt;br /&gt;
* Unconstrained VBR algorithm&lt;br /&gt;
* New transient detector&lt;br /&gt;
* Bitrate boost for tonal samples, which are harder to code&lt;br /&gt;
* Fixes to the tf analysis code&lt;br /&gt;
* Improvements to the hybrid mode code&lt;br /&gt;
* Fixed some mode switching issues&lt;br /&gt;
* More aggressive use of dynamic allocation&lt;br /&gt;
* Automatic audio bandwidth detection&lt;br /&gt;
&lt;br /&gt;
== Optimizations ==&lt;br /&gt;
&lt;br /&gt;
* Significant reduction of the decoder stack size requirement&lt;br /&gt;
* Optimization of several functions for the common case of zero&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus-1.1-alpha</id>
		<title>Opus-1.1-alpha</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus-1.1-alpha"/>
				<updated>2012-12-20T20:34:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: Created page with &amp;quot;This is an alpha release for the upcoming 1.1 release. Compared to 1.0.2, it includes quality improvements, optimizations, bug fixes, as well as an experimental speech/music dete...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an alpha release for the upcoming 1.1 release. Compared to 1.0.2, it includes quality improvements, optimizations, bug fixes, as well as an experimental speech/music detector for mode decisions. All the fixes and improvements from 1.0.2 are also in this release.&lt;br /&gt;
&lt;br /&gt;
== Quality ==&lt;br /&gt;
&lt;br /&gt;
* Unconstrained VBR algorithm&lt;br /&gt;
* New transient detector&lt;br /&gt;
* Bitrate boost for tonal samples, which are harder to code&lt;br /&gt;
* Fixes to the tf analysis code&lt;br /&gt;
* Improvements to the hybrid mode code&lt;br /&gt;
* Fixed some mode switching issues&lt;br /&gt;
* More aggressive use of dynamic allocation&lt;br /&gt;
&lt;br /&gt;
== Optimizations ==&lt;br /&gt;
&lt;br /&gt;
* Significant reduction of the decoder stack size requirement&lt;br /&gt;
* Optimization of several functions for the common case of zero&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-12-20T20:24:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.0.2 ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
* PLC fix&lt;br /&gt;
* opus_packet_get_duration()&lt;br /&gt;
* OPUS_GET_FRAME_SIZE() for decoder??&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add license headers to all dist files&amp;lt;/strike&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Fix remaining build issues with MSVC&amp;lt;/strike&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add OPUS_EXPORT override for chrome&amp;lt;/strike&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* tune transient detector&lt;br /&gt;
* variable frame size?&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
* re-tune hybrid rate allocation&lt;br /&gt;
* re-tune mode switching decisions&lt;br /&gt;
* figure out how to use speech/music detection optimally&lt;br /&gt;
* everything from 1.0.2&lt;br /&gt;
&lt;br /&gt;
== Lower priority ==&lt;br /&gt;
&lt;br /&gt;
* Handle packets with PLC frames followed by FEC&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-12-18T22:06:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.0.2 ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
* PLC fix&lt;br /&gt;
* opus_packet_get_duration()&lt;br /&gt;
* OPUS_GET_FRAME_SIZE() for decoder??&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add license headers to all dist files&amp;lt;/strike&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Fix remaining build issues with MSVC&amp;lt;/strike&amp;gt; DONE&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add OPUS_EXPORT override for chrome&amp;lt;/strike&amp;gt; DONE&lt;br /&gt;
&lt;br /&gt;
== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* tune transient detector&lt;br /&gt;
* variable frame size?&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
* re-tune hybrid rate allocation&lt;br /&gt;
* re-tune mode switching decisions&lt;br /&gt;
* figure out how to use speech/music detection optimally&lt;br /&gt;
* everything from 1.0.2&lt;br /&gt;
* tune dual stereo decision&lt;br /&gt;
&lt;br /&gt;
== Lower priority ==&lt;br /&gt;
&lt;br /&gt;
* Handle packets with PLC frames followed by FEC&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[http://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format See [[http://tools.ietf.org/html/draft-spittka-payload-rtp-opus IETF draft]]&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus-1.0.2</id>
		<title>Opus-1.0.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus-1.0.2"/>
				<updated>2012-12-05T22:55:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus 1.0.2 fixes an out-of-bounds read that could be triggered by a malicious Opus packet causing an integer wrap-around in the padding code. Considering that the packet would have to be at least 16 MB in size and that no out-of-bounds write is possible, the severity is very low. This new release also has the following changes:&lt;br /&gt;
&lt;br /&gt;
== Quality-impacting ==&lt;br /&gt;
* Changed the behaviour of the PLC to always fill the user's buffer&lt;br /&gt;
* Hybrid mode quality improvements and fixes&lt;br /&gt;
* Fixed bugs in the CELT mode PLC&lt;br /&gt;
* Redundant mode transition fixes&lt;br /&gt;
&lt;br /&gt;
== Other minor changes ==&lt;br /&gt;
* Stack reduction&lt;br /&gt;
* Doc fixes (many)&lt;br /&gt;
* 16-bit fixes&lt;br /&gt;
* Misc build fixes&lt;br /&gt;
* Extra API: OPUS_GET_LAST_PACKET_DURATION ctl() and opus_packet_get_nb_samples()&lt;br /&gt;
* Minor code cleanup&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus-1.0.2</id>
		<title>Opus-1.0.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus-1.0.2"/>
				<updated>2012-12-05T22:54:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus 1.0.2 fixes an out-of-bounds read that could be triggered by a malicious Opus packet causing an integer wrap-around in the padding code. Considering that the packet would have to be at least 16 MB in size and that no out-of-bounds write is possible, the severity is very low.&lt;br /&gt;
&lt;br /&gt;
== Quality-impacting ==&lt;br /&gt;
* Changed the behaviour of the PLC to always fill the user's buffer&lt;br /&gt;
* Hybrid mode quality improvements and fixes&lt;br /&gt;
* Fixed bugs in the CELT mode PLC&lt;br /&gt;
* Redundant mode transition fixes&lt;br /&gt;
&lt;br /&gt;
== Other minor changes ==&lt;br /&gt;
* stack reduction&lt;br /&gt;
* doc fixes (many)&lt;br /&gt;
* 16-bit fixes&lt;br /&gt;
* misc build fixes&lt;br /&gt;
* Extra API: OPUS_GET_LAST_PACKET_DURATION ctl() and opus_packet_get_nb_samples()&lt;br /&gt;
* minor code cleanup&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Opus-1.0.2</id>
		<title>Opus-1.0.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Opus-1.0.2"/>
				<updated>2012-12-05T22:37:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: Created page with &amp;quot;* out-of-bounds read on malicious padding (no corruption possible)  == Quality-impacting == * Changed the behaviour of the PLC to always fill the user's buffer * Hybrid mode qual...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* out-of-bounds read on malicious padding (no corruption possible)&lt;br /&gt;
&lt;br /&gt;
== Quality-impacting ==&lt;br /&gt;
* Changed the behaviour of the PLC to always fill the user's buffer&lt;br /&gt;
* Hybrid mode quality improvements and fixes&lt;br /&gt;
* Fixed bugs in the CELT mode PLC&lt;br /&gt;
* Redundant mode transition fixes&lt;br /&gt;
&lt;br /&gt;
== Other minor changes ==&lt;br /&gt;
* stack reduction&lt;br /&gt;
* doc fixes (many)&lt;br /&gt;
* 16-bit fixes&lt;br /&gt;
* misc build fixes&lt;br /&gt;
* Extra API: OPUS_GET_LAST_PACKET_DURATION ctl() and opus_packet_get_nb_samples()&lt;br /&gt;
* minor code cleanup&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-11-30T19:48:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.0.2 ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
* PLC fix&lt;br /&gt;
* opus_packet_get_duration()&lt;br /&gt;
* OPUS_GET_FRAME_SIZE() for decoder??&lt;br /&gt;
&lt;br /&gt;
== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* tune transient detector&lt;br /&gt;
* variable frame size?&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
* re-tune hybrid rate allocation&lt;br /&gt;
* re-tune mode switching decisions&lt;br /&gt;
* figure out how to use speech/music detection optimally&lt;br /&gt;
* everything from 1.0.2&lt;br /&gt;
&lt;br /&gt;
== Lower priority ==&lt;br /&gt;
&lt;br /&gt;
* Handle packets with PLC frames followed by FEC&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-11-24T18:35:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.0.2 ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
* opus_packet_get_duration()&lt;br /&gt;
* OPUS_GET_FRAME_SIZE() for decoder??&lt;br /&gt;
&lt;br /&gt;
== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
* tune transient detector&lt;br /&gt;
* variable frame size?&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
* re-tune hybrid rate allocation&lt;br /&gt;
* re-tune mode switching decisions&lt;br /&gt;
* figure out how to use speech/music detection optimally&lt;br /&gt;
&lt;br /&gt;
== Lower priority ==&lt;br /&gt;
&lt;br /&gt;
* Handle packets with PLC frames followed by FEC&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-11-23T19:01:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.0.2 ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
&lt;br /&gt;
== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
* tune transient detector&lt;br /&gt;
* variable frame size?&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
* re-tune hybrid rate allocation&lt;br /&gt;
* re-tune mode switching decisions&lt;br /&gt;
* figure out how to use speech/music detection optimally&lt;br /&gt;
&lt;br /&gt;
== Lower priority ==&lt;br /&gt;
&lt;br /&gt;
* Handle packets with PLC frames followed by FEC&lt;br /&gt;
* Better handling for the case where FEC has a different bandwidth than the current mode&lt;br /&gt;
* PLC transitions on unprotected SILK-SILK bandwidth changes?&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-11-16T06:45:20Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.0.2 ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
&lt;br /&gt;
== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
* tune transient detector&lt;br /&gt;
* variable frame size?&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
* re-tune hybrid rate allocation&lt;br /&gt;
* re-tune mode switching decisions&lt;br /&gt;
* figure out how to use speech/music detection optimally&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-11-16T05:20:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.0.2 ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
&lt;br /&gt;
== 1.1-beta ==&lt;br /&gt;
&lt;br /&gt;
* multi-frame FEC/PLC fix&lt;br /&gt;
* tune transient detector&lt;br /&gt;
* variable frame size?&lt;br /&gt;
* LOTS of testing&lt;br /&gt;
* re-tune hybrid rate allocation&lt;br /&gt;
* re-tune mode switching decisions&lt;br /&gt;
* figure out how to use speech/music detection optimally&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Measure pitch post-filter offset (try without if (nbAvailableBytes&amp;lt;25) pf_threshold += QCONST16(.1f,15); )&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-11-15T01:38:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Spec ==&lt;br /&gt;
* Ogg mapping&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Experiments ==&lt;br /&gt;
&lt;br /&gt;
* Measure pitch post-filter offset (try without if (nbAvailableBytes&amp;lt;25) pf_threshold += QCONST16(.1f,15); )&lt;br /&gt;
* Test exp_analysis and void_my_warranty.patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OPUS_TODO</id>
		<title>OPUS TODO</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OPUS_TODO"/>
				<updated>2012-11-15T01:36:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Spec ==&lt;br /&gt;
* Ogg mapping&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]]&lt;br /&gt;
* RTP payload format&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage&lt;br /&gt;
* Promotional material&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
* Oggz-validate (should also validate opus toc)&lt;br /&gt;
&lt;br /&gt;
== Opus-tools ==&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
* Replaygain (half done— needs a gain tool)&lt;br /&gt;
&lt;br /&gt;
== Future work ==&lt;br /&gt;
* Smart automatic mode decision&lt;br /&gt;
* psymodel based VBR&lt;br /&gt;
* Remove copy in inverse MDCT&lt;br /&gt;
* Save some float&amp;lt;-&amp;gt;int conversions&lt;br /&gt;
* Improvements to LP mode CBR (greg has some code)&lt;br /&gt;
* Reduce stack usage in SILK, make it use the heapstack when set[https://people.xiph.org/~greg/stacksizes.txt]&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-26T20:11:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Opus Media Coverage =&lt;br /&gt;
&lt;br /&gt;
== Original posts ==&lt;br /&gt;
&lt;br /&gt;
* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
&lt;br /&gt;
== English ==&lt;br /&gt;
&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;br /&gt;
* http://www.engadget.com/2012/09/12/skype-opus-codec-cd-quality/&lt;br /&gt;
* http://arstechnica.com/gadgets/2012/09/newly-standardized-opus-audio-codec-fills-every-role-from-online-chat-to-music/&lt;br /&gt;
* http://boingboing.net/2012/09/12/opus-a-new-free-open-audio.html&lt;br /&gt;
* http://blogs.computerworlduk.com/open-enterprise/2012/09/what-a-wonderful-piece-of-work-is-opus/index.htm&lt;br /&gt;
* http://www.ghacks.net/2012/09/12/opus-free-audio-codec-now-standardized/&lt;br /&gt;
* http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTE4MzQ&lt;br /&gt;
* http://www.androidauthority.com/skypes-new-opus-audio-codec-set-to-deliver-cd-quality-sound-over-voip-114521/&lt;br /&gt;
* http://www.gmanetwork.com/news/story/273878/scitech/technology/skype-unveils-cd-quality-internet-calls&lt;br /&gt;
* http://www.ubergizmo.com/2012/09/skype-opus-audio-codec-makes-communication-clearer-and-easier/&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/skype-improve-voip-call-quality-using-new-audio-standard/2012-09-13&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/speed-standards-approval-process/2012-09-13&lt;br /&gt;
* http://www.telepresenceoptions.com/2012/09/skype_unveils_cd-quality_inter/&lt;br /&gt;
* http://socialbarrel.com/skypes-opus-codec-ratification-signals-enhanced-call-quality/43775/&lt;br /&gt;
* http://www.zdnet.com/cd-quality-voice-heads-for-skype-via-newly-standardised-opus-codec-7000004270/&lt;br /&gt;
* http://us.generation-nt.com/opus-codec-audio-free-standard-news-3746722.html&lt;br /&gt;
* http://www.digitaltrends.com/cool-tech/the-end-of-mp3-opus-audio-codec-approved-for-the-web/&lt;br /&gt;
* https://auphonic.com/blog/2012/09/26/opus-revolutionary-open-audio-codec-podcasts-and-internet-audio/&lt;br /&gt;
&lt;br /&gt;
== German ==&lt;br /&gt;
&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html&lt;br /&gt;
* http://winfuture.de/news,71958.html&lt;br /&gt;
* http://www.golem.de/news/freier-audiocodec-opus-als-internetstandard-verabschiedet-1209-94511.html&lt;br /&gt;
* http://www.gulli.com/news/19698-opus-skype-stellt-neuen-audio-codec-vor-2012-09-12&lt;br /&gt;
* http://www.areamobile.de/news/22415-opus-zum-neuen-audio-standard-fuer-das-internet-erklaert&lt;br /&gt;
* http://www.linux-magazin.de/NEWS/Opus-Freier-Audio-Codec-von-der-IETF&lt;br /&gt;
&lt;br /&gt;
== French ==&lt;br /&gt;
&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/actualite-510773-opus-codec-standard-ietf.html&lt;br /&gt;
* http://www.macg.co/news/voir/257138/opus-un-codec-audio-haute-qualite-pour-skype&lt;br /&gt;
* http://www.numerama.com/magazine/23708-opus-est-desormais-un-codec-audio-standard-et-ouvert.html&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/skype/actualite-510553-codec-audio-skype-troquera-silk-opus.html&lt;br /&gt;
* http://www.developpez.com/actu/47519/Opus-le-nouveau-codec-audio-open-source-est-standardise-il-ferait-mieux-que-six-codecs-proprietaires-reunis-dixit-Mozilla/&lt;br /&gt;
* http://www.generation-nt.com/opus-codec-audio-libre-standard-actualite-1624872.html&lt;br /&gt;
* http://www.informatiques.com/blog/opus-un-codec-standard-pour-les-gouverner-tous/&lt;br /&gt;
* http://sebsauvage.net/rhaa/index.php?2012/09/12/08/30/48-un-codec-pour-les-dominer-tous&lt;br /&gt;
* http://www.cnetfrance.fr/news/skype-change-de-codec-audio-39782499.htm&lt;br /&gt;
* http://www.itespresso.fr/opus-pave-mare-codecs-audio-56655.html&lt;br /&gt;
&lt;br /&gt;
== Italian ==&lt;br /&gt;
&lt;br /&gt;
* http://internet.tuttogratis.it/opus-il-codec-di-skype-che-offrira-chiamate-ad-alta-qualita/P134375/&lt;br /&gt;
* http://www.ossblog.it/post/16317/opus-il-nuovo-codec-di-mozilla-e-xiph-foundation-per-insidiare-lmp3&lt;br /&gt;
* http://www.macitynet.it/macity/articolo/E-diventato-standard-il-codec-Opus-per-le-chiamate-web-con-qualit-audio-CD/aA62845&lt;br /&gt;
* http://www.downloadblog.it/post/28463/skype-ha-annunciato-il-passaggio-a-opus-un-nuovo-codec-audio-sul-web&lt;br /&gt;
* http://www.webnews.it/2012/09/13/skype-nuovo-codec-per-un-audio-in-qualita-cd/&lt;br /&gt;
* http://www.pianetatech.it/software/voip/skype-nuovo-codec-audio-per-migliorare-la-qualita-delle-chiamate.html&lt;br /&gt;
* http://www.tomshw.it/cont/news/skype-con-audio-ad-alta-qualita-grazie-a-codec-open-source/39624/1.html&lt;br /&gt;
* http://www.ilsoftware.it/articoli.asp?tag=Codec-Opus-approvato-c-e-intesa-tra-Mozilla-e-Skype_9145&lt;br /&gt;
&lt;br /&gt;
== Russian ==&lt;br /&gt;
&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347&lt;br /&gt;
* http://habrahabr.ru/post/151414/&lt;br /&gt;
&lt;br /&gt;
== Greek ==&lt;br /&gt;
&lt;br /&gt;
* http://www.real.gr/DefaultArthro.aspx?page=arthro&amp;amp;id=173361&amp;amp;catID=22&lt;br /&gt;
&lt;br /&gt;
== Dutch ==&lt;br /&gt;
&lt;br /&gt;
* http://webwereld.nl/nieuws/111763/zwaarbevochten-open-audiocodec-nu-webstandaard.html&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-17T19:12:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Opus Media Coverage =&lt;br /&gt;
&lt;br /&gt;
== Original posts ==&lt;br /&gt;
&lt;br /&gt;
* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
&lt;br /&gt;
== English ==&lt;br /&gt;
&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;br /&gt;
* http://www.engadget.com/2012/09/12/skype-opus-codec-cd-quality/&lt;br /&gt;
* http://arstechnica.com/gadgets/2012/09/newly-standardized-opus-audio-codec-fills-every-role-from-online-chat-to-music/&lt;br /&gt;
* http://boingboing.net/2012/09/12/opus-a-new-free-open-audio.html&lt;br /&gt;
* http://blogs.computerworlduk.com/open-enterprise/2012/09/what-a-wonderful-piece-of-work-is-opus/index.htm&lt;br /&gt;
* http://www.ghacks.net/2012/09/12/opus-free-audio-codec-now-standardized/&lt;br /&gt;
* http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTE4MzQ&lt;br /&gt;
* http://www.androidauthority.com/skypes-new-opus-audio-codec-set-to-deliver-cd-quality-sound-over-voip-114521/&lt;br /&gt;
* http://www.gmanetwork.com/news/story/273878/scitech/technology/skype-unveils-cd-quality-internet-calls&lt;br /&gt;
* http://www.ubergizmo.com/2012/09/skype-opus-audio-codec-makes-communication-clearer-and-easier/&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/skype-improve-voip-call-quality-using-new-audio-standard/2012-09-13&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/speed-standards-approval-process/2012-09-13&lt;br /&gt;
* http://www.telepresenceoptions.com/2012/09/skype_unveils_cd-quality_inter/&lt;br /&gt;
* http://socialbarrel.com/skypes-opus-codec-ratification-signals-enhanced-call-quality/43775/&lt;br /&gt;
* http://www.zdnet.com/cd-quality-voice-heads-for-skype-via-newly-standardised-opus-codec-7000004270/&lt;br /&gt;
* http://us.generation-nt.com/opus-codec-audio-free-standard-news-3746722.html&lt;br /&gt;
* http://www.digitaltrends.com/cool-tech/the-end-of-mp3-opus-audio-codec-approved-for-the-web/&lt;br /&gt;
&lt;br /&gt;
== German ==&lt;br /&gt;
&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html&lt;br /&gt;
* http://winfuture.de/news,71958.html&lt;br /&gt;
* http://www.golem.de/news/freier-audiocodec-opus-als-internetstandard-verabschiedet-1209-94511.html&lt;br /&gt;
* http://www.gulli.com/news/19698-opus-skype-stellt-neuen-audio-codec-vor-2012-09-12&lt;br /&gt;
* http://www.areamobile.de/news/22415-opus-zum-neuen-audio-standard-fuer-das-internet-erklaert&lt;br /&gt;
&lt;br /&gt;
== French ==&lt;br /&gt;
&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/actualite-510773-opus-codec-standard-ietf.html&lt;br /&gt;
* http://www.macg.co/news/voir/257138/opus-un-codec-audio-haute-qualite-pour-skype&lt;br /&gt;
* http://www.numerama.com/magazine/23708-opus-est-desormais-un-codec-audio-standard-et-ouvert.html&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/skype/actualite-510553-codec-audio-skype-troquera-silk-opus.html&lt;br /&gt;
* http://www.developpez.com/actu/47519/Opus-le-nouveau-codec-audio-open-source-est-standardise-il-ferait-mieux-que-six-codecs-proprietaires-reunis-dixit-Mozilla/&lt;br /&gt;
* http://www.generation-nt.com/opus-codec-audio-libre-standard-actualite-1624872.html&lt;br /&gt;
* http://www.informatiques.com/blog/opus-un-codec-standard-pour-les-gouverner-tous/&lt;br /&gt;
* http://sebsauvage.net/rhaa/index.php?2012/09/12/08/30/48-un-codec-pour-les-dominer-tous&lt;br /&gt;
* http://www.cnetfrance.fr/news/skype-change-de-codec-audio-39782499.htm&lt;br /&gt;
&lt;br /&gt;
== Italian ==&lt;br /&gt;
&lt;br /&gt;
* http://internet.tuttogratis.it/opus-il-codec-di-skype-che-offrira-chiamate-ad-alta-qualita/P134375/&lt;br /&gt;
* http://www.ossblog.it/post/16317/opus-il-nuovo-codec-di-mozilla-e-xiph-foundation-per-insidiare-lmp3&lt;br /&gt;
* http://www.macitynet.it/macity/articolo/E-diventato-standard-il-codec-Opus-per-le-chiamate-web-con-qualit-audio-CD/aA62845&lt;br /&gt;
* http://www.downloadblog.it/post/28463/skype-ha-annunciato-il-passaggio-a-opus-un-nuovo-codec-audio-sul-web&lt;br /&gt;
* http://www.webnews.it/2012/09/13/skype-nuovo-codec-per-un-audio-in-qualita-cd/&lt;br /&gt;
* http://www.pianetatech.it/software/voip/skype-nuovo-codec-audio-per-migliorare-la-qualita-delle-chiamate.html&lt;br /&gt;
* http://www.tomshw.it/cont/news/skype-con-audio-ad-alta-qualita-grazie-a-codec-open-source/39624/1.html&lt;br /&gt;
&lt;br /&gt;
== Rusian ==&lt;br /&gt;
&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347&lt;br /&gt;
* http://habrahabr.ru/post/151414/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-16T06:31:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Opus Media Coverage =&lt;br /&gt;
&lt;br /&gt;
== Original posts ==&lt;br /&gt;
&lt;br /&gt;
* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
&lt;br /&gt;
== English ==&lt;br /&gt;
&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;br /&gt;
* http://www.engadget.com/2012/09/12/skype-opus-codec-cd-quality/&lt;br /&gt;
* http://arstechnica.com/gadgets/2012/09/newly-standardized-opus-audio-codec-fills-every-role-from-online-chat-to-music/&lt;br /&gt;
* http://boingboing.net/2012/09/12/opus-a-new-free-open-audio.html&lt;br /&gt;
* http://blogs.computerworlduk.com/open-enterprise/2012/09/what-a-wonderful-piece-of-work-is-opus/index.htm&lt;br /&gt;
* http://www.ghacks.net/2012/09/12/opus-free-audio-codec-now-standardized/&lt;br /&gt;
* http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTE4MzQ&lt;br /&gt;
* http://www.androidauthority.com/skypes-new-opus-audio-codec-set-to-deliver-cd-quality-sound-over-voip-114521/&lt;br /&gt;
* http://www.gmanetwork.com/news/story/273878/scitech/technology/skype-unveils-cd-quality-internet-calls&lt;br /&gt;
* http://www.ubergizmo.com/2012/09/skype-opus-audio-codec-makes-communication-clearer-and-easier/&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/skype-improve-voip-call-quality-using-new-audio-standard/2012-09-13&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/speed-standards-approval-process/2012-09-13&lt;br /&gt;
* http://www.telepresenceoptions.com/2012/09/skype_unveils_cd-quality_inter/&lt;br /&gt;
* http://socialbarrel.com/skypes-opus-codec-ratification-signals-enhanced-call-quality/43775/&lt;br /&gt;
* http://www.zdnet.com/cd-quality-voice-heads-for-skype-via-newly-standardised-opus-codec-7000004270/&lt;br /&gt;
* http://us.generation-nt.com/opus-codec-audio-free-standard-news-3746722.html&lt;br /&gt;
&lt;br /&gt;
== German ==&lt;br /&gt;
&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html&lt;br /&gt;
* http://winfuture.de/news,71958.html&lt;br /&gt;
* http://www.golem.de/news/freier-audiocodec-opus-als-internetstandard-verabschiedet-1209-94511.html&lt;br /&gt;
* http://www.gulli.com/news/19698-opus-skype-stellt-neuen-audio-codec-vor-2012-09-12&lt;br /&gt;
* http://www.areamobile.de/news/22415-opus-zum-neuen-audio-standard-fuer-das-internet-erklaert&lt;br /&gt;
&lt;br /&gt;
== French ==&lt;br /&gt;
&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/actualite-510773-opus-codec-standard-ietf.html&lt;br /&gt;
* http://www.macg.co/news/voir/257138/opus-un-codec-audio-haute-qualite-pour-skype&lt;br /&gt;
* http://www.numerama.com/magazine/23708-opus-est-desormais-un-codec-audio-standard-et-ouvert.html&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/skype/actualite-510553-codec-audio-skype-troquera-silk-opus.html&lt;br /&gt;
* http://www.developpez.com/actu/47519/Opus-le-nouveau-codec-audio-open-source-est-standardise-il-ferait-mieux-que-six-codecs-proprietaires-reunis-dixit-Mozilla/&lt;br /&gt;
* http://www.generation-nt.com/opus-codec-audio-libre-standard-actualite-1624872.html&lt;br /&gt;
* http://www.informatiques.com/blog/opus-un-codec-standard-pour-les-gouverner-tous/&lt;br /&gt;
* http://sebsauvage.net/rhaa/index.php?2012/09/12/08/30/48-un-codec-pour-les-dominer-tous&lt;br /&gt;
* http://www.cnetfrance.fr/news/skype-change-de-codec-audio-39782499.htm&lt;br /&gt;
&lt;br /&gt;
== Italian ==&lt;br /&gt;
&lt;br /&gt;
* http://internet.tuttogratis.it/opus-il-codec-di-skype-che-offrira-chiamate-ad-alta-qualita/P134375/&lt;br /&gt;
* http://www.ossblog.it/post/16317/opus-il-nuovo-codec-di-mozilla-e-xiph-foundation-per-insidiare-lmp3&lt;br /&gt;
* http://www.macitynet.it/macity/articolo/E-diventato-standard-il-codec-Opus-per-le-chiamate-web-con-qualit-audio-CD/aA62845&lt;br /&gt;
* http://www.downloadblog.it/post/28463/skype-ha-annunciato-il-passaggio-a-opus-un-nuovo-codec-audio-sul-web&lt;br /&gt;
* http://www.webnews.it/2012/09/13/skype-nuovo-codec-per-un-audio-in-qualita-cd/&lt;br /&gt;
* http://www.pianetatech.it/software/voip/skype-nuovo-codec-audio-per-migliorare-la-qualita-delle-chiamate.html&lt;br /&gt;
* http://www.tomshw.it/cont/news/skype-con-audio-ad-alta-qualita-grazie-a-codec-open-source/39624/1.html&lt;br /&gt;
&lt;br /&gt;
== Rusian ==&lt;br /&gt;
&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347&lt;br /&gt;
* http://habrahabr.ru/post/151414/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-16T06:25:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Opus Media Coverage =&lt;br /&gt;
&lt;br /&gt;
== Original posts ==&lt;br /&gt;
&lt;br /&gt;
* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
&lt;br /&gt;
== English ==&lt;br /&gt;
&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;br /&gt;
* http://www.engadget.com/2012/09/12/skype-opus-codec-cd-quality/&lt;br /&gt;
* http://arstechnica.com/gadgets/2012/09/newly-standardized-opus-audio-codec-fills-every-role-from-online-chat-to-music/&lt;br /&gt;
* http://boingboing.net/2012/09/12/opus-a-new-free-open-audio.html&lt;br /&gt;
* http://blogs.computerworlduk.com/open-enterprise/2012/09/what-a-wonderful-piece-of-work-is-opus/index.htm&lt;br /&gt;
* http://www.ghacks.net/2012/09/12/opus-free-audio-codec-now-standardized/&lt;br /&gt;
* http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTE4MzQ&lt;br /&gt;
* http://www.androidauthority.com/skypes-new-opus-audio-codec-set-to-deliver-cd-quality-sound-over-voip-114521/&lt;br /&gt;
* http://www.gmanetwork.com/news/story/273878/scitech/technology/skype-unveils-cd-quality-internet-calls&lt;br /&gt;
* http://www.ubergizmo.com/2012/09/skype-opus-audio-codec-makes-communication-clearer-and-easier/&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/skype-improve-voip-call-quality-using-new-audio-standard/2012-09-13&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/speed-standards-approval-process/2012-09-13&lt;br /&gt;
* http://www.telepresenceoptions.com/2012/09/skype_unveils_cd-quality_inter/&lt;br /&gt;
* http://socialbarrel.com/skypes-opus-codec-ratification-signals-enhanced-call-quality/43775/&lt;br /&gt;
* http://www.zdnet.com/cd-quality-voice-heads-for-skype-via-newly-standardised-opus-codec-7000004270/&lt;br /&gt;
* http://us.generation-nt.com/opus-codec-audio-free-standard-news-3746722.html&lt;br /&gt;
&lt;br /&gt;
== German ==&lt;br /&gt;
&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html&lt;br /&gt;
* http://winfuture.de/news,71958.html&lt;br /&gt;
* http://www.golem.de/news/freier-audiocodec-opus-als-internetstandard-verabschiedet-1209-94511.html&lt;br /&gt;
* http://www.gulli.com/news/19698-opus-skype-stellt-neuen-audio-codec-vor-2012-09-12&lt;br /&gt;
* http://www.areamobile.de/news/22415-opus-zum-neuen-audio-standard-fuer-das-internet-erklaert&lt;br /&gt;
&lt;br /&gt;
== French ==&lt;br /&gt;
&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/actualite-510773-opus-codec-standard-ietf.html&lt;br /&gt;
* http://www.macg.co/news/voir/257138/opus-un-codec-audio-haute-qualite-pour-skype&lt;br /&gt;
* http://www.numerama.com/magazine/23708-opus-est-desormais-un-codec-audio-standard-et-ouvert.html&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/skype/actualite-510553-codec-audio-skype-troquera-silk-opus.html&lt;br /&gt;
* http://www.developpez.com/actu/47519/Opus-le-nouveau-codec-audio-open-source-est-standardise-il-ferait-mieux-que-six-codecs-proprietaires-reunis-dixit-Mozilla/&lt;br /&gt;
* http://www.generation-nt.com/opus-codec-audio-libre-standard-actualite-1624872.html&lt;br /&gt;
* http://www.informatiques.com/blog/opus-un-codec-standard-pour-les-gouverner-tous/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Italian ==&lt;br /&gt;
&lt;br /&gt;
* http://internet.tuttogratis.it/opus-il-codec-di-skype-che-offrira-chiamate-ad-alta-qualita/P134375/&lt;br /&gt;
* http://www.ossblog.it/post/16317/opus-il-nuovo-codec-di-mozilla-e-xiph-foundation-per-insidiare-lmp3&lt;br /&gt;
* http://www.macitynet.it/macity/articolo/E-diventato-standard-il-codec-Opus-per-le-chiamate-web-con-qualit-audio-CD/aA62845&lt;br /&gt;
* http://www.downloadblog.it/post/28463/skype-ha-annunciato-il-passaggio-a-opus-un-nuovo-codec-audio-sul-web&lt;br /&gt;
* http://www.webnews.it/2012/09/13/skype-nuovo-codec-per-un-audio-in-qualita-cd/&lt;br /&gt;
* http://www.pianetatech.it/software/voip/skype-nuovo-codec-audio-per-migliorare-la-qualita-delle-chiamate.html&lt;br /&gt;
* http://www.tomshw.it/cont/news/skype-con-audio-ad-alta-qualita-grazie-a-codec-open-source/39624/1.html&lt;br /&gt;
&lt;br /&gt;
== Rusian ==&lt;br /&gt;
&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347&lt;br /&gt;
* http://habrahabr.ru/post/151414/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-16T06:21:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: sorting by language&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Opus Media Coverage =&lt;br /&gt;
&lt;br /&gt;
== Original posts ==&lt;br /&gt;
&lt;br /&gt;
* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
&lt;br /&gt;
== English ==&lt;br /&gt;
&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;br /&gt;
* http://www.engadget.com/2012/09/12/skype-opus-codec-cd-quality/&lt;br /&gt;
* http://arstechnica.com/gadgets/2012/09/newly-standardized-opus-audio-codec-fills-every-role-from-online-chat-to-music/&lt;br /&gt;
* http://boingboing.net/2012/09/12/opus-a-new-free-open-audio.html&lt;br /&gt;
* http://blogs.computerworlduk.com/open-enterprise/2012/09/what-a-wonderful-piece-of-work-is-opus/index.htm&lt;br /&gt;
* http://www.ghacks.net/2012/09/12/opus-free-audio-codec-now-standardized/&lt;br /&gt;
* http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTE4MzQ&lt;br /&gt;
* http://www.androidauthority.com/skypes-new-opus-audio-codec-set-to-deliver-cd-quality-sound-over-voip-114521/&lt;br /&gt;
* http://www.gmanetwork.com/news/story/273878/scitech/technology/skype-unveils-cd-quality-internet-calls&lt;br /&gt;
* http://www.ubergizmo.com/2012/09/skype-opus-audio-codec-makes-communication-clearer-and-easier/&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/skype-improve-voip-call-quality-using-new-audio-standard/2012-09-13&lt;br /&gt;
* http://www.fierceenterprisecommunications.com/story/speed-standards-approval-process/2012-09-13&lt;br /&gt;
* http://www.telepresenceoptions.com/2012/09/skype_unveils_cd-quality_inter/&lt;br /&gt;
* http://socialbarrel.com/skypes-opus-codec-ratification-signals-enhanced-call-quality/43775/&lt;br /&gt;
* http://www.zdnet.com/cd-quality-voice-heads-for-skype-via-newly-standardised-opus-codec-7000004270/&lt;br /&gt;
* http://us.generation-nt.com/opus-codec-audio-free-standard-news-3746722.html&lt;br /&gt;
&lt;br /&gt;
== German ==&lt;br /&gt;
&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html&lt;br /&gt;
* http://winfuture.de/news,71958.html&lt;br /&gt;
* http://www.golem.de/news/freier-audiocodec-opus-als-internetstandard-verabschiedet-1209-94511.html&lt;br /&gt;
* http://www.gulli.com/news/19698-opus-skype-stellt-neuen-audio-codec-vor-2012-09-12&lt;br /&gt;
* http://www.areamobile.de/news/22415-opus-zum-neuen-audio-standard-fuer-das-internet-erklaert&lt;br /&gt;
&lt;br /&gt;
== French ==&lt;br /&gt;
&lt;br /&gt;
* http://www.clubic.com/telecharger/logiciel-voip/actualite-510773-opus-codec-standard-ietf.html&lt;br /&gt;
* http://www.macg.co/news/voir/257138/opus-un-codec-audio-haute-qualite-pour-skype&lt;br /&gt;
* http://www.numerama.com/magazine/23708-opus-est-desormais-un-codec-audio-standard-et-ouvert.html&lt;br /&gt;
&lt;br /&gt;
== Italian ==&lt;br /&gt;
&lt;br /&gt;
* http://internet.tuttogratis.it/opus-il-codec-di-skype-che-offrira-chiamate-ad-alta-qualita/P134375/&lt;br /&gt;
* http://www.ossblog.it/post/16317/opus-il-nuovo-codec-di-mozilla-e-xiph-foundation-per-insidiare-lmp3&lt;br /&gt;
* http://www.macitynet.it/macity/articolo/E-diventato-standard-il-codec-Opus-per-le-chiamate-web-con-qualit-audio-CD/aA62845&lt;br /&gt;
* http://www.downloadblog.it/post/28463/skype-ha-annunciato-il-passaggio-a-opus-un-nuovo-codec-audio-sul-web&lt;br /&gt;
* http://www.webnews.it/2012/09/13/skype-nuovo-codec-per-un-audio-in-qualita-cd/&lt;br /&gt;
* http://www.pianetatech.it/software/voip/skype-nuovo-codec-audio-per-migliorare-la-qualita-delle-chiamate.html&lt;br /&gt;
* http://www.tomshw.it/cont/news/skype-con-audio-ad-alta-qualita-grazie-a-codec-open-source/39624/1.html&lt;br /&gt;
&lt;br /&gt;
== Rusian ==&lt;br /&gt;
&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347&lt;br /&gt;
* http://habrahabr.ru/post/151414/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-13T07:38:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc (German)&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html (German)&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812 (Russian)&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347 (Russian)&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/ (German)&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html (German)&lt;br /&gt;
* http://winfuture.de/news,71958.html (German)&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;br /&gt;
* http://www.golem.de/news/freier-audiocodec-opus-als-internetstandard-verabschiedet-1209-94511.html (German)&lt;br /&gt;
* http://www.engadget.com/2012/09/12/skype-opus-codec-cd-quality/&lt;br /&gt;
* http://arstechnica.com/gadgets/2012/09/newly-standardized-opus-audio-codec-fills-every-role-from-online-chat-to-music/&lt;br /&gt;
* http://boingboing.net/2012/09/12/opus-a-new-free-open-audio.html&lt;br /&gt;
* http://blogs.computerworlduk.com/open-enterprise/2012/09/what-a-wonderful-piece-of-work-is-opus/index.htm&lt;br /&gt;
* http://www.gulli.com/news/19698-opus-skype-stellt-neuen-audio-codec-vor-2012-09-12 (German)&lt;br /&gt;
* http://www.ghacks.net/2012/09/12/opus-free-audio-codec-now-standardized/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-13T07:37:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc (German)&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html (German)&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812 (Russian)&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347 (Russian)&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/ (German)&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html (German)&lt;br /&gt;
* http://winfuture.de/news,71958.html (German)&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;br /&gt;
* http://www.golem.de/news/freier-audiocodec-opus-als-internetstandard-verabschiedet-1209-94511.html (German)&lt;br /&gt;
* http://www.engadget.com/2012/09/12/skype-opus-codec-cd-quality/&lt;br /&gt;
* http://arstechnica.com/gadgets/2012/09/newly-standardized-opus-audio-codec-fills-every-role-from-online-chat-to-music/&lt;br /&gt;
* http://boingboing.net/2012/09/12/opus-a-new-free-open-audio.html&lt;br /&gt;
* http://blogs.computerworlduk.com/open-enterprise/2012/09/what-a-wonderful-piece-of-work-is-opus/index.htm&lt;br /&gt;
* http://www.gulli.com/news/19698-opus-skype-stellt-neuen-audio-codec-vor-2012-09-12 (German)&lt;br /&gt;
* http://www.ghacks.net/2012/09/12/opus-free-audio-codec-now-standardized/&lt;br /&gt;
* http://blogs.computerworlduk.com/open-enterprise/2012/09/what-a-wonderful-piece-of-work-is-opus/index.htm&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-12T19:12:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc (German)&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html (German)&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812 (Russian)&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347 (Russian)&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/ (German)&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html (German)&lt;br /&gt;
* http://winfuture.de/news,71958.html (German)&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;br /&gt;
* http://www.golem.de/news/freier-audiocodec-opus-als-internetstandard-verabschiedet-1209-94511.html (German)&lt;br /&gt;
* http://www.engadget.com/2012/09/12/skype-opus-codec-cd-quality/&lt;br /&gt;
* http://arstechnica.com/gadgets/2012/09/newly-standardized-opus-audio-codec-fills-every-role-from-online-chat-to-music/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-12T13:59:31Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;br /&gt;
* http://blog.fefe.de/?ts=aeb10fbc (German)&lt;br /&gt;
* https://news.ycombinator.com/item?id=4507204&lt;br /&gt;
* http://www.heise.de/newsticker/meldung/Audiocodec-Opus-ist-neuer-Internetstandard-1704913.html (German)&lt;br /&gt;
* http://www.h-online.com/open/news/item/Opus-audio-codec-is-now-an-Internet-Standard-1705078.html&lt;br /&gt;
* http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html&lt;br /&gt;
* http://www.opennet.ru/opennews/art.shtml?num=34812 (Russian)&lt;br /&gt;
* http://www.linux.org.ru/news/multimedia/8221347 (Russian)&lt;br /&gt;
* http://www.zdnet.de/88123034/ietf-verabschiedet-lizenzfreien-online-audio-standard-opus/ (German)&lt;br /&gt;
* http://www.pro-linux.de/news/1/18864/freier-audio-codec-opus-standardisiert.html (German)&lt;br /&gt;
* http://winfuture.de/news,71958.html (German)&lt;br /&gt;
* http://news.softpedia.com/news/Opus-Mozilla-s-New-Open-Source-Scalable-Audio-Codec-Becomes-a-IEFT-Standard-291651.shtml&lt;br /&gt;
* http://thenextweb.com/microsoft/2012/09/12/skype-details-opus-codec-capable-cd-quality-sound/&lt;br /&gt;
* http://www.geeky-gadgets.com/skype-opus-codec-will-add-cd-quality-sound-to-your-calls-and-more-12-09-2012/&lt;br /&gt;
* http://www.theinquirer.net/inquirer/news/2204893/skype-announces-plans-to-enhance-call-quality&lt;br /&gt;
* http://www.v3.co.uk/v3-uk/news/2204930/skype-updates-audio-codec-to-improve-voice-calls&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-11T23:08:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;br /&gt;
* http://news.slashdot.org/story/12/09/11/2156225/opus-the-codec-to-end-all-codecs&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-11T23:05:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;br /&gt;
* http://news.cnet.com/8301-1023_3-57510759-93/ietf-standardizes-opus-for-flexible-online-audio/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-11T21:08:16Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/c66qzr4&lt;br /&gt;
* http://gigaom.com/2012/09/11/opus-audio-codec-ietf/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-11T20:18:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;br /&gt;
* http://www.reddit.com/r/programming/comments/zq17h/its_opus_it_rocks_and_now_its_an_audio_codec/c66qzr4&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusMedia</id>
		<title>OpusMedia</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusMedia"/>
				<updated>2012-09-11T20:17:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: Created page with &amp;quot;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/ * http://www.xiph.org/press/2012/rfc-6716/ * https://lwn.net/Articles/515670/&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/&lt;br /&gt;
* http://www.xiph.org/press/2012/rfc-6716/&lt;br /&gt;
* https://lwn.net/Articles/515670/&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-09-11T16:45:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? Who created it? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a totally open, royalty-free, highly versatile audio codec. It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's SILK codec and Xiph.Org's CELT codec. It is being standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. &lt;br /&gt;
&lt;br /&gt;
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group. &lt;br /&gt;
&lt;br /&gt;
=== How does Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format. Further, the Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for usage as part of the basic infrastructure of the Internet. See the Opus [http://opus-codec.org/comparison comparison page] for more details.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus? What programs support Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus decoding support is now included in many applications, including Firefox and Foobar2000, as well as in frameworks such as GStreamer. For now, the best way to '''encode''' Opus files is to use the opusenc command-line tool from the opus-tools package. For real-time applications, Opus support should soon be available in the Google webrtc codebase. Opus is still a new codec, expect many more applications to support it in the near future.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===&lt;br /&gt;
&lt;br /&gt;
Yes and no. Opus encoding tools like opusenc will happily encode files that are sampled at 96 or 192 kHz. However, input files at these rates are internally converted to 48 kHz, and then only frequencies up to 20 kHz are encoded. The reason is simple: lossy codecs are designed to preserve audible details while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go. See Monty's [http://people.xiph.org/~xiphmont/demo/neil-young.html 24/192 Music Downloads ...and why they make no sense] for more details. &lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3). See the [http://www.opus-codec.org/license/ licensing page] for details.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. In addition to a linear prediction &amp;quot;SILK mode&amp;quot; and a MDCT &amp;quot;CELT mode&amp;quot; it has a &amp;quot;hybrid mode,&amp;quot; where speech frequencies up to 8 kHz are encoded with LP while those above 8 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch between these modes seamlessly, without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improves on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
=== Will all future Opus releases comply with the [http://tools.ietf.org/html/rfc6716 Opus specification]? ===&lt;br /&gt;
&lt;br /&gt;
Yes.&lt;br /&gt;
&lt;br /&gt;
=== In what way is Opus optimized for the Internet? ===&lt;br /&gt;
&lt;br /&gt;
Opus being optimized for the Internet obviously means that it has good packet loss robustness and concealment, but it goes further. One of the first things we've been asked when designing Opus was to make the rate '''really''' adaptable because we never know what kind of rates will be available. This not only meant having a wide range of bitrates, but also being able to vary in small increments. This is why Opus scales from about 6 kb/s to 512 kb/s, in increments of 0.4 kb/s (one byte with 20 ms frames). The reason Opus can have more than 1200 possible bitrates spending 11 bits signalling the bitrate is because UDP already encodes the packet size. One last aspect is that Opus is simple to transport over RTP, as can be seen from [http://tools.ietf.org/html/draft-spittka-payload-rtp-opus Opus RTP payload format]. For example, it's possible to decode RTP packets without having even seen the SDP or any out-of-band signalling. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes; the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;br /&gt;
&lt;br /&gt;
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates or channel counts.  It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation].&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder.&lt;br /&gt;
&lt;br /&gt;
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].&lt;br /&gt;
&lt;br /&gt;
=== How do I report a bug? ===&lt;br /&gt;
&lt;br /&gt;
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report]. Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur. If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc. Also, don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should interoperate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
Note that it's generally preferable for a decoder to output at 48kHz even when you know the original input was 44.1kHz, not only because you can skip resampling but also because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-09-11T04:47:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? Who created it? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a totally open, royalty-free, highly versatile audio codec. It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's SILK codec and Xiph.Org's CELT codec. It is being standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. &lt;br /&gt;
&lt;br /&gt;
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group. &lt;br /&gt;
&lt;br /&gt;
=== How does Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format. Further, the Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for usage as part of the basic infrastructure of the Internet. See the Opus [http://opus-codec.org/comparison comparison page] for more details.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus? What programs support Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus decoding support is now included in many applications, including Firefox and Foobar2000, as well as in frameworks such as GStreamer. For now, the best way to '''encode''' Opus files is to use the opusenc command-line tool from the opus-tools package. For real-time applications, Opus support should soon be available in the Google webrtc codebase. Opus is still a new codec, expect many more applications to support it in the near future.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===&lt;br /&gt;
&lt;br /&gt;
Yes and no. Opus encoding tools like opusenc will happily encode files that are sampled at 96 or 192 kHz. However, input files at these rates are internally converted to 48 kHz, and then only frequencies up to 20 kHz are encoded. The reason is simple: lossy codecs are designed to preserve audible details while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go. See Monty's [http://people.xiph.org/~xiphmont/demo/neil-young.html 24/192 Music Downloads ...and why they make no sense] for more details. &lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3). See the [http://www.opus-codec.org/license/ licensing page] for details.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. In addition to a linear prediction &amp;quot;SILK mode&amp;quot; and a MDCT &amp;quot;CELT mode&amp;quot; it has a &amp;quot;hybrid mode,&amp;quot; where speech frequencies up to 8 kHz are encoded with LP while those above 8 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch between these modes seamlessly, without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improves on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
=== In what way is Opus optimized for the Internet? ===&lt;br /&gt;
&lt;br /&gt;
Opus being optimized for the Internet obviously means that it has good packet loss robustness and concealment, but it goes further. One of the first things we've been asked when designing Opus was to make the rate '''really''' adaptable because we never know what kind of rates will be available. This not only meant having a wide range of bitrates, but also being able to vary in small increments. This is why Opus scales from about 6 kb/s to 512 kb/s, in increments of 0.4 kb/s (one byte with 20 ms frames). The reason Opus can have more than 1200 possible bitrates spending 11 bits signalling the bitrate is because UDP already encodes the packet size. One last aspect is that Opus is simple to transport over RTP, as can be seen from [http://tools.ietf.org/html/draft-spittka-payload-rtp-opus Opus RTP payload format]. For example, it's possible to decode RTP packets without having even seen the SDP or any out-of-band signalling. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes; the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;br /&gt;
&lt;br /&gt;
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates or channel counts.  It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation].&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder.&lt;br /&gt;
&lt;br /&gt;
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].&lt;br /&gt;
&lt;br /&gt;
=== How do I report a bug? ===&lt;br /&gt;
&lt;br /&gt;
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report]. Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur. If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc. Also, don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should interoperate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
Note that it's generally preferable for a decoder to output at 48kHz even when you know the original input was 44.1kHz, not only because you can skip resampling but also because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-08-31T05:13:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? Who created it? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a totally open, royalty-free, highly versatile audio codec. It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's SILK codec and Xiph.Org's CELT codec. It is being standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. &lt;br /&gt;
&lt;br /&gt;
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group. &lt;br /&gt;
&lt;br /&gt;
=== How does Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format. Further, the Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for usage as part of the basic infrastructure of the Internet. See the Opus [http://opus-codec.org/comparison comparison page] for more details.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus? What programs support Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus decoding support is now included in many applications, including Firefox and Foobar2000, as well as in frameworks such as GStreamer. For now, the best way to '''encode''' Opus files is to use the opusenc command-line tool from the opus-tools package. For real-time applications, Opus support should soon be available in the Google webrtc codebase. Opus is still a new codec, expect many more applications to support it in the near future.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===&lt;br /&gt;
&lt;br /&gt;
Yes and no. Opus encoding tools like opusenc will happily encode files that are sampled at 96 or 192 kHz. However, input files at these rates are internally converted to 48 kHz, and then only frequencies up to 20 kHz are encoded. The reason is simple: lossy codecs are designed to preserve audible details while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go. See Monty's [http://people.xiph.org/~xiphmont/demo/neil-young.html 24/192 Music Downloads ...and why they make no sense] for more details. &lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3). See the [http://www.opus-codec.org/license/ licensing page] for details.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. In addition to a linear prediction &amp;quot;SILK mode&amp;quot; and a MDCT &amp;quot;CELT mode&amp;quot; it has a &amp;quot;hybrid mode,&amp;quot; where speech frequencies up to 8 kHz are encoded with LP while those above 8 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch between these modes seamlessly, without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improves on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes; the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;br /&gt;
&lt;br /&gt;
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates or channel counts.  It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation].&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder.&lt;br /&gt;
&lt;br /&gt;
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].&lt;br /&gt;
&lt;br /&gt;
=== How do I report a bug? ===&lt;br /&gt;
&lt;br /&gt;
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report]. Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur. If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc. Also, don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should interoperate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
Note that it's generally preferable for a decoder to output at 48kHz even when you know the original input was 44.1kHz, not only because you can skip resampling but also because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-08-31T05:09:51Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? Who created it? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a totally open, royalty-free, highly versatile audio codec. It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's SILK codec and Xiph.Org's CELT codec. It is being standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. &lt;br /&gt;
&lt;br /&gt;
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group. &lt;br /&gt;
&lt;br /&gt;
=== How does Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format. Further, the Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for usage as part of the basic infrastructure of the Internet. See the Opus [http://opus-codec.org/comparison comparison page] for more details.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus? What programs support Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus decoding support is now included in many applications, including Firefox and Foobar2000, as well as in frameworks such as GStreamer. For now, the best way to '''encode''' Opus files is to use the opusenc command-line tool from the opus-tools package. For real-time applications, Opus support should soon be available in the Google webrtc codebase. Opus is still a new codec, expect many more applications to support it in the near future.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===&lt;br /&gt;
&lt;br /&gt;
Yes and no. Opus encoding tools like opusenc will happily encode files that are sampled at 96 or 192 kHz. Decoders are free to output at these rates; in particular, by default, opusdec will output at the sampling rate of the original file. However, input at these rates is internally converted to 48 kHz, and then only frequencies up to 20 kHz are encoded. The reason is simple: lossy codecs are designed to preserve audible detail while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go. See Chris Montgomery's [http://people.xiph.org/~xiphmont/demo/neil-young.html 24/192 Music Downloads ...and why they make no sense] for more details. &lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3). See the [http://www.opus-codec.org/license/ licensing page] for details.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. In addition to a linear prediction &amp;quot;SILK mode&amp;quot; and a MDCT &amp;quot;CELT mode&amp;quot; it has a &amp;quot;hybrid mode,&amp;quot; where speech frequencies up to 8 kHz are encoded with LP while those above 8 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch between these modes seamlessly, without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improves on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes; the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;br /&gt;
&lt;br /&gt;
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates or channel counts.  It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation].&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder.&lt;br /&gt;
&lt;br /&gt;
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].&lt;br /&gt;
&lt;br /&gt;
=== How do I report a bug? ===&lt;br /&gt;
&lt;br /&gt;
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report]. Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur. If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc. Also, don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should interoperate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
Note that it's generally preferable for a decoder to output at 48kHz even when you know the original input was 44.1kHz, not only because you can skip resampling but also because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/OpusFAQ</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/OpusFAQ"/>
				<updated>2012-08-31T05:08:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jmspeex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png|right]]&lt;br /&gt;
&lt;br /&gt;
== General Questions ==&lt;br /&gt;
&lt;br /&gt;
=== What is Opus? Who created it? ===&lt;br /&gt;
&lt;br /&gt;
Opus is a totally open, royalty-free, highly versatile audio codec. It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's SILK codec and Xiph.Org's CELT codec. It is being standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. &lt;br /&gt;
&lt;br /&gt;
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group. &lt;br /&gt;
&lt;br /&gt;
=== How does Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format. Further, the Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for usage as part of the basic infrastructure of the Internet. See the Opus [http://opus-codec.org/comparison comparison page] for more details.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus? What programs support Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus decoding support is now included in many applications, including Firefox and Foobar2000, as well as in frameworks such as GStreamer. For now, the best way to '''encode''' Opus files is to use the opusenc command-line tool from the opus-tools package. For real-time applications, Opus support should soon be available in the Google webrtc codebase.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===&lt;br /&gt;
&lt;br /&gt;
Yes and no. Opus encoding tools like opusenc will happily encode files that are sampled at 96 or 192 kHz. Decoders are free to output at these rates; in particular, by default, opusdec will output at the sampling rate of the original file. However, input at these rates is internally converted to 48 kHz, and then only frequencies up to 20 kHz are encoded. The reason is simple: lossy codecs are designed to preserve audible detail while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go. See Chris Montgomery's [http://people.xiph.org/~xiphmont/demo/neil-young.html 24/192 Music Downloads ...and why they make no sense] for more details. &lt;br /&gt;
&lt;br /&gt;
=== What are the licensing requirements? ===&lt;br /&gt;
&lt;br /&gt;
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. &lt;br /&gt;
&lt;br /&gt;
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3). See the [http://www.opus-codec.org/license/ licensing page] for details.&lt;br /&gt;
&lt;br /&gt;
=== Why make Opus free? ===&lt;br /&gt;
&lt;br /&gt;
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon. Most of the value of a high quality standard is the innovation and interoperation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common—everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency. Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected. This is why Opus, unlike many codecs, is free.&lt;br /&gt;
&lt;br /&gt;
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===&lt;br /&gt;
&lt;br /&gt;
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a &amp;quot;translator&amp;quot; and even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly non-trivial.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
&lt;br /&gt;
Opus is more than just two independent codecs with a switch. In addition to a linear prediction &amp;quot;SILK mode&amp;quot; and a MDCT &amp;quot;CELT mode&amp;quot; it has a &amp;quot;hybrid mode,&amp;quot; where speech frequencies up to 8 kHz are encoded with LP while those above 8 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kb/s. Another advantage of the integration is the ability to switch between these modes seamlessly, without any &amp;quot;glitch&amp;quot; and without any out-of-band signalling.&lt;br /&gt;
&lt;br /&gt;
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===&lt;br /&gt;
&lt;br /&gt;
Unlike most ITU-T codecs, Opus is only defined in terms of its decoder. The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for MP3 encoders to improve far beyond the original l3enc and the dist10 reference implementation. Although it is unlikely that Opus encoders will see such spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder. In fact, there is already an [http://www.opus-codec.org/development/ experimental branch] that significantly improves on the reference encoder's quality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Opus for Software developers ==&lt;br /&gt;
&lt;br /&gt;
=== On what platforms does Opus run? ===&lt;br /&gt;
&lt;br /&gt;
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs. A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.&lt;br /&gt;
&lt;br /&gt;
=== Is there a fixed-point implementation? ===&lt;br /&gt;
&lt;br /&gt;
Yes; the fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with --enable-fixed-point (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.&lt;br /&gt;
&lt;br /&gt;
=== Which implementation should I use? ===&lt;br /&gt;
&lt;br /&gt;
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation— in terms of speed, encoding quality, device compatibility, etc— while still conforming to the standard. All Opus implementations are compatible by definition.&lt;br /&gt;
&lt;br /&gt;
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===&lt;br /&gt;
&lt;br /&gt;
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are any multiple of 2.5ms up to a maximum of 120ms.  &lt;br /&gt;
&lt;br /&gt;
The opus encoder and decoder do not need to have matched sampling rates or channel counts.  It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.&lt;br /&gt;
&lt;br /&gt;
=== My application doesn't work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It's possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.&lt;br /&gt;
* Read the [http://www.opus-codec.org/docs/ documentation].&lt;br /&gt;
* Read the opus_demo.c source code to see how to use the encoder and decoder.&lt;br /&gt;
&lt;br /&gt;
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].&lt;br /&gt;
&lt;br /&gt;
=== How do I report a bug? ===&lt;br /&gt;
&lt;br /&gt;
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report]. Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur. If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc. Also, don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:&lt;br /&gt;
* ultra low delay applications where synchronization with the soundcard buffer is important. &lt;br /&gt;
* low-power embedded applications where compatibility with others is not important.&lt;br /&gt;
&lt;br /&gt;
For almost all other types of applications, Opus Custom should not be used.&lt;br /&gt;
&lt;br /&gt;
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===&lt;br /&gt;
&lt;br /&gt;
Tools which read or write Opus should interoperate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.&lt;br /&gt;
&lt;br /&gt;
Note that it's generally preferable for a decoder to output at 48kHz even when you know the original input was 44.1kHz, not only because you can skip resampling but also because many inexpensive audio interfaces have poor quality output for 44.1k.&lt;br /&gt;
&lt;br /&gt;
The opus-tools package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
The inband FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.&lt;br /&gt;
&lt;br /&gt;
In order to make use of inband FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions: the feature must be enabled via the OPUS_SET_INBAND_FEC CTL, the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL, and the codec must be operated in any of the linear prediction or Hybrid modes. Frame durations of &amp;lt;10ms and very high bitrates will use the MDCT modes, where FEC is not available.&lt;br /&gt;
&lt;br /&gt;
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.&lt;br /&gt;
&lt;br /&gt;
=== I can't use malloc or much stack on my embedded platform how do I make Opus work? ===&lt;br /&gt;
&lt;br /&gt;
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' &amp;quot;&amp;lt;/tt&amp;gt; you will get a build which does not use malloc/free.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.&lt;/div&gt;</summary>
		<author><name>Jmspeex</name></author>	</entry>

	</feed>