<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.xiph.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rillian</id>
	<title>XiphWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.xiph.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rillian"/>
	<link rel="alternate" type="text/html" href="https://wiki.xiph.org/Special:Contributions/Rillian"/>
	<updated>2026-06-02T11:09:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusFAQ&amp;diff=16836</id>
		<title>OpusFAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusFAQ&amp;diff=16836"/>
		<updated>2026-01-04T13:32:52Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* How do I report a bug? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Opus logo trans.png]]&lt;br /&gt;
&lt;br /&gt;
If you are looking for info not covered in this FAQ, try the &#039;&#039;&#039;[https://opus-codec.org main Opus website]&#039;&#039;&#039; or the pages included in the &#039;&#039;&#039;[[:Category:Opus|Opus category]]&#039;&#039;&#039; of this wiki.&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.&lt;br /&gt;
&lt;br /&gt;
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&#039;s &#039;&#039;&#039;[https://en.wikipedia.org/wiki/SILK SILK]&#039;&#039;&#039; codec and Xiph.Org&#039;s &#039;&#039;&#039;[http://celt-codec.org/ CELT]&#039;&#039;&#039; codec. It has been standardized by the &#039;&#039;&#039;[https://www.ietf.org/ Internet Engineering Task Force]&#039;&#039;&#039; (IETF) as &#039;&#039;&#039;[https://tools.ietf.org/html/rfc6716 RFC 6716]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Opus has been in development since early 2007. Programmers associated with &#039;&#039;&#039;[https://xiph.org/ Xiph.Org]&#039;&#039;&#039;, &#039;&#039;&#039;[https://www.skype.com/ Skype]&#039;&#039;&#039; and several other organizations have contributed to its development and to the standardization process as part of the &#039;&#039;&#039;[https://datatracker.ietf.org/wg/codec/charter/ IETF&#039;s Codec Working Group]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== How does Opus compare to other codecs? ===&lt;br /&gt;
&lt;br /&gt;
Opus is distinguished from most high quality formats (eg: [[Vorbis]], AAC, MP3) by having &#039;&#039;&#039;[https://tools.ietf.org/html/rfc6716#section-2 low delay]&#039;&#039;&#039; (5 ~ 66.5 ms) and distinguished from most low delay formats (eg: [[Speex]], G.711, GSM) by supporting &#039;&#039;&#039;[https://tools.ietf.org/html/rfc6716#section-2.1.1 high audio quality]&#039;&#039;&#039; (supports narrow-band all the way to full-band audio).&lt;br /&gt;
&lt;br /&gt;
It &#039;&#039;&#039;[https://opus-codec.org/comparison meets or exceeds existing codecs&#039; quality]&#039;&#039;&#039; across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format.&lt;br /&gt;
&lt;br /&gt;
Most importantly, the Opus format and its reference implementation are both available under &#039;&#039;&#039;[https://opus-codec.org/license/ liberal, royalty-free licenses]&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
This makes it:&lt;br /&gt;
* easy to adopt&lt;br /&gt;
* compatible with free software&lt;br /&gt;
* suitable for use as part of the basic infrastructure of the Internet&lt;br /&gt;
&lt;br /&gt;
=== Does Opus make all those other lossy codecs obsolete? ===&lt;br /&gt;
&lt;br /&gt;
Yes.&lt;br /&gt;
&lt;br /&gt;
From a technical point of view (loss, delay, bitrates, ...) Opus renders &#039;&#039;&#039;[[Speex]]&#039;&#039;&#039; obsolete and should also replace &#039;&#039;&#039;[[Vorbis]]&#039;&#039;&#039; and the common proprietary codecs too (e.g. AAC, MP3, ...).&lt;br /&gt;
&lt;br /&gt;
=== Will Opus replace Vorbis in video files? ===&lt;br /&gt;
&lt;br /&gt;
For &#039;&#039;&#039;[[Ogg]]&#039;&#039;&#039; video files (which use the &#039;&#039;&#039;[[Theora]]&#039;&#039;&#039; video codec), you &#039;&#039;can&#039;&#039; use Opus instead of Vorbis, but 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, the convention is to use the &#039;&#039;&#039;[http://www.webmproject.org/vp9/ VP9 video codec]&#039;&#039;&#039; when using Opus as an audio codec.&lt;br /&gt;
&lt;br /&gt;
=== How do I use Opus? ===&lt;br /&gt;
&lt;br /&gt;
For now, the best way to &#039;&#039;&#039;encode&#039;&#039;&#039; audio into Opus files is to use the &#039;&#039;&#039;opusenc&#039;&#039;&#039; command-line tool from the &#039;&#039;&#039;[https://opus-codec.org/downloads/ opus-tools package]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you want to encode many files at once (e.g. your music library), try the applications listed in the &#039;&#039;&#039;[[OpusSupport|Opus Support]]&#039;&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
For rough guidelines on encoding settings, see the &#039;&#039;&#039;[[Opus Recommended Settings]]&#039;&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
=== What programs support Opus? ===&lt;br /&gt;
&lt;br /&gt;
Opus decoding support is now included in &#039;&#039;&#039;[http://caniuse.com/opus some Internet browsers]&#039;&#039;&#039; and &#039;&#039;&#039;[[OpusSupport|many applications]]&#039;&#039;&#039;, including &#039;&#039;&#039;[https://www.mozilla.org/firefox Firefox]&#039;&#039;&#039;, &#039;&#039;&#039;[https://www.foobar2000.org/ foobar2000]&#039;&#039;&#039; and &#039;&#039;&#039;[https://www.videolan.org/vlc/ VLC]&#039;&#039;&#039;, as well as in frameworks such as &#039;&#039;&#039;[https://gstreamer.freedesktop.org/ GStreamer]&#039;&#039;&#039; and &#039;&#039;&#039;[https://ffmpeg.org/ FFmpeg]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For real-time applications, Opus support is available in &#039;&#039;&#039;[https://www.webrtc.org/ Google&#039;s WebRTC codebase]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Opus is a relatively new codec (standardized in September 2012), but &#039;&#039;&#039;[[OpusSupport|many more applications]]&#039;&#039;&#039; will 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.&lt;br /&gt;
&lt;br /&gt;
Opus encoding tools like opusenc will happily encode input files that are sampled at 96 or 192 kHz.&lt;br /&gt;
&lt;br /&gt;
However, files at these rates are internally &#039;&#039;&#039;converted to 48 kHz&#039;&#039;&#039; and then only frequencies &#039;&#039;&#039;up to 20 kHz&#039;&#039;&#039; are encoded.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See Monty&#039;s &#039;&#039;&#039;[https://web.archive.org/web/20200426050432/https://people.xiph.org/~xiphmont/demo/neil-young.html article]&#039;&#039;&#039; for more details.&lt;br /&gt;
&lt;br /&gt;
If you want a codec to handle high sampling rates losslessly, use &#039;&#039;&#039;[[FLAC]]&#039;&#039;&#039;!&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 (hopefully) all open source licenses, including the GPL (v2 and v3).&lt;br /&gt;
&lt;br /&gt;
See the &#039;&#039;&#039;[https://www.opus-codec.org/license/ Opus Licensing]&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
Most of the value of a high-quality standard is the innovation and inter-operation 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 and everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency.&lt;br /&gt;
&lt;br /&gt;
Imagine a road system where each type of car could only drive on its own manufacturer&#039;s pavement. We all benefit from living in a world where all the roads are connected.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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;. Even sharing code between Opus and the &amp;quot;old SILK&amp;quot; would be highly complex.&lt;br /&gt;
&lt;br /&gt;
=== Why not keep the SILK and CELT codecs separate? ===&lt;br /&gt;
Opus is more than just two independent codecs with a switch.&lt;br /&gt;
&lt;br /&gt;
In addition to a [https://en.wikipedia.org/wiki/Linear_predictive_coding Linear Prediction] &#039;&#039;&#039;SILK mode&#039;&#039;&#039; and an [https://en.wikipedia.org/wiki/Modified_discrete_cosine_transform MDCT] &#039;&#039;&#039;CELT mode&#039;&#039;&#039; it has a &#039;&#039;&#039;hybrid mode&#039;&#039;&#039;, where speech frequencies up to 8 kHz are encoded with LP while those between 8 and 20 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kbps.&lt;br /&gt;
&lt;br /&gt;
Another advantage of the integration is the ability to switch between these 3 modes seamlessly, without any audible &amp;quot;glitches&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;
Yes, Opus &#039;&#039;&#039;can&#039;&#039;&#039; and &#039;&#039;&#039;should&#039;&#039;&#039; be improved, because unlike most &#039;&#039;&#039;[https://en.wikipedia.org/wiki/ITU-T#Key_standards_published_by_ITU ITU-T codecs]&#039;&#039;&#039;, Opus is only defined in terms of its decoder.&lt;br /&gt;
&lt;br /&gt;
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 modern MP3 encoders (e.g. &#039;&#039;&#039;[https://en.wikipedia.org/wiki/LAME LAME]&#039;&#039;&#039;) to improve far beyond the original &#039;&#039;&#039;[https://en.wikipedia.org/wiki/L3enc L3enc]&#039;&#039;&#039; and &#039;&#039;&#039;dist10&#039;&#039;&#039; reference implementations.&lt;br /&gt;
&lt;br /&gt;
Although it is unlikely that Opus encoders will see such a spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder.&lt;br /&gt;
&lt;br /&gt;
In fact, the 1.1 libopus release significantly improves on the reference encoder&#039;s quality. See &#039;&#039;&#039;[https://web.archive.org/web/20190814051043/https://people.xiph.org/~xiphmont/demo/opus/demo3.shtml Monty&#039;s demo]&#039;&#039;&#039; for more details.&lt;br /&gt;
&lt;br /&gt;
=== Will all future Opus releases comply with the [https://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 has good packet loss robustness and concealment, but its optimisations go further.&lt;br /&gt;
&lt;br /&gt;
One of the first things we&#039;ve been asked when designing Opus was to make the rate &#039;&#039;&#039;really&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
This is why Opus scales from about &#039;&#039;&#039;6 &#039;&#039;&#039; to &#039;&#039;&#039;512 kb/s&#039;&#039;&#039;, in increments of &#039;&#039;&#039;0.4 kb/s&#039;&#039;&#039; (one byte with 20 ms frames). Opus can have &#039;&#039;&#039;more than 1200 possible bitrates&#039;&#039;&#039; while spending only &#039;&#039;&#039;11 bits&#039;&#039;&#039; signalling the bitrate because UDP already encodes the packet size.&lt;br /&gt;
&lt;br /&gt;
One last aspect is that Opus is simple to transport over RTP, as can be seen from the [https://tools.ietf.org/html/rfc7587 Opus RTP payload format]. For example, it&#039;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 [https://android.stackexchange.com/q/37970/7425 this question on android.stackexchange.com]. Feel free to suggest other applications.&lt;br /&gt;
&lt;br /&gt;
=== When will the next version be released? ===&lt;br /&gt;
&lt;br /&gt;
When it&#039;s done. Seriously, we do not know.&lt;br /&gt;
&lt;br /&gt;
Opus is not a large project with a fixed release schedule.&lt;br /&gt;
&lt;br /&gt;
That being said, our &#039;&#039;&#039;[https://www.opus-codec.org/downloads/ pre-releases]&#039;&#039;&#039; and even the git repositories (&#039;&#039;&#039;[https://gitlab.xiph.org/xiph/opus/-/tree/master Xiph]&#039;&#039;&#039;, &#039;&#039;&#039;[https://github.com/xiph/opus GitHub]&#039;&#039;&#039;) are pretty stable and given proper testing (which you should always do anyway), are safe to distribute.&lt;br /&gt;
&lt;br /&gt;
Just be aware that the API of new features (that have never been included in a stable release) could potentially still change.&lt;br /&gt;
&lt;br /&gt;
== Software Developers&#039; Questions ==&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.&lt;br /&gt;
&lt;br /&gt;
Some of the platforms on which Opus has been tested&amp;lt;ref name=&amp;quot;mf4-tests&amp;quot;&amp;gt;Automated test results used to be available [https://mf4.xiph.org/jenkins/view/opus/ here] ([https://web.archive.org/web/20160316111354/https://mf4.xiph.org/jenkins/view/opus/ last saved copy]). The [https://gitlab.xiph.org/xiph/opus/-/tree/master new git repository] doesn&#039;t have any links to test results, but you can always run the tests yourself!&amp;lt;/ref&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
The fixed-point and floating-point decoder and encoder implementations are part of the same code base.&lt;br /&gt;
&lt;br /&gt;
The code defaults to float, so you need to configure with &#039;&#039;&#039;--enable-fixed-point&#039;&#039;&#039; (or define &#039;&#039;&#039;FIXED_POINT&#039;&#039;&#039; 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 &#039;&#039;defines&#039;&#039; the standard, it is likely not the best and most up-to-date implementation.&lt;br /&gt;
&lt;br /&gt;
The [https://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.&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;&#039;any multiple of 2.5ms&#039;&#039;&#039; up to a &#039;&#039;&#039;maximum of 120ms&#039;&#039;&#039;.  &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&#039;t work. Can anyone help me? ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to get help, but before doing so, there are a few basic things to try:&lt;br /&gt;
&lt;br /&gt;
* Implement your application with uncompressed audio instead of Opus. If it still doesn&#039;t work, then the problem isn&#039;t related to Opus.&lt;br /&gt;
* Read the [https://www.opus-codec.org/docs/ Opus documentation].&lt;br /&gt;
* Read the [https://gitlab.xiph.org/xiph/opus/-/blob/master/src/opus_demo.c opus_demo.c] source code to see how to use the encoder and decoder.&lt;br /&gt;
&lt;br /&gt;
If you still can&#039;t solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on the &#039;&#039;&#039;#opus&#039;&#039;&#039; IRC channel on &#039;&#039;&#039;irc.freenode.net&#039;&#039;&#039;.&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://gitlab.xiph.org/xiph/opus/-/issues file an issue].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.libera.chat/opus IRC].&lt;br /&gt;
&lt;br /&gt;
=== What is Opus Custom? ===&lt;br /&gt;
&lt;br /&gt;
Opus Custom is an &#039;&#039;&#039;optional&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus&#039; coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems.&lt;br /&gt;
&lt;br /&gt;
For these reasons, &#039;&#039;&#039;its use is discouraged&#039;&#039;&#039; outside of very specific applications. &lt;br /&gt;
&lt;br /&gt;
You may want to use Opus Custom for:&lt;br /&gt;
&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 inter-operate 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&#039;s generally preferable for a decoder to output at 48kHz, even when you know the original input was 44.1kHz. This is not only because you can skip resampling, but also because many cheaper audio interfaces have poor quality output for 44.1kHz.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;[https://opus-codec.org/downloads/ opus-tools]&#039;&#039;&#039; package source code contains a small, high quality, high performance, BSD licensed &#039;&#039;&#039;[https://github.com/xiph/opus-tools/blob/master/src/resample.c resampler]&#039;&#039;&#039; which can be used where resampling is required.&lt;br /&gt;
&lt;br /&gt;
=== But won&#039;t the resampler hurt the quality? Isn&#039;t it better to use 44.1 kHz directly? ===&lt;br /&gt;
&lt;br /&gt;
Not really. The quality degradation caused by any reasonable resampler (SoX, libspeexdsp, libsamplerate, ...) is far less than the distortion caused by the best lossy codec at its highest bitrate. If you can&#039;t tolerate the quality degradation caused by a good 44.1 ↔ 48 kHz resampler, then you shouldn&#039;t be using a lossy codec in the first place. Similarly, the extra CPU spent in the resampler is small compared to the rest of the codec. Not only that, but many soundcards only support 48 kHz on playback, so players can directly play the output rather than resample it to 48 kHz (e.g. for a 44.1 kHz MP3). So effectively, Opus is only shifting the burden of resampling from the decoder side to the encoder side.&lt;br /&gt;
&lt;br /&gt;
One advantage of supporting only one internal rate is that it makes it possible for Opus to support many features, including efficient speech compression (through SILK) and real-time applications. It also means all the quality tuning effort can be spent on a single configuration, which helps bring even better quality.&lt;br /&gt;
&lt;br /&gt;
=== How is the bitrate setting used in VBR mode? ===&lt;br /&gt;
&lt;br /&gt;
Variable bitrate (VBR) mode allows the bitrate to automatically vary over time based on the audio being encoded, in order to achieve a consistent quality.&lt;br /&gt;
&lt;br /&gt;
The bitrate setting controls the desired quality, on a scale that is calibrated to closely approximate the average bitrate that would be obtained over a large and diverse collection of audio.  The actual bitrate of any particular audio stream may be higher or lower than this average.&lt;br /&gt;
&lt;br /&gt;
=== What frame size should I use? ===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;20ms&#039;&#039;&#039; frame size works well for most applications. Smaller frame sizes may be used to achieve lower latency, but have lower quality at a given bitrate.&lt;br /&gt;
&lt;br /&gt;
Sizes greater than 20 ms increase latency and are generally beneficial only at fairly low bitrates, or when used to reduce external overhead (e.g. by reducing the number of packets that are sent). For file encoding, using a frame size larger than 20 ms will usually result in &#039;&#039;&#039;worse&#039;&#039;&#039; quality for the same bitrate because it constrains the encoder in the decisions it can make.&lt;br /&gt;
&lt;br /&gt;
=== Forward Error correction (FEC) doesn&#039;t appear to do anything! HELP! ===&lt;br /&gt;
&lt;br /&gt;
The in-band 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 in-band 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 &#039;&#039;next&#039;&#039; frame in order to reconstruct the missed frame. This works best if it&#039;s integrated with a jitter buffer.&lt;br /&gt;
&lt;br /&gt;
FEC is only used by the encoder under certain conditions:&lt;br /&gt;
* the feature must be enabled via the &#039;&#039;&#039;OPUS_SET_INBAND_FEC&#039;&#039;&#039; CTL&lt;br /&gt;
* the encoder must be told to expect loss via the &#039;&#039;&#039;OPUS_SET_PACKET_LOSS_PERC&#039;&#039;&#039; CTL&lt;br /&gt;
* the codec must be operated in any of the &#039;&#039;&#039;Linear Prediction&#039;&#039;&#039; or &#039;&#039;&#039;Hybrid&#039;&#039;&#039; modes&lt;br /&gt;
&lt;br /&gt;
Frame durations shorter than 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&#039;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 &amp;lt;tt&amp;gt;malloc/free&amp;lt;/tt&amp;gt; in the &amp;lt;tt&amp;gt;_create()&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_destroy()&amp;lt;/tt&amp;gt; calls, making it safe for realtime use as long as the codec state is pre-created.&lt;br /&gt;
&lt;br /&gt;
To build Opus without the references to &amp;lt;tt&amp;gt;malloc/free&amp;lt;/tt&amp;gt;, you must:&lt;br /&gt;
&lt;br /&gt;
* use &amp;lt;tt&amp;gt;init()&amp;lt;/tt&amp;gt; calls rather than &amp;lt;tt&amp;gt;create()&amp;lt;/tt&amp;gt; calls in your application&lt;br /&gt;
* compile with &amp;lt;tt&amp;gt;CFLAGS=&amp;quot;-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE  -D&#039;opus_alloc(x)=NULL&#039; -D&#039;opus_free(x)=NULL&#039; &amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If libopus is built with &amp;lt;tt&amp;gt;-DNONTHREADSAFE_PSEUDOSTACK&amp;lt;/tt&amp;gt; (instead of &amp;lt;tt&amp;gt;VAR_ARRAYS&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;USE_ALLOCA&amp;lt;/tt&amp;gt;), it will use a user-provided block of heap instead of stack for many things, resulting in much lower stack usage.&amp;lt;br&amp;gt;&lt;br /&gt;
This makes the resulting library &#039;&#039;&#039;non-threadsafe&#039;&#039;&#039; and is &#039;&#039;&#039;not recommended&#039;&#039;&#039; 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 [https://web.archive.org/web/20191223064407/https://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.&lt;br /&gt;
&lt;br /&gt;
In general, here&#039;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 react properly to lost packets, by calling the decoder with a NULL packet?&lt;br /&gt;
&lt;br /&gt;
=== What is the complexity of Opus? ===&lt;br /&gt;
&lt;br /&gt;
The complexity of Opus varies by a large amount based on the settings used.&lt;br /&gt;
&lt;br /&gt;
It depends on the mode, audio bandwidth, number of channels, and even a &amp;quot;complexity knob&amp;quot; that can trade complexity for quality. It will run easily on any recent PC or smartphone. &lt;br /&gt;
&lt;br /&gt;
For slower embedded CPUs/DSPs, the amount of CPU required will vary depending on the configuration and the exact CPU, so you will need to experiment. Do not expect Opus to run quickly on really slow devices like 8-bit micro-controllers.&lt;br /&gt;
&lt;br /&gt;
=== Opus is using too much CPU for my application. What can I do? ===&lt;br /&gt;
&lt;br /&gt;
First don&#039;t panic and don&#039;t start writing assembly just yet.&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible that you&#039;re just not using the right set of options.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re targeting an embedded/mobile platform, chances are the fixed-point build will be faster, so make sure you&#039;re using &#039;&#039;&#039;--enable-fixed-point&#039;&#039;&#039; or defining &#039;&#039;&#039;FIXED_POINT&#039;&#039;&#039; in the build system.&lt;br /&gt;
&lt;br /&gt;
Opus also has a complexity option that can trade quality for complexity. The default is highest quality and highest complexity. You can control this using &#039;&#039;&#039;OPUS_SET_COMPLEXITY()&#039;&#039;&#039; (see the &#039;&#039;&#039;[https://www.opus-codec.org/docs/ Documentation]&#039;&#039;&#039; for details).&lt;br /&gt;
&lt;br /&gt;
If all else fails and you need to optimize the Opus code, see the next question.&lt;br /&gt;
&lt;br /&gt;
=== I would like to optimize/improve/help with Opus. Where should I start? ===&lt;br /&gt;
&lt;br /&gt;
Please &#039;&#039;&#039;[https://www.opus-codec.org/contact/ contact us]&#039;&#039;&#039; before you start, or at least before you get too far.&lt;br /&gt;
&lt;br /&gt;
This will help coordinate the efforts made on Opus and reduce the probability of wasting your time on duplicated effort or going down the wrong path. More details in the &#039;&#039;&#039;[[OpusContributing|contributing page]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Does Opus have an echo canceller like Speex does? ===&lt;br /&gt;
&lt;br /&gt;
Echo cancellation is completely independent from codecs.&lt;br /&gt;
&lt;br /&gt;
You can use any echo canceller (including the one from libspeexdsp) along with Opus.&lt;br /&gt;
&lt;br /&gt;
That being said, among the free acoustic echo cancelers (AEC) we&#039;re aware of, the best is probably the Google AEC from the [https://chromium.googlesource.com/external/webrtc/+/master/modules/audio_processing/ WebRTC codebase].&lt;br /&gt;
&lt;br /&gt;
=== How do I get the duration of a .opus file? ===&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;[https://mf4.xiph.org/jenkins/view/opus/job/opusfile-autotools/ws/doc/html/group__stream__info.html op_pcm_total()]&#039;&#039;&#039; from &#039;&#039;&#039;[https://opus-codec.org/downloads/ libopusfile]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you want to implement this yourself, you need to&lt;br /&gt;
* Read the BOS (Beginning Of Stream) pages to enumerate the serial numbers of all concurrently multiplexed streams, identify the Opus stream you want, and get its preskip value.&lt;br /&gt;
* Read up through the first complete audio data page to compute the starting granule position (since the timestamps might not start at 0, e.g., if the file was captured from a live stream that was joined after the start).&lt;br /&gt;
* Seek near the end of a file and look for a page with the same serial number as found in the headers (just under 64 kB from the end should be sufficient to ensure you find a page, assuming the Opus data is not multiplexed with another stream and there is no trailing garbage in the file).&lt;br /&gt;
* If you find a page whose serial number was not included in the original set of BOS pages, you have a chained stream. You need to bisect the file to identify the end of the first chain and the start of the next, and repeat this process for each link in the chain.&lt;br /&gt;
* If you don&#039;t find any pages at all, or find a page whose serial number was included in the original set of BOS pages, but was not the serial number of the Opus stream you want, back up and try again (being careful to avoid rescanning the same data, which can produce quadratic worst-case complexity).&lt;br /&gt;
* If you find a page whose serial number matches the Opus stream you want, look at its final granule position, and compute the total duration (in seconds) as (final_granule_position - initial_granule_position - preskip)/48000.0.&lt;br /&gt;
&lt;br /&gt;
=== Why don&#039;t you store the duration in the header? Isn&#039;t all of that slow and complicated? ===&lt;br /&gt;
&lt;br /&gt;
Computing the duration directly from the file contents allows files to be written in a single pass, without any seeking, which is necessary for live streaming. Chaining also simplifies live streaming, as you can just pipe multiple files into the same network connection, with all associated metadata updates, etc., and the results are still valid .opus files (contrast with the &#039;&#039;&#039;[http://www.smackfu.com/stuff/programming/shoutcast.html hacks used to add metadata to MP3 streams]&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Opening a typical .opus file, which is not multiplexed and not chained, and computing the duration over the network requires just one extra HTTP request, which can proceed in parallel with the buffering in the main request. This is the behavior you will get from libopusfile&#039;s HTTP backend by default.&lt;br /&gt;
&lt;br /&gt;
Enumeration of chain boundaries can be expensive in files with many links, but in our testing libopusfile used nearly an order of magnitude fewer seeks to do this than some other media frameworks (at the time). Storing a duration in a header wouldn&#039;t solve this, since every link in a chain has its own, independent headers. If the cost of chain enumeration is a problem, the best way to avoid it is to store the links in separate files (i.e., don&#039;t use chaining).&lt;br /&gt;
&lt;br /&gt;
=== How do I seek in a .opus file? ===&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;[https://mf4.xiph.org/jenkins/view/opus/job/opusfile-autotools/ws/doc/html/group__stream__seeking.html op_pcm_seek() or op_raw_seek()]&#039;&#039;&#039; from &#039;&#039;&#039;[https://opus-codec.org/downloads/ libopusfile]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you want to implement seeking yourself, you need to&lt;br /&gt;
* Identify the link that contains the target (if you have a chained file).&lt;br /&gt;
* Adjust the target by 80 ms to get enough pre-roll data (to ensure the decoder will have converged by the time you reach the target), as recommended by &#039;&#039;&#039;[https://tools.ietf.org/html/rfc7845 RFC 7845]&#039;&#039;&#039;.&lt;br /&gt;
* Estimate the location of the last audio data page with a completed packet prior to the adjusted target, using the duration and size (in bytes) of the link.&lt;br /&gt;
* Seek to that location and scan forward until you find an audio data page with a completed packet (that contains a valid granule position).&lt;br /&gt;
* If you think you are sufficiently close to the adjusted target, scan forward until you find the next audio data page with a completed packet.&lt;br /&gt;
* If the adjusted target lies between the first audio data page with a completed packet you found and the next one, stop. You can decode forward from here and start playing when you reach your (original, unadjusted) target.&lt;br /&gt;
* Otherwise, go back and re-estimate the seek location using the granule positions and file offsets of the page(s) you just found.&lt;br /&gt;
&lt;br /&gt;
libopusfile includes fallbacks to prevent pathological worst-case behavior when its guesses are repeatedly wrong. Weighted bisection can degrade to a linear scan, but libopusfile&#039;s worst case is within a constant factor of naive bisection (i.e., logarithmic). We have only ever observed such pathological behavior in files we manually constructed to trigger it.&lt;br /&gt;
&lt;br /&gt;
libopusfile also takes shortcuts when the target location is near the current position, to make small seeks cheaper. In the best case it can loop forever over very short files whose data is contained in a single page (e.g., less than 1 second long with default encoder settings) without any seeking at all.&lt;br /&gt;
&lt;br /&gt;
You can find more information on seeking in files that contain Opus multiplexed with other streams (e.g., video) &#039;&#039;&#039;[[GranulePosAndSeeking|on this page]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Wouldn&#039;t it be better to build an index? ===&lt;br /&gt;
&lt;br /&gt;
As with file durations, an index at the beginning of the file is incompatible with live streaming. It also means more data has to be fetched before a file can start playing over the network, because you must read past the index even when you don&#039;t intend to seek. The index could be stored at the end (which even still allows encoding the file in a single pass), but this requires one (or more) extra seeks to read the index (especially if its exact location at the end is not known), either on file open or on first seek. Unlike the final timestamp, which is small and fixed in size, an index grows with the file duration, and can have unbounded size. It is also easy for an index to become out of sync with a file that has been edited or damaged, in which case seeking will simply fail. By contrast, you can seek in a truncated .opus download without issues.&lt;br /&gt;
&lt;br /&gt;
In practice, bisection seeking on VBR audio achieves performance that is very nearly as good as seeking with an index, without any of the drawbacks of an index. libopusfile provides a test program called seeking_example which can be used to benchmark the performance on your files.&lt;br /&gt;
&lt;br /&gt;
On a 96 kbps VBR file nearly one hour long (the second movement of Mahler&#039;s Symphony No. 8 &amp;quot;Symphony of a Thousand&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
    Testing exact PCM seeking to random places in 169680000 samples (58m55.000s)...&lt;br /&gt;
    Total seek operations: 1020 (1.020 per exact seek, 2 maximum).&lt;br /&gt;
&lt;br /&gt;
On a chained file formed by concatenating the eight test vectors for the currently supported channel layouts in mapping family 1:&lt;br /&gt;
&lt;br /&gt;
    Opened file containing 8 links with 18 seeks (2.250 per link).&lt;br /&gt;
    Testing exact PCM seeking to random places in 2759064 samples (57.481s)...&lt;br /&gt;
    Total seek operations: 946 (0.946 per exact seek, 2 maximum).&lt;br /&gt;
&lt;br /&gt;
That is, the number of physical seeks required is almost always 1, every once in a while 2, and in short files, sometimes even 0.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
[[Category:Opus]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OggPlay&amp;diff=16820</id>
		<title>OggPlay</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OggPlay&amp;diff=16820"/>
		<updated>2025-03-01T14:04:08Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Overview */ Update overview for current project status and download link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
OggPlay is a library designed to allow drop-in playback of Xiph.Org media in an application.  OggPlay handles demuxing and decoding, generates timestamps for raw data, maintains synchronisation across multiple streams, and provides a lock-free buffer implementation for easy multithreading.&lt;br /&gt;
&lt;br /&gt;
An example use of OggPlay library is OggPlay Mozilla Firefox plugin demonstrating how the library can be used to provide Ogg playback in a web browser. OggPlay plugin is implemented through Mozilla NPAPI. The target platforms for the plugin are: Linux/UNIX, Win200x/XP/Vista and MACOSX. The libary as much as the plugin are open source under triple&lt;br /&gt;
MPL/GPL/LGPL license. For more details about Mozilla licesing refer to [http://www.mozilla.org/MPL/ Mozilla Code Licensing].&lt;br /&gt;
&lt;br /&gt;
OggPlay was an experimental &#039;&#039;&#039;work in progress&#039;&#039;&#039; and was eventually replaced within Firefox by a separate native playback implementation.  &lt;br /&gt;
&lt;br /&gt;
OggPlay was developed under the [http://www.annodex.net Annodex] project, in co-operation with Xiph.Org. A repository for maintenance is available at https://gitlab.xiph.org/xiph/liboggplay. Source code packages can be found at https://downloads.xiph.org/releases/liboggplay/.&lt;br /&gt;
&lt;br /&gt;
== Developer&#039;s Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
For instructions how to compile and install Linux version of OggPlay Mozilla plugin refer to [http://wiki.xiph.org/index.php/OggPlay/Linux Linux Developement and Intallation Guide].&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
The Win32 version of the plugin has been developed and tested on Win200x/XP platforms.&lt;br /&gt;
&lt;br /&gt;
For detailed instructions how to setup Mozilla plugin development environment and start hacking on Win32 version of OggPlay Mozilla Firefox plugin go to [http://wiki.xiph.org/index.php/OggPlay/Win32 Win32 Development and Installation Guide.]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The same link provides links to the plugin binaries and instructions how to install and test Oggplay Mozilla plugin.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
&lt;br /&gt;
Check out http://svn.annodex.net/liboggplay/trunk/plugin/mac/mac-annodex-dev-install.sh, put it in a working directory somewhere, run the script, and follow the directions.&lt;br /&gt;
&lt;br /&gt;
== Plugin Javascript API ==&lt;br /&gt;
&lt;br /&gt;
View the [[OggPlayJavascriptAPI | draft OggPlay plugin Javascript API]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Xiph-related Software]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=XiphInfra:Overview&amp;diff=16703</id>
		<title>XiphInfra:Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=XiphInfra:Overview&amp;diff=16703"/>
		<updated>2020-05-16T16:20:08Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Add developer category so the page is easier to find.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This Namespace is used to group everything related to Xiph infrastructure. It aims to provide information about the services&lt;br /&gt;
in use by Xiph and on which server each of them is hosted.&lt;br /&gt;
&lt;br /&gt;
== List of services ==&lt;br /&gt;
Below is a list of all services, if anything is missing, add it to the [[XiphInfra:List of services|List of services page]].&lt;br /&gt;
{{XiphInfra:List of services}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Developers stuff]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=XiphInfra:List_of_services&amp;diff=16702</id>
		<title>XiphInfra:List of services</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=XiphInfra:List_of_services&amp;diff=16702"/>
		<updated>2020-03-07T16:28:41Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Update maintainer list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! URL&lt;br /&gt;
! VM&lt;br /&gt;
! Host&lt;br /&gt;
! Maintainer(s)&lt;br /&gt;
|-&lt;br /&gt;
| [[AreWeCompressedYet]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://arewecompressedyet.com&lt;br /&gt;
| awcy&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Git Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://git.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| ePirat, rillian&lt;br /&gt;
|-&lt;br /&gt;
| Home Pages&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://people.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Icecast]] Streams&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://dir.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| [[Icecast]] Streams (Beta)&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://dir-test.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| Jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org/jenkins/&lt;br /&gt;
| jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Mail&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| xiph.org&lt;br /&gt;
| mailfish&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| MailMan&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://lists.xiph.org&lt;br /&gt;
| mailfish&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| Media&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://media.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| beaufish&lt;br /&gt;
| TD-Linux, rillian&lt;br /&gt;
|-&lt;br /&gt;
| Opus Boodler Streams&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://opus-codec.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| gmaxwell&lt;br /&gt;
|-&lt;br /&gt;
| Rietveld&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://review.xiph.org&lt;br /&gt;
| jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Social&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://social.xiph.org&lt;br /&gt;
| social&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| Subversion Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://svn.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| Trac Bug Tracker&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://trac.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| [[XiphWiki:Features|Wiki]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://wiki.xiph.org&lt;br /&gt;
| [[XiphInfra:Wiki VM|wiki]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat&lt;br /&gt;
|-&lt;br /&gt;
| Xiph Mirror Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://github.com/xiph&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| ePirat, rillian&lt;br /&gt;
|-&lt;br /&gt;
| XiphBot-ng&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| XiphWiki on freenode.net&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| [[XiphInfra:Gitlab|Gitlab]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://gitlab.xiph.org&lt;br /&gt;
| gitlab&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr, TD-Linux, rillian&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;See the [[XiphInfra:Overview|Overview]] page for more information.&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=XiphInfra:List_of_services&amp;diff=16701</id>
		<title>XiphInfra:List of services</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=XiphInfra:List_of_services&amp;diff=16701"/>
		<updated>2020-03-07T16:26:02Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Add social vm, allegedly maintained by tbr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! URL&lt;br /&gt;
! VM&lt;br /&gt;
! Host&lt;br /&gt;
! Maintainer(s)&lt;br /&gt;
|-&lt;br /&gt;
| [[AreWeCompressedYet]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://arewecompressedyet.com&lt;br /&gt;
| awcy&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Git Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://git.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| Home Pages&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://people.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Icecast]] Streams&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://dir.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| [[Icecast]] Streams (Beta)&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://dir-test.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| Jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org/jenkins/&lt;br /&gt;
| jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Mail&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| xiph.org&lt;br /&gt;
| mailfish&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| MailMan&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://lists.xiph.org&lt;br /&gt;
| mailfish&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| Media&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://media.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| beaufish&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Opus Boodler Streams&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://opus-codec.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| gmaxwell&lt;br /&gt;
|-&lt;br /&gt;
| Rietveld&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://review.xiph.org&lt;br /&gt;
| jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Social&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://social.xiph.org&lt;br /&gt;
| social&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| Subversion Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://svn.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| Trac Bug Tracker&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://trac.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| [[XiphWiki:Features|Wiki]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://wiki.xiph.org&lt;br /&gt;
| [[XiphInfra:Wiki VM|wiki]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat&lt;br /&gt;
|-&lt;br /&gt;
| Xiph Mirror Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://github.com/xiph&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| XiphBot-ng&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| XiphWiki on freenode.net&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| [[XiphInfra:Gitlab|Gitlab]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://gitlab.xiph.org&lt;br /&gt;
| gitlab&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat (VM and Gitlab), tbr (VM and Gitlab), TD-Linux (Gitlab)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;See the [[XiphInfra:Overview|Overview]] page for more information.&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=XiphInfra:List_of_services&amp;diff=16700</id>
		<title>XiphInfra:List of services</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=XiphInfra:List_of_services&amp;diff=16700"/>
		<updated>2020-03-07T16:22:42Z</updated>

		<summary type="html">&lt;p&gt;Rillian: hosts don&amp;#039;t need to be urls&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! URL&lt;br /&gt;
! VM&lt;br /&gt;
! Host&lt;br /&gt;
! Maintainer(s)&lt;br /&gt;
|-&lt;br /&gt;
| [[AreWeCompressedYet]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://arewecompressedyet.com&lt;br /&gt;
| awcy&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Git Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://git.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| Home Pages&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://people.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Icecast]] Streams&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://dir.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| [[Icecast]] Streams (Beta)&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://dir-test.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| Jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org/jenkins/&lt;br /&gt;
| jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Mail&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| xiph.org&lt;br /&gt;
| mailfish&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| MailMan&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://lists.xiph.org&lt;br /&gt;
| mailfish&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| Media&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://media.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| beaufish&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Opus Boodler Streams&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://opus-codec.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| gmaxwell&lt;br /&gt;
|-&lt;br /&gt;
| Rietveld&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://review.xiph.org&lt;br /&gt;
| jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Subversion Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://svn.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| Trac Bug Tracker&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://trac.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| [[XiphWiki:Features|Wiki]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://wiki.xiph.org&lt;br /&gt;
| [[XiphInfra:Wiki VM|wiki]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat&lt;br /&gt;
|-&lt;br /&gt;
| Xiph Mirror Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://github.com/xiph&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| XiphBot-ng&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| XiphWiki on freenode.net&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| mf4&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| [[XiphInfra:Gitlab|Gitlab]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://gitlab.xiph.org&lt;br /&gt;
| gitlab&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| catfish&lt;br /&gt;
| ePirat (VM and Gitlab), tbr (VM and Gitlab), TD-Linux (Gitlab)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;See the [[XiphInfra:Overview|Overview]] page for more information.&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=XiphInfra:List_of_services&amp;diff=16699</id>
		<title>XiphInfra:List of services</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=XiphInfra:List_of_services&amp;diff=16699"/>
		<updated>2020-03-07T16:18:44Z</updated>

		<summary type="html">&lt;p&gt;Rillian: wiki vm is on catfish&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! URL&lt;br /&gt;
! VM&lt;br /&gt;
! Host&lt;br /&gt;
! Maintainer(s)&lt;br /&gt;
|-&lt;br /&gt;
| [[AreWeCompressedYet]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://arewecompressedyet.com&lt;br /&gt;
| awcy&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://catfish.xiph.org&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Git Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://git.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| Home Pages&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://people.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[Icecast]] Streams&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://dir.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| [[Icecast]] Streams (Beta)&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://dir-test.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://catfish.xiph.org&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| Jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org/jenkins/&lt;br /&gt;
| jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Mail&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| xiph.org&lt;br /&gt;
| mailfish&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://catfish.xiph.org&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| MailMan&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| http://lists.xiph.org&lt;br /&gt;
| mailfish&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://catfish.xiph.org&lt;br /&gt;
| ePirat, tbr&lt;br /&gt;
|-&lt;br /&gt;
| Media&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://media.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://media.xiph.org&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Opus Boodler Streams&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://opus-codec.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| gmaxwell&lt;br /&gt;
|-&lt;br /&gt;
| Rietveld&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://review.xiph.org&lt;br /&gt;
| jenkins&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| Subversion Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://svn.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| Trac Bug Tracker&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://trac.xiph.org&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| tbr&lt;br /&gt;
|-&lt;br /&gt;
| [[XiphWiki:Features|Wiki]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://wiki.xiph.org&lt;br /&gt;
| [[XiphInfra:Wiki VM|wiki]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://catfish.xiph.org&lt;br /&gt;
| ePirat&lt;br /&gt;
|-&lt;br /&gt;
| Xiph Mirror Repos&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://github.com/xiph&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| rillian&lt;br /&gt;
|-&lt;br /&gt;
| XiphBot-ng&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| XiphWiki on freenode.net&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://mf4.xiph.org&lt;br /&gt;
| TD-Linux&lt;br /&gt;
|-&lt;br /&gt;
| [[XiphInfra:Gitlab|Gitlab]]&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://gitlab.xiph.org&lt;br /&gt;
| gitlab&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| https://catfish.xiph.org&lt;br /&gt;
| ePirat (VM and Gitlab), tbr (VM and Gitlab), TD-Linux (Gitlab)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;See the [[XiphInfra:Overview|Overview]] page for more information.&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16336</id>
		<title>OpusExtensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16336"/>
		<updated>2016-04-19T21:20:31Z</updated>

		<summary type="html">&lt;p&gt;Rillian: merge sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus audio data packets begin with a &amp;quot;table of contents&amp;quot; (TOC) sequence which defines the frame duration, audio bandwidth and coding mode of the packet, as well as describing how individual frames are packed into the data packet. [[https://tools.ietf.org/html/rfc6716#section-3.1 RFC 6716 Section 3.1]]. Other types of data packets are used with Opus in various containers are designed to start with a sequence which is not a valid TOC. This simplifies sorting such data for muxing implementations and ensures they will be rejected by the decoder if they are accidentally passed as Opus audio data.&lt;br /&gt;
&lt;br /&gt;
Below is a list of such alternate sequences, to avoid duplication.&lt;br /&gt;
&lt;br /&gt;
== List of reserved invalid Opus TOC sequences ==&lt;br /&gt;
&lt;br /&gt;
* `Op` is used as a prefix for metadata headers in .opus files. [https://tools.ietf.org/html/draft-ietf-codec-oggopus RFC 7845]&lt;br /&gt;
* &#039;0x3FF&#039; in the first 11 bits marks an `opus_control_header` in MPEG-TS. [[OpusTS]]&lt;br /&gt;
&lt;br /&gt;
== Space of all invalid Opus TOC sequences ==&lt;br /&gt;
&lt;br /&gt;
* 0x0300&lt;br /&gt;
* 0x030C...0x0340&lt;br /&gt;
* 0x034C...0x0380&lt;br /&gt;
* 0x038C...0x03C0&lt;br /&gt;
* 0x03CC...0x03FF&lt;br /&gt;
&lt;br /&gt;
* 0x0700&lt;br /&gt;
* 0x070C...0x0740&lt;br /&gt;
* 0x074C...0x0780&lt;br /&gt;
* 0x078C...0x07C0&lt;br /&gt;
* 0x07CC...0x07FF&lt;br /&gt;
&lt;br /&gt;
* 0x0B00&lt;br /&gt;
* 0x0B06...0x0B40&lt;br /&gt;
* 0x0B46...0x0B80&lt;br /&gt;
* 0x0B86...0x0BC0&lt;br /&gt;
* 0x0BC6...0x0BFF&lt;br /&gt;
&lt;br /&gt;
* 0x0F00&lt;br /&gt;
* 0x0F06...0x0F40&lt;br /&gt;
* 0x0F46...0x0F80&lt;br /&gt;
* 0x0F86...0x0FC0&lt;br /&gt;
* 0x0FC6...0x0FFF&lt;br /&gt;
&lt;br /&gt;
* 0x1300&lt;br /&gt;
* 0x1303...0x1340&lt;br /&gt;
* 0x1343...0x1380&lt;br /&gt;
* 0x1383...0x13C0&lt;br /&gt;
* 0x13C3...0x13FF&lt;br /&gt;
&lt;br /&gt;
* 0x1700&lt;br /&gt;
* 0x1703...0x1740&lt;br /&gt;
* 0x1743...0x1780&lt;br /&gt;
* 0x1783...0x17C0&lt;br /&gt;
* 0x17C3...0x17FF&lt;br /&gt;
&lt;br /&gt;
* 0x1B00&lt;br /&gt;
* 0x1B02...0x1B40&lt;br /&gt;
* 0x1B42...0x1B80&lt;br /&gt;
* 0x1B82...0x1BC0&lt;br /&gt;
* 0x1BC2...0x1BFF&lt;br /&gt;
&lt;br /&gt;
* 0x1F00&lt;br /&gt;
* 0x1F02...0x1F40&lt;br /&gt;
* 0x1F42...0x1F80&lt;br /&gt;
* 0x1F82...0x1FC0&lt;br /&gt;
* 0x1FC2...0x1FFF&lt;br /&gt;
&lt;br /&gt;
* 0x2300&lt;br /&gt;
* 0x230C...0x2340&lt;br /&gt;
* 0x234C...0x2380&lt;br /&gt;
* 0x238C...0x23C0&lt;br /&gt;
* 0x23CC...0x23FF&lt;br /&gt;
&lt;br /&gt;
* 0x2700&lt;br /&gt;
* 0x270C...0x2740&lt;br /&gt;
* 0x274C...0x2780&lt;br /&gt;
* 0x278C...0x27C0&lt;br /&gt;
* 0x27CC...0x27FF&lt;br /&gt;
&lt;br /&gt;
* 0x2B00&lt;br /&gt;
* 0x2B06...0x2B40&lt;br /&gt;
* 0x2B46...0x2B80&lt;br /&gt;
* 0x2B86...0x2BC0&lt;br /&gt;
* 0x2BC6...0x2BFF&lt;br /&gt;
&lt;br /&gt;
* 0x2F00&lt;br /&gt;
* 0x2F06...0x2F40&lt;br /&gt;
* 0x2F46...0x2F80&lt;br /&gt;
* 0x2F86...0x2FC0&lt;br /&gt;
* 0x2FC6...0x2FFF&lt;br /&gt;
&lt;br /&gt;
* 0x3300&lt;br /&gt;
* 0x3303...0x3340&lt;br /&gt;
* 0x3343...0x3380&lt;br /&gt;
* 0x3383...0x33C0&lt;br /&gt;
* 0x33C3...0x33FF&lt;br /&gt;
&lt;br /&gt;
* 0x3700&lt;br /&gt;
* 0x3703...0x3740&lt;br /&gt;
* 0x3743...0x3780&lt;br /&gt;
* 0x3783...0x37C0&lt;br /&gt;
* 0x37C3...0x37FF&lt;br /&gt;
&lt;br /&gt;
* 0x3B00&lt;br /&gt;
* 0x3B02...0x3B40&lt;br /&gt;
* 0x3B42...0x3B80&lt;br /&gt;
* 0x3B82...0x3BC0&lt;br /&gt;
* 0x3BC2...0x3BFF&lt;br /&gt;
&lt;br /&gt;
* 0x3F00&lt;br /&gt;
* 0x3F02...0x3F40&lt;br /&gt;
* 0x3F42...0x3F80&lt;br /&gt;
* 0x3F82...0x3FC0&lt;br /&gt;
* 0x3FC2...0x3FFF&lt;br /&gt;
&lt;br /&gt;
* 0x4300&lt;br /&gt;
* 0x430C...0x4340&lt;br /&gt;
* 0x434C...0x4380&lt;br /&gt;
* 0x438C...0x43C0&lt;br /&gt;
* 0x43CC...0x43FF&lt;br /&gt;
&lt;br /&gt;
* 0x4700&lt;br /&gt;
* 0x470C...0x4740&lt;br /&gt;
* 0x474C...0x4780&lt;br /&gt;
* 0x478C...0x47C0&lt;br /&gt;
* 0x47CC...0x47FF&lt;br /&gt;
&lt;br /&gt;
* 0x4B00&lt;br /&gt;
* 0x4B06...0x4B40&lt;br /&gt;
* 0x4B46...0x4B80&lt;br /&gt;
* 0x4B86...0x4BC0&lt;br /&gt;
* 0x4BC6...0x4BFF&lt;br /&gt;
&lt;br /&gt;
* 0x4F00&lt;br /&gt;
* 0x4F06...0x4F40&lt;br /&gt;
* 0x4F46...0x4F6F&lt;br /&gt;
* 0x4F70 (&amp;quot;Op&amp;quot;): ID and Comment headers in .opus files [https://tools.ietf.org/html/draft-ietf-codec-oggopus RFC 7845]&lt;br /&gt;
* 0x4F71...0x4F80&lt;br /&gt;
* 0x4F86...0x4FC0&lt;br /&gt;
* 0x4FC6...0x4FFF&lt;br /&gt;
&lt;br /&gt;
* 0x5300&lt;br /&gt;
* 0x5303...0x5340&lt;br /&gt;
* 0x5343...0x5380&lt;br /&gt;
* 0x5383...0x53C0&lt;br /&gt;
* 0x53C3...0x53FF&lt;br /&gt;
&lt;br /&gt;
* 0x5700&lt;br /&gt;
* 0x5703...0x5740&lt;br /&gt;
* 0x5743...0x5780&lt;br /&gt;
* 0x5783...0x57C0&lt;br /&gt;
* 0x57C3...0x57FF&lt;br /&gt;
&lt;br /&gt;
* 0x5B00&lt;br /&gt;
* 0x5B02...0x5B40&lt;br /&gt;
* 0x5B42...0x5B80&lt;br /&gt;
* 0x5B82...0x5BC0&lt;br /&gt;
* 0x5BC2...0x5BFF&lt;br /&gt;
&lt;br /&gt;
* 0x5F00&lt;br /&gt;
* 0x5F02...0x5F40&lt;br /&gt;
* 0x5F42...0x5F80&lt;br /&gt;
* 0x5F82...0x5FC0&lt;br /&gt;
* 0x5FC2...0x5FFF&lt;br /&gt;
&lt;br /&gt;
* 0x6300&lt;br /&gt;
* 0x630C...0x6340&lt;br /&gt;
* 0x634C...0x6380&lt;br /&gt;
* 0x638C...0x63C0&lt;br /&gt;
* 0x63CC...0x63FF&lt;br /&gt;
&lt;br /&gt;
* 0x6700&lt;br /&gt;
* 0x670C...0x6740&lt;br /&gt;
* 0x674C...0x6780&lt;br /&gt;
* 0x678C...0x67C0&lt;br /&gt;
* 0x67CC...0x67FF&lt;br /&gt;
&lt;br /&gt;
* 0x6B00&lt;br /&gt;
* 0x6B06...0x6B40&lt;br /&gt;
* 0x6B46...0x6B80&lt;br /&gt;
* 0x6B86...0x6BC0&lt;br /&gt;
* 0x6BC6...0x6BFF&lt;br /&gt;
&lt;br /&gt;
* 0x6F00&lt;br /&gt;
* 0x6F06...0x6F40&lt;br /&gt;
* 0x6F46...0x6F80&lt;br /&gt;
* 0x6F86...0x6FC0&lt;br /&gt;
* 0x6FC6...0x6FFF&lt;br /&gt;
&lt;br /&gt;
* 0x7300&lt;br /&gt;
* 0x730C...0x7340&lt;br /&gt;
* 0x734C...0x7380&lt;br /&gt;
* 0x738C...0x73C0&lt;br /&gt;
* 0x73CC...0x73FF&lt;br /&gt;
&lt;br /&gt;
* 0x7700&lt;br /&gt;
* 0x770C...0x7740&lt;br /&gt;
* 0x774C...0x7780&lt;br /&gt;
* 0x778C...0x77C0&lt;br /&gt;
* 0x77CC...0x77FF&lt;br /&gt;
&lt;br /&gt;
* 0x7B00&lt;br /&gt;
* 0x7B06...0x7B40&lt;br /&gt;
* 0x7B46...0x7B80&lt;br /&gt;
* 0x7B86...0x7BC0&lt;br /&gt;
* 0x7BC6...0x7BFF&lt;br /&gt;
&lt;br /&gt;
* 0x7F00&lt;br /&gt;
* 0x7F06...0x7F40&lt;br /&gt;
* 0x7F46...0x7F80&lt;br /&gt;
* 0x7F86...0x7FC0&lt;br /&gt;
* 0x7FC6...0x7FDF&lt;br /&gt;
* 0x7FE0...0x7FFF: opus_control_header in MPEG-TS [[OpusTS]]&lt;br /&gt;
&lt;br /&gt;
* 0x8300&lt;br /&gt;
* 0x8330...0x8340&lt;br /&gt;
* 0x8370...0x8380&lt;br /&gt;
* 0x83B0...0x83C0&lt;br /&gt;
* 0x83F0...0x83FF&lt;br /&gt;
&lt;br /&gt;
* 0x8700&lt;br /&gt;
* 0x8730...0x8740&lt;br /&gt;
* 0x8770...0x8780&lt;br /&gt;
* 0x87B0...0x87C0&lt;br /&gt;
* 0x87F0...0x87FF&lt;br /&gt;
&lt;br /&gt;
* 0x8B00&lt;br /&gt;
* 0x8B18...0x8B40&lt;br /&gt;
* 0x8B58...0x8B80&lt;br /&gt;
* 0x8B98...0x8BC0&lt;br /&gt;
* 0x8BD8...0x8BFF&lt;br /&gt;
&lt;br /&gt;
* 0x8F00&lt;br /&gt;
* 0x8F18...0x8F40&lt;br /&gt;
* 0x8F58...0x8F80&lt;br /&gt;
* 0x8F98...0x8FC0&lt;br /&gt;
* 0x8FD8...0x8FFF&lt;br /&gt;
&lt;br /&gt;
* 0x9300&lt;br /&gt;
* 0x930C...0x9340&lt;br /&gt;
* 0x934C...0x9380&lt;br /&gt;
* 0x938C...0x93C0&lt;br /&gt;
* 0x93CC...0x93FF&lt;br /&gt;
&lt;br /&gt;
* 0x9700&lt;br /&gt;
* 0x970C...0x9740&lt;br /&gt;
* 0x974C...0x9780&lt;br /&gt;
* 0x978C...0x97C0&lt;br /&gt;
* 0x97CC...0x97FF&lt;br /&gt;
&lt;br /&gt;
* 0x9B00&lt;br /&gt;
* 0x9B06...0x9B40&lt;br /&gt;
* 0x9B46...0x9B80&lt;br /&gt;
* 0x9B86...0x9BC0&lt;br /&gt;
* 0x9BC6...0x9BFF&lt;br /&gt;
&lt;br /&gt;
* 0x9F00&lt;br /&gt;
* 0x9F06...0x9F40&lt;br /&gt;
* 0x9F46...0x9F80&lt;br /&gt;
* 0x9F86...0x9FC0&lt;br /&gt;
* 0x9FC6...0x9FFF&lt;br /&gt;
&lt;br /&gt;
* 0xA300&lt;br /&gt;
* 0xA330...0xA340&lt;br /&gt;
* 0xA370...0xA380&lt;br /&gt;
* 0xA3B0...0xA3C0&lt;br /&gt;
* 0xA3F0...0xA3FF&lt;br /&gt;
&lt;br /&gt;
* 0xA700&lt;br /&gt;
* 0xA730...0xA740&lt;br /&gt;
* 0xA770...0xA780&lt;br /&gt;
* 0xA7B0...0xA7C0&lt;br /&gt;
* 0xA7F0...0xA7FF&lt;br /&gt;
&lt;br /&gt;
* 0xAB00&lt;br /&gt;
* 0xAB18...0xAB40&lt;br /&gt;
* 0xAB58...0xAB80&lt;br /&gt;
* 0xAB98...0xABC0&lt;br /&gt;
* 0xABD8...0xABFF&lt;br /&gt;
&lt;br /&gt;
* 0xAF00&lt;br /&gt;
* 0xAF18...0xAF40&lt;br /&gt;
* 0xAF58...0xAF80&lt;br /&gt;
* 0xAF98...0xAFC0&lt;br /&gt;
* 0xAFD8...0xAFFF&lt;br /&gt;
&lt;br /&gt;
* 0xB300&lt;br /&gt;
* 0xB30C...0xB340&lt;br /&gt;
* 0xB34C...0xB380&lt;br /&gt;
* 0xB38C...0xB3C0&lt;br /&gt;
* 0xB3CC...0xB3FF&lt;br /&gt;
&lt;br /&gt;
* 0xB700&lt;br /&gt;
* 0xB70C...0xB740&lt;br /&gt;
* 0xB74C...0xB780&lt;br /&gt;
* 0xB78C...0xB7C0&lt;br /&gt;
* 0xB7CC...0xB7FF&lt;br /&gt;
&lt;br /&gt;
* 0xBB00&lt;br /&gt;
* 0xBB06...0xBB40&lt;br /&gt;
* 0xBB46...0xBB80&lt;br /&gt;
* 0xBB86...0xBBC0&lt;br /&gt;
* 0xBBC6...0xBBFF&lt;br /&gt;
&lt;br /&gt;
* 0xBF00&lt;br /&gt;
* 0xBF06...0xBF40&lt;br /&gt;
* 0xBF46...0xBF80&lt;br /&gt;
* 0xBF86...0xBFC0&lt;br /&gt;
* 0xBFC6...0xBFFF&lt;br /&gt;
&lt;br /&gt;
* 0xC300&lt;br /&gt;
* 0xC330...0xC340&lt;br /&gt;
* 0xC370...0xC380&lt;br /&gt;
* 0xC3B0...0xC3C0&lt;br /&gt;
* 0xC3F0...0xC3FF&lt;br /&gt;
&lt;br /&gt;
* 0xC700&lt;br /&gt;
* 0xC730...0xC740&lt;br /&gt;
* 0xC770...0xC780&lt;br /&gt;
* 0xC7B0...0xC7C0&lt;br /&gt;
* 0xC7F0...0xC7FF&lt;br /&gt;
&lt;br /&gt;
* 0xCB00&lt;br /&gt;
* 0xCB18...0xCB40&lt;br /&gt;
* 0xCB58...0xCB80&lt;br /&gt;
* 0xCB98...0xCBC0&lt;br /&gt;
* 0xCBD8...0xCBFF&lt;br /&gt;
&lt;br /&gt;
* 0xCF00&lt;br /&gt;
* 0xCF18...0xCF40&lt;br /&gt;
* 0xCF58...0xCF80&lt;br /&gt;
* 0xCF98...0xCFC0&lt;br /&gt;
* 0xCFD8...0xCFFF&lt;br /&gt;
&lt;br /&gt;
* 0xD300&lt;br /&gt;
* 0xD30C...0xD340&lt;br /&gt;
* 0xD34C...0xD380&lt;br /&gt;
* 0xD38C...0xD3C0&lt;br /&gt;
* 0xD3CC...0xD3FF&lt;br /&gt;
&lt;br /&gt;
* 0xD700&lt;br /&gt;
* 0xD70C...0xD740&lt;br /&gt;
* 0xD74C...0xD780&lt;br /&gt;
* 0xD78C...0xD7C0&lt;br /&gt;
* 0xD7CC...0xD7FF&lt;br /&gt;
&lt;br /&gt;
* 0xDB00&lt;br /&gt;
* 0xDB06...0xDB40&lt;br /&gt;
* 0xDB46...0xDB80&lt;br /&gt;
* 0xDB86...0xDBC0&lt;br /&gt;
* 0xDBC6...0xDBFF&lt;br /&gt;
&lt;br /&gt;
* 0xDF00&lt;br /&gt;
* 0xDF06...0xDF40&lt;br /&gt;
* 0xDF46...0xDF80&lt;br /&gt;
* 0xDF86...0xDFC0&lt;br /&gt;
* 0xDFC6...0xDFFF&lt;br /&gt;
&lt;br /&gt;
* 0xE300&lt;br /&gt;
* 0xE330...0xE340&lt;br /&gt;
* 0xE370...0xE380&lt;br /&gt;
* 0xE3B0...0xE3C0&lt;br /&gt;
* 0xE3F0...0xE3FF&lt;br /&gt;
&lt;br /&gt;
  The only restriction that doesn&#039;t depend on the number of bytes &lt;br /&gt;
  in the packet is [R5], which is, &amp;quot;Code 3 packets contain at least &lt;br /&gt;
  one frame, but no more than 120 ms of audio total.&amp;quot;&lt;br /&gt;
* 0xE700&lt;br /&gt;
* 0xE730...0xE740&lt;br /&gt;
* 0xE770...0xE780&lt;br /&gt;
* 0xE7B0...0xE7C0&lt;br /&gt;
* 0xE7F0...0xE7FF&lt;br /&gt;
&lt;br /&gt;
* 0xEB00&lt;br /&gt;
* 0xEB18...0xEB40&lt;br /&gt;
* 0xEB58...0xEB80&lt;br /&gt;
* 0xEB98...0xEBC0&lt;br /&gt;
* 0xEBD8...0xEBFF&lt;br /&gt;
&lt;br /&gt;
* 0xEF00&lt;br /&gt;
* 0xEF18...0xEF40&lt;br /&gt;
* 0xEF58...0xEF80&lt;br /&gt;
* 0xEF98...0xEFC0&lt;br /&gt;
* 0xEFD8...0xEFFF&lt;br /&gt;
&lt;br /&gt;
* 0xF300&lt;br /&gt;
* 0xF30C...0xF340&lt;br /&gt;
* 0xF34C...0xF380&lt;br /&gt;
* 0xF38C...0xF3C0&lt;br /&gt;
* 0xF3CC...0xF3FF&lt;br /&gt;
&lt;br /&gt;
* 0xF700&lt;br /&gt;
* 0xF70C...0xF740&lt;br /&gt;
* 0xF74C...0xF780&lt;br /&gt;
* 0xF78C...0xF7C0&lt;br /&gt;
* 0xF7CC...0xF7FF&lt;br /&gt;
&lt;br /&gt;
* 0xFB00&lt;br /&gt;
* 0xFB06...0xFB40&lt;br /&gt;
* 0xFB46...0xFB80&lt;br /&gt;
* 0xFB86...0xFBC0&lt;br /&gt;
* 0xFBC6...0xFBFF&lt;br /&gt;
&lt;br /&gt;
* 0xFF00&lt;br /&gt;
* 0xFF06...0xFF40&lt;br /&gt;
* 0xFF46...0xFF80&lt;br /&gt;
* 0xFF86...0xFFC0&lt;br /&gt;
* 0xFFC6...0xFFFF&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16334</id>
		<title>OpusExtensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16334"/>
		<updated>2016-04-19T20:50:08Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Derf&amp;#039;s braindump from IRC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus audio data packets begin with a &amp;quot;table of contents&amp;quot; (TOC) sequence which defines the frame duration, audio bandwidth and coding mode of the packet, as well as describing how individual frames are packed into the data packet. [[https://tools.ietf.org/html/rfc6716#section-3.1 RFC 6716 Section 3.1]]. Other types of data packets are used with Opus in various containers are designed to start with a sequence which is not a valid TOC. This simplifies sorting such data for muxing implementations and ensures they will be rejected by the decoder if they are accidentally passed as Opus audio data.&lt;br /&gt;
&lt;br /&gt;
Below is a list of such alternate sequences, to avoid duplication.&lt;br /&gt;
&lt;br /&gt;
== List of invalid Opus audio data sequences ==&lt;br /&gt;
&lt;br /&gt;
* `Op` is used as a prefix for metadata headers in .opus files. [https://tools.ietf.org/html/draft-ietf-codec-oggopus RFC 7845]&lt;br /&gt;
* &#039;0x3FF&#039; in the first 11 bits marks an `opus_access_unit` in mpeg-ts. [[OpusTS]]&lt;br /&gt;
&lt;br /&gt;
== Constructing invalid sequences ==&lt;br /&gt;
&lt;br /&gt;
  The only restriction that doesn&#039;t depend on the number of bytes &lt;br /&gt;
  in the packet is [R5], which is, &amp;quot;Code 3 packets contain at least &lt;br /&gt;
  one frame, but no more than 120 ms of audio total.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16333</id>
		<title>OpusExtensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16333"/>
		<updated>2016-04-19T20:47:12Z</updated>

		<summary type="html">&lt;p&gt;Rillian: opus_audio_descriptor isn&amp;#039;t a PES packet, and starts with a valid TOC, so it doesn&amp;#039;t belong on this list.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus audio data packets begin with a &amp;quot;table of contents&amp;quot; (TOC) sequence which defines the frame duration, audio bandwidth and coding mode of the packet, as well as describing how individual frames are packed into the data packet. [[https://tools.ietf.org/html/rfc6716#section-3.1 RFC 6716 Section 3.1]]. Other types of data packets are used with Opus in various containers are designed to start with a sequence which is not a valid TOC. This simplifies sorting such data for muxing implementations and ensures they will be rejected by the decoder if they are accidentally passed as Opus audio data.&lt;br /&gt;
&lt;br /&gt;
Below is a list of such alternate sequences, to avoid duplication.&lt;br /&gt;
&lt;br /&gt;
== List of invalid Opus audio data sequences ==&lt;br /&gt;
&lt;br /&gt;
* `Op` is used as a prefix for metadata headers in .opus files. [https://tools.ietf.org/html/draft-ietf-codec-oggopus RFC 7845]&lt;br /&gt;
* &#039;0x3FF&#039; in the first 11 bits marks an `opus_access_unit` in mpeg-ts. [[OpusTS]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16332</id>
		<title>OpusExtensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16332"/>
		<updated>2016-04-19T20:32:46Z</updated>

		<summary type="html">&lt;p&gt;Rillian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus audio data packets begin with a &amp;quot;table of contents&amp;quot; (TOC) sequence which defines the frame duration, audio bandwidth and coding mode of the packet, as well as describing how individual frames are packed into the data packet. [[https://tools.ietf.org/html/rfc6716#section-3.1 RFC 6716 Section 3.1]]. Other types of data packets are used with Opus in various containers are designed to start with a sequence which is not a valid TOC. This simplifies sorting such data for muxing implementations and ensures they will be rejected by the decoder if they are accidentally passed as Opus audio data.&lt;br /&gt;
&lt;br /&gt;
Below is a list of such alternate sequences, to avoid duplication.&lt;br /&gt;
&lt;br /&gt;
== List of invalid Opus audio data sequences ==&lt;br /&gt;
&lt;br /&gt;
* `Op` is used as a prefix for metadata headers in .opus files. [https://tools.ietf.org/html/draft-ietf-codec-oggopus RFC 7845]&lt;br /&gt;
* &#039;0x3FF&#039; in the first 11 bits marks an `opus_access_unit` in mpeg-ts. [[OpusTS]]&lt;br /&gt;
* &#039;0x7F` is the tag for the `opus_audio_descriptor` in mpeg-ts. [[OpusTS]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16331</id>
		<title>OpusExtensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16331"/>
		<updated>2016-04-19T20:20:38Z</updated>

		<summary type="html">&lt;p&gt;Rillian: fix references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus audio data packets begin with a &amp;quot;table of contents&amp;quot; (TOC) sequence which defines the frame duration, audio bandwidth and coding mode of the packet, as well as describing how individual frames are packed into the data packet. [[https://tools.ietf.org/html/rfc6716#section-3.1 RFC 6716 Section 3.1]]. Other types of data packets are used with Opus in various containers are designed to start with a sequence which is not a valid TOC. This simplifies sorting such data for muxing implementations and ensures they will be rejected by the decoder if they are accidentally passed as Opus audio data.&lt;br /&gt;
&lt;br /&gt;
Below is a list of such alternate sequences, to avoid duplication.&lt;br /&gt;
&lt;br /&gt;
== List of invalid Opus audio data sequences ==&lt;br /&gt;
&lt;br /&gt;
* `Og` is used as a prefix for metadata headers in .opus files. [https://tools.ietf.org/html/draft-ietf-codec-oggopus RFC 7845]&lt;br /&gt;
* &#039;0x3FF&#039; in the first 11 bits marks an `opus_access_unit` in mpeg-ts. [[OpusTS]]&lt;br /&gt;
* &#039;0x7F` is the tag for the `opus_audio_descriptor` in mpeg-ts. [[OpusTS]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16330</id>
		<title>OpusExtensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16330"/>
		<updated>2016-04-19T20:19:51Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Update mpeg-ts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus audio data packets begin with a &amp;quot;table of contents&amp;quot; (TOC) sequence which defines the frame duration, audio bandwidth and coding mode of the packet, as well as describing how individual frames are packed into the data packet. [[https://tools.ietf.org/html/rfc6716#section-3.1 RFC 6716 Section 3.1]]. Other types of data packets are used with Opus in various containers are designed to start with a sequence which is not a valid TOC. This simplifies sorting such data for muxing implementations and ensures they will be rejected by the decoder if they are accidentally passed as Opus audio data.&lt;br /&gt;
&lt;br /&gt;
Below is a list of such alternate sequences, to avoid duplication.&lt;br /&gt;
&lt;br /&gt;
== List of invalid Opus audio data sequences ==&lt;br /&gt;
&lt;br /&gt;
* `Og` is used as a prefix for metadata headers in .opus files. [[https://tools.ietf.org/html/draft-ietf-codec-oggopus RFC 7845]]&lt;br /&gt;
* &#039;0x3FF&#039; in the first 11 bits marks an `opus_access_unit` in mpeg-ts. [[OpusTS]&lt;br /&gt;
* &#039;0x7F` is the tag for the `opus_audio_descriptor` in mpeg-ts. [[OpusTS]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16328</id>
		<title>OpusExtensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusExtensions&amp;diff=16328"/>
		<updated>2016-04-19T19:51:37Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Start a page to track invalid TOC sequences used for extensions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opus audio data packets begin with a &amp;quot;table of contents&amp;quot; (TOC) sequence which defines the frame duration, audio bandwidth and coding mode of the packet, as well as describing how individual frames are packed into the data packet. [[https://tools.ietf.org/html/rfc6716#section-3.1 RFC 6716 Section 3.1]]. Other types of data packets are used with Opus in various containers are designed to start with a sequence which is not a valid TOC. This simplifies sorting such data for muxing implementations and ensures they will be rejected by the decoder if they are accidentally passed as Opus audio data.&lt;br /&gt;
&lt;br /&gt;
Below is a list of such alternate sequences, to avoid duplication.&lt;br /&gt;
&lt;br /&gt;
== List of invalid Opus audio data sequences ==&lt;br /&gt;
&lt;br /&gt;
* `Og` is used as a prefix for metadata headers in .opus files. [[https://tools.ietf.org/html/draft-ietf-codec-oggopus RFC 7845]]&lt;br /&gt;
* &#039;??` an 11-bit sequence (not yet defined) is used to distinguish `opus_control_header` packets in MPEG-TS. [[OpusTS]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=16177</id>
		<title>OpusTodo</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=16177"/>
		<updated>2016-01-13T18:29:11Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Link mp4 draft.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== For 1.1.3 ==&lt;br /&gt;
* aarch64 and AVX optimizations&lt;br /&gt;
&lt;br /&gt;
== For 1.2 ==&lt;br /&gt;
* Low bitrate quality improvements&lt;br /&gt;
* Fix compilation as a single module for gecko&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[https://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]] And firefox/ffmpeg implementation&lt;br /&gt;
* RTP payload format. Mono/stereo mapping is complete [[https://tools.ietf.org/html/rfc7587 RFC 7587]], no multichannel mapping yet.&lt;br /&gt;
* mp4 mapping. See [[https://opus-codec.org/docs/opus_in_isobmff.html ISO Base Media File Format draft]]&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage - some suggestions:&lt;br /&gt;
** write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?) and the proprietary ones)&lt;br /&gt;
** write about implementations (libopus encoder/decoder, libavcodec decoder, any others?)&lt;br /&gt;
** [https://en.wikipedia.org/wiki/Comparison_of_audio_coding_formats audio codec comparison table] (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...)&lt;br /&gt;
** future use in video files (Theora? Dirac? WebM? other future codecs...)&lt;br /&gt;
** audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ... &lt;br /&gt;
* Promotional material (some nice free/public-domain sounds/radio stations 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;
* Port opusdec to libopusfile/libopusurl.&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
** Start with opusrtp.c in [https://git.xiph.org/?p=opus-tools.git opus-tools]&lt;br /&gt;
** Make &amp;lt;code&amp;gt;opusrtp rtp://example.com:5431/&amp;lt;/code&amp;gt; listen to that host and port and mux packets from there. Generalize the cpac bases --sniff implementation&lt;br /&gt;
** Make sending similarly generic. Maybe just &amp;lt;code&amp;gt;opusrtp source.opus -o rtp://example.com:5431/&amp;lt;/code&amp;gt; to send source.opus out to the destination?&lt;br /&gt;
** Make --sniff save one file per&lt;br /&gt;
** Implement DTLS-SRTP. See webrtc.&lt;br /&gt;
** audio capture/encode, decode/playback?&lt;br /&gt;
** Parse and act on sdp for convenience and testing.&lt;br /&gt;
&lt;br /&gt;
* EBU R128/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;
== Optimisations ==&lt;br /&gt;
&lt;br /&gt;
* Vectorising comb_filter()&lt;br /&gt;
* Use 16-bit mul plus shift in denormalise_bands()&lt;br /&gt;
* Optimise MDCT somehow&lt;br /&gt;
&lt;br /&gt;
== Third-Party tool enhancements ==&lt;br /&gt;
* mutagen: [https://bitbucket.org/lazka/mutagen/issue/202/oggopus-support-in-place-rewrites-for support padding in comments header], [https://bitbucket.org/lazka/mutagen/issue/203/oggopus-allow-updating-the-output_gain allow updating output gain in ID header]&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;
* Unconstrained SILK VBR&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;
* 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;
&lt;br /&gt;
[[Category:Opus]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=16176</id>
		<title>OpusTodo</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=16176"/>
		<updated>2016-01-13T18:27:53Z</updated>

		<summary type="html">&lt;p&gt;Rillian: mention unified build bugs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== For 1.1.3 ==&lt;br /&gt;
* aarch64 and AVX optimizations&lt;br /&gt;
&lt;br /&gt;
== For 1.2 ==&lt;br /&gt;
* Low bitrate quality improvements&lt;br /&gt;
* Fix compilation as a single module for gecko&lt;br /&gt;
&lt;br /&gt;
== Spec ==&lt;br /&gt;
* Ogg mapping. See [[https://tools.ietf.org/html/draft-ietf-codec-oggopus IETF draft]]&lt;br /&gt;
* Matroska mapping. See: [[MatroskaOpus]] And firefox/ffmpeg implementation&lt;br /&gt;
* RTP payload format. Mono/stereo mapping is complete [[https://tools.ietf.org/html/rfc7587 RFC 7587]], no multichannel mapping yet.&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
* De-uglify webpage - some suggestions:&lt;br /&gt;
** write about codecs obsoleted by OPUS (Speex, CELT, Vorbis(?) and the proprietary ones)&lt;br /&gt;
** write about implementations (libopus encoder/decoder, libavcodec decoder, any others?)&lt;br /&gt;
** [https://en.wikipedia.org/wiki/Comparison_of_audio_coding_formats audio codec comparison table] (Opus, Vorbis, Speex, ..., MP5) of features (channels, freq, bits per sample, license, language (C89), integer impl. (Vorbis decoder only, Opus YES, ...)&lt;br /&gt;
** future use in video files (Theora? Dirac? WebM? other future codecs...)&lt;br /&gt;
** audio files for storage (like Vorbis, no raw Opus defined, only inside OGG), ... &lt;br /&gt;
* Promotional material (some nice free/public-domain sounds/radio stations 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;
* Port opusdec to libopusfile/libopusurl.&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
** Start with opusrtp.c in [https://git.xiph.org/?p=opus-tools.git opus-tools]&lt;br /&gt;
** Make &amp;lt;code&amp;gt;opusrtp rtp://example.com:5431/&amp;lt;/code&amp;gt; listen to that host and port and mux packets from there. Generalize the cpac bases --sniff implementation&lt;br /&gt;
** Make sending similarly generic. Maybe just &amp;lt;code&amp;gt;opusrtp source.opus -o rtp://example.com:5431/&amp;lt;/code&amp;gt; to send source.opus out to the destination?&lt;br /&gt;
** Make --sniff save one file per&lt;br /&gt;
** Implement DTLS-SRTP. See webrtc.&lt;br /&gt;
** audio capture/encode, decode/playback?&lt;br /&gt;
** Parse and act on sdp for convenience and testing.&lt;br /&gt;
&lt;br /&gt;
* EBU R128/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;
== Optimisations ==&lt;br /&gt;
&lt;br /&gt;
* Vectorising comb_filter()&lt;br /&gt;
* Use 16-bit mul plus shift in denormalise_bands()&lt;br /&gt;
* Optimise MDCT somehow&lt;br /&gt;
&lt;br /&gt;
== Third-Party tool enhancements ==&lt;br /&gt;
* mutagen: [https://bitbucket.org/lazka/mutagen/issue/202/oggopus-support-in-place-rewrites-for support padding in comments header], [https://bitbucket.org/lazka/mutagen/issue/203/oggopus-allow-updating-the-output_gain allow updating output gain in ID header]&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;
* Unconstrained SILK VBR&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;
* 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;
&lt;br /&gt;
[[Category:Opus]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=MIMETypesCodecs&amp;diff=16156</id>
		<title>MIMETypesCodecs</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=MIMETypesCodecs&amp;diff=16156"/>
		<updated>2015-11-17T23:12:30Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* MIME Types */ Add Opus to the audio/ogg table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Specification of MIME types and respective codecs parameter ==&lt;br /&gt;
&lt;br /&gt;
Also includes a specification of the recommended file extensions to use with Ogg.&lt;br /&gt;
&lt;br /&gt;
=== MIME Types ===&lt;br /&gt;
&lt;br /&gt;
The following MIME types are now officially registered with IANA and specified with the IETF as [http://www.ietf.org/rfc/rfc5334.txt RFC 5334]:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MIME Type&lt;br /&gt;
! Use&lt;br /&gt;
! [[Ogg Skeleton|Skeleton]]&amp;lt;br /&amp;gt;logical stream?&lt;br /&gt;
! File&amp;lt;br /&amp;gt;Extension(s)&lt;br /&gt;
! Macintosh File&amp;lt;br /&amp;gt;Type Code&lt;br /&gt;
|-&lt;br /&gt;
| video/ogg&lt;br /&gt;
| video (possibly with audio)&amp;lt;br /&amp;gt;&lt;br /&gt;
encapsulated in Ogg&lt;br /&gt;
| recommended&lt;br /&gt;
| .ogv&lt;br /&gt;
| OggV&lt;br /&gt;
|-&lt;br /&gt;
| audio/ogg&lt;br /&gt;
| audio&amp;lt;br /&amp;gt;encapsulated in Ogg&lt;br /&gt;
| recommended&lt;br /&gt;
| .oga&amp;lt;br /&amp;gt;&lt;br /&gt;
.ogg ([[Vorbis]] I)&amp;lt;br /&amp;gt;&lt;br /&gt;
.opus ([[Opus]])&amp;lt;br /&amp;gt;&lt;br /&gt;
.spx ([[Speex]])&lt;br /&gt;
| OggA&lt;br /&gt;
|-&lt;br /&gt;
| application/ogg&lt;br /&gt;
| complex/multitrack/multiplexed files&amp;lt;br /&amp;gt;&lt;br /&gt;
encapsulated in Ogg&lt;br /&gt;
| required&lt;br /&gt;
| .ogx&lt;br /&gt;
| OggX&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[MIME_Types_and_File_Extensions|Other MIME types]] are still in the registration process.&lt;br /&gt;
&lt;br /&gt;
=== Codecs Parameter ===&lt;br /&gt;
&lt;br /&gt;
[http://www.rfc-editor.org/rfc/rfc4281.txt Typically], MIME types of media encapsulation formats use the optional &amp;quot;codecs&amp;quot; parameter to specify which codecs are being used in a particular file.&lt;br /&gt;
&lt;br /&gt;
Codecs encapsulated in Ogg require a text identifier at the beginning of the first header page to identify the encapsulated codecs.&lt;br /&gt;
&lt;br /&gt;
The following table contains the identifiers for existing Xiph codecs and the codec parameter names used for */ogg MIME types (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Codecs Parameter Name&lt;br /&gt;
! Codec Type&lt;br /&gt;
! Codec Identifier&lt;br /&gt;
(decimal, hex, octal)&lt;br /&gt;
! Version Field (if available)&lt;br /&gt;
|-&lt;br /&gt;
| [http://svn.annodex.net/liboggz/trunk/src/liboggz/oggz_auto.h celt]&lt;br /&gt;
| audio&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;CELT\ \ \ \ &#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x43 0x45 0x4c 0x54 0x20 0x20 0x20 0x20&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0103 0105 0114 0124 0040 0040 0040 0040&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[28,4]: version id&lt;br /&gt;
|-&lt;br /&gt;
| [http://svn.annodex.net/liboggz/trunk/src/liboggz/oggz_auto.h cmml]&lt;br /&gt;
| text&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;CMML\0\0\0\0&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x43 0x4d 0x4d 0x4c 0x00 0x00 0x00 0x00&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0103 0115 0115 0114 0000 0000 0000 0000&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[8,2]: major version number,&lt;br /&gt;
char[10,2]: minor version number&lt;br /&gt;
|-&lt;br /&gt;
| [[OggDirac|dirac]]&lt;br /&gt;
| video&lt;br /&gt;
| char[0,5]: &amp;lt;tt&amp;gt;&#039;BBCD\0&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x42 0x42 0x43 0x44 0x00&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0102 0102 0103 0104 0000&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
| [http://flac.sourceforge.net/ogg_mapping.html  flac]&lt;br /&gt;
| audio&lt;br /&gt;
| char[0,5]: &amp;lt;tt&amp;gt;&#039;\177FLAC&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x7F 0x46 0x4C 0x41 0x43&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0177 0106 0114 0101 0103&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[5,1]: binary major version number, &lt;br /&gt;
char[6,1]: binary minor version number of mapping&lt;br /&gt;
|-&lt;br /&gt;
| [[OggMNG|jng]]&lt;br /&gt;
| video&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;\213JNG\r\n\032\n&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x8b 0x4a 0x4e 0x47 0x0D 0x0A 0x1A 0x0A&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0213 0112 0116 0107 0015 0012 0032 0012&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
| [[OggKate|kate]]&lt;br /&gt;
| text&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;\x80kate\0\0\0&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x80 0x6b 0x61 0x74 0x65 0x00 0x00 0x00&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0200 0153 0141 0164 0145 0000 0000 0000&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[9,1]: major version number,&lt;br /&gt;
char[10,1]: minor version number&lt;br /&gt;
|-&lt;br /&gt;
| [http://lists.xiph.org/pipermail/vorbis-dev/2001-August/004501.html  midi]&lt;br /&gt;
| text&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;OggMIDI\0&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x4f 0x67 0x67 0x4d 0x49 0x44 0x49 0x00&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0117 0147 0147 0115 0111 0104 0111 0000&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[8,1]: version field&lt;br /&gt;
|-&lt;br /&gt;
| [[OggMNG|mng]]&lt;br /&gt;
| video&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;\212MNG\r\n\032\n&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x8a 0x4d 0x4e 0x47 0x0D 0x0A 0x1A 0x0A&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0212 0115 0116 0107 0015 0012 0032 0012&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
| [[OggOpus|opus]]&lt;br /&gt;
| audio&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;OpusHead&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x4f 0x70 0x75 0x73 0x48 0x65 0x61 0x64&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0117 0160 0165 0163 0110 0150 0141 0145 1044&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[8,1]: version field&lt;br /&gt;
|-&lt;br /&gt;
| [[OggPCM|pcm]]&lt;br /&gt;
| audio&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;PCM\ \ \ \ \ &#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x50 0x43 0x4d 0x20 0x20 0x20 0x20 0x20&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0120 0103 0115 0040 0040 0040 0040 0040&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[8,2]: version major field,&lt;br /&gt;
char[10,2]: version minor field&lt;br /&gt;
|-&lt;br /&gt;
| [[OggMNG|png]]&lt;br /&gt;
| video&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;\211PNG\r\n\032\n&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x89 0x50 0x4e 0x47 0x0D 0x0A 0x1A 0x0A&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0211 0120 0116 0107 0015 0012 0032 0012&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| ??&lt;br /&gt;
|-&lt;br /&gt;
| [http://svn.annodex.net/liboggz/trunk/src/liboggz/oggz_auto.h  speex]&lt;br /&gt;
| audio&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;Speex\ \ \ &#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x53 0x70 0x65 0x65 0x78 0x20 0x20 0x20&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0123 0160 0145 0145 0170 0040 0040 0040&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[28,4]: version id&lt;br /&gt;
|-&lt;br /&gt;
| [http://svn.annodex.net/liboggz/trunk/src/liboggz/oggz_auto.h  theora]&lt;br /&gt;
| video&lt;br /&gt;
| char[0,7]: &amp;lt;tt&amp;gt;&#039;\x80theora&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x80 0x74 0x68 0x65 0x6f 0x72 0x61&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0180 0164 0150 0145 0157 0162 0141&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[7,1]: major version number,&lt;br /&gt;
char[8,1]: minor version number,&lt;br /&gt;
&lt;br /&gt;
char[9,1]: version revision number&lt;br /&gt;
|-&lt;br /&gt;
| [http://svn.annodex.net/liboggz/trunk/src/liboggz/oggz_auto.h  vorbis]&lt;br /&gt;
| audio&lt;br /&gt;
| char[0,7]: &amp;lt;tt&amp;gt;&#039;\x01vorbis&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x01 0x76 0x6f 0x72 0x62 0x69 0x73&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0001 0166 0157 0162 0142 0151 0163&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[7,4]: version field&lt;br /&gt;
|-&lt;br /&gt;
| [[OggYUV4MPEG|yuv4mpeg]]&lt;br /&gt;
| video&lt;br /&gt;
| char[0,8]: &amp;lt;tt&amp;gt;&#039;YUV4MPEG&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
hex: &amp;lt;tt&amp;gt;&#039;0x59 0x55 0x56 0x34 0x4d 0x50 0x45 0x47&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oct: &amp;lt;tt&amp;gt;&#039;0131 0125 0126 0064 0115 0120 0105 0107&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| char[8,1] = &#039;2&#039; (0x32) for yuv4mpeg format version 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;char[x,y]&amp;quot; fields mean here: start at byte number x (counting from 0) for a length of y bytes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Ogg]]&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=AdminProcesses&amp;diff=15824</id>
		<title>AdminProcesses</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=AdminProcesses&amp;diff=15824"/>
		<updated>2015-05-09T23:28:52Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Administration Information */ Update some responsibilities&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Administration Information =&lt;br /&gt;
&lt;br /&gt;
Xiph is a benevolent dictatorship led by Monty, but decisions on administrative things are delegated to a committee. The committee consists of Monty, Ralph Giles, Jack Mofitt, j^, and Silvia Pfeiffer.&lt;br /&gt;
&lt;br /&gt;
=== Formats/Projects ===&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Annodex Annodex]: Silvia Pfeiffer, Conrad Parker&lt;br /&gt;
* [[CMML]]: Silvia Pfeiffer, Conrad Parker&lt;br /&gt;
* [[FLAC]]: Erik de Castro Lopo&lt;br /&gt;
* [[Icecast]]: Thomas Rücker&lt;br /&gt;
* [[Skeleton]]: Conrad Parker&lt;br /&gt;
* [[Speex]]: [[User:jmspeex|Jean-Marc Valin]]&lt;br /&gt;
* [[Opus]]: [[User:jmspeex|Jean-Marc Valin]]&lt;br /&gt;
* [[Theora]]: Ralph Giles&lt;br /&gt;
* [[Daala]]: Tim Terriberry, Jack Moffitt&lt;br /&gt;
* [[Vorbis]]: Monty&lt;br /&gt;
* [[XSPF]]: Lucas Gonze, [[User:Saoshyant|Ivo Emanuel Gonçalves]], [[User:Sping|Sebastian Pipping]]&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
* [[Spread Open Media]]: [[User:Saoshyant|Ivo Emanuel Gonçalves]]&lt;br /&gt;
* Xiph Web: ePirat&lt;br /&gt;
* Xiph Wiki: ePirate, j^&lt;br /&gt;
* Xiph SVN: j^&lt;br /&gt;
&lt;br /&gt;
== Decision process ==&lt;br /&gt;
&lt;br /&gt;
Anything that looks like it&#039;s officially authorised by Xiph needs approval.&lt;br /&gt;
&lt;br /&gt;
This may be something that goes on the web or on the wiki or anywhere else.&lt;br /&gt;
&lt;br /&gt;
If you would like something to as officially authorised, get approval from somebody on the committee (ultimately from Monty if it&#039;s unresolvable) beforehand.&lt;br /&gt;
&lt;br /&gt;
For web pages, you should in particular not edit them in svn or send a patch to the web maintainer unless you have approval.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* the [[People]] page for an overview of everyone in Xiph&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=AdminProcesses&amp;diff=15823</id>
		<title>AdminProcesses</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=AdminProcesses&amp;diff=15823"/>
		<updated>2015-05-09T23:26:02Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Formats/Projects */ Add Opus and Daala&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Administration Information =&lt;br /&gt;
&lt;br /&gt;
Xiph is a benevolent dictatorship led by Monty, but decisions on administrative things are delegated to a committee. The committee consists of Monty, Ralph Giles, Jack Mofitt, j^, Mike Smith, Zentaro Kavanagh, and Silvia Pfeiffer.&lt;br /&gt;
&lt;br /&gt;
=== Formats/Projects ===&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Annodex Annodex]: Silvia Pfeiffer, Conrad Parker&lt;br /&gt;
* [[CMML]]: Silvia Pfeiffer, Conrad Parker&lt;br /&gt;
* [[FLAC]]: Erik de Castro Lopo&lt;br /&gt;
* [[Icecast]]: Mike Smith&lt;br /&gt;
* [[Skeleton]]: Conrad Parker&lt;br /&gt;
* [[Speex]]: [[User:jmspeex|Jean-Marc Valin]]&lt;br /&gt;
* [[Opus]]: [[User:jmspeex|Jean-Marc Valin]]&lt;br /&gt;
* [[Theora]]: Ralph Giles&lt;br /&gt;
* [[Daala]]: Tim Terryberry, Jack Moffitt&lt;br /&gt;
* [[Vorbis]]: Monty&lt;br /&gt;
* [[XSPF]]: Lucas Gonze, [[User:Saoshyant|Ivo Emanuel Gonçalves]], [[User:Sping|Sebastian Pipping]]&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
* [[Spread Open Media]]: [[User:Saoshyant|Ivo Emanuel Gonçalves]]&lt;br /&gt;
* Xiph Web: Atamido&lt;br /&gt;
* Xiph Wiki: j^&lt;br /&gt;
* Xiph SVN: j^&lt;br /&gt;
&lt;br /&gt;
== Decision process ==&lt;br /&gt;
&lt;br /&gt;
Anything that looks like it&#039;s officially authorised by Xiph needs approval.&lt;br /&gt;
&lt;br /&gt;
This may be something that goes on the web or on the wiki or anywhere else.&lt;br /&gt;
&lt;br /&gt;
If you would like something to as officially authorised, get approval from somebody on the committee (ultimately from Monty if it&#039;s unresolvable) beforehand.&lt;br /&gt;
&lt;br /&gt;
For web pages, you should in particular not edit them in svn or send a patch to the web maintainer unless you have approval.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* the [[People]] page for an overview of everyone in Xiph&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=XiphWiki:Features&amp;diff=15791</id>
		<title>XiphWiki:Features</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=XiphWiki:Features&amp;diff=15791"/>
		<updated>2015-04-30T14:59:25Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Ogg Media Player removed */ Xiph generally doesn&amp;#039;t use ffmpeg/libav. We prefer to receive and share only libre formats like ogg, webm, opus and soon mp3.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recently this Wiki, which is powered by MediaWiki, was updated to [https://www.mediawiki.org/wiki/MediaWiki_1.24 MediaWiki 1.24] (the previous version we used was 1.16).&amp;lt;br /&amp;gt;&lt;br /&gt;
This was a huge update, as 1.16 was released in the end of 2010 (it was nearly 5 years old!).&lt;br /&gt;
&lt;br /&gt;
== New Features ==&lt;br /&gt;
With the update to the new MediaWiki version, there are some new features which are explained in detail in this section.&lt;br /&gt;
&lt;br /&gt;
=== Skin ===&lt;br /&gt;
One of the most noticeable new ‘features’ is probably the new design.&lt;br /&gt;
&lt;br /&gt;
We used to have an old custom version of the MonoBook skin, which was hacked together a bit and I was unable to migrate it to the new version. Therefore we are currently using the [http://www.mediawiki.org/wiki/Skin:Vector Vector] skin with a squared version of the Xiph.Org logo. It&#039;s an SVG so that it looks nice on HiDPI screens. If anyone discovers any problems with it, please leave a note on the [[{{TALKPAGENAME}}|Discussion]] for this article. Please note that &#039;&#039;&#039;the current Skin is not the final version&#039;&#039;&#039; and will be adapted to look more Xiph-like. This is a very controversial topic, as design choices always are, so some feedback about it on the [[{{TALKPAGENAME}}|Discussion]] would be nice. If a lot of people really want the old Design back, it could be recreated based on MonoBook, but if you only want a more flat-ish look, just switch to MonoBook in your [[Special:Preferences|preferences]].&lt;br /&gt;
&lt;br /&gt;
=== HiDPI Images ===&lt;br /&gt;
Everyone that has a [http://en.wikipedia.org/wiki/Retina_Display HiDPI (Retina)] Display can enjoy the new [http://www.mediawiki.org/wiki/HiDPI_display_support HiDPI Display Support]!&lt;br /&gt;
&lt;br /&gt;
What does that mean? MediaWiki will generate scaled images, as you might know. It used to only generate them with normal DPI, with HiDPI it will generate these scaled images in a high resolution version, so that they display nicely on screens that can handle them. This is done using the &#039;&#039;srcset&#039;&#039; attribute of the image tag. If you are running a not so ancient browser, it is likely to work just fine and choose the correct image for you.&lt;br /&gt;
&lt;br /&gt;
=== Syntax Highlighting ===&lt;br /&gt;
Yes, finally the Wiki is able to do syntax highlighting.&lt;br /&gt;
&lt;br /&gt;
This is done using the [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi SyntaxHighlight GeSHi] extension, which is bundled since some time with MediaWiki now. If you want to insert syntax-highlighted code, use the following:&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $coolcode = false; ?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which would produce following output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php $coolcode = false; ?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see there are specific parameters you pass as attributes/values, one is the &amp;lt;code&amp;gt;lang&amp;lt;/code&amp;gt;, which specifies the language. For a list of supported languages and more parameters that you can use, please refer to the [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi#Supported_languages SyntaxHighlight GeSHi Wiki Page].&lt;br /&gt;
&lt;br /&gt;
=== Mobile View ===&lt;br /&gt;
I installed the [http://www.mediawiki.org/wiki/Extension:MobileFrontend MobileFrontend] extension, which provides a mobile Version of the Wiki for Smartphones, which is much easier to read than with the normal Vector Skin. It currently uses the default configuration.&lt;br /&gt;
&lt;br /&gt;
=== License Notes ===&lt;br /&gt;
I have set-up license information according to the [[XiphWiki:Copyrights|Copyrights]] page, so now there is the license information on any page footer and in the editor when you are writing a new page.&lt;br /&gt;
&lt;br /&gt;
== Changed behavior ==&lt;br /&gt;
With the new Version, some things that were possible before are not possible anymore, this section details on those things. If you think, any of the changes below are a critical impact on the Wiki behavior, leave a note on the [[{{TALKPAGENAME}}|Discussion]] and we can investigate how to solve it.&lt;br /&gt;
&lt;br /&gt;
=== Visitor count ===&lt;br /&gt;
Every page now again has a visitor count which displays the number of people that have visited the Page. This was turned off in the old configuration, but as the configuration option to do this is now deprecated, it is turned on again.&lt;br /&gt;
&lt;br /&gt;
=== News Channel removed ===&lt;br /&gt;
The [http://www.mediawiki.org/wiki/Extension:News_Channel News Channel] Extension was removed, as I couldn&#039;t find any page that was actually using it. The category for which it was configured was empty, therefore it did not made much sense to keep it around. Additionally I wasn&#039;t able to find a proper download source which I fully trusted.&lt;br /&gt;
&lt;br /&gt;
=== Ogg Media Player removed ===&lt;br /&gt;
The [http://www.mediawiki.org/wiki/Extension:OggHandler OggHandler] extension which provided a Java Media Player (who does use Java anymore anyway?) and some information about Ogg Media files that are uploaded to the Wiki. As this extension now is obsolete I did not install it, the extension suggested as replacement is very complicated and I think it does more than we could ever need. One of the main problems is that Xiph doesn&#039;t support non-free media formats, so it is not possible to use TimedMediaHandler anyway. (The OggHandler was not configured properly as well, it seems.)&lt;br /&gt;
&lt;br /&gt;
== Administration Information ==&lt;br /&gt;
This section is intended for anyone that needs to ever update the Wiki to a new version or wants to change it&#039;s config or add a new Skin or Extension.&lt;br /&gt;
&lt;br /&gt;
All configuration changes must be done in the LocalSettings.php file, nowhere else! If you change something or add something, please add it to the right location, I tried to structure the file in a meaningful way using a lot of comments to make it as easy as possible to edit it. If you can&#039;t find a section your config option that needs to be adjusted fits in, add it at the end in front of the Extension includes/config part!&lt;br /&gt;
Write a short comment about what the option you add does and, if it is not clear, why this is needed.&lt;br /&gt;
&lt;br /&gt;
If you install a new extension, make sure it is really needed and that it is supported (check the MediaWiki Extension Page) for the current MediaWiki Version. If in doubt of it&#039;s quality, possibly have a quick look at the code for any suspicious things like bad code quality (wrong indentation, no comments at all…) or weird eval&#039;s!&lt;br /&gt;
&lt;br /&gt;
Some notes about the Apache configuration: It is a bit horrible (sorry). I just kept the old one and added the needed new files as it hardcodes all php files and folders that need to be accessed, even two times. (One time for SSL and another time for non-SSL) this should be improved by someone that has good Apache config skills (I am more familiar with nginx).&lt;br /&gt;
&lt;br /&gt;
Thanks for reading! Happy Wiki-editing.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15493</id>
		<title>Summer of Code Mentoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15493"/>
		<updated>2015-02-20T06:42:41Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Questionaire for 2015 */ Move answer to the correct question.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Xiph.Org Application as a mentoring organization ==&lt;br /&gt;
&lt;br /&gt;
We need to apply for consideration as a mentoring organization 2015 February 9 - 20. Google lists the following questions in their [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page#1._How_does_a_mentoring_organization faq]. Our work-in-progress answers are inline.&lt;br /&gt;
&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation is a 501(c)(3) non-profit organization dedicated to providing open and free-to-implement multimedia technology as a foundation for an interoperable, level playing field on the Internet and other digital distribution networks. Over the past 14 years we have developed most of the major patent-free and royalty-free audio and video codecs currently in use, including Opus, Vorbis, Speex, FLAC and Theora, as well as developing the Ogg streaming format, and the Icecast streaming media server. Xiph hosted libraries like liboggplay and liboggz power the underling html5 video support in Mozilla Firefox. &lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ====&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we&amp;amp;mdash;of course&amp;amp;mdash;have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.&lt;br /&gt;
&lt;br /&gt;
==== Has your organization participated in past Google Summer of Codes? ====&lt;br /&gt;
&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
==== If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects. &lt;br /&gt;
&lt;br /&gt;
Two were [http://code.google.com/soc/xiph/about.html successful]. One, a [http://code.google.com/soc/xiph/appinfo.html?csaid=5F9265EEC6FA0611 hardware implementation of a Theora decoder]: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, [http://code.google.com/soc/xiph/appinfo.html?csaid=213E2D30F095565D implementation of OggSkeleton support] in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful &amp;amp;mdash; the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program. &lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation over the last years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity, reset and be part in this years Summer of code with a focus on Icecast, also avoiding the previous emphasis on codecs, as it proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)? ====&lt;br /&gt;
&lt;br /&gt;
We have participated previously, in 2006, 2007, 2008 and 2009.&lt;br /&gt;
We applied in 2010, but weren&#039;t chosen.&lt;br /&gt;
&lt;br /&gt;
==== What Open Source Initiative approved license(s) does your project use? ====&lt;br /&gt;
&lt;br /&gt;
In general, we use the revised 3-clause BSD license for our libraries, to enable the widest possible uses of our formats and reference implementations.&lt;br /&gt;
&lt;br /&gt;
Our applications are generally GPL, LGPL or (GPL-compatible) modified.  BSD is also acceptable.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your Ideas list? ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/Summer_of_Code_2015&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list for your organization? ====&lt;br /&gt;
&lt;br /&gt;
Icecast will be the main Xiph.org project for GSoC this year.&lt;br /&gt;
&lt;br /&gt;
[http://lists.xiph.org/mailman/admindb/icecast-dev Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
[http://dir.gmane.org/gmane.comp.audio.icecast.devel Gmane archive of the Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
A complete listing of our lists is available at:&lt;br /&gt;
&lt;br /&gt;
http://lists.xiph.org/mailman/listinfo/&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization? ====&lt;br /&gt;
&lt;br /&gt;
The main channel for Xiph.org is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23xiph&amp;amp;prompt=1&amp;amp;uio=d4 #xiph on Freenode]&lt;br /&gt;
The main Icecast channel is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23icecast&amp;amp;prompt=1&amp;amp;uio=d4 #icecast on Freenode]&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tbd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now. ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/index.php/Summer_of_Code_Applications&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select the mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Introduce mentors briefly.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
==== What is your plan for dealing with disappearing students? Please be as specific as possible. ====&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student. &lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project&#039;s community before, during and after the program? ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph. &lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects.&lt;br /&gt;
&lt;br /&gt;
==== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
==== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
==== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ====&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community &amp;amp;mdash; and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
==== Additional items not listed by the GSoC FAQ ====&lt;br /&gt;
===== Who will be your main organization administrator =====&lt;br /&gt;
&lt;br /&gt;
Thomas B. Rücker, maintainer of the Icecast project.&lt;br /&gt;
&lt;br /&gt;
===== Who will your mentors be?  =====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thomas B. Rücker&#039;&#039;&#039; - IRC nick: &#039;&#039;tbr&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;NN&#039;&#039;&#039; - IRC nick:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Questionaire for 2015 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== If you did not choose &amp;quot;veteran&amp;quot; in the checkbox, have you applied in the past? If so, for what year(s)? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
=== If you chose &amp;quot;veteran&amp;quot; in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects.&lt;br /&gt;
&lt;br /&gt;
Two were successful. One, a hardware implementation of a Theora decoder: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, implementation of OggSkeleton support in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful — the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program.&lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation during past years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity to reset and be part in this year&#039;s Summer of Code with a focus on Icecast. &lt;br /&gt;
&lt;br /&gt;
=== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ===&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we—of course—have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team. This focus will avoid the previous emphasis on codecs, which proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
=== How many potential mentors do you have for this year&#039;s program? What criteria did you use to select them? ===&lt;br /&gt;
&lt;br /&gt;
Three mentors have volunteered.&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing students? ===&lt;br /&gt;
&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student.&lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently. &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing mentors? ===&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly. &lt;br /&gt;
&lt;br /&gt;
=== What steps will you take to encourage students to interact with your project&#039;s community before and during the program? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph.&lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects. &lt;br /&gt;
&lt;br /&gt;
=== What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes? ===&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community — and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
=== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
=== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Is there anything else we should know or you&#039;d like to tell us that doesn&#039;t fit anywhere else on the application? ===&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15492</id>
		<title>Summer of Code Mentoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15492"/>
		<updated>2015-02-20T06:32:01Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* How many potential mentors do you have for this year&amp;#039;s program? What criteria did you use to select them? */ stephenj has also volunteered to mentor.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Xiph.Org Application as a mentoring organization ==&lt;br /&gt;
&lt;br /&gt;
We need to apply for consideration as a mentoring organization 2015 February 9 - 20. Google lists the following questions in their [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page#1._How_does_a_mentoring_organization faq]. Our work-in-progress answers are inline.&lt;br /&gt;
&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation is a 501(c)(3) non-profit organization dedicated to providing open and free-to-implement multimedia technology as a foundation for an interoperable, level playing field on the Internet and other digital distribution networks. Over the past 14 years we have developed most of the major patent-free and royalty-free audio and video codecs currently in use, including Opus, Vorbis, Speex, FLAC and Theora, as well as developing the Ogg streaming format, and the Icecast streaming media server. Xiph hosted libraries like liboggplay and liboggz power the underling html5 video support in Mozilla Firefox. &lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ====&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we&amp;amp;mdash;of course&amp;amp;mdash;have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.&lt;br /&gt;
&lt;br /&gt;
==== Has your organization participated in past Google Summer of Codes? ====&lt;br /&gt;
&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
==== If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects. &lt;br /&gt;
&lt;br /&gt;
Two were [http://code.google.com/soc/xiph/about.html successful]. One, a [http://code.google.com/soc/xiph/appinfo.html?csaid=5F9265EEC6FA0611 hardware implementation of a Theora decoder]: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, [http://code.google.com/soc/xiph/appinfo.html?csaid=213E2D30F095565D implementation of OggSkeleton support] in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful &amp;amp;mdash; the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program. &lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation over the last years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity, reset and be part in this years Summer of code with a focus on Icecast, also avoiding the previous emphasis on codecs, as it proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)? ====&lt;br /&gt;
&lt;br /&gt;
We have participated previously, in 2006, 2007, 2008 and 2009.&lt;br /&gt;
We applied in 2010, but weren&#039;t chosen.&lt;br /&gt;
&lt;br /&gt;
==== What Open Source Initiative approved license(s) does your project use? ====&lt;br /&gt;
&lt;br /&gt;
In general, we use the revised 3-clause BSD license for our libraries, to enable the widest possible uses of our formats and reference implementations.&lt;br /&gt;
&lt;br /&gt;
Our applications are generally GPL, LGPL or (GPL-compatible) modified.  BSD is also acceptable.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your Ideas list? ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/Summer_of_Code_2015&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list for your organization? ====&lt;br /&gt;
&lt;br /&gt;
Icecast will be the main Xiph.org project for GSoC this year.&lt;br /&gt;
&lt;br /&gt;
[http://lists.xiph.org/mailman/admindb/icecast-dev Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
[http://dir.gmane.org/gmane.comp.audio.icecast.devel Gmane archive of the Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
A complete listing of our lists is available at:&lt;br /&gt;
&lt;br /&gt;
http://lists.xiph.org/mailman/listinfo/&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization? ====&lt;br /&gt;
&lt;br /&gt;
The main channel for Xiph.org is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23xiph&amp;amp;prompt=1&amp;amp;uio=d4 #xiph on Freenode]&lt;br /&gt;
The main Icecast channel is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23icecast&amp;amp;prompt=1&amp;amp;uio=d4 #icecast on Freenode]&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tbd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now. ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/index.php/Summer_of_Code_Applications&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select the mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Introduce mentors briefly.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
==== What is your plan for dealing with disappearing students? Please be as specific as possible. ====&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student. &lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project&#039;s community before, during and after the program? ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph. &lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects.&lt;br /&gt;
&lt;br /&gt;
==== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
==== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
==== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ====&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community &amp;amp;mdash; and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
==== Additional items not listed by the GSoC FAQ ====&lt;br /&gt;
===== Who will be your main organization administrator =====&lt;br /&gt;
&lt;br /&gt;
Thomas B. Rücker, maintainer of the Icecast project.&lt;br /&gt;
&lt;br /&gt;
===== Who will your mentors be?  =====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thomas B. Rücker&#039;&#039;&#039; - IRC nick: &#039;&#039;tbr&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;NN&#039;&#039;&#039; - IRC nick:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Questionaire for 2015 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== If you did not choose &amp;quot;veteran&amp;quot; in the checkbox, have you applied in the past? If so, for what year(s)? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
=== If you chose &amp;quot;veteran&amp;quot; in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects.&lt;br /&gt;
&lt;br /&gt;
Two were successful. One, a hardware implementation of a Theora decoder: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, implementation of OggSkeleton support in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful — the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program.&lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation during past years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity to reset and be part in this year&#039;s Summer of Code with a focus on Icecast. &lt;br /&gt;
&lt;br /&gt;
=== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ===&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we—of course—have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team. This focus will avoid the previous emphasis on codecs, which proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
=== How many potential mentors do you have for this year&#039;s program? What criteria did you use to select them? ===&lt;br /&gt;
&lt;br /&gt;
Three mentors have volunteered.&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing students? ===&lt;br /&gt;
&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student.&lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently. &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing mentors? ===&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly. &lt;br /&gt;
&lt;br /&gt;
=== What steps will you take to encourage students to interact with your project&#039;s community before and during the program? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph.&lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects. &lt;br /&gt;
&lt;br /&gt;
=== What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes? ===&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community — and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
=== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
=== Is there anything else we should know or you&#039;d like to tell us that doesn&#039;t fit anywhere else on the application? ===&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15491</id>
		<title>Summer of Code Mentoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15491"/>
		<updated>2015-02-20T06:27:37Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Xiph.Org Application as a mentoring organization ==&lt;br /&gt;
&lt;br /&gt;
We need to apply for consideration as a mentoring organization 2015 February 9 - 20. Google lists the following questions in their [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page#1._How_does_a_mentoring_organization faq]. Our work-in-progress answers are inline.&lt;br /&gt;
&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation is a 501(c)(3) non-profit organization dedicated to providing open and free-to-implement multimedia technology as a foundation for an interoperable, level playing field on the Internet and other digital distribution networks. Over the past 14 years we have developed most of the major patent-free and royalty-free audio and video codecs currently in use, including Opus, Vorbis, Speex, FLAC and Theora, as well as developing the Ogg streaming format, and the Icecast streaming media server. Xiph hosted libraries like liboggplay and liboggz power the underling html5 video support in Mozilla Firefox. &lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ====&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we&amp;amp;mdash;of course&amp;amp;mdash;have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.&lt;br /&gt;
&lt;br /&gt;
==== Has your organization participated in past Google Summer of Codes? ====&lt;br /&gt;
&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
==== If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects. &lt;br /&gt;
&lt;br /&gt;
Two were [http://code.google.com/soc/xiph/about.html successful]. One, a [http://code.google.com/soc/xiph/appinfo.html?csaid=5F9265EEC6FA0611 hardware implementation of a Theora decoder]: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, [http://code.google.com/soc/xiph/appinfo.html?csaid=213E2D30F095565D implementation of OggSkeleton support] in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful &amp;amp;mdash; the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program. &lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation over the last years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity, reset and be part in this years Summer of code with a focus on Icecast, also avoiding the previous emphasis on codecs, as it proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)? ====&lt;br /&gt;
&lt;br /&gt;
We have participated previously, in 2006, 2007, 2008 and 2009.&lt;br /&gt;
We applied in 2010, but weren&#039;t chosen.&lt;br /&gt;
&lt;br /&gt;
==== What Open Source Initiative approved license(s) does your project use? ====&lt;br /&gt;
&lt;br /&gt;
In general, we use the revised 3-clause BSD license for our libraries, to enable the widest possible uses of our formats and reference implementations.&lt;br /&gt;
&lt;br /&gt;
Our applications are generally GPL, LGPL or (GPL-compatible) modified.  BSD is also acceptable.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your Ideas list? ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/Summer_of_Code_2015&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list for your organization? ====&lt;br /&gt;
&lt;br /&gt;
Icecast will be the main Xiph.org project for GSoC this year.&lt;br /&gt;
&lt;br /&gt;
[http://lists.xiph.org/mailman/admindb/icecast-dev Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
[http://dir.gmane.org/gmane.comp.audio.icecast.devel Gmane archive of the Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
A complete listing of our lists is available at:&lt;br /&gt;
&lt;br /&gt;
http://lists.xiph.org/mailman/listinfo/&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization? ====&lt;br /&gt;
&lt;br /&gt;
The main channel for Xiph.org is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23xiph&amp;amp;prompt=1&amp;amp;uio=d4 #xiph on Freenode]&lt;br /&gt;
The main Icecast channel is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23icecast&amp;amp;prompt=1&amp;amp;uio=d4 #icecast on Freenode]&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tbd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now. ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/index.php/Summer_of_Code_Applications&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select the mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Introduce mentors briefly.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
==== What is your plan for dealing with disappearing students? Please be as specific as possible. ====&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student. &lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project&#039;s community before, during and after the program? ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph. &lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects.&lt;br /&gt;
&lt;br /&gt;
==== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
==== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
==== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ====&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community &amp;amp;mdash; and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
==== Additional items not listed by the GSoC FAQ ====&lt;br /&gt;
===== Who will be your main organization administrator =====&lt;br /&gt;
&lt;br /&gt;
Thomas B. Rücker, maintainer of the Icecast project.&lt;br /&gt;
&lt;br /&gt;
===== Who will your mentors be?  =====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thomas B. Rücker&#039;&#039;&#039; - IRC nick: &#039;&#039;tbr&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;NN&#039;&#039;&#039; - IRC nick:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Questionaire for 2015 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== If you did not choose &amp;quot;veteran&amp;quot; in the checkbox, have you applied in the past? If so, for what year(s)? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
=== If you chose &amp;quot;veteran&amp;quot; in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects.&lt;br /&gt;
&lt;br /&gt;
Two were successful. One, a hardware implementation of a Theora decoder: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, implementation of OggSkeleton support in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful — the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program.&lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation during past years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity to reset and be part in this year&#039;s Summer of Code with a focus on Icecast. &lt;br /&gt;
&lt;br /&gt;
=== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ===&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we—of course—have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team. This focus will avoid the previous emphasis on codecs, which proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
=== How many potential mentors do you have for this year&#039;s program? What criteria did you use to select them? ===&lt;br /&gt;
&lt;br /&gt;
Two mentors have volunteered.&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s). &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing students? ===&lt;br /&gt;
&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student.&lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently. &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing mentors? ===&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly. &lt;br /&gt;
&lt;br /&gt;
=== What steps will you take to encourage students to interact with your project&#039;s community before and during the program? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph.&lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects. &lt;br /&gt;
&lt;br /&gt;
=== What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes? ===&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community — and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
=== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
=== Is there anything else we should know or you&#039;d like to tell us that doesn&#039;t fit anywhere else on the application? ===&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15490</id>
		<title>Summer of Code Mentoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15490"/>
		<updated>2015-02-20T06:27:06Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Questionaire for 2015 */ Move codec sentence to goals section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Xiph.Org Application as a mentoring organization ==&lt;br /&gt;
&lt;br /&gt;
We need to apply for consideration as a mentoring organization 2015 February 9 - 20. Google lists the following questions in their [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page#1._How_does_a_mentoring_organization faq]. Our work-in-progress answers are inline.&lt;br /&gt;
&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation is a 501(c)(3) non-profit organization dedicated to providing open and free-to-implement multimedia technology as a foundation for an interoperable, level playing field on the Internet and other digital distribution networks. Over the past 14 years we have developed most of the major patent-free and royalty-free audio and video codecs currently in use, including Opus, Vorbis, Speex, FLAC and Theora, as well as developing the Ogg streaming format, and the Icecast streaming media server. Xiph hosted libraries like liboggplay and liboggz power the underling html5 video support in Mozilla Firefox. &lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ====&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we&amp;amp;mdash;of course&amp;amp;mdash;have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.&lt;br /&gt;
&lt;br /&gt;
==== Has your organization participated in past Google Summer of Codes? ====&lt;br /&gt;
&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
==== If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects. &lt;br /&gt;
&lt;br /&gt;
Two were [http://code.google.com/soc/xiph/about.html successful]. One, a [http://code.google.com/soc/xiph/appinfo.html?csaid=5F9265EEC6FA0611 hardware implementation of a Theora decoder]: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, [http://code.google.com/soc/xiph/appinfo.html?csaid=213E2D30F095565D implementation of OggSkeleton support] in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful &amp;amp;mdash; the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program. &lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation over the last years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity, reset and be part in this years Summer of code with a focus on Icecast, also avoiding the previous emphasis on codecs, as it proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)? ====&lt;br /&gt;
&lt;br /&gt;
We have participated previously, in 2006, 2007, 2008 and 2009.&lt;br /&gt;
We applied in 2010, but weren&#039;t chosen.&lt;br /&gt;
&lt;br /&gt;
==== What Open Source Initiative approved license(s) does your project use? ====&lt;br /&gt;
&lt;br /&gt;
In general, we use the revised 3-clause BSD license for our libraries, to enable the widest possible uses of our formats and reference implementations.&lt;br /&gt;
&lt;br /&gt;
Our applications are generally GPL, LGPL or (GPL-compatible) modified.  BSD is also acceptable.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your Ideas list? ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/Summer_of_Code_2015&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list for your organization? ====&lt;br /&gt;
&lt;br /&gt;
Icecast will be the main Xiph.org project for GSoC this year.&lt;br /&gt;
&lt;br /&gt;
[http://lists.xiph.org/mailman/admindb/icecast-dev Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
[http://dir.gmane.org/gmane.comp.audio.icecast.devel Gmane archive of the Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
A complete listing of our lists is available at:&lt;br /&gt;
&lt;br /&gt;
http://lists.xiph.org/mailman/listinfo/&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization? ====&lt;br /&gt;
&lt;br /&gt;
The main channel for Xiph.org is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23xiph&amp;amp;prompt=1&amp;amp;uio=d4 #xiph on Freenode]&lt;br /&gt;
The main Icecast channel is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23icecast&amp;amp;prompt=1&amp;amp;uio=d4 #icecast on Freenode]&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tbd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now. ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/index.php/Summer_of_Code_Applications&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select the mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Introduce mentors briefly.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
==== What is your plan for dealing with disappearing students? Please be as specific as possible. ====&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student. &lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project&#039;s community before, during and after the program? ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph. &lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects.&lt;br /&gt;
&lt;br /&gt;
==== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
==== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
==== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ====&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community &amp;amp;mdash; and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
==== Additional items not listed by the GSoC FAQ ====&lt;br /&gt;
===== Who will be your main organization administrator =====&lt;br /&gt;
&lt;br /&gt;
Thomas B. Rücker, maintainer of the Icecast project.&lt;br /&gt;
&lt;br /&gt;
===== Who will your mentors be?  =====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thomas B. Rücker&#039;&#039;&#039; - IRC nick: &#039;&#039;tbr&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;NN&#039;&#039;&#039; - IRC nick:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Questionaire for 2015 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== If you did not choose &amp;quot;veteran&amp;quot; in the checkbox, have you applied in the past? If so, for what year(s)? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
=== If you chose &amp;quot;veteran&amp;quot; in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects.&lt;br /&gt;
&lt;br /&gt;
Two were successful. One, a hardware implementation of a Theora decoder: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, implementation of OggSkeleton support in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful — the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program.&lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation during past years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity to reset and be part in this year&#039;s Summer of Code with a focus on Icecast. &lt;br /&gt;
&lt;br /&gt;
=== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ===&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we—of course—have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.&lt;br /&gt;
&lt;br /&gt;
This focus will avoiding the previous emphasis on codecs, which proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How many potential mentors do you have for this year&#039;s program? What criteria did you use to select them? ===&lt;br /&gt;
&lt;br /&gt;
Two mentors have volunteered.&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s). &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing students? ===&lt;br /&gt;
&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student.&lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently. &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing mentors? ===&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly. &lt;br /&gt;
&lt;br /&gt;
=== What steps will you take to encourage students to interact with your project&#039;s community before and during the program? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph.&lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects. &lt;br /&gt;
&lt;br /&gt;
=== What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes? ===&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community — and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
=== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
=== Is there anything else we should know or you&#039;d like to tell us that doesn&#039;t fit anywhere else on the application? ===&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15489</id>
		<title>Summer of Code Mentoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15489"/>
		<updated>2015-02-20T06:22:54Z</updated>

		<summary type="html">&lt;p&gt;Rillian: copy remaining answers from above&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Xiph.Org Application as a mentoring organization ==&lt;br /&gt;
&lt;br /&gt;
We need to apply for consideration as a mentoring organization 2015 February 9 - 20. Google lists the following questions in their [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page#1._How_does_a_mentoring_organization faq]. Our work-in-progress answers are inline.&lt;br /&gt;
&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation is a 501(c)(3) non-profit organization dedicated to providing open and free-to-implement multimedia technology as a foundation for an interoperable, level playing field on the Internet and other digital distribution networks. Over the past 14 years we have developed most of the major patent-free and royalty-free audio and video codecs currently in use, including Opus, Vorbis, Speex, FLAC and Theora, as well as developing the Ogg streaming format, and the Icecast streaming media server. Xiph hosted libraries like liboggplay and liboggz power the underling html5 video support in Mozilla Firefox. &lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ====&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we&amp;amp;mdash;of course&amp;amp;mdash;have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.&lt;br /&gt;
&lt;br /&gt;
==== Has your organization participated in past Google Summer of Codes? ====&lt;br /&gt;
&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
==== If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects. &lt;br /&gt;
&lt;br /&gt;
Two were [http://code.google.com/soc/xiph/about.html successful]. One, a [http://code.google.com/soc/xiph/appinfo.html?csaid=5F9265EEC6FA0611 hardware implementation of a Theora decoder]: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, [http://code.google.com/soc/xiph/appinfo.html?csaid=213E2D30F095565D implementation of OggSkeleton support] in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful &amp;amp;mdash; the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program. &lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation over the last years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity, reset and be part in this years Summer of code with a focus on Icecast, also avoiding the previous emphasis on codecs, as it proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)? ====&lt;br /&gt;
&lt;br /&gt;
We have participated previously, in 2006, 2007, 2008 and 2009.&lt;br /&gt;
We applied in 2010, but weren&#039;t chosen.&lt;br /&gt;
&lt;br /&gt;
==== What Open Source Initiative approved license(s) does your project use? ====&lt;br /&gt;
&lt;br /&gt;
In general, we use the revised 3-clause BSD license for our libraries, to enable the widest possible uses of our formats and reference implementations.&lt;br /&gt;
&lt;br /&gt;
Our applications are generally GPL, LGPL or (GPL-compatible) modified.  BSD is also acceptable.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your Ideas list? ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/Summer_of_Code_2015&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list for your organization? ====&lt;br /&gt;
&lt;br /&gt;
Icecast will be the main Xiph.org project for GSoC this year.&lt;br /&gt;
&lt;br /&gt;
[http://lists.xiph.org/mailman/admindb/icecast-dev Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
[http://dir.gmane.org/gmane.comp.audio.icecast.devel Gmane archive of the Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
A complete listing of our lists is available at:&lt;br /&gt;
&lt;br /&gt;
http://lists.xiph.org/mailman/listinfo/&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization? ====&lt;br /&gt;
&lt;br /&gt;
The main channel for Xiph.org is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23xiph&amp;amp;prompt=1&amp;amp;uio=d4 #xiph on Freenode]&lt;br /&gt;
The main Icecast channel is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23icecast&amp;amp;prompt=1&amp;amp;uio=d4 #icecast on Freenode]&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tbd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now. ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/index.php/Summer_of_Code_Applications&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select the mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Introduce mentors briefly.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
==== What is your plan for dealing with disappearing students? Please be as specific as possible. ====&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student. &lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project&#039;s community before, during and after the program? ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph. &lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects.&lt;br /&gt;
&lt;br /&gt;
==== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
==== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
==== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ====&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community &amp;amp;mdash; and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
==== Additional items not listed by the GSoC FAQ ====&lt;br /&gt;
===== Who will be your main organization administrator =====&lt;br /&gt;
&lt;br /&gt;
Thomas B. Rücker, maintainer of the Icecast project.&lt;br /&gt;
&lt;br /&gt;
===== Who will your mentors be?  =====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thomas B. Rücker&#039;&#039;&#039; - IRC nick: &#039;&#039;tbr&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;NN&#039;&#039;&#039; - IRC nick:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Questionaire for 2015 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== If you did not choose &amp;quot;veteran&amp;quot; in the checkbox, have you applied in the past? If so, for what year(s)? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
=== If you chose &amp;quot;veteran&amp;quot; in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects.&lt;br /&gt;
&lt;br /&gt;
Two were successful. One, a hardware implementation of a Theora decoder: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, implementation of OggSkeleton support in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful — the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program.&lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation during past years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity to reset and be part in this year&#039;s Summer of Code with a focus on Icecast. This focus will avoiding the previous emphasis on codecs, which proved very challenging to most student participants. &lt;br /&gt;
&lt;br /&gt;
=== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ===&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we—of course—have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team. &lt;br /&gt;
&lt;br /&gt;
=== How many potential mentors do you have for this year&#039;s program? What criteria did you use to select them? ===&lt;br /&gt;
&lt;br /&gt;
Two mentors have volunteered.&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s). &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing students? ===&lt;br /&gt;
&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student.&lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently. &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing mentors? ===&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly. &lt;br /&gt;
&lt;br /&gt;
=== What steps will you take to encourage students to interact with your project&#039;s community before and during the program? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph.&lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects. &lt;br /&gt;
&lt;br /&gt;
=== What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes? ===&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community — and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
=== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
=== Is there anything else we should know or you&#039;d like to tell us that doesn&#039;t fit anywhere else on the application? ===&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15488</id>
		<title>Summer of Code Mentoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15488"/>
		<updated>2015-02-20T06:19:28Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Answers so far, copied from above with some minor modifications.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Xiph.Org Application as a mentoring organization ==&lt;br /&gt;
&lt;br /&gt;
We need to apply for consideration as a mentoring organization 2015 February 9 - 20. Google lists the following questions in their [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page#1._How_does_a_mentoring_organization faq]. Our work-in-progress answers are inline.&lt;br /&gt;
&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation is a 501(c)(3) non-profit organization dedicated to providing open and free-to-implement multimedia technology as a foundation for an interoperable, level playing field on the Internet and other digital distribution networks. Over the past 14 years we have developed most of the major patent-free and royalty-free audio and video codecs currently in use, including Opus, Vorbis, Speex, FLAC and Theora, as well as developing the Ogg streaming format, and the Icecast streaming media server. Xiph hosted libraries like liboggplay and liboggz power the underling html5 video support in Mozilla Firefox. &lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ====&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we&amp;amp;mdash;of course&amp;amp;mdash;have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.&lt;br /&gt;
&lt;br /&gt;
==== Has your organization participated in past Google Summer of Codes? ====&lt;br /&gt;
&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
==== If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects. &lt;br /&gt;
&lt;br /&gt;
Two were [http://code.google.com/soc/xiph/about.html successful]. One, a [http://code.google.com/soc/xiph/appinfo.html?csaid=5F9265EEC6FA0611 hardware implementation of a Theora decoder]: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, [http://code.google.com/soc/xiph/appinfo.html?csaid=213E2D30F095565D implementation of OggSkeleton support] in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful &amp;amp;mdash; the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program. &lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation over the last years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity, reset and be part in this years Summer of code with a focus on Icecast, also avoiding the previous emphasis on codecs, as it proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)? ====&lt;br /&gt;
&lt;br /&gt;
We have participated previously, in 2006, 2007, 2008 and 2009.&lt;br /&gt;
We applied in 2010, but weren&#039;t chosen.&lt;br /&gt;
&lt;br /&gt;
==== What Open Source Initiative approved license(s) does your project use? ====&lt;br /&gt;
&lt;br /&gt;
In general, we use the revised 3-clause BSD license for our libraries, to enable the widest possible uses of our formats and reference implementations.&lt;br /&gt;
&lt;br /&gt;
Our applications are generally GPL, LGPL or (GPL-compatible) modified.  BSD is also acceptable.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your Ideas list? ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/Summer_of_Code_2015&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list for your organization? ====&lt;br /&gt;
&lt;br /&gt;
Icecast will be the main Xiph.org project for GSoC this year.&lt;br /&gt;
&lt;br /&gt;
[http://lists.xiph.org/mailman/admindb/icecast-dev Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
[http://dir.gmane.org/gmane.comp.audio.icecast.devel Gmane archive of the Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
A complete listing of our lists is available at:&lt;br /&gt;
&lt;br /&gt;
http://lists.xiph.org/mailman/listinfo/&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization? ====&lt;br /&gt;
&lt;br /&gt;
The main channel for Xiph.org is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23xiph&amp;amp;prompt=1&amp;amp;uio=d4 #xiph on Freenode]&lt;br /&gt;
The main Icecast channel is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23icecast&amp;amp;prompt=1&amp;amp;uio=d4 #icecast on Freenode]&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tbd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now. ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/index.php/Summer_of_Code_Applications&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select the mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Introduce mentors briefly.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
==== What is your plan for dealing with disappearing students? Please be as specific as possible. ====&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student. &lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project&#039;s community before, during and after the program? ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph. &lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects.&lt;br /&gt;
&lt;br /&gt;
==== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
==== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
==== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ====&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community &amp;amp;mdash; and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
==== Additional items not listed by the GSoC FAQ ====&lt;br /&gt;
===== Who will be your main organization administrator =====&lt;br /&gt;
&lt;br /&gt;
Thomas B. Rücker, maintainer of the Icecast project.&lt;br /&gt;
&lt;br /&gt;
===== Who will your mentors be?  =====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thomas B. Rücker&#039;&#039;&#039; - IRC nick: &#039;&#039;tbr&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;NN&#039;&#039;&#039; - IRC nick:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Questionaire for 2015 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== If you did not choose &amp;quot;veteran&amp;quot; in the checkbox, have you applied in the past? If so, for what year(s)? ===&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
=== If you chose &amp;quot;veteran&amp;quot; in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects.&lt;br /&gt;
&lt;br /&gt;
Two were successful. One, a hardware implementation of a Theora decoder: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, implementation of OggSkeleton support in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful — the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program.&lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation during past years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity to reset and be part in this year&#039;s Summer of Code with a focus on Icecast. This focus will avoiding the previous emphasis on codecs, which proved very challenging to most student participants. &lt;br /&gt;
&lt;br /&gt;
=== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ===&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we—of course—have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team. &lt;br /&gt;
&lt;br /&gt;
=== How many potential mentors do you have for this year&#039;s program? What criteria did you use to select them? ===&lt;br /&gt;
&lt;br /&gt;
Two mentors have volunteered.&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s). &lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing students? ===&lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing mentors? ===&lt;br /&gt;
&lt;br /&gt;
=== What steps will you take to encourage students to interact with your project&#039;s community before and during the program? ===&lt;br /&gt;
&lt;br /&gt;
=== What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes? ===&lt;br /&gt;
&lt;br /&gt;
=== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Is there anything else we should know or you&#039;d like to tell us that doesn&#039;t fit anywhere else on the application? ===&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15487</id>
		<title>Summer of Code Mentoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Summer_of_Code_Mentoring&amp;diff=15487"/>
		<updated>2015-02-20T06:17:49Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Dump questionaire from the 2015 organization application&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Xiph.Org Application as a mentoring organization ==&lt;br /&gt;
&lt;br /&gt;
We need to apply for consideration as a mentoring organization 2015 February 9 - 20. Google lists the following questions in their [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page#1._How_does_a_mentoring_organization faq]. Our work-in-progress answers are inline.&lt;br /&gt;
&lt;br /&gt;
==== Describe your organization. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation is a 501(c)(3) non-profit organization dedicated to providing open and free-to-implement multimedia technology as a foundation for an interoperable, level playing field on the Internet and other digital distribution networks. Over the past 14 years we have developed most of the major patent-free and royalty-free audio and video codecs currently in use, including Opus, Vorbis, Speex, FLAC and Theora, as well as developing the Ogg streaming format, and the Icecast streaming media server. Xiph hosted libraries like liboggplay and liboggz power the underling html5 video support in Mozilla Firefox. &lt;br /&gt;
&lt;br /&gt;
==== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ====&lt;br /&gt;
&lt;br /&gt;
We believe that the Xiph.Org Foundation and specifically the Icecast Project has a wide-ranging set of projects that are both challenging and educational for students. Furthermore, they are important/useful goals for the wider technology community, and especially users of open source software.&lt;br /&gt;
&lt;br /&gt;
We believe that Xiph&#039;s mandate to develop multimedia standards and software is an important one, but as a small non-profit with no official staff we&amp;amp;mdash;of course&amp;amp;mdash;have limited resources. We hope that the results of GSoC will include the direct benefit of new software development, but also help grow the number of active participants in a long-term manner. Most of our core developers started as students, but have since moved on from their student days. Attracting and retaining students is essential to the health and sustainability of our project and is an important goal for all of us.&lt;br /&gt;
&lt;br /&gt;
The Icecast multimedia streaming project has recently regained development momentum, but we are looking to involve more people, especially students. This should help us sustain momentum and strengthen our team.&lt;br /&gt;
&lt;br /&gt;
==== Has your organization participated in past Google Summer of Codes? ====&lt;br /&gt;
&lt;br /&gt;
Yes&lt;br /&gt;
&lt;br /&gt;
==== If you answered “yes” to the question above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Foundation was invited to participate in GSoc in 2006, 2007, 2008 and 2009, and mentored Annodex-related projects as well.&lt;br /&gt;
&lt;br /&gt;
In 2006, we were granted funding for 6 slots. One we weren&#039;t able to fill because our chosen students picked or were assigned to other projects. &lt;br /&gt;
&lt;br /&gt;
Two were [http://code.google.com/soc/xiph/about.html successful]. One, a [http://code.google.com/soc/xiph/appinfo.html?csaid=5F9265EEC6FA0611 hardware implementation of a Theora decoder]: this project produced HDL implementation of the major decoder components, to be used with a general purpose CPU, such as the open source LEON sparc implementation. Real time playback of SD content was demonstrated using these components in combination with the proprietary Nagios CPU design. Two, [http://code.google.com/soc/xiph/appinfo.html?csaid=213E2D30F095565D implementation of OggSkeleton support] in various tools. We have maintained contact with the two successful students since the program finished. One has continued to contribute code outside the GSoC term, continuing related work.&lt;br /&gt;
&lt;br /&gt;
The remaining three were unsuccessful through lack of necessary skills, health complications, insufficient motivation, or some combination of all of these.&lt;br /&gt;
&lt;br /&gt;
In 2007, we were given 2 project slots. One was an extension of the hardware decoder effort from last year. The other was helping to do R&amp;amp;D on Xiph&#039;s next-generation audio codec, Ghost. Both were marginally successful &amp;amp;mdash; the students reached the minimum goals set, but little more, and did not maintain contact with Xiph after the program. &lt;br /&gt;
&lt;br /&gt;
We participated in 2008 and 2009. Sadly at this time we&#039;re unable to locate a report about both years and must assume that both were unsuccessful.&lt;br /&gt;
&lt;br /&gt;
We enjoyed our participation over the last years. It provided needed external input, energizing our project and improving our connections to the rest of the open source community. We&#039;d like to take the opportunity, reset and be part in this years Summer of code with a focus on Icecast, also avoiding the previous emphasis on codecs, as it proved very challenging to most student participants.&lt;br /&gt;
&lt;br /&gt;
==== If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)? ====&lt;br /&gt;
&lt;br /&gt;
We have participated previously, in 2006, 2007, 2008 and 2009.&lt;br /&gt;
We applied in 2010, but weren&#039;t chosen.&lt;br /&gt;
&lt;br /&gt;
==== What Open Source Initiative approved license(s) does your project use? ====&lt;br /&gt;
&lt;br /&gt;
In general, we use the revised 3-clause BSD license for our libraries, to enable the widest possible uses of our formats and reference implementations.&lt;br /&gt;
&lt;br /&gt;
Our applications are generally GPL, LGPL or (GPL-compatible) modified.  BSD is also acceptable.&lt;br /&gt;
&lt;br /&gt;
==== What is the URL for your Ideas list? ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/Summer_of_Code_2015&lt;br /&gt;
&lt;br /&gt;
==== What is the main development mailing list for your organization? ====&lt;br /&gt;
&lt;br /&gt;
Icecast will be the main Xiph.org project for GSoC this year.&lt;br /&gt;
&lt;br /&gt;
[http://lists.xiph.org/mailman/admindb/icecast-dev Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
[http://dir.gmane.org/gmane.comp.audio.icecast.devel Gmane archive of the Icecast developer mailing list]&lt;br /&gt;
&lt;br /&gt;
A complete listing of our lists is available at:&lt;br /&gt;
&lt;br /&gt;
http://lists.xiph.org/mailman/listinfo/&lt;br /&gt;
&lt;br /&gt;
==== What is the main IRC channel for your organization? ====&lt;br /&gt;
&lt;br /&gt;
The main channel for Xiph.org is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23xiph&amp;amp;prompt=1&amp;amp;uio=d4 #xiph on Freenode]&lt;br /&gt;
The main Icecast channel is [http://webchat.freenode.net?nick=gsoc.&amp;amp;channels=%23icecast&amp;amp;prompt=1&amp;amp;uio=d4 #icecast on Freenode]&lt;br /&gt;
&lt;br /&gt;
==== Who will be your backup organization administrator? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;tbd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Does your organization have an application template you would like to see students use? If so, please provide it now. ====&lt;br /&gt;
&lt;br /&gt;
http://wiki.xiph.org/index.php/Summer_of_Code_Applications&lt;br /&gt;
&lt;br /&gt;
==== What criteria did you use to select the mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
We selected our mentors from the &#039;core&#039; developers and contributors within Xiph. Mentors were selected based on how well they know the code area they&#039;re volunteering to mentor, how long they&#039;ve been part of Xiph, how well they interact with others (particularly in terms of building community around our projects).&lt;br /&gt;
&lt;br /&gt;
The majority of the mentors we&#039;ve selected are core developers on the various Xiph sub-projects that they&#039;ve volunteered to mentor for. They have been contributing to the Xiph.Org Foundation for at least several years, and have shown a persistent interest both in the software we develop, and in helping to create a community around it. We have also made sure that each mentor has sufficient time available to adequately mentor their student(s).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TODO: Introduce mentors briefly.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
==== What is your plan for dealing with disappearing students? Please be as specific as possible. ====&lt;br /&gt;
Our first goal will be to provide necessary support from the community such that our students do not want to suddenly vanish. We want our students to become well integrated members of the community, with ongoing contributions. That said, we&#039;re well aware of the possibility of a student disappearing.&lt;br /&gt;
&lt;br /&gt;
We intend to be reasonably strict with requiring students to keep in touch - whilst we&#039;re quite happy for them to be absent for a while if they let us know in advance, we will intend to get at least twice-weekly updates from each student. &lt;br /&gt;
&lt;br /&gt;
The mentors will have primary responsibility for their students, but the admins are also going to ensure that the mentors are indeed keeping track of what their students are up to. We&#039;ll ask our students to provide means for us to get in touch beyond email, where possible - phone, etc - in case we need to get in touch urgently.&lt;br /&gt;
&lt;br /&gt;
==== What is your plan for dealing with disappearing mentors? Please be as specific as possible. ====&lt;br /&gt;
&lt;br /&gt;
Our mentors are all people who are major contributors to the Xiph projects - and have generally been contributing for many years. So, we think it&#039;s pretty unlikely that a mentor will disappear. However, we do have more mentors available than we expect to eventually have students (based on past years), so we&#039;re well able to take up the slack if a mentor becomes unavailable for any reason.&lt;br /&gt;
&lt;br /&gt;
Our admins will ensure that the mentors are keeping up with the students appropriately, and should it be absolutely necessary, we will either find another appropriate mentor, or the admins will take over mentoring the students directly.&lt;br /&gt;
&lt;br /&gt;
==== What steps will you take to encourage students to interact with your project&#039;s community before, during and after the program? ====&lt;br /&gt;
&lt;br /&gt;
The Xiph.Org Founation conducts much of its development discussion and community-building on our IRC channels. We&#039;ll ask that the students be present there while they&#039;re working, where adequate network access makes that possible. We hope to make them feel that they&#039;re an important part of our community; that their contributions are really making a difference towards the goals of Xiph. &lt;br /&gt;
&lt;br /&gt;
We intend to be open to their contributions - whilst we&#039;re aware that initially their work may not be of a quality sufficient to go into our core codebase immediately, we&#039;ll give them write access to our repositories to work on a branch. We&#039;ll ask them to be open in discussing and designing their contributions on IRC and our mailing lists. Our application template welcomes them to come and ask us questions when they&#039;re trying to write up their application. We hope that some, or even all, of the students will continue to be part of the Xiph community after SoC concludes. For those students who have not previously contributed to open source software, we&#039;ll teach them about how important community building is for the ongoing health of such projects.&lt;br /&gt;
&lt;br /&gt;
==== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
We are a well established organization and participated in GSoC in the past.&lt;br /&gt;
&lt;br /&gt;
==== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ====&lt;br /&gt;
&lt;br /&gt;
==== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? ====&lt;br /&gt;
&lt;br /&gt;
We hope that the mentoring process and the experiences they have as part of GSoC will make the students interested in remaining part of Xiph, continuing development on the software they&#039;ve been working on, and perhaps nurturing their patches towards inclusion in an actual release.&lt;br /&gt;
&lt;br /&gt;
A very important part of GSoC is for us to make them active members of the community, in particular on the irc channels and the mailing lists. Past experience tells that once they have become part of that community, they will stick around for longer.&lt;br /&gt;
&lt;br /&gt;
We will encourage them not to consider this just &amp;quot;a summer job&amp;quot;, but as being part of a real community &amp;amp;mdash; and doing something that is both interesting, and useful to the wider world.&lt;br /&gt;
&lt;br /&gt;
==== Additional items not listed by the GSoC FAQ ====&lt;br /&gt;
===== Who will be your main organization administrator =====&lt;br /&gt;
&lt;br /&gt;
Thomas B. Rücker, maintainer of the Icecast project.&lt;br /&gt;
&lt;br /&gt;
===== Who will your mentors be?  =====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thomas B. Rücker&#039;&#039;&#039; - IRC nick: &#039;&#039;tbr&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;NN&#039;&#039;&#039; - IRC nick:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Questionaire for 2015 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== If you did not choose &amp;quot;veteran&amp;quot; in the checkbox, have you applied in the past? If so, for what year(s)? ===&lt;br /&gt;
&lt;br /&gt;
=== If you chose &amp;quot;veteran&amp;quot; in the checkbox, please summarize your involvement in Google Summer of Code and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ===&lt;br /&gt;
&lt;br /&gt;
=== Why is your organization applying to participate in Google Summer of Code 2015? What do you hope to gain by participating? ===&lt;br /&gt;
&lt;br /&gt;
=== How many potential mentors do you have for this year&#039;s program? What criteria did you use to select them? ===&lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing students? ===&lt;br /&gt;
&lt;br /&gt;
=== What is your plan for dealing with disappearing mentors? ===&lt;br /&gt;
&lt;br /&gt;
=== What steps will you take to encourage students to interact with your project&#039;s community before and during the program? ===&lt;br /&gt;
&lt;br /&gt;
=== What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes? ===&lt;br /&gt;
&lt;br /&gt;
=== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ===&lt;br /&gt;
&lt;br /&gt;
=== Is there anything else we should know or you&#039;d like to tell us that doesn&#039;t fit anywhere else on the application? ===&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=How_to_help&amp;diff=15460</id>
		<title>How to help</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=How_to_help&amp;diff=15460"/>
		<updated>2015-02-11T21:58:11Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Move OggDSF downpage. This is no longer an active project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page is intended to collect ideas and areas where new participants can contribute to Xiph.org initiatives. &lt;br /&gt;
Because this is an open wiki not all of these points have been reviewed with core Xiph developers.  It is always best to coordinate your efforts on the relevant Xiph mailing lists and IRC channels.&lt;br /&gt;
&lt;br /&gt;
One of the best ways people can contribute is by using the tools and formats. This accomplishes two primary goals:&lt;br /&gt;
#By providing materials in free formats you help lower the barriers to adoption for others&lt;br /&gt;
#By using the tools you will discover problems which you can report contributing to further development and refinement &lt;br /&gt;
&lt;br /&gt;
Must of our organizational discussion happens over irc on the freenode.net network. See project-specific channels below,&lt;br /&gt;
or join #xiph on irc.freenode.net for general information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software outreach==&lt;br /&gt;
Xiph.org software often reaches users via other software. E.g. Few people run libtheora by itself, many people use libtheora through other tools like VLC, Firefox, or gstreamer.  These tools are maintained by other projects but the reliability and robustness of the free format support in these applications is critical to the public&#039;s ability to use Xiph.org formats.  &lt;br /&gt;
&lt;br /&gt;
Relevant contribution areas:&lt;br /&gt;
#Testing, e.g. [[TheoraTestsuite]] and reporting bugs into the relevant bug trackers&lt;br /&gt;
#Cross porting features&lt;br /&gt;
#Updating tools to support the latest features in the Xiph.org implementations (e.g. two-pass encoding for video tools)&lt;br /&gt;
&lt;br /&gt;
==Theora specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
*Identifying videos where 1.1 or 1.2-development (ptalarbvorm) produce significantly worse results than prior versions. (These case is important compared to &amp;quot;works worse than some random format&amp;quot; because the differences are more likely to be actionable rather than just chance consequences related to differences in the encoders overall behaviour)&lt;br /&gt;
&lt;br /&gt;
*Decoder assembly optimization for additional platforms (MIPS64; PPC)&lt;br /&gt;
**Skills required: optimization and development experience on the relevant platform. &lt;br /&gt;
&lt;br /&gt;
*Decoder general performance improvements&lt;br /&gt;
**Skills required: C language; Use of a profiler. Optionally: SIMD assembly on relevant platforms.&lt;br /&gt;
&lt;br /&gt;
==Vorbis specific activities==&lt;br /&gt;
Places to discuss development: Vorbis mailing list;  #vorbis on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Identifying test samples where Vorbis encodings at very high quality are not completely transparent under careful listening tests. &lt;br /&gt;
*Identifying test cases that exemplify the improvements in the current AoTuV development. (Helps with AoTuV merging)&lt;br /&gt;
*Identifying test samples where Vorbis performs worse than other formats.&lt;br /&gt;
&lt;br /&gt;
==Skeleton specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
==Liboggz specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
==Cortado specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
Cortado is contains Java implementation of Vorbis/Theora/Kate/Ogg and an applet that allows playback of these formats on the web. It is the most popular fallback for HTML5 Ogg video, allowing users on legacy browsers (as old as Netscape 4) to play modern web video.&lt;br /&gt;
* See the cortado todo: [[Cortado/todo]]&lt;br /&gt;
&lt;br /&gt;
==Flash port of Theora==&lt;br /&gt;
There are several workable implementations of Vorbis for the flash virtual machine. An implementation of Theora would allow the creation of a flash applet which plays Ogg video. One possible tool for this would be Adobe Alchemy, a C to Flash compiler which can be used to compile libtheora for flash.  Beyond the basic codec porting work there is significant effort required building a player infrastructure around them because the built-in flash video infrastructure are not available for user implemented codecs (unlike silverlight). This initiative is primarily hindered by the surprising lack of overlap between flash developers and people who care about unencumbered formats.&lt;br /&gt;
&lt;br /&gt;
==Additional tools work==&lt;br /&gt;
*Build and refine fall-back tools for HTML5 video based on Cortado, Flash Vorbis, and the upcoming Silverlight applet support.  Many existing fallback tools require users to adopt H.264, such tools are valuable for media providers who are willing and able to distribute H.264 but they are not useful for ones who are not, and they are not tools that Xiph can really stand behind.&lt;br /&gt;
&lt;br /&gt;
==OggDSF specific activities==&lt;br /&gt;
Directshow is the windows video codec API, OggDSF provides support for Vorbis/Theora/Speex/Flac and Ogg in directshow.&lt;br /&gt;
&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
*Testing. Much of the Xiph.org community are run various unix-like operating systems. While OggDSF is widely used, it isn&#039;t frequently used by much of the more experienced Xiph.org community and hasn&#039;t has sufficient scrutiny. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PR and organizational matters==&lt;br /&gt;
*Participate in external promotional activities such as [http://www.fsf.org/resources/formats/playogg PlayOgg!]&lt;br /&gt;
*[http://videoonwikipedia.org Contribute] to Wikipedia&#039;s video collection&lt;br /&gt;
*Locate media coverage regarding free formats and related areas and share it with the the mailing lists&lt;br /&gt;
*Encourage additional media distributors to support HTML5 with Theora&lt;br /&gt;
&lt;br /&gt;
==Internet outreach==&lt;br /&gt;
* Encourage places using poor tools (e.g. ffvorbis encoder) to switch to better software.&lt;br /&gt;
* Encourage adoption of Theora video for html5 and theora based fallbacks&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=How_to_help&amp;diff=15459</id>
		<title>How to help</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=How_to_help&amp;diff=15459"/>
		<updated>2015-02-11T21:57:30Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Mention #xiph at the top of the page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page is intended to collect ideas and areas where new participants can contribute to Xiph.org initiatives. &lt;br /&gt;
Because this is an open wiki not all of these points have been reviewed with core Xiph developers.  It is always best to coordinate your efforts on the relevant Xiph mailing lists and IRC channels.&lt;br /&gt;
&lt;br /&gt;
One of the best ways people can contribute is by using the tools and formats. This accomplishes two primary goals:&lt;br /&gt;
#By providing materials in free formats you help lower the barriers to adoption for others&lt;br /&gt;
#By using the tools you will discover problems which you can report contributing to further development and refinement &lt;br /&gt;
&lt;br /&gt;
Must of our organizational discussion happens over irc on the freenode.net network. See project-specific channels below,&lt;br /&gt;
or join #xiph on irc.freenode.net for general information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OggDSF specific activities==&lt;br /&gt;
Directshow is the windows video codec API, OggDSF provides support for Vorbis/Theora/Speex/Flac and Ogg in directshow.&lt;br /&gt;
&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
*Testing. Much of the Xiph.org community are run various unix-like operating systems. While OggDSF is widely used, it isn&#039;t frequently used by much of the more experienced Xiph.org community and hasn&#039;t has sufficient scrutiny. &lt;br /&gt;
&lt;br /&gt;
==Software outreach==&lt;br /&gt;
Xiph.org software often reaches users via other software. E.g. Few people run libtheora by itself, many people use libtheora through other tools like VLC, Firefox, or gstreamer.  These tools are maintained by other projects but the reliability and robustness of the free format support in these applications is critical to the public&#039;s ability to use Xiph.org formats.  &lt;br /&gt;
&lt;br /&gt;
Relevant contribution areas:&lt;br /&gt;
#Testing, e.g. [[TheoraTestsuite]] and reporting bugs into the relevant bug trackers&lt;br /&gt;
#Cross porting features&lt;br /&gt;
#Updating tools to support the latest features in the Xiph.org implementations (e.g. two-pass encoding for video tools)&lt;br /&gt;
&lt;br /&gt;
==Theora specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
*Identifying videos where 1.1 or 1.2-development (ptalarbvorm) produce significantly worse results than prior versions. (These case is important compared to &amp;quot;works worse than some random format&amp;quot; because the differences are more likely to be actionable rather than just chance consequences related to differences in the encoders overall behaviour)&lt;br /&gt;
&lt;br /&gt;
*Decoder assembly optimization for additional platforms (MIPS64; PPC)&lt;br /&gt;
**Skills required: optimization and development experience on the relevant platform. &lt;br /&gt;
&lt;br /&gt;
*Decoder general performance improvements&lt;br /&gt;
**Skills required: C language; Use of a profiler. Optionally: SIMD assembly on relevant platforms.&lt;br /&gt;
&lt;br /&gt;
==Vorbis specific activities==&lt;br /&gt;
Places to discuss development: Vorbis mailing list;  #vorbis on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Identifying test samples where Vorbis encodings at very high quality are not completely transparent under careful listening tests. &lt;br /&gt;
*Identifying test cases that exemplify the improvements in the current AoTuV development. (Helps with AoTuV merging)&lt;br /&gt;
*Identifying test samples where Vorbis performs worse than other formats.&lt;br /&gt;
&lt;br /&gt;
==Skeleton specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
==Liboggz specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
==Cortado specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
Cortado is contains Java implementation of Vorbis/Theora/Kate/Ogg and an applet that allows playback of these formats on the web. It is the most popular fallback for HTML5 Ogg video, allowing users on legacy browsers (as old as Netscape 4) to play modern web video.&lt;br /&gt;
* See the cortado todo: [[Cortado/todo]]&lt;br /&gt;
&lt;br /&gt;
==Flash port of Theora==&lt;br /&gt;
There are several workable implementations of Vorbis for the flash virtual machine. An implementation of Theora would allow the creation of a flash applet which plays Ogg video. One possible tool for this would be Adobe Alchemy, a C to Flash compiler which can be used to compile libtheora for flash.  Beyond the basic codec porting work there is significant effort required building a player infrastructure around them because the built-in flash video infrastructure are not available for user implemented codecs (unlike silverlight). This initiative is primarily hindered by the surprising lack of overlap between flash developers and people who care about unencumbered formats.&lt;br /&gt;
&lt;br /&gt;
==Additional tools work==&lt;br /&gt;
*Build and refine fall-back tools for HTML5 video based on Cortado, Flash Vorbis, and the upcoming Silverlight applet support.  Many existing fallback tools require users to adopt H.264, such tools are valuable for media providers who are willing and able to distribute H.264 but they are not useful for ones who are not, and they are not tools that Xiph can really stand behind.&lt;br /&gt;
&lt;br /&gt;
==PR and organizational matters==&lt;br /&gt;
*Participate in external promotional activities such as [http://www.fsf.org/resources/formats/playogg PlayOgg!]&lt;br /&gt;
*[http://videoonwikipedia.org Contribute] to Wikipedia&#039;s video collection&lt;br /&gt;
*Locate media coverage regarding free formats and related areas and share it with the the mailing lists&lt;br /&gt;
*Encourage additional media distributors to support HTML5 with Theora&lt;br /&gt;
&lt;br /&gt;
==Internet outreach==&lt;br /&gt;
* Encourage places using poor tools (e.g. ffvorbis encoder) to switch to better software.&lt;br /&gt;
* Encourage adoption of Theora video for html5 and theora based fallbacks&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=MIME_Types_and_File_Extensions&amp;diff=15268</id>
		<title>MIME Types and File Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=MIME_Types_and_File_Extensions&amp;diff=15268"/>
		<updated>2015-01-08T22:32:43Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Add opus filetype.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;STATUS: Work on RFCs and tools is in process to reflect these policies. More details are [http://wiki.xiph.org/index.php/MIMETypesCodecs here], which also include a specification of the codecs parameter of the MIME tyes. Use the correct file extensions straight away.&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: currently, application/ogg, video/ogg, audio/ogg and audio/vorbis are registered MIME types.  Registration for the others will be undertaken. During this process, the &amp;quot;x-&amp;quot; versions of these unregistered MIME types may be used.&lt;br /&gt;
&lt;br /&gt;
IMPLEMENTATION recommendations and patches: see [[MIME-Migration]].&lt;br /&gt;
&lt;br /&gt;
== .ogg - audio/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Vorbis I Profile&lt;br /&gt;
* .ogg applies now for Vorbis I files only&lt;br /&gt;
* .ogg has more recently also been used for Ogg FLAC and for Theora, too &amp;amp;mdash; these uses are deprecated now in favor of .oga and .ogv respectively&lt;br /&gt;
* has been defined in RFC 3534 http://www.ietf.org/rfc/rfc3534.txt for application/ogg, so rfc 3534 will be re-defined&lt;br /&gt;
&lt;br /&gt;
RATIONALE: .ogg has traditionally been used for Vorbis I files, in particular in HW players, hence it is kept for backwards-compatibility&lt;br /&gt;
&lt;br /&gt;
== .ogv - video/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Video Profile (a/v in Ogg container)&lt;br /&gt;
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams&lt;br /&gt;
* covers e.g. [[Theora]], Theora + Vorbis, Theora + Speex, Theora + FLAC, [[Dirac]] + Vorbis, [[OggMNG|MNG]] + FLAC, [[OggUVS]] inside Ogg&lt;br /&gt;
* This list is not exhaustive (for example, [[Dirac]] + FLAC is acceptable too)&lt;br /&gt;
* SHOULD contain a Skeleton track and/or MAY contain a CMML logical bitstream.&lt;br /&gt;
&lt;br /&gt;
== .opus - audio/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Opus profile&lt;br /&gt;
* Defined by https://tools.ietf.org/html/draft-ietf-codec-oggopus&lt;br /&gt;
&lt;br /&gt;
== .oga - audio/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Audio Profile (audio in Ogg container)&lt;br /&gt;
* Applications supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams&lt;br /&gt;
* Covers Ogg [[FLAC]], [[Opus]], [[Ghost]], and [[OggPCM]] &lt;br /&gt;
* Although they share the same MIME type, Vorbis and Speex use different file extensions.&lt;br /&gt;
* SHOULD contain a Skeleton logical bitstream.&lt;br /&gt;
* Vorbis and Speex may use .oga, but it is not the prefered method of distributing these files because of backwards-compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== .ogx - application/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Multiplex Profile (anything in [[Ogg]])&lt;br /&gt;
* can contain any logical bitstreams multiplexed together in an ogg container&lt;br /&gt;
* will replace the .ogg extension from RFC 3534 http://www.ietf.org/rfc/rfc3534.txt&lt;br /&gt;
* random multitrack files MUST contain a [[Skeleton]] track to identify all containing logical bitstreams&lt;br /&gt;
* apps that identify a logical bitstream which they cannot decode SHOULD ignore it but MAY still decode the ones they can&lt;br /&gt;
* thus, e.g. an annodex file can gracefully degrade to .ogx if an app cannot decode [[CMML]] and/or [[Skeleton]]&lt;br /&gt;
* USE: application/ogg has been registered, so can be used immediately&lt;br /&gt;
&lt;br /&gt;
== .spx - audio/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Speex Profile&lt;br /&gt;
* .spx has traditionally been used for Speex files within Ogg and should be considered for backwards-compatibility&lt;br /&gt;
&lt;br /&gt;
== .flac - audio/flac ==&lt;br /&gt;
&lt;br /&gt;
* FLAC in native encapsulation format&lt;br /&gt;
&lt;br /&gt;
== .anx - application/annodex ==&lt;br /&gt;
&lt;br /&gt;
* Profile for multiplexed Ogg that includes a skeleton track and at least one CMML logical bitstream&lt;br /&gt;
* apps that identify a logical bitstream which they cannot decode SHOULD ignore it but MAY still decode the ones they can&lt;br /&gt;
* apps that come across an annodex file and cannot decode CMML and/or Skeleton, but can deal with the others SHOULD gracefully degrade by ignoring these&lt;br /&gt;
&lt;br /&gt;
== .axa - audio/annodex ==&lt;br /&gt;
&lt;br /&gt;
* Profile for audio in Annodex &lt;br /&gt;
* covers e.g. [[Vorbis]], [[Speex]], [[FLAC]], [[Opus]], [[Ghost]], [[OggPCM]] inside Ogg with Skeleton and CMML&lt;br /&gt;
&lt;br /&gt;
== .axv - video/annodex ==&lt;br /&gt;
&lt;br /&gt;
* Profile for video in Annodex &lt;br /&gt;
* covers e.g. [[Theora]], Theora + Vorbis, Theora + Speex, Theora + FLAC, [[Dirac]] + Vorbis, [[OggMNG|MNG]] + FLAC, [[OggUVS]] inside Ogg with Skeleton and CMML&lt;br /&gt;
&lt;br /&gt;
== .xspf - application/xspf+xml ==&lt;br /&gt;
&lt;br /&gt;
* Profile for XSPF&lt;br /&gt;
* Covers [[XSPF]], while being used through XML&lt;br /&gt;
* Does not cover [[JSPF]], which is XSPF but on JSON&lt;br /&gt;
&lt;br /&gt;
== Ogg Kate files - application/kate ==&lt;br /&gt;
&lt;br /&gt;
* Binary representation of Kate encapsulated in Ogg&lt;br /&gt;
* may have a skeleton&lt;br /&gt;
* can be used to identify the mime type of the track itself (e.g. in skeleton)&lt;br /&gt;
* uses .ogx extension when in a file by itself&lt;br /&gt;
* is subdued by the dominant mime type if in a audio or video file to become audio/ogg or video/ogg&lt;br /&gt;
&lt;br /&gt;
== Codec MIME types ==&lt;br /&gt;
&lt;br /&gt;
Codecs need their own MIME types for streaming in RTP and to be used in multitrack ogg files using skeleton:&lt;br /&gt;
&lt;br /&gt;
* audio/vorbis for Vorbis without container&lt;br /&gt;
* video/theora for Theora without container&lt;br /&gt;
* audio/speex for Speex without container&lt;br /&gt;
* audio/flac for FLAC without and in native container&lt;br /&gt;
* audio/opus for Opus without container&lt;br /&gt;
* text/cmml for CMML without container&lt;br /&gt;
* application/kate for the textual representation of Kate (.kate files)&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=MIME_Types_and_File_Extensions&amp;diff=15267</id>
		<title>MIME Types and File Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=MIME_Types_and_File_Extensions&amp;diff=15267"/>
		<updated>2015-01-08T22:31:11Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Put more relevant extensions at the top&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;STATUS: Work on RFCs and tools is in process to reflect these policies. More details are [http://wiki.xiph.org/index.php/MIMETypesCodecs here], which also include a specification of the codecs parameter of the MIME tyes. Use the correct file extensions straight away.&lt;br /&gt;
&lt;br /&gt;
DISCLAIMER: currently, application/ogg, video/ogg, audio/ogg and audio/vorbis are registered MIME types.  Registration for the others will be undertaken. During this process, the &amp;quot;x-&amp;quot; versions of these unregistered MIME types may be used.&lt;br /&gt;
&lt;br /&gt;
IMPLEMENTATION recommendations and patches: see [[MIME-Migration]].&lt;br /&gt;
&lt;br /&gt;
== .ogg - audio/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Vorbis I Profile&lt;br /&gt;
* .ogg applies now for Vorbis I files only&lt;br /&gt;
* .ogg has more recently also been used for Ogg FLAC and for Theora, too &amp;amp;mdash; these uses are deprecated now in favor of .oga and .ogv respectively&lt;br /&gt;
* has been defined in RFC 3534 http://www.ietf.org/rfc/rfc3534.txt for application/ogg, so rfc 3534 will be re-defined&lt;br /&gt;
&lt;br /&gt;
RATIONALE: .ogg has traditionally been used for Vorbis I files, in particular in HW players, hence it is kept for backwards-compatibility&lt;br /&gt;
&lt;br /&gt;
== .ogv - video/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Video Profile (a/v in Ogg container)&lt;br /&gt;
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams&lt;br /&gt;
* covers e.g. [[Theora]], Theora + Vorbis, Theora + Speex, Theora + FLAC, [[Dirac]] + Vorbis, [[OggMNG|MNG]] + FLAC, [[OggUVS]] inside Ogg&lt;br /&gt;
* This list is not exhaustive (for example, [[Dirac]] + FLAC is acceptable too)&lt;br /&gt;
* SHOULD contain a Skeleton track and/or MAY contain a CMML logical bitstream.&lt;br /&gt;
&lt;br /&gt;
== .oga - audio/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Audio Profile (audio in Ogg container)&lt;br /&gt;
* Applications supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams&lt;br /&gt;
* Covers Ogg [[FLAC]], [[Opus]], [[Ghost]], and [[OggPCM]] &lt;br /&gt;
* Although they share the same MIME type, Vorbis and Speex use different file extensions.&lt;br /&gt;
* SHOULD contain a Skeleton logical bitstream.&lt;br /&gt;
* Vorbis and Speex may use .oga, but it is not the prefered method of distributing these files because of backwards-compatibility issues.&lt;br /&gt;
&lt;br /&gt;
== .ogx - application/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Multiplex Profile (anything in [[Ogg]])&lt;br /&gt;
* can contain any logical bitstreams multiplexed together in an ogg container&lt;br /&gt;
* will replace the .ogg extension from RFC 3534 http://www.ietf.org/rfc/rfc3534.txt&lt;br /&gt;
* random multitrack files MUST contain a [[Skeleton]] track to identify all containing logical bitstreams&lt;br /&gt;
* apps that identify a logical bitstream which they cannot decode SHOULD ignore it but MAY still decode the ones they can&lt;br /&gt;
* thus, e.g. an annodex file can gracefully degrade to .ogx if an app cannot decode [[CMML]] and/or [[Skeleton]]&lt;br /&gt;
* USE: application/ogg has been registered, so can be used immediately&lt;br /&gt;
&lt;br /&gt;
== .spx - audio/ogg ==&lt;br /&gt;
&lt;br /&gt;
* Ogg Speex Profile&lt;br /&gt;
* .spx has traditionally been used for Speex files within Ogg and should be considered for backwards-compatibility&lt;br /&gt;
&lt;br /&gt;
== .flac - audio/flac ==&lt;br /&gt;
&lt;br /&gt;
* FLAC in native encapsulation format&lt;br /&gt;
&lt;br /&gt;
== .anx - application/annodex ==&lt;br /&gt;
&lt;br /&gt;
* Profile for multiplexed Ogg that includes a skeleton track and at least one CMML logical bitstream&lt;br /&gt;
* apps that identify a logical bitstream which they cannot decode SHOULD ignore it but MAY still decode the ones they can&lt;br /&gt;
* apps that come across an annodex file and cannot decode CMML and/or Skeleton, but can deal with the others SHOULD gracefully degrade by ignoring these&lt;br /&gt;
&lt;br /&gt;
== .axa - audio/annodex ==&lt;br /&gt;
&lt;br /&gt;
* Profile for audio in Annodex &lt;br /&gt;
* covers e.g. [[Vorbis]], [[Speex]], [[FLAC]], [[Opus]], [[Ghost]], [[OggPCM]] inside Ogg with Skeleton and CMML&lt;br /&gt;
&lt;br /&gt;
== .axv - video/annodex ==&lt;br /&gt;
&lt;br /&gt;
* Profile for video in Annodex &lt;br /&gt;
* covers e.g. [[Theora]], Theora + Vorbis, Theora + Speex, Theora + FLAC, [[Dirac]] + Vorbis, [[OggMNG|MNG]] + FLAC, [[OggUVS]] inside Ogg with Skeleton and CMML&lt;br /&gt;
&lt;br /&gt;
== .xspf - application/xspf+xml ==&lt;br /&gt;
&lt;br /&gt;
* Profile for XSPF&lt;br /&gt;
* Covers [[XSPF]], while being used through XML&lt;br /&gt;
* Does not cover [[JSPF]], which is XSPF but on JSON&lt;br /&gt;
&lt;br /&gt;
== Ogg Kate files - application/kate ==&lt;br /&gt;
&lt;br /&gt;
* Binary representation of Kate encapsulated in Ogg&lt;br /&gt;
* may have a skeleton&lt;br /&gt;
* can be used to identify the mime type of the track itself (e.g. in skeleton)&lt;br /&gt;
* uses .ogx extension when in a file by itself&lt;br /&gt;
* is subdued by the dominant mime type if in a audio or video file to become audio/ogg or video/ogg&lt;br /&gt;
&lt;br /&gt;
== Codec MIME types ==&lt;br /&gt;
&lt;br /&gt;
Codecs need their own MIME types for streaming in RTP and to be used in multitrack ogg files using skeleton:&lt;br /&gt;
&lt;br /&gt;
* audio/vorbis for Vorbis without container&lt;br /&gt;
* video/theora for Theora without container&lt;br /&gt;
* audio/speex for Speex without container&lt;br /&gt;
* audio/flac for FLAC without and in native container&lt;br /&gt;
* audio/opus for Opus without container&lt;br /&gt;
* text/cmml for CMML without container&lt;br /&gt;
* application/kate for the textual representation of Kate (.kate files)&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=15001</id>
		<title>Mp4Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=15001"/>
		<updated>2014-09-23T19:09:46Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Link to Paranoialmaniac&amp;#039;s draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
This is a draft encapsulation guide for [[Opus]] audio in the mp4 (ISO Base) media container.&lt;br /&gt;
&lt;br /&gt;
[http://wiki.multimedia.cx/index.php?title=MP4 MP4] already has support for declaring encoder delay and pre-roll.&lt;br /&gt;
&lt;br /&gt;
For pre-roll I believe we can use &#039;AudioRollRecoveryEntry&#039; for pre-roll.&lt;br /&gt;
&lt;br /&gt;
For delay, Daemon404 suggested &amp;quot;whatever l-smash maps encoder delay to.&amp;quot;&lt;br /&gt;
yusuke says, &amp;quot;ISO and Apple recommend the use of edit list for removing priming samples from the presentation.&amp;quot; libavformat&#039;s demuxer supports *one* edit list entry.&lt;br /&gt;
&lt;br /&gt;
See also [http://vfrmaniac.fushizen.eu/contents/opus_in_isobmff.html Paranoialmaniac&#039;s draft].&lt;br /&gt;
&lt;br /&gt;
There&#039;s some work on codec-independent channel mapping, downmix and dynamic range control as part of [http://mpeg.chiariglione.org/standards/mpeg-4/iso-base-media-file-format/text-isoiec-14496-122012-pdam-4-enhanced-audio-support ISO 14496-12 Amd4] We might be able use some of that, but it doesn&#039;t support the Opus case of needing to indicated which streams are coupled pairs. We&#039;ll still need to define our own extension for this.&lt;br /&gt;
&lt;br /&gt;
Question: Better to reuse the channel mapping header entirely, or just report the coupled stream count and use the downmix table to do the mapping?&lt;br /&gt;
&lt;br /&gt;
Possible registration process, send an email to http://mp4ra.org/request.html. Possible registrar is &#039;Opus&#039;.&lt;br /&gt;
&lt;br /&gt;
Internally everything is resampled at 48000, this is always output by the decoder, floating point numbers. But the original sample rate is stored so that the decoder can act upon it. Atom AudioSampleEntry will have 48 and the original one will be stored in the codec&#039;s one.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Global Header&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;AudioRollRecoveryEntry&#039;&#039; - shall have a value of 3840 (80ms * 48k)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;AudioSampleEntry&#039;&#039; - hardcoded at 16fp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;descriptor&#039;&#039; - same as ogg rather than as ts, to keep things simple&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;channel count&#039;&#039; - already included &lt;br /&gt;
&#039;&#039;pre skip&#039;&#039; - already included&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Gain&#039;&#039; - volume atom? unused in practice - oggheader - not in ts (TODO?)&lt;br /&gt;
when you decode samples you&#039;re supposed to multiply against this value, so that decoder can apply post volume&lt;br /&gt;
Reusing the one in ogg.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mapping family&#039;&#039; (with vorbis mapping)&lt;br /&gt;
 - mono/stereo no channel config&lt;br /&gt;
 - specify # channel&lt;br /&gt;
 - map to the # ouput&lt;br /&gt;
&lt;br /&gt;
audio channel layout https://developer.apple.com/library/mac/documentation/musicaudio/reference/CoreAudioDataTypesRef/Reference/reference.html - too complex&lt;br /&gt;
plug it from ogg and put it in our custom atom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things to put in custom atom&#039;&#039;&#039;&lt;br /&gt;
 - input sr&lt;br /&gt;
 - output gain&lt;br /&gt;
 - channel mappaing&lt;br /&gt;
 - channel count (for backup)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is the name of the atom, like in TS&lt;br /&gt;
&lt;br /&gt;
what about album art? quicktime/mp4/mp3&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=15000</id>
		<title>Mp4Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=15000"/>
		<updated>2014-09-23T19:07:45Z</updated>

		<summary type="html">&lt;p&gt;Rillian: One edit list entry supports both start and end trim.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
This is a draft encapsulation guide for [[Opus]] audio in the mp4 (ISO Base) media container.&lt;br /&gt;
&lt;br /&gt;
[http://wiki.multimedia.cx/index.php?title=MP4 MP4] already has support for declaring encoder delay and pre-roll.&lt;br /&gt;
&lt;br /&gt;
For pre-roll I believe we can use &#039;AudioRollRecoveryEntry&#039; for pre-roll.&lt;br /&gt;
&lt;br /&gt;
For delay, Daemon404 suggested &amp;quot;whatever l-smash maps encoder delay to.&amp;quot;&lt;br /&gt;
yusuke says, &amp;quot;ISO and Apple recommend the use of edit list for removing priming samples from the presentation.&amp;quot; libavformat&#039;s demuxer supports *one* edit list entry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There&#039;s some work on codec-independent channel mapping, downmix and dynamic range control as part of [http://mpeg.chiariglione.org/standards/mpeg-4/iso-base-media-file-format/text-isoiec-14496-122012-pdam-4-enhanced-audio-support ISO 14496-12 Amd4] We might be able use some of that, but it doesn&#039;t support the Opus case of needing to indicated which streams are coupled pairs. We&#039;ll still need to define our own extension for this.&lt;br /&gt;
&lt;br /&gt;
Question: Better to reuse the channel mapping header entirely, or just report the coupled stream count and use the downmix table to do the mapping?&lt;br /&gt;
&lt;br /&gt;
Possible registration process, send an email to http://mp4ra.org/request.html. Possible registrar is &#039;Opus&#039;.&lt;br /&gt;
&lt;br /&gt;
Internally everything is resampled at 48000, this is always output by the decoder, floating point numbers. But the original sample rate is stored so that the decoder can act upon it. Atom AudioSampleEntry will have 48 and the original one will be stored in the codec&#039;s one.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Global Header&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;AudioRollRecoveryEntry&#039;&#039; - shall have a value of 3840 (80ms * 48k)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;AudioSampleEntry&#039;&#039; - hardcoded at 16fp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;descriptor&#039;&#039; - same as ogg rather than as ts, to keep things simple&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;channel count&#039;&#039; - already included &lt;br /&gt;
&#039;&#039;pre skip&#039;&#039; - already included&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Gain&#039;&#039; - volume atom? unused in practice - oggheader - not in ts (TODO?)&lt;br /&gt;
when you decode samples you&#039;re supposed to multiply against this value, so that decoder can apply post volume&lt;br /&gt;
Reusing the one in ogg.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;mapping family&#039;&#039; (with vorbis mapping)&lt;br /&gt;
 - mono/stereo no channel config&lt;br /&gt;
 - specify # channel&lt;br /&gt;
 - map to the # ouput&lt;br /&gt;
&lt;br /&gt;
audio channel layout https://developer.apple.com/library/mac/documentation/musicaudio/reference/CoreAudioDataTypesRef/Reference/reference.html - too complex&lt;br /&gt;
plug it from ogg and put it in our custom atom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Things to put in custom atom&#039;&#039;&#039;&lt;br /&gt;
 - input sr&lt;br /&gt;
 - output gain&lt;br /&gt;
 - channel mappaing&lt;br /&gt;
 - channel count (for backup)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is the name of the atom, like in TS&lt;br /&gt;
&lt;br /&gt;
what about album art? quicktime/mp4/mp3&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=14779</id>
		<title>Mp4Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=14779"/>
		<updated>2014-07-09T17:45:33Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Mention edit lists for pre-skip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
This is a draft encapsulation guide for [[Opus]] audio in the mp4 (ISO Base) media container.&lt;br /&gt;
&lt;br /&gt;
MP4 already has support for declaring encoder delay and pre-roll.&lt;br /&gt;
&lt;br /&gt;
For pre-roll I believe we can use &#039;AudioRollRecoveryEntry&#039; for pre-roll.&lt;br /&gt;
&lt;br /&gt;
For delay, Daemon404 suggested &amp;quot;whatever l-smash maps encoder delay to.&amp;quot;&lt;br /&gt;
yusuke says, &amp;quot;ISO and Apple recommend the use of edit list for removing priming samples from the presentation.&amp;quot; libavformat&#039;s demuxer supports *one* edit list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There&#039;s some work on codec-independent channel mapping, downmix and dynamic range control as part of [http://mpeg.chiariglione.org/standards/mpeg-4/iso-base-media-file-format/text-isoiec-14496-122012-pdam-4-enhanced-audio-support ISO 14496-12 Amd4] We might be able use some of that, but it doesn&#039;t support the Opus case of needing to indicated which streams are coupled pairs. We&#039;ll still need to define our own extension for this.&lt;br /&gt;
&lt;br /&gt;
Question: Better to reuse the channel mapping header entirely, or just report the coupled stream count and use the downmix table to do the mapping?&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=14778</id>
		<title>Mp4Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=14778"/>
		<updated>2014-07-09T17:12:43Z</updated>

		<summary type="html">&lt;p&gt;Rillian: fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
This is a draft encapsulation guide for [[Opus]] audio in the mp4 (ISO Base) media container.&lt;br /&gt;
&lt;br /&gt;
MP4 already has support for declaring encoder delay and pre-roll.&lt;br /&gt;
&lt;br /&gt;
For pre-roll I believe we can use &#039;AudioRollRecoveryEntry&#039; for pre-roll.&lt;br /&gt;
&lt;br /&gt;
There&#039;s some work on codec-independent channel mapping, downmix and dynamic range control as part of [http://mpeg.chiariglione.org/standards/mpeg-4/iso-base-media-file-format/text-isoiec-14496-122012-pdam-4-enhanced-audio-support ISO 14496-12 Amd4] We might be able use some of that, but it doesn&#039;t support the Opus case of needing to indicated which streams are coupled pairs. We&#039;ll still need to define our own extension for this.&lt;br /&gt;
&lt;br /&gt;
Question: Better to reuse the channel mapping header entirely, or just report the coupled stream count and use the downmix table to do the mapping?&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=14777</id>
		<title>Mp4Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=14777"/>
		<updated>2014-07-09T17:11:51Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Things which have come up so far&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
This is a draft encapsulation guide for [[Opus]] audio in the mp4 (ISO Base) media container.&lt;br /&gt;
&lt;br /&gt;
MP4 already has support for declaring encoder delay and pre-roll.&lt;br /&gt;
&lt;br /&gt;
For pre-roll I believe we can use &#039;AudioRollRecoveryEntry&#039; for pre-roll.&lt;br /&gt;
&lt;br /&gt;
There&#039;s some work on codec-independent channel mapping, downmix and dynamic range control as part of [[ISO 14496-12 Amd4 http://mpeg.chiariglione.org/standards/mpeg-4/iso-base-media-file-format/text-isoiec-14496-122012-pdam-4-enhanced-audio-support]] We might be able use some of that, but it doesn&#039;t support the Opus case of needing to indicated which streams are coupled pairs. We&#039;ll still need to define our own extension for this.&lt;br /&gt;
&lt;br /&gt;
Question: Better to reuse the channel mapping header entirely, or just report the coupled stream count and use the downmix table to do the mapping?&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=14776</id>
		<title>Mp4Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Mp4Opus&amp;diff=14776"/>
		<updated>2014-07-09T16:42:41Z</updated>

		<summary type="html">&lt;p&gt;Rillian: Start a page collecting ideas for Opus in MP4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
This is a draft encapsulation guide for [[Opus]] audio in the mp4 (ISO Base) media container.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=14764</id>
		<title>Daala Quickstart</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=14764"/>
		<updated>2014-07-04T18:52:03Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Mac OS X */ Xcode should include git&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started =&lt;br /&gt;
&lt;br /&gt;
This is a simple guide to getting the code and encoding a simple video.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Pre-requisites ===&lt;br /&gt;
* Standard build tools (autoconf, automake v1.11 or later, libtool, and a C compiler)&lt;br /&gt;
* git&lt;br /&gt;
* libogg (v1.3 or later)&lt;br /&gt;
* libpng&lt;br /&gt;
* libjpeg&lt;br /&gt;
* libcheck (v0.9.8 or later, can be skipped if you pass --disable-unit-tests to ./configure)&lt;br /&gt;
* libsdl (can by skipped if you pass --disable-player to ./configure)&lt;br /&gt;
&lt;br /&gt;
Instructions for installing these packages are OS-specific (feel free to contribute some here, especially if you tried installing these somewhere and ran into difficulties; you will likely save other people some pain). If you have a package manager that has separate -dev versions with the public headers, make sure you install those in addition to the actual libraries.&lt;br /&gt;
&lt;br /&gt;
==== Mac OS X ====&lt;br /&gt;
Install Apple&#039;s command line developer tools. E.g. install [https://developer.apple.com/xcode/ Xcode] from the App Store and select &#039;Command Line Tools&#039; from the Preferences::Downloads panel, or download and install the pkg directly from [https://developer.apple.com/downloads/ developer.apple.com].&lt;br /&gt;
&lt;br /&gt;
Install [http://brew.sh/ Homebrew]&lt;br /&gt;
&lt;br /&gt;
Run the following command to install dependencies:&lt;br /&gt;
  brew install autoconf automake libtool libogg libpng libjpeg check sdl&lt;br /&gt;
&lt;br /&gt;
=== Installation Procedure ===&lt;br /&gt;
&lt;br /&gt;
Just run these commands:&lt;br /&gt;
&lt;br /&gt;
    git clone https://git.xiph.org/daala.git&lt;br /&gt;
    cd daala&lt;br /&gt;
    ./autogen.sh&lt;br /&gt;
    ./configure&lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Note that the git clone can take several minutes to complete.&lt;br /&gt;
&lt;br /&gt;
And optionally&lt;br /&gt;
&lt;br /&gt;
    make tools&lt;br /&gt;
&lt;br /&gt;
Make sure you run the git clone operation on the same machine where you intend to use the code. Checking out a copy on Windows and then trying to use it on Linux will not work, as executable permissions and line-endings will not be set properly.&lt;br /&gt;
&lt;br /&gt;
== Encoding a Video ==&lt;br /&gt;
&lt;br /&gt;
If you do not have one, get a sample video or two in .y4m format from [https://media.xiph.org/video/derf/ media.xiph.org]. We also maintain a set of still-image collections in .y4m format:&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset1-y4m.tar.gz Subset 1] (50 images, small training set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset2-y4m.tar.gz Subset 2] (1000 images, large training set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset3-y4m.tar.gz Subset 3] (50 images, small testing set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset4-y4m.tar.gz Subset 4] (1000 images, large testing set)&lt;br /&gt;
&lt;br /&gt;
Encode the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/encoder_example -v 30 -k 256 video.y4m -o video.ogv&lt;br /&gt;
&lt;br /&gt;
where&lt;br /&gt;
* video.y4m is the input video you want to encode,&lt;br /&gt;
* video.ogv is the name of the encoded video file to output,&lt;br /&gt;
* -v specifies the quality (currently from 0 to 511, where 0 is lossless), and&lt;br /&gt;
* -k specifies the maximum keyframe interval (this is currently 1 by default, which makes every frame a keyframe).&lt;br /&gt;
&lt;br /&gt;
== Decoding a Video ==&lt;br /&gt;
&lt;br /&gt;
Play the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example -p video.ogv&lt;br /&gt;
&lt;br /&gt;
The -p option starts the player paused. Run&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example --help&lt;br /&gt;
&lt;br /&gt;
for information on the controls available while playing.&lt;br /&gt;
&lt;br /&gt;
If you want to use a different player, you can decode the video back to .y4m with&lt;br /&gt;
&lt;br /&gt;
    ./examples/dump_video video.ogv -o decoded_video.y4m&lt;br /&gt;
&lt;br /&gt;
Many other players can play back these .y4m files, and other tools can convert them to various other formats.&lt;br /&gt;
&lt;br /&gt;
== Using PNG Images ==&lt;br /&gt;
&lt;br /&gt;
To encode a series of images:&lt;br /&gt;
&lt;br /&gt;
    make tools&lt;br /&gt;
    ./tools/png2y4m video%05d.png -o video.y4m&lt;br /&gt;
&lt;br /&gt;
where %05d means your input images are named video00000.png, video00001.png, etc. You can leave out the %05d tag if you only want to convert a single image (which does not need to be numbered).&lt;br /&gt;
&lt;br /&gt;
To convert a y4m back to PNGs:&lt;br /&gt;
&lt;br /&gt;
    ./tools/y4m2png video.y4m -o video%05d.png&lt;br /&gt;
&lt;br /&gt;
If you are converting a .y4m file that only contains a single frame (e.g., from one of the still-image subsets linked above), you can leave out the %05d tag. Conversion from PNG to Y4M uses the Rec 709 matrix with video levels, a box filter for chroma subsampling, and a triangular dither. Conversion back from Y4M to PNG uses the same matrix, levels, and box filter, but does not dither.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=14763</id>
		<title>Daala Quickstart</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=14763"/>
		<updated>2014-07-04T18:51:12Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Mac OS X */ Mention Xcode&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started =&lt;br /&gt;
&lt;br /&gt;
This is a simple guide to getting the code and encoding a simple video.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Pre-requisites ===&lt;br /&gt;
* Standard build tools (autoconf, automake v1.11 or later, libtool, and a C compiler)&lt;br /&gt;
* git&lt;br /&gt;
* libogg (v1.3 or later)&lt;br /&gt;
* libpng&lt;br /&gt;
* libjpeg&lt;br /&gt;
* libcheck (v0.9.8 or later, can be skipped if you pass --disable-unit-tests to ./configure)&lt;br /&gt;
* libsdl (can by skipped if you pass --disable-player to ./configure)&lt;br /&gt;
&lt;br /&gt;
Instructions for installing these packages are OS-specific (feel free to contribute some here, especially if you tried installing these somewhere and ran into difficulties; you will likely save other people some pain). If you have a package manager that has separate -dev versions with the public headers, make sure you install those in addition to the actual libraries.&lt;br /&gt;
&lt;br /&gt;
==== Mac OS X ====&lt;br /&gt;
Install Apple&#039;s command line developer tools. E.g. install [https://developer.apple.com/xcode/ Xcode] from the App Store and select &#039;Command Line Tools&#039; from the Preferences::Downloads panel, or download and install the pkg directly from [https://developer.apple.com/downloads/ developer.apple.com].&lt;br /&gt;
&lt;br /&gt;
Install [http://brew.sh/ Homebrew]&lt;br /&gt;
&lt;br /&gt;
Run the following command to install dependencies:&lt;br /&gt;
  brew install autoconf automake libtool git libogg libpng libjpeg check sdl&lt;br /&gt;
&lt;br /&gt;
=== Installation Procedure ===&lt;br /&gt;
&lt;br /&gt;
Just run these commands:&lt;br /&gt;
&lt;br /&gt;
    git clone https://git.xiph.org/daala.git&lt;br /&gt;
    cd daala&lt;br /&gt;
    ./autogen.sh&lt;br /&gt;
    ./configure&lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Note that the git clone can take several minutes to complete.&lt;br /&gt;
&lt;br /&gt;
And optionally&lt;br /&gt;
&lt;br /&gt;
    make tools&lt;br /&gt;
&lt;br /&gt;
Make sure you run the git clone operation on the same machine where you intend to use the code. Checking out a copy on Windows and then trying to use it on Linux will not work, as executable permissions and line-endings will not be set properly.&lt;br /&gt;
&lt;br /&gt;
== Encoding a Video ==&lt;br /&gt;
&lt;br /&gt;
If you do not have one, get a sample video or two in .y4m format from [https://media.xiph.org/video/derf/ media.xiph.org]. We also maintain a set of still-image collections in .y4m format:&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset1-y4m.tar.gz Subset 1] (50 images, small training set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset2-y4m.tar.gz Subset 2] (1000 images, large training set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset3-y4m.tar.gz Subset 3] (50 images, small testing set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset4-y4m.tar.gz Subset 4] (1000 images, large testing set)&lt;br /&gt;
&lt;br /&gt;
Encode the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/encoder_example -v 30 -k 256 video.y4m -o video.ogv&lt;br /&gt;
&lt;br /&gt;
where&lt;br /&gt;
* video.y4m is the input video you want to encode,&lt;br /&gt;
* video.ogv is the name of the encoded video file to output,&lt;br /&gt;
* -v specifies the quality (currently from 0 to 511, where 0 is lossless), and&lt;br /&gt;
* -k specifies the maximum keyframe interval (this is currently 1 by default, which makes every frame a keyframe).&lt;br /&gt;
&lt;br /&gt;
== Decoding a Video ==&lt;br /&gt;
&lt;br /&gt;
Play the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example -p video.ogv&lt;br /&gt;
&lt;br /&gt;
The -p option starts the player paused. Run&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example --help&lt;br /&gt;
&lt;br /&gt;
for information on the controls available while playing.&lt;br /&gt;
&lt;br /&gt;
If you want to use a different player, you can decode the video back to .y4m with&lt;br /&gt;
&lt;br /&gt;
    ./examples/dump_video video.ogv -o decoded_video.y4m&lt;br /&gt;
&lt;br /&gt;
Many other players can play back these .y4m files, and other tools can convert them to various other formats.&lt;br /&gt;
&lt;br /&gt;
== Using PNG Images ==&lt;br /&gt;
&lt;br /&gt;
To encode a series of images:&lt;br /&gt;
&lt;br /&gt;
    make tools&lt;br /&gt;
    ./tools/png2y4m video%05d.png -o video.y4m&lt;br /&gt;
&lt;br /&gt;
where %05d means your input images are named video00000.png, video00001.png, etc. You can leave out the %05d tag if you only want to convert a single image (which does not need to be numbered).&lt;br /&gt;
&lt;br /&gt;
To convert a y4m back to PNGs:&lt;br /&gt;
&lt;br /&gt;
    ./tools/y4m2png video.y4m -o video%05d.png&lt;br /&gt;
&lt;br /&gt;
If you are converting a .y4m file that only contains a single frame (e.g., from one of the still-image subsets linked above), you can leave out the %05d tag. Conversion from PNG to Y4M uses the Rec 709 matrix with video levels, a box filter for chroma subsampling, and a triangular dither. Conversion back from Y4M to PNG uses the same matrix, levels, and box filter, but does not dither.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=14719</id>
		<title>Daala Quickstart</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=14719"/>
		<updated>2014-06-02T23:16:51Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Installation Procedure */ Mention our git is slow.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started =&lt;br /&gt;
&lt;br /&gt;
This is a simple guide to getting the code and encoding a simple video.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Pre-requisites ===&lt;br /&gt;
* Standard build tools (autoconf, automake v1.11 or later, libtool, and a C compiler)&lt;br /&gt;
* git&lt;br /&gt;
* libogg (v1.3 or later)&lt;br /&gt;
* libpng&lt;br /&gt;
* libjpeg&lt;br /&gt;
* libcheck (v0.9.8 or later, can be skipped if you pass --disable-unit-tests to ./configure)&lt;br /&gt;
* libsdl (can by skipped if you pass --disable-player to ./configure)&lt;br /&gt;
&lt;br /&gt;
Instructions for installing these packages are OS-specific (feel free to contribute some here, especially if you tried installing these somewhere and ran into difficulties; you will likely save other people some pain). If you have a package manager that has separate -dev versions with the public headers, make sure you install those in addition to the actual libraries.&lt;br /&gt;
&lt;br /&gt;
=== Installation Procedure ===&lt;br /&gt;
&lt;br /&gt;
Just run these commands:&lt;br /&gt;
&lt;br /&gt;
    git clone https://git.xiph.org/daala.git&lt;br /&gt;
    cd daala&lt;br /&gt;
    ./autogen.sh&lt;br /&gt;
    ./configure&lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Note that the git clone can take several minutes to complete.&lt;br /&gt;
&lt;br /&gt;
And optionally&lt;br /&gt;
&lt;br /&gt;
    make tools&lt;br /&gt;
&lt;br /&gt;
Make sure you run the git clone operation on the same machine where you intend to use the code. Checking out a copy on Windows and then trying to use it on Linux will not work, as executable permissions and line-endings will not be set properly.&lt;br /&gt;
&lt;br /&gt;
== Encoding a Video ==&lt;br /&gt;
&lt;br /&gt;
If you do not have one, get a sample video or two in .y4m format from [https://media.xiph.org/video/derf/ media.xiph.org]. We also maintain a set of still-image collections in .y4m format:&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset1-y4m.tar.gz Subset 1] (50 images, small training set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset2-y4m.tar.gz Subset 2] (1000 images, large training set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset3-y4m.tar.gz Subset 3] (50 images, small testing set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset4-y4m.tar.gz Subset 4] (1000 images, large testing set)&lt;br /&gt;
&lt;br /&gt;
Encode the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/encoder_example -v 30 -k 256 video.y4m -o video.ogv&lt;br /&gt;
&lt;br /&gt;
where&lt;br /&gt;
* video.y4m is the input video you want to encode,&lt;br /&gt;
* video.ogv is the name of the encoded video file to output,&lt;br /&gt;
* -v specifies the quality (currently from 0 to 511, where 0 is lossless), and&lt;br /&gt;
* -k specifies the maximum keyframe interval (this is currently 1 by default, which makes every frame a keyframe).&lt;br /&gt;
&lt;br /&gt;
== Decoding a Video ==&lt;br /&gt;
&lt;br /&gt;
Play the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example -p video.ogv&lt;br /&gt;
&lt;br /&gt;
The -p option starts the player paused. Run&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example --help&lt;br /&gt;
&lt;br /&gt;
for information on the controls available while playing.&lt;br /&gt;
&lt;br /&gt;
If you want to use a different player, you can decode the video back to .y4m with&lt;br /&gt;
&lt;br /&gt;
    ./examples/dump_video video.ogv -o decoded_video.y4m&lt;br /&gt;
&lt;br /&gt;
Many other players can play back these .y4m files, and other tools can convert them to various other formats.&lt;br /&gt;
&lt;br /&gt;
== Using PNG Images ==&lt;br /&gt;
&lt;br /&gt;
To encode a series of images:&lt;br /&gt;
&lt;br /&gt;
    make tools&lt;br /&gt;
    ./tools/png2y4m video%05d.png -o video.y4m&lt;br /&gt;
&lt;br /&gt;
where %05d means your input images are named video00000.png, video00001.png, etc. You can leave out the %05d tag if you only want to convert a single image (which does not need to be numbered).&lt;br /&gt;
&lt;br /&gt;
To convert a y4m back to PNGs:&lt;br /&gt;
&lt;br /&gt;
    ./tools/y4m2png video.y4m -o video%05d.png&lt;br /&gt;
&lt;br /&gt;
If you are converting a .y4m file that only contains a single frame (e.g., from one of the still-image subsets linked above), you can leave out the %05d tag. Conversion from PNG to Y4M uses the Rec 709 matrix with video levels, a box filter for chroma subsampling, and a triangular dither. Conversion back from Y4M to PNG uses the same matrix, levels, and box filter, but does not dither.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=14718</id>
		<title>Daala Quickstart</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=14718"/>
		<updated>2014-06-02T23:05:29Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Installation Procedure */ The ssh host string only supports people with commit access. Better to start with a read-only https url.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started =&lt;br /&gt;
&lt;br /&gt;
This is a simple guide to getting the code and encoding a simple video.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Pre-requisites ===&lt;br /&gt;
* Standard build tools (autoconf, automake v1.11 or later, libtool, and a C compiler)&lt;br /&gt;
* git&lt;br /&gt;
* libogg (v1.3 or later)&lt;br /&gt;
* libpng&lt;br /&gt;
* libjpeg&lt;br /&gt;
* libcheck (v0.9.8 or later, can be skipped if you pass --disable-unit-tests to ./configure)&lt;br /&gt;
* libsdl (can by skipped if you pass --disable-player to ./configure)&lt;br /&gt;
&lt;br /&gt;
Instructions for installing these packages are OS-specific (feel free to contribute some here, especially if you tried installing these somewhere and ran into difficulties; you will likely save other people some pain). If you have a package manager that has separate -dev versions with the public headers, make sure you install those in addition to the actual libraries.&lt;br /&gt;
&lt;br /&gt;
=== Installation Procedure ===&lt;br /&gt;
&lt;br /&gt;
Just run these commands:&lt;br /&gt;
&lt;br /&gt;
    git clone https://git.xiph.org/daala.git&lt;br /&gt;
    cd daala&lt;br /&gt;
    ./autogen.sh&lt;br /&gt;
    ./configure&lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
And optionally&lt;br /&gt;
&lt;br /&gt;
    make tools&lt;br /&gt;
&lt;br /&gt;
Make sure you run the git clone operation on the same machine where you intend to use the code. Checking out a copy on Windows and then trying to use it on Linux will not work, as executable permissions and line-endings will not be set properly.&lt;br /&gt;
&lt;br /&gt;
== Encoding a Video ==&lt;br /&gt;
&lt;br /&gt;
If you do not have one, get a sample video or two in .y4m format from [https://media.xiph.org/video/derf/ media.xiph.org]. We also maintain a set of still-image collections in .y4m format:&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset1-y4m.tar.gz Subset 1] (50 images, small training set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset2-y4m.tar.gz Subset 2] (1000 images, large training set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset3-y4m.tar.gz Subset 3] (50 images, small testing set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset4-y4m.tar.gz Subset 4] (1000 images, large testing set)&lt;br /&gt;
&lt;br /&gt;
Encode the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/encoder_example -v 30 -k 256 video.y4m -o video.ogv&lt;br /&gt;
&lt;br /&gt;
where&lt;br /&gt;
* video.y4m is the input video you want to encode,&lt;br /&gt;
* video.ogv is the name of the encoded video file to output,&lt;br /&gt;
* -v specifies the quality (currently from 0 to 511, where 0 is lossless), and&lt;br /&gt;
* -k specifies the maximum keyframe interval (this is currently 1 by default, which makes every frame a keyframe).&lt;br /&gt;
&lt;br /&gt;
== Decoding a Video ==&lt;br /&gt;
&lt;br /&gt;
Play the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example -p video.ogv&lt;br /&gt;
&lt;br /&gt;
The -p option starts the player paused. Run&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example --help&lt;br /&gt;
&lt;br /&gt;
for information on the controls available while playing.&lt;br /&gt;
&lt;br /&gt;
If you want to use a different player, you can decode the video back to .y4m with&lt;br /&gt;
&lt;br /&gt;
    ./examples/dump_video video.ogv -o decoded_video.y4m&lt;br /&gt;
&lt;br /&gt;
Many other players can play back these .y4m files, and other tools can convert them to various other formats.&lt;br /&gt;
&lt;br /&gt;
== Using PNG Images ==&lt;br /&gt;
&lt;br /&gt;
To encode a series of images:&lt;br /&gt;
&lt;br /&gt;
    make tools&lt;br /&gt;
    ./tools/png2y4m video%05d.png -o video.y4m&lt;br /&gt;
&lt;br /&gt;
where %05d means your input images are named video00000.png, video00001.png, etc. You can leave out the %05d tag if you only want to convert a single image (which does not need to be numbered).&lt;br /&gt;
&lt;br /&gt;
To convert a y4m back to PNGs:&lt;br /&gt;
&lt;br /&gt;
    ./tools/y4m2png video.y4m -o video%05d.png&lt;br /&gt;
&lt;br /&gt;
If you are converting a .y4m file that only contains a single frame (e.g., from one of the still-image subsets linked above), you can leave out the %05d tag. Conversion from PNG to Y4M uses the Rec 709 matrix with video levels, a box filter for chroma subsampling, and a triangular dither. Conversion back from Y4M to PNG uses the same matrix, levels, and box filter, but does not dither.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaRoadmap&amp;diff=14688</id>
		<title>DaalaRoadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaRoadmap&amp;diff=14688"/>
		<updated>2014-05-18T16:48:55Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Daala Planning */ Link to etherpad for newer information.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Daala Planning ==&lt;br /&gt;
&lt;br /&gt;
This is an overview of the Daala project roadmap. &#039;&#039;&#039;Information on this page is highly subject to update and change.&#039;&#039;&#039;  Please help reach out to us if you are interested in contributing to the project.  We would love your help!&lt;br /&gt;
&lt;br /&gt;
=== Plans for 2014 ===&lt;br /&gt;
&lt;br /&gt;
See [https://daala.etherpad.mozilla.org/daala-plan-2014 this etherpad] for details. Most information has moved there. See also the weekly meeting minutes on [[Daala]] for current efforts.&lt;br /&gt;
&lt;br /&gt;
=== Plans for September, 2013 to March, 2014 ===&lt;br /&gt;
&lt;br /&gt;
==== Improve existing techniques ==== &lt;br /&gt;
&lt;br /&gt;
Examining and significantly modifying some of the basic coding tools within Daala to improve efficiency and quality:&lt;br /&gt;
&lt;br /&gt;
1) Lapped Transforms&lt;br /&gt;
* https://people.xiph.org/~xiphmont/demo/daala/demo1.shtml&lt;br /&gt;
* http://thanglong.ece.jhu.edu/Tran/Pub/prepost.pdf&lt;br /&gt;
* https://research.microsoft.com/pubs/102075/malvar_elt_tsp1192.pdf&lt;br /&gt;
&lt;br /&gt;
2) Frequency Domain Intraprediction &lt;br /&gt;
* https://people.xiph.org/~xiphmont/demo/daala/demo2.shtml&lt;br /&gt;
&lt;br /&gt;
3) Time/Frequency resolution switching &lt;br /&gt;
* https://people.xiph.org/~xiphmont/demo/daala/demo3.shtml&lt;br /&gt;
&lt;br /&gt;
4) Chroma from Luma&lt;br /&gt;
* http://people.xiph.org/~xiphmont/demo/daala/demo4.shtml&lt;br /&gt;
&lt;br /&gt;
5) Motion Compensation tools&lt;br /&gt;
&lt;br /&gt;
==== Research new techniques ====&lt;br /&gt;
&lt;br /&gt;
Investigate the following to see if they should be adopted into Daala:&lt;br /&gt;
&lt;br /&gt;
1) Edge-directed Interpolation &lt;br /&gt;
*http://elynxsdk.free.fr/ext-docs/Demosaicing/more/news0/New%20Edge-Directed%20Interpolation.pdf&lt;br /&gt;
&lt;br /&gt;
2) Multi-frame Motion Compensation&lt;br /&gt;
&lt;br /&gt;
==== Testing tools ====&lt;br /&gt;
&lt;br /&gt;
1) Experiment with command-line encode/decode/performance tools&lt;br /&gt;
* Help people try the codec&lt;br /&gt;
* Self-testing&lt;br /&gt;
* Improvement metrics for casual contributors to verify changes&lt;br /&gt;
&lt;br /&gt;
2) Prototype RTP in GIPS/webrtc.org/browser code&lt;br /&gt;
&lt;br /&gt;
3) Prototype HTTP streaming.&lt;br /&gt;
&lt;br /&gt;
=== Plans for March, 2014 to September, 2014 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From March, 2014 to June, 2014: Tuning the various coding tools and components of Daala (assumes investigation and major modifications of the basic coding tools are completed)&lt;br /&gt;
&lt;br /&gt;
By September, 2014: Be able to show significant quality improvements compared to Daala&#039;s performance today (September, 2013).&lt;br /&gt;
&lt;br /&gt;
=== Progress and planning tools we&#039;ll use along the way: ===&lt;br /&gt;
* Every 6-8 weeks the team will report on what he has accomplished.&lt;br /&gt;
* Every month the team will create a detailed task list of what they plan to do for that month.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_on_Wheels&amp;diff=14687</id>
		<title>Daala on Wheels</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_on_Wheels&amp;diff=14687"/>
		<updated>2014-05-18T16:44:20Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Work in progress */ Link to etherpad roadmap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the current working name of a next generation video codec— to be renamed once someone insists on something better. So far the best proposed alternative is PatentCake.&lt;br /&gt;
&lt;br /&gt;
For now the purposes of this page is to collect notes about things which have been discussed in informal public IRC discussion about the next generation initiative. Participants in these discussions have included Timothy Terriberry, Jason Garrett-Glaser, Loren Merritt, Ben Schwartz, Greg Maxwell, and others. &lt;br /&gt;
&lt;br /&gt;
See also: [https://xiph.org/daala/ https://xiph.org/daala/]&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/daala-plan-2014 2014 Roadmap]&lt;br /&gt;
* [[DaalaRoadmap]]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/workweek-201402 2014 February meetup]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/daala-meetup 2013 November meetup]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/coding-party-201309 2013 September code party]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/august-todo August task tracking]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/july-todo July tasks]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/june-todo June tasks]&lt;br /&gt;
&lt;br /&gt;
== Weekly meetings ==&lt;br /&gt;
&lt;br /&gt;
We&#039;ve been having weekly progress meetings on mumble.&lt;br /&gt;
&lt;br /&gt;
* 2012 June 4  [https://people.xiph.org/~giles/2012/daala_20120604.txt minutes] (actually a work week)&lt;br /&gt;
* 2012 June 22 [https://people.xiph.org/~giles/2012/daala_20120622.txt minutes]&lt;br /&gt;
* 2012 June 29 [https://people.xiph.org/~giles/2012/daala_20120629.txt minutes] [https://people.xiph.org/~giles/2012/daala_20120629.opus recording]&lt;br /&gt;
* 2012 July 6 [https://people.xiph.org/~giles/2012/daala_20120706.txt minutes]&lt;br /&gt;
* 2012 July 13 [https://people.xiph.org/~giles/2012/daala_20120713.txt minutes]&lt;br /&gt;
* 2012 July 20 [https://people.xiph.org/~giles/2012/daala_20120720.txt minutes]&lt;br /&gt;
* 2012 July 27 [https://people.xiph.org/~giles/2012/daala_20120727.txt minutes]&lt;br /&gt;
* 2012 August 3 [https://people.xiph.org/~giles/2012/daala_20120803.txt minutes] [https://people.xiph.org/~giles/2012/daala_20120803.opus recording]&lt;br /&gt;
* 2012 August 10 [https://people.xiph.org/~giles/2012/daala_20120810.txt minutes]&lt;br /&gt;
* 2012 August 17 - no meeting&lt;br /&gt;
* 2012 August 24 - [https://people.xiph.org/~giles/2012/daala_20120824.txt minutes] [https://people.xiph.org/~giles/2012/daala_20120824.opus recording]&lt;br /&gt;
* 2012 August 31 - no meeting&lt;br /&gt;
* 2012 September 7 - no meeting&lt;br /&gt;
* 2012 September 14 - no meeting&lt;br /&gt;
* 2012 September 21 - [https://people.xiph.org/~giles/2012/daala_20120921.txt minutes]&lt;br /&gt;
* 2012 September 28 - [https://people.xiph.org/~giles/2012/daala_20120928.txt minutes] [https://people.xiph.org/~giles/2012/daala_20120928.opus recording]&lt;br /&gt;
* 2012 October 5 - [https://people.xiph.org/~giles/2012/daala_20121005.opus recording]&lt;br /&gt;
* 20120 October 26 - &lt;br /&gt;
* 2012 Novemeber 2 - no meeting&lt;br /&gt;
* 2012 December 7 - [https://people.xiph.org/~giles/2012/daala_20121207.txt minutes]&lt;br /&gt;
* [[DaalaMeeting20130911|2013 September 11]] - logistics, status updates, coding party agenda&lt;br /&gt;
* [[DaalaMeeting20130917|2013 September 17]] - summit plans, research talks, coding party agenda, monty&#039;s TF ideas&lt;br /&gt;
* [[DaalaMeeting20130924|2013 September 24]] - training results, 32x32 code, and 2nd stage TF&lt;br /&gt;
* [[DaalaMeeting20131008|2013 October 8]] - pvq status, training, chroma from luma&lt;br /&gt;
* [[DaalaMeeting20131022|2013 October 22]] - even/odd quantizer, determinant 1, IETF, chroma from luma&lt;br /&gt;
* [[DaalaMeeting20131029|2013 October 29]] - gstreamer conf, ietf, chroma from luma&lt;br /&gt;
* [[DaalaMeeting20131112|2013 November 12]] - chroma from luma, pvq&lt;br /&gt;
* [[DaalaMeeting20131203|2013 December 3]] - chroma from luma, pvq, misc&lt;br /&gt;
* [[DaalaMeeting20131217|2013 December 17]] - luma intraprediction, pvq decoder, interns&lt;br /&gt;
* [[DaalaMeeting20140107|2014 January 07]] - reviews, pvq projects, and det1&lt;br /&gt;
* [[DaalaMeeting20140114|2014 January 14]] - pvq, det1, new projects&lt;br /&gt;
* [[DaalaMeeting20140121|2014 January 21]] - project planning&lt;br /&gt;
* [[DaalaMeeting20140128|2014 January 28]] - pvq, work week&lt;br /&gt;
* [[DaalaMeeting20140211|2014 February 11]] - 32x32, activity masking, current issues&lt;br /&gt;
* [[DaalaMeeting20140218|2014 February 18]] - input scaling, prediction error&lt;br /&gt;
* [[DaalaMeeting20140225|2014 February 25]] - det1, pvq, fastssim&lt;br /&gt;
* [[DaalaMeeting20140304|2014 March 4]] - det1, quant matrix, metrics&lt;br /&gt;
* [[DaalaMeeting20140318|2014 March 18]] - det1, fastssim, activity masking&lt;br /&gt;
* [[DaalaMeeting20140401|2014 April 1]] - crushing jpeg, pvq&lt;br /&gt;
* [[DaalaMeeting20140408|2014 April 8]] - reviews, pvq presentation&lt;br /&gt;
* [[DaalaMeeting20140415|2014 April 15]] - pvq experiments, activity masking&lt;br /&gt;
* [[DaalaMeeting20140422|2014 April 22]] - block size switching, gpu jpeg&lt;br /&gt;
* [[DaalaMeeting20140506|2014 May 6]] - workweek debrief, trained vq&lt;br /&gt;
&lt;br /&gt;
= Techniques =&lt;br /&gt;
&lt;br /&gt;
The discussed overall structure so far has been a variable size lapped-DCT block based codec with lapping done via pre/post filtering with a specially structured (lifting) linear phase transform along the edges along with overlapped block motion compensation and the expected trimmings. The lapping can be optimized for energy compaction and other useful properties, including invert-ability, and yields excellent results with efficient finite precision math.&lt;br /&gt;
&lt;br /&gt;
Other components which have been discussed include:&lt;br /&gt;
&lt;br /&gt;
==Techniques applicable to all frame types==&lt;br /&gt;
* Multisymbol arithmetic coding &lt;br /&gt;
** Timothy has some trial code showing speed-up proportional to the number of bits coded at once. (ec_test.c)&lt;br /&gt;
* Mode prediction using the previously decoded data, e.g. coding the mode using a probability function derived from trained predictors on the surrounding blocks. &lt;br /&gt;
** This will be terrible for robustness but may significantly reduce signalling overhead, allowing many more modes, and provide continuous adaptation between signalling free and fully signalled modes.&lt;br /&gt;
* Explore legendre polynomial basis transforms instead of DCT&lt;br /&gt;
** May have better perceptual properties and/or result in &#039;less compromised&#039; efficient implementations.  &lt;br /&gt;
* Coefficient domain prediction to allow efficient energy preserving quantization.&lt;br /&gt;
* Variable partition size/shape and the use of good predictors appears to remove most of the benefit of directional transforms.&lt;br /&gt;
** Perhaps 45deg is still useful?&lt;br /&gt;
** How does this change with partition sizes? Directional transforms are clearly not that useful with 4x4. &lt;br /&gt;
* Transform-post filtering to allow merging smaller transform blocks (like TF merging in CELT) may allow more flexible partitioning then outright using mixed block sizes.&lt;br /&gt;
* Perturbed quantization mode-signalling has been discussed but mostly laughed at. ;) &lt;br /&gt;
* Special block modes well suited to solid color/cartoon like content— avoiding ringing.&lt;br /&gt;
** Are pixel prediction modes too slow?&lt;br /&gt;
* In general— what markov random field techniques can be applied with acceptable performance. Any?&lt;br /&gt;
* Designed for parallel encode and decode within each frame&lt;br /&gt;
** Important because&lt;br /&gt;
*** the proposed techniques need a lot more CPU than H.264 and VP8 for both encode and decode&lt;br /&gt;
*** Moore&#039;s law for single-threaded throughput is dead.  Future hardware is all multicore/GPU.&lt;br /&gt;
** Implies&lt;br /&gt;
*** Getting the order of application right for the lapping filters.&lt;br /&gt;
*** Mandatory slicing? Maybe some kind of multilevel entropy coding to reduce redundancy between slices while minimizing the single-threaded portion of decode.&lt;br /&gt;
&lt;br /&gt;
* Using PVQ and energy conservation: see http://jmvalin.ca/video/video_pvq_v3.pdf&lt;br /&gt;
&lt;br /&gt;
==Techniques applicable to inter frames==&lt;br /&gt;
* Using x264 as a test-bed Jason and Loren demonstrated 15% rate/distortion improvements from using 10-bit intermediaries and references, estimated as being 1/3rd from quality calculation in the 10-bit space, 1/3rd from the higher precision references, and 1/3rd from higher intermediate precision in calculations (e.g. MC filter processing).&lt;br /&gt;
** Increased reference precision competes for memory with increased number of references. The improvements demonstrated appear to be a greater win than increasing the reference count once there are four references or so.&lt;br /&gt;
* Super-resolution techniques for motion-compensation references have been discussed— in particular it appears that the half-pel location is where intelligent filtering matters the most so staged computation could be effectively used to allow more expensive filtering at that level.&lt;br /&gt;
** Edge-directed interpolation techniques might be effectively applied to increase motion compensation accuracy, but most of the techniques known to be very effective are too slow.&lt;br /&gt;
** Speculation has been offered that a significant part of MC inaccuracy may be due to blending in a physically incorrect (gamma-corrected) space, though no real conclusions were made. Academic papers on motion compensation accuracy seem to have ignored this issue.&lt;br /&gt;
* Timothy has an example code base for a variable partition size blocking-free motion compensation scheme which merges OBMC (overlapped block motion compensation) and CGI (control-grid interpolation) with an interesting prediction/sub-division scheme and whole-frame trellis optimization of motion vectors. (daala-exp)&lt;br /&gt;
&lt;br /&gt;
==Basic features==&lt;br /&gt;
* YUV 4:4:4, 4:2:2 , 4:2:0 subsamplings, 8-bit, 10bit.&lt;br /&gt;
* Alpha channel — need testing material!&lt;br /&gt;
* 8-bit RGB compatible mode? (e.g. YCoCg, internally or at least flagging for it)&lt;br /&gt;
* Efficient 3D? — need testing material!&lt;br /&gt;
* Lossless?&lt;br /&gt;
** The value of this is disputable. If nothing else it&#039;s arguable that stuffing lossless into a lossy format may be the only way to get lossless into many people&#039;s hands. Also, see below&lt;br /&gt;
* Good support for decode side droppable frames?&lt;br /&gt;
** Hopefully the referencing structure will be flexible enough to enable this even if it&#039;s not an intentional feature.&lt;br /&gt;
&lt;br /&gt;
==Frills==&lt;br /&gt;
* Optionally storing a checksum of the expected decoded frame for decoder/encoder mismatch detection.&lt;br /&gt;
* Expose the number of referential descendants of a given frame (or even the whole reference DAG) for most efficient allocation of FEC.&lt;br /&gt;
&lt;br /&gt;
==Wingdings==&lt;br /&gt;
Crazy crap that might be interesting or at least fun to make fun of... &lt;br /&gt;
* &amp;gt;10bit?&lt;br /&gt;
** Use cases don&#039;t seem well enough defined yet. Significant complexity. Any prospective hardware developer may hire assassins.&lt;br /&gt;
** Possible compromise: the video reference structure contains a backbone that can be decoded at only N bits of depth (e.g. 10), and higher precisions are only supported outside of this reference chain.&lt;br /&gt;
**# Precision by truncation: decode is performed twice on each frame, identically, at low and high precision.  The only difference between them is the bit-depth of the transform, or possibly of the transform and MC filters.  Only low-precision outputs can be referenced by subsequent frames.  Useful if high-precision content is still worth watching at low precision.&lt;br /&gt;
**# Precision by gamma: decode is performed once at low precision as normal.  Then the output frame is converted to linear-light at high precision, after which another layer of residuals is added.  The second layer can be permitted to reference previous high-precision frames... tricky to use both sets of references though. Useful if high precision is used for storing linear data, but people still want to watch it on &amp;quot;low-end&amp;quot; hardware.&lt;br /&gt;
* Some high end digital cameras are operating jpeg-derivatives in a special mode that keeps the image in the native linear RGB bayer format in order to avoid lossy/slow demosaicing on the camera. In particular this allows white balancing in post without excessive loss. Probably out of scope for Daala itself.&lt;br /&gt;
** Bayer, 4:2:0, 4:2:2, and Interlacing are all special cases of a more general pattern in which the output frames are decimated/subsampled in a regular fashion.  All such subsamplings could be supported by a unified framework in which the video is always stored with all planes fully sampled, with a header indicating the recommended subsampling for display.  In such cases, the encoder can regard the transform as highly overcomplete, and simply ignore unneeded coefficients (presumably by leaving high frequency residuals coded as zero).  This structure would in effect turn the codec into a motion-compensated interpolating/deinterlacing filter.  Whether this approach is sensible presumably depends in part on how the transform is structured.  It would be especially easy if the transform&#039;s highest-frequencies were coded by a wavelet-like layer.&lt;br /&gt;
* Lossless intra-ability: The ability to losslessly rewrite any frame as an intra frame (perhaps with significant bitrate overhead) in order to make frame accurate cuts possible.&lt;br /&gt;
** Or best handled by making sure that containers have working pre-roll, but presumably common GOP sizes will be greater than the number of references so even if losslessly reencoding the references is expensive it may be cheaper than pre-roll. Do both?&lt;br /&gt;
** Can be had for &#039;free&#039; if lossless is supported, plus the right header flags to restuff the references from lossless copies in a packed hidden frame.&lt;br /&gt;
** Use of explicitly (rather than staged) super-resolution and/or deeper references may make this functionality unattractive due to increased overhead.&lt;br /&gt;
* Internal overlays which could be swapped without re-encoding? (e.g. advertising, station ID). Could also be automatically generated by a Sufficiently Advanced™ encoder to improve efficiencies for static sprites over moving backgrounds.&lt;br /&gt;
** Complicates making the complexity bounded. No Sufficiently Advanced™ encoder likely to ever exist. But perhaps the station id/advertising uses fully justify this.&lt;br /&gt;
** Could be done externally to the video codec, but if so it&#039;s no likely to be useful for anyone ever.&lt;br /&gt;
* A secondary reference implementation in OpenCL, maintained throughout development, to make sure that the codec is GPU-friendly and can be done efficiently using OpenCL primitives.&lt;br /&gt;
* SWAR-friendly arithmetic.  For example, choosing transform coefficients so that no intermediate product overflows 16 bits (tricky for signed values) can sometimes enable (e.g.) 4 parallel operations in one uint64_t.  This can allow a pure C reference implementation to run faster, which is valuable for initial adoption and ports to new platforms.&lt;br /&gt;
* Parametric decode-side blur.&lt;br /&gt;
** Symmetrical blur in regions that are smooth on scales longer than the block size.  Could be signaled or derived from observed DC values.&lt;br /&gt;
** Motion blur so that moving objects are blurred along the motion vector.  May require coding a shutter speed parameter (0..1 as a fraction of the inter-frame interval).&lt;br /&gt;
* Fancy block property prediction.  (Not clear how these prediction interact with intra pred)&lt;br /&gt;
** Predict block properties (quantizer, energy, etc.) from MV.  (0,0) probably means small delta.  Larger MV&#039;s may correspond to larger deltas ... although  at low shutter speeds large MVs may correlate with reduced overall HF energy.&lt;br /&gt;
** Predict delta spectral shape from source block spectral shape.  HF/LF ratio of the delta may be correlated with the same ratio in its source blocks.  Works well with decode-side fDCT.&lt;br /&gt;
&lt;br /&gt;
==Negative results==&lt;br /&gt;
&lt;br /&gt;
* Using Kurtosis for detecting text in a frame&lt;br /&gt;
** The idea was to detect a Bernouilli distribution but it&#039;s not robust and too noisy&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OggOpusImplementation&amp;diff=14489</id>
		<title>OggOpusImplementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OggOpusImplementation&amp;diff=14489"/>
		<updated>2014-02-26T00:37:27Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Chrome */ gain and end trimming seem to respected now.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Implementation Status ==&lt;br /&gt;
&lt;br /&gt;
Implementation status of the [https://tools.ietf.org/html/draft-ietf-codec-oggopus Ogg Opus draft]. This draft describes encapsulation of Opus audio in the Ogg container to make &amp;lt;tt&amp;gt;.opus&amp;lt;/tt&amp;gt; files and streams.&lt;br /&gt;
&lt;br /&gt;
What follows is a brief summary of major implementations of the draft, and their status.&lt;br /&gt;
This is intended to help understand the status of each portion of the draft, per [https://tools.ietf.org/html/rfc6982 RFC 6982].&lt;br /&gt;
&lt;br /&gt;
=== opus-tools ===&lt;br /&gt;
&lt;br /&gt;
The initial development implementation of this draft was in the opusenc, opusdec, and opusinfo command-line utilities, part of the opus-tools package and repository.&lt;br /&gt;
While still &#039;development&#039; status (pre-1.0) these utilities are in active public use, and have shipped with Linux distributions as well as homebrew and MacPorts for OS X.&lt;br /&gt;
Together they implement basic read, write and playback support of Ogg Opus files including metadata, multichannel, start and end trimming, the gain field, live streams, and chained files, but currently do not support seeking.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://git.xiph.org/?p=opus-tools.git&lt;br /&gt;
* http://www.opus-codec.org/downloads/&lt;br /&gt;
&lt;br /&gt;
=== opusfile ===&lt;br /&gt;
&lt;br /&gt;
The opusfile library is a separate implementation of this draft as a helper library for demuxing and decoding.&lt;br /&gt;
Like opus-tools, it supports metadata, multichannel, start and end trimming, the gain field, live streams, and chained files.&lt;br /&gt;
Its primary focus is efficient seeking, including over HTTP(S) and in chained streams.&lt;br /&gt;
It currently does not create Ogg Opus files.&lt;br /&gt;
This library is in early development and is not widely deployed, though several projects are currently using it, including xmms2, taglib, and cmus, and it is shipped in some Linux distributions and in homebrew.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://git.xiph.org/?p=opusfile.git&lt;br /&gt;
* http://www.opus-codec.org/downloads/&lt;br /&gt;
&lt;br /&gt;
=== Firefox ===&lt;br /&gt;
&lt;br /&gt;
The Firefox web browser is a widely deployed implementation of this draft.&lt;br /&gt;
Basic playback support with the HTML5 &amp;amp;lt;audio&amp;amp;gt; element, including start and end trimming, the gain field, live streams, multiplexing with other streams (for, e.g., the &amp;amp;lt;video&amp;amp;gt; tag), and seeking, was added in Firefox 15, in production release starting August 28, 2012.&lt;br /&gt;
Multichannel support was added in Firefox 17, in production release starting November 20, 2012.&lt;br /&gt;
Metadata support was added in Firefox 18, in production release starting January 8, 2013.&lt;br /&gt;
Chained file support (as streams only, with seeking disabled) was added in Firefox 20, in production release starting April 2, 2013.&lt;br /&gt;
Encoding support was added in Firefox 26, in production release starting December 10, 2013.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://mozilla.org/firefox/&lt;br /&gt;
* https://hacks.mozilla.org/2012/08/opus-support-for-webrtc/&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=674225&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=748144&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=778050&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=455165&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=842243&lt;br /&gt;
&lt;br /&gt;
=== Chrome ===&lt;br /&gt;
&lt;br /&gt;
Google Chrome is a widely distributed implementation of this draft. It added support with the HTML5 &amp;lt;audio&amp;gt; element in M25 and enabled it by default in M33 released in February 2014.&lt;br /&gt;
This implementation currently does not support chained files.&lt;br /&gt;
Prior to M33 support required passing --enable-opus-playback on the command line when invoking the executable.&lt;br /&gt;
&lt;br /&gt;
This implementation is based on open source code in Chromium, Blink, and FFmpeg.&lt;br /&gt;
&lt;br /&gt;
* https://www.google.com/intl/en/chrome/browser/&lt;br /&gt;
* https://www.google.com/intl/en/chrome/browser/canary.html&lt;br /&gt;
* https://code.google.com/p/chromium/issues/detail?id=104241&lt;br /&gt;
&lt;br /&gt;
=== GStreamer ===&lt;br /&gt;
&lt;br /&gt;
The GStreamer media framework includes an implementation of this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, chained files, multiplexing with other streams (e.g., video), and seeking.&lt;br /&gt;
Support was first added in early 2011, and is part of the 0.11 and 1.0.x releases.&lt;br /&gt;
The code implementing this draft is in the gst-plugins-bad collection, which generally indicates unsupported and/or experimental code, despite its release status.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* http://gstreamer.net/&lt;br /&gt;
* http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/&lt;br /&gt;
&lt;br /&gt;
=== FFmpeg ===&lt;br /&gt;
&lt;br /&gt;
The popular media framework and conversion tool FFmpeg implements this draft. It supports encoding and decoding, multiplexing and demultiplexing with other streams, metadata, multichannel, start and end trimming, the gain field, live streams, and seeking.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://ffmpeg.org/&lt;br /&gt;
&lt;br /&gt;
=== libav ===&lt;br /&gt;
&lt;br /&gt;
The development repository for libav implements this draft, similar to FFmpeg.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://libav.org/&lt;br /&gt;
&lt;br /&gt;
=== VLC ===&lt;br /&gt;
&lt;br /&gt;
VLC is another widely deployed implementation of demuxing, decoding, and playback support for this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, seeking, chained files (though seeking does not work correctly with chained files), and multiplexing with other streams (e.g., video).&lt;br /&gt;
Opus support was added in version 2.0.4, released on October 18, 2012.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://www.videolan.org/vlc/&lt;br /&gt;
* https://git.videolan.org/?p=vlc.git&lt;br /&gt;
* https://trac.videolan.org/vlc/ticket/7185&lt;br /&gt;
&lt;br /&gt;
=== foobar2000 ===&lt;br /&gt;
&lt;br /&gt;
A popular Windows application, foobar2000 implements read, write, and playback support for this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, chained files, and seeking.&lt;br /&gt;
Opus support was added in version 1.1.14, released on August 17, 2012.&lt;br /&gt;
Encoding support is implemented using opusenc from opus-tools.&lt;br /&gt;
&lt;br /&gt;
This implementation is closed source.&lt;br /&gt;
&lt;br /&gt;
* http://www.foobar2000.org/&lt;br /&gt;
&lt;br /&gt;
=== Rockbox ===&lt;br /&gt;
&lt;br /&gt;
Rockbox is an established alternative firmware for portable music players (typically small, embedded devices) that implements demuxing, decoding, and playback support for this draft starting with version 3.13 released March 5, 2013.&lt;br /&gt;
It supports metadata, start and end trimming, the gain field, and seeking.&lt;br /&gt;
It does not currently support multichannel or chained files.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* http://www.rockbox.org/&lt;br /&gt;
* http://git.rockbox.org/?p=rockbox.git&lt;br /&gt;
* http://gerrit.rockbox.org/r/#/c/300/&lt;br /&gt;
&lt;br /&gt;
=== Youki3 ===&lt;br /&gt;
&lt;br /&gt;
Youki3 is a media player for the Android mobile operating system. It provides OPUS metadata reading support via TagLib [(c) Scott Wheeler; ported to Android] and playback via LibVLC [also see the VLC section above please; (C) VideoLAN developers].&lt;br /&gt;
&lt;br /&gt;
It is currently in a closed beta, however you may get access by joining the Youki3 BETA-Test Google+ community, and then installing it from the Google Play Store&lt;br /&gt;
&lt;br /&gt;
* https://plus.google.com/communities/102114949476184273984&lt;br /&gt;
&lt;br /&gt;
The app source is currently closed, however since it utilizes LibVLC for playback, the respective source is open.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OggOpusImplementation&amp;diff=14488</id>
		<title>OggOpusImplementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OggOpusImplementation&amp;diff=14488"/>
		<updated>2014-02-26T00:18:15Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Chrome */ Chrome 33 is released&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Implementation Status ==&lt;br /&gt;
&lt;br /&gt;
Implementation status of the [https://tools.ietf.org/html/draft-ietf-codec-oggopus Ogg Opus draft]. This draft describes encapsulation of Opus audio in the Ogg container to make &amp;lt;tt&amp;gt;.opus&amp;lt;/tt&amp;gt; files and streams.&lt;br /&gt;
&lt;br /&gt;
What follows is a brief summary of major implementations of the draft, and their status.&lt;br /&gt;
This is intended to help understand the status of each portion of the draft, per [https://tools.ietf.org/html/rfc6982 RFC 6982].&lt;br /&gt;
&lt;br /&gt;
=== opus-tools ===&lt;br /&gt;
&lt;br /&gt;
The initial development implementation of this draft was in the opusenc, opusdec, and opusinfo command-line utilities, part of the opus-tools package and repository.&lt;br /&gt;
While still &#039;development&#039; status (pre-1.0) these utilities are in active public use, and have shipped with Linux distributions as well as homebrew and MacPorts for OS X.&lt;br /&gt;
Together they implement basic read, write and playback support of Ogg Opus files including metadata, multichannel, start and end trimming, the gain field, live streams, and chained files, but currently do not support seeking.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://git.xiph.org/?p=opus-tools.git&lt;br /&gt;
* http://www.opus-codec.org/downloads/&lt;br /&gt;
&lt;br /&gt;
=== opusfile ===&lt;br /&gt;
&lt;br /&gt;
The opusfile library is a separate implementation of this draft as a helper library for demuxing and decoding.&lt;br /&gt;
Like opus-tools, it supports metadata, multichannel, start and end trimming, the gain field, live streams, and chained files.&lt;br /&gt;
Its primary focus is efficient seeking, including over HTTP(S) and in chained streams.&lt;br /&gt;
It currently does not create Ogg Opus files.&lt;br /&gt;
This library is in early development and is not widely deployed, though several projects are currently using it, including xmms2, taglib, and cmus, and it is shipped in some Linux distributions and in homebrew.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://git.xiph.org/?p=opusfile.git&lt;br /&gt;
* http://www.opus-codec.org/downloads/&lt;br /&gt;
&lt;br /&gt;
=== Firefox ===&lt;br /&gt;
&lt;br /&gt;
The Firefox web browser is a widely deployed implementation of this draft.&lt;br /&gt;
Basic playback support with the HTML5 &amp;amp;lt;audio&amp;amp;gt; element, including start and end trimming, the gain field, live streams, multiplexing with other streams (for, e.g., the &amp;amp;lt;video&amp;amp;gt; tag), and seeking, was added in Firefox 15, in production release starting August 28, 2012.&lt;br /&gt;
Multichannel support was added in Firefox 17, in production release starting November 20, 2012.&lt;br /&gt;
Metadata support was added in Firefox 18, in production release starting January 8, 2013.&lt;br /&gt;
Chained file support (as streams only, with seeking disabled) was added in Firefox 20, in production release starting April 2, 2013.&lt;br /&gt;
Encoding support was added in Firefox 26, in production release starting December 10, 2013.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://mozilla.org/firefox/&lt;br /&gt;
* https://hacks.mozilla.org/2012/08/opus-support-for-webrtc/&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=674225&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=748144&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=778050&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=455165&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=842243&lt;br /&gt;
&lt;br /&gt;
=== Chrome ===&lt;br /&gt;
&lt;br /&gt;
Google Chrome is a widely distributed implementation of this draft. It added support with the HTML5 &amp;lt;audio&amp;gt; element in M25 and enabled it by default in M33 released in February 2014.&lt;br /&gt;
This implementation currently does not support end trimming, the gain tag, or chained files.&lt;br /&gt;
Prior to M33 support required passing --enable-opus-playback on the command line when invoking the executable.&lt;br /&gt;
&lt;br /&gt;
This implementation is based on open source code in Chromium, Blink, and FFmpeg.&lt;br /&gt;
&lt;br /&gt;
* https://www.google.com/intl/en/chrome/browser/&lt;br /&gt;
* https://www.google.com/intl/en/chrome/browser/canary.html&lt;br /&gt;
* https://code.google.com/p/chromium/issues/detail?id=104241&lt;br /&gt;
&lt;br /&gt;
=== GStreamer ===&lt;br /&gt;
&lt;br /&gt;
The GStreamer media framework includes an implementation of this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, chained files, multiplexing with other streams (e.g., video), and seeking.&lt;br /&gt;
Support was first added in early 2011, and is part of the 0.11 and 1.0.x releases.&lt;br /&gt;
The code implementing this draft is in the gst-plugins-bad collection, which generally indicates unsupported and/or experimental code, despite its release status.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* http://gstreamer.net/&lt;br /&gt;
* http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/&lt;br /&gt;
&lt;br /&gt;
=== FFmpeg ===&lt;br /&gt;
&lt;br /&gt;
The popular media framework and conversion tool FFmpeg implements this draft. It supports encoding and decoding, multiplexing and demultiplexing with other streams, metadata, multichannel, start and end trimming, the gain field, live streams, and seeking.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://ffmpeg.org/&lt;br /&gt;
&lt;br /&gt;
=== libav ===&lt;br /&gt;
&lt;br /&gt;
The development repository for libav implements this draft, similar to FFmpeg.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://libav.org/&lt;br /&gt;
&lt;br /&gt;
=== VLC ===&lt;br /&gt;
&lt;br /&gt;
VLC is another widely deployed implementation of demuxing, decoding, and playback support for this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, seeking, chained files (though seeking does not work correctly with chained files), and multiplexing with other streams (e.g., video).&lt;br /&gt;
Opus support was added in version 2.0.4, released on October 18, 2012.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://www.videolan.org/vlc/&lt;br /&gt;
* https://git.videolan.org/?p=vlc.git&lt;br /&gt;
* https://trac.videolan.org/vlc/ticket/7185&lt;br /&gt;
&lt;br /&gt;
=== foobar2000 ===&lt;br /&gt;
&lt;br /&gt;
A popular Windows application, foobar2000 implements read, write, and playback support for this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, chained files, and seeking.&lt;br /&gt;
Opus support was added in version 1.1.14, released on August 17, 2012.&lt;br /&gt;
Encoding support is implemented using opusenc from opus-tools.&lt;br /&gt;
&lt;br /&gt;
This implementation is closed source.&lt;br /&gt;
&lt;br /&gt;
* http://www.foobar2000.org/&lt;br /&gt;
&lt;br /&gt;
=== Rockbox ===&lt;br /&gt;
&lt;br /&gt;
Rockbox is an established alternative firmware for portable music players (typically small, embedded devices) that implements demuxing, decoding, and playback support for this draft starting with version 3.13 released March 5, 2013.&lt;br /&gt;
It supports metadata, start and end trimming, the gain field, and seeking.&lt;br /&gt;
It does not currently support multichannel or chained files.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* http://www.rockbox.org/&lt;br /&gt;
* http://git.rockbox.org/?p=rockbox.git&lt;br /&gt;
* http://gerrit.rockbox.org/r/#/c/300/&lt;br /&gt;
&lt;br /&gt;
=== Youki3 ===&lt;br /&gt;
&lt;br /&gt;
Youki3 is a media player for the Android mobile operating system. It provides OPUS metadata reading support via TagLib [(c) Scott Wheeler; ported to Android] and playback via LibVLC [also see the VLC section above please; (C) VideoLAN developers].&lt;br /&gt;
&lt;br /&gt;
It is currently in a closed beta, however you may get access by joining the Youki3 BETA-Test Google+ community, and then installing it from the Google Play Store&lt;br /&gt;
&lt;br /&gt;
* https://plus.google.com/communities/102114949476184273984&lt;br /&gt;
&lt;br /&gt;
The app source is currently closed, however since it utilizes LibVLC for playback, the respective source is open.&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OggOpusImplementation&amp;diff=14441</id>
		<title>OggOpusImplementation</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OggOpusImplementation&amp;diff=14441"/>
		<updated>2014-02-07T22:46:10Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Chrome */ refer to chrome as widely distributed, even though M33 is still in beta.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Implementation Status ==&lt;br /&gt;
&lt;br /&gt;
Implementation status of the [https://tools.ietf.org/html/draft-ietf-codec-oggopus Ogg Opus draft]. This draft describes encapsulation of Opus audio in the Ogg container to make &amp;lt;tt&amp;gt;.opus&amp;lt;/tt&amp;gt; files and streams.&lt;br /&gt;
&lt;br /&gt;
What follows is a brief summary of major implementations of the draft, and their status.&lt;br /&gt;
This is intended to help understand the status of each portion of the draft, per [https://tools.ietf.org/html/rfc6982 RFC 6982].&lt;br /&gt;
&lt;br /&gt;
=== opus-tools ===&lt;br /&gt;
&lt;br /&gt;
The initial development implementation of this draft was in the opusenc, opusdec, and opusinfo command-line utilities, part of the opus-tools package and repository.&lt;br /&gt;
While still &#039;development&#039; status (pre-1.0) these utilities are in active public use, and have shipped with Linux distributions as well as homebrew and MacPorts for OS X.&lt;br /&gt;
Together they implement basic read, write and playback support of Ogg Opus files including metadata, multichannel, start and end trimming, the gain field, live streams, and chained files, but currently do not support seeking.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://git.xiph.org/?p=opus-tools.git&lt;br /&gt;
* http://www.opus-codec.org/downloads/&lt;br /&gt;
&lt;br /&gt;
=== opusfile ===&lt;br /&gt;
&lt;br /&gt;
The opusfile library is a separate implementation of this draft as a helper library for demuxing and decoding.&lt;br /&gt;
Like opus-tools, it supports metadata, multichannel, start and end trimming, the gain field, live streams, and chained files.&lt;br /&gt;
Its primary focus is efficient seeking, including over HTTP(S) and in chained streams.&lt;br /&gt;
It currently does not create Ogg Opus files.&lt;br /&gt;
This library is in early development and is not widely deployed, though several projects are currently using it, including xmms2, taglib, and cmus, and it is shipped in some Linux distributions and in homebrew.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://git.xiph.org/?p=opusfile.git&lt;br /&gt;
* http://www.opus-codec.org/downloads/&lt;br /&gt;
&lt;br /&gt;
=== Firefox ===&lt;br /&gt;
&lt;br /&gt;
The Firefox web browser is a widely deployed implementation of this draft.&lt;br /&gt;
Basic playback support with the HTML5 &amp;amp;lt;audio&amp;amp;gt; element, including start and end trimming, the gain field, live streams, multiplexing with other streams (for, e.g., the &amp;amp;lt;video&amp;amp;gt; tag), and seeking, was added in Firefox 15, in production release starting August 28, 2012.&lt;br /&gt;
Multichannel support was added in Firefox 17, in production release starting November 20, 2012.&lt;br /&gt;
Metadata support was added in Firefox 18, in production release starting January 8, 2013.&lt;br /&gt;
Chained file support (as streams only, with seeking disabled) was added in Firefox 20, in production release starting April 2, 2013.&lt;br /&gt;
Encoding support was added in Firefox 26, in production release starting December 10, 2013.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://mozilla.org/firefox/&lt;br /&gt;
* https://hacks.mozilla.org/2012/08/opus-support-for-webrtc/&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=674225&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=748144&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=778050&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=455165&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=842243&lt;br /&gt;
&lt;br /&gt;
=== Chrome ===&lt;br /&gt;
&lt;br /&gt;
Google Chrome is a widely distributed implementation of this draft. It added support for this draft with the HTML5 &amp;lt;audio&amp;gt; element in M25 and enabled it by default in M33 for stable release in early 2014.&lt;br /&gt;
This implementation currently does not support end trimming, the gain tag, or chained files.&lt;br /&gt;
Prior to M33 support required passing --enable-opus-playback on the command line when invoking the executable.&lt;br /&gt;
&lt;br /&gt;
This implementation is based on open source code in Chromium, Blink, and FFmpeg.&lt;br /&gt;
&lt;br /&gt;
* https://www.google.com/intl/en/chrome/browser/&lt;br /&gt;
* https://www.google.com/intl/en/chrome/browser/canary.html&lt;br /&gt;
* https://code.google.com/p/chromium/issues/detail?id=104241&lt;br /&gt;
&lt;br /&gt;
=== GStreamer ===&lt;br /&gt;
&lt;br /&gt;
The GStreamer media framework includes an implementation of this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, chained files, multiplexing with other streams (e.g., video), and seeking.&lt;br /&gt;
Support was first added in early 2011, and is part of the 0.11 and 1.0.x releases.&lt;br /&gt;
The code implementing this draft is in the gst-plugins-bad collection, which generally indicates unsupported and/or experimental code, despite its release status.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* http://gstreamer.net/&lt;br /&gt;
* http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/&lt;br /&gt;
&lt;br /&gt;
=== FFmpeg ===&lt;br /&gt;
&lt;br /&gt;
The popular media framework and conversion tool FFmpeg implements this draft. It supports encoding and decoding, multiplexing and demultiplexing with other streams, metadata, multichannel, start and end trimming, the gain field, live streams, and seeking.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://ffmpeg.org/&lt;br /&gt;
&lt;br /&gt;
=== libav ===&lt;br /&gt;
&lt;br /&gt;
The development repository for libav implements this draft, similar to FFmpeg.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://libav.org/&lt;br /&gt;
&lt;br /&gt;
=== VLC ===&lt;br /&gt;
&lt;br /&gt;
VLC is another widely deployed implementation of demuxing, decoding, and playback support for this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, seeking, chained files (though seeking does not work correctly with chained files), and multiplexing with other streams (e.g., video).&lt;br /&gt;
Opus support was added in version 2.0.4, released on October 18, 2012.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* https://www.videolan.org/vlc/&lt;br /&gt;
* https://git.videolan.org/?p=vlc.git&lt;br /&gt;
* https://trac.videolan.org/vlc/ticket/7185&lt;br /&gt;
&lt;br /&gt;
=== foobar2000 ===&lt;br /&gt;
&lt;br /&gt;
A popular Windows application, foobar2000 implements read, write, and playback support for this draft.&lt;br /&gt;
It supports metadata, multichannel, start and end trimming, the gain field, live streams, chained files, and seeking.&lt;br /&gt;
Opus support was added in version 1.1.14, released on August 17, 2012.&lt;br /&gt;
Encoding support is implemented using opusenc from opus-tools.&lt;br /&gt;
&lt;br /&gt;
This implementation is closed source.&lt;br /&gt;
&lt;br /&gt;
* http://www.foobar2000.org/&lt;br /&gt;
&lt;br /&gt;
=== Rockbox ===&lt;br /&gt;
&lt;br /&gt;
Rockbox is an established alternative firmware for portable music players (typically small, embedded devices) that implements demuxing, decoding, and playback support for this draft starting with version 3.13 released March 5, 2013.&lt;br /&gt;
It supports metadata, start and end trimming, the gain field, and seeking.&lt;br /&gt;
It does not currently support multichannel or chained files.&lt;br /&gt;
&lt;br /&gt;
This implementation is open source.&lt;br /&gt;
&lt;br /&gt;
* http://www.rockbox.org/&lt;br /&gt;
* http://git.rockbox.org/?p=rockbox.git&lt;br /&gt;
* http://gerrit.rockbox.org/r/#/c/300/&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_on_Wheels&amp;diff=14437</id>
		<title>Daala on Wheels</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_on_Wheels&amp;diff=14437"/>
		<updated>2014-02-03T16:32:38Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Work in progress */ new code party links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the current working name of a next generation video codec— to be renamed once someone insists on something better. So far the best proposed alternative is PatentCake.&lt;br /&gt;
&lt;br /&gt;
For now the purposes of this page is to collect notes about things which have been discussed in informal public IRC discussion about the next generation initiative. Participants in these discussions have included Timothy Terriberry, Jason Garrett-Glaser, Loren Merritt, Ben Schwartz, Greg Maxwell, and others. &lt;br /&gt;
&lt;br /&gt;
See also: [https://xiph.org/daala/ https://xiph.org/daala/]&lt;br /&gt;
&lt;br /&gt;
== Work in progress ==&lt;br /&gt;
&lt;br /&gt;
* [[DaalaRoadmap]]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/workweek-201402 2014 February meetup]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/daala-meetup 2013 November meetup]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/coding-party-201309 2013 September code party]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/august-todo August task tracking]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/july-todo July tasks]&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/june-todo June tasks]&lt;br /&gt;
&lt;br /&gt;
== Weekly meetings ==&lt;br /&gt;
&lt;br /&gt;
We&#039;ve been having weekly progress meetings on mumble.&lt;br /&gt;
&lt;br /&gt;
* 2012 June 4  [https://people.xiph.org/~giles/2012/daala_20120604.txt minutes] (actually a work week)&lt;br /&gt;
* 2012 June 22 [https://people.xiph.org/~giles/2012/daala_20120622.txt minutes]&lt;br /&gt;
* 2012 June 29 [https://people.xiph.org/~giles/2012/daala_20120629.txt minutes] [https://people.xiph.org/~giles/2012/daala_20120629.opus recording]&lt;br /&gt;
* 2012 July 6 [https://people.xiph.org/~giles/2012/daala_20120706.txt minutes]&lt;br /&gt;
* 2012 July 13 [https://people.xiph.org/~giles/2012/daala_20120713.txt minutes]&lt;br /&gt;
* 2012 July 20 [https://people.xiph.org/~giles/2012/daala_20120720.txt minutes]&lt;br /&gt;
* 2012 July 27 [https://people.xiph.org/~giles/2012/daala_20120727.txt minutes]&lt;br /&gt;
* 2012 August 3 [https://people.xiph.org/~giles/2012/daala_20120803.txt minutes] [https://people.xiph.org/~giles/2012/daala_20120803.opus recording]&lt;br /&gt;
* 2012 August 10 [https://people.xiph.org/~giles/2012/daala_20120810.txt minutes]&lt;br /&gt;
* 2012 August 17 - no meeting&lt;br /&gt;
* 2012 August 24 - [https://people.xiph.org/~giles/2012/daala_20120824.txt minutes] [https://people.xiph.org/~giles/2012/daala_20120824.opus recording]&lt;br /&gt;
* 2012 August 31 - no meeting&lt;br /&gt;
* 2012 September 7 - no meeting&lt;br /&gt;
* 2012 September 14 - no meeting&lt;br /&gt;
* 2012 September 21 - [https://people.xiph.org/~giles/2012/daala_20120921.txt minutes]&lt;br /&gt;
* 2012 September 28 - [https://people.xiph.org/~giles/2012/daala_20120928.txt minutes] [https://people.xiph.org/~giles/2012/daala_20120928.opus recording]&lt;br /&gt;
* 2012 October 5 - [https://people.xiph.org/~giles/2012/daala_20121005.opus recording]&lt;br /&gt;
* 20120 October 26 - &lt;br /&gt;
* 2012 Novemeber 2 - no meeting&lt;br /&gt;
* 2012 December 7 - [https://people.xiph.org/~giles/2012/daala_20121207.txt minutes]&lt;br /&gt;
* [[DaalaMeeting20130911|2013 September 11]] - logistics, status updates, coding party agenda&lt;br /&gt;
* [[DaalaMeeting20130917|2013 September 17]] - summit plans, research talks, coding party agenda, monty&#039;s TF ideas&lt;br /&gt;
* [[DaalaMeeting20130924|2013 September 24]] - training results, 32x32 code, and 2nd stage TF&lt;br /&gt;
* [[DaalaMeeting20131008|2013 October 8]] - pvq status, training, chroma from luma&lt;br /&gt;
* [[DaalaMeeting20131022|2013 October 22]] - even/odd quantizer, determinant 1, IETF, chroma from luma&lt;br /&gt;
* [[DaalaMeeting20131029|2013 October 29]] - gstreamer conf, ietf, chroma from luma&lt;br /&gt;
* [[DaalaMeeting20131112|2013 November 12]] - chroma from luma, pvq&lt;br /&gt;
* [[DaalaMeeting20131203|2013 December 3]] - chroma from luma, pvq, misc&lt;br /&gt;
* [[DaalaMeeting20131217|2013 December 17]] - luma intraprediction, pvq decoder, interns&lt;br /&gt;
* [[DaalaMeeting20140107|2014 January 07]] - reviews, pvq projects, and det1&lt;br /&gt;
* [[DaalaMeeting20140114|2014 January 14]] - pvq, det1, new projects&lt;br /&gt;
* [[DaalaMeeting20140121|2014 January 21]] - project planning&lt;br /&gt;
&lt;br /&gt;
= Techniques =&lt;br /&gt;
&lt;br /&gt;
The discussed overall structure so far has been a variable size lapped-DCT block based codec with lapping done via pre/post filtering with a specially structured (lifting) linear phase transform along the edges along with overlapped block motion compensation and the expected trimmings. The lapping can be optimized for energy compaction and other useful properties, including invert-ability, and yields excellent results with efficient finite precision math.&lt;br /&gt;
&lt;br /&gt;
Other components which have been discussed include:&lt;br /&gt;
&lt;br /&gt;
==Techniques applicable to all frame types==&lt;br /&gt;
* Multisymbol arithmetic coding &lt;br /&gt;
** Timothy has some trial code showing speed-up proportional to the number of bits coded at once. (ec_test.c)&lt;br /&gt;
* Mode prediction using the previously decoded data, e.g. coding the mode using a probability function derived from trained predictors on the surrounding blocks. &lt;br /&gt;
** This will be terrible for robustness but may significantly reduce signalling overhead, allowing many more modes, and provide continuous adaptation between signalling free and fully signalled modes.&lt;br /&gt;
* Explore legendre polynomial basis transforms instead of DCT&lt;br /&gt;
** May have better perceptual properties and/or result in &#039;less compromised&#039; efficient implementations.  &lt;br /&gt;
* Coefficient domain prediction to allow efficient energy preserving quantization.&lt;br /&gt;
* Variable partition size/shape and the use of good predictors appears to remove most of the benefit of directional transforms.&lt;br /&gt;
** Perhaps 45deg is still useful?&lt;br /&gt;
** How does this change with partition sizes? Directional transforms are clearly not that useful with 4x4. &lt;br /&gt;
* Transform-post filtering to allow merging smaller transform blocks (like TF merging in CELT) may allow more flexible partitioning then outright using mixed block sizes.&lt;br /&gt;
* Perturbed quantization mode-signalling has been discussed but mostly laughed at. ;) &lt;br /&gt;
* Special block modes well suited to solid color/cartoon like content— avoiding ringing.&lt;br /&gt;
** Are pixel prediction modes too slow?&lt;br /&gt;
* In general— what markov random field techniques can be applied with acceptable performance. Any?&lt;br /&gt;
* Designed for parallel encode and decode within each frame&lt;br /&gt;
** Important because&lt;br /&gt;
*** the proposed techniques need a lot more CPU than H.264 and VP8 for both encode and decode&lt;br /&gt;
*** Moore&#039;s law for single-threaded throughput is dead.  Future hardware is all multicore/GPU.&lt;br /&gt;
** Implies&lt;br /&gt;
*** Getting the order of application right for the lapping filters.&lt;br /&gt;
*** Mandatory slicing? Maybe some kind of multilevel entropy coding to reduce redundancy between slices while minimizing the single-threaded portion of decode.&lt;br /&gt;
&lt;br /&gt;
* Using PVQ and energy conservation: see http://jmvalin.ca/video/video_pvq_v3.pdf&lt;br /&gt;
&lt;br /&gt;
==Techniques applicable to inter frames==&lt;br /&gt;
* Using x264 as a test-bed Jason and Loren demonstrated 15% rate/distortion improvements from using 10-bit intermediaries and references, estimated as being 1/3rd from quality calculation in the 10-bit space, 1/3rd from the higher precision references, and 1/3rd from higher intermediate precision in calculations (e.g. MC filter processing).&lt;br /&gt;
** Increased reference precision competes for memory with increased number of references. The improvements demonstrated appear to be a greater win than increasing the reference count once there are four references or so.&lt;br /&gt;
* Super-resolution techniques for motion-compensation references have been discussed— in particular it appears that the half-pel location is where intelligent filtering matters the most so staged computation could be effectively used to allow more expensive filtering at that level.&lt;br /&gt;
** Edge-directed interpolation techniques might be effectively applied to increase motion compensation accuracy, but most of the techniques known to be very effective are too slow.&lt;br /&gt;
** Speculation has been offered that a significant part of MC inaccuracy may be due to blending in a physically incorrect (gamma-corrected) space, though no real conclusions were made. Academic papers on motion compensation accuracy seem to have ignored this issue.&lt;br /&gt;
* Timothy has an example code base for a variable partition size blocking-free motion compensation scheme which merges OBMC (overlapped block motion compensation) and CGI (control-grid interpolation) with an interesting prediction/sub-division scheme and whole-frame trellis optimization of motion vectors. (daala-exp)&lt;br /&gt;
&lt;br /&gt;
==Basic features==&lt;br /&gt;
* YUV 4:4:4, 4:2:2 , 4:2:0 subsamplings, 8-bit, 10bit.&lt;br /&gt;
* Alpha channel — need testing material!&lt;br /&gt;
* 8-bit RGB compatible mode? (e.g. YCoCg, internally or at least flagging for it)&lt;br /&gt;
* Efficient 3D? — need testing material!&lt;br /&gt;
* Lossless?&lt;br /&gt;
** The value of this is disputable. If nothing else it&#039;s arguable that stuffing lossless into a lossy format may be the only way to get lossless into many people&#039;s hands. Also, see below&lt;br /&gt;
* Good support for decode side droppable frames?&lt;br /&gt;
** Hopefully the referencing structure will be flexible enough to enable this even if it&#039;s not an intentional feature.&lt;br /&gt;
&lt;br /&gt;
==Frills==&lt;br /&gt;
* Optionally storing a checksum of the expected decoded frame for decoder/encoder mismatch detection.&lt;br /&gt;
* Expose the number of referential descendants of a given frame (or even the whole reference DAG) for most efficient allocation of FEC.&lt;br /&gt;
&lt;br /&gt;
==Wingdings==&lt;br /&gt;
Crazy crap that might be interesting or at least fun to make fun of... &lt;br /&gt;
* &amp;gt;10bit?&lt;br /&gt;
** Use cases don&#039;t seem well enough defined yet. Significant complexity. Any prospective hardware developer may hire assassins.&lt;br /&gt;
** Possible compromise: the video reference structure contains a backbone that can be decoded at only N bits of depth (e.g. 10), and higher precisions are only supported outside of this reference chain.&lt;br /&gt;
**# Precision by truncation: decode is performed twice on each frame, identically, at low and high precision.  The only difference between them is the bit-depth of the transform, or possibly of the transform and MC filters.  Only low-precision outputs can be referenced by subsequent frames.  Useful if high-precision content is still worth watching at low precision.&lt;br /&gt;
**# Precision by gamma: decode is performed once at low precision as normal.  Then the output frame is converted to linear-light at high precision, after which another layer of residuals is added.  The second layer can be permitted to reference previous high-precision frames... tricky to use both sets of references though. Useful if high precision is used for storing linear data, but people still want to watch it on &amp;quot;low-end&amp;quot; hardware.&lt;br /&gt;
* Some high end digital cameras are operating jpeg-derivatives in a special mode that keeps the image in the native linear RGB bayer format in order to avoid lossy/slow demosaicing on the camera. In particular this allows white balancing in post without excessive loss. Probably out of scope for Daala itself.&lt;br /&gt;
** Bayer, 4:2:0, 4:2:2, and Interlacing are all special cases of a more general pattern in which the output frames are decimated/subsampled in a regular fashion.  All such subsamplings could be supported by a unified framework in which the video is always stored with all planes fully sampled, with a header indicating the recommended subsampling for display.  In such cases, the encoder can regard the transform as highly overcomplete, and simply ignore unneeded coefficients (presumably by leaving high frequency residuals coded as zero).  This structure would in effect turn the codec into a motion-compensated interpolating/deinterlacing filter.  Whether this approach is sensible presumably depends in part on how the transform is structured.  It would be especially easy if the transform&#039;s highest-frequencies were coded by a wavelet-like layer.&lt;br /&gt;
* Lossless intra-ability: The ability to losslessly rewrite any frame as an intra frame (perhaps with significant bitrate overhead) in order to make frame accurate cuts possible.&lt;br /&gt;
** Or best handled by making sure that containers have working pre-roll, but presumably common GOP sizes will be greater than the number of references so even if losslessly reencoding the references is expensive it may be cheaper than pre-roll. Do both?&lt;br /&gt;
** Can be had for &#039;free&#039; if lossless is supported, plus the right header flags to restuff the references from lossless copies in a packed hidden frame.&lt;br /&gt;
** Use of explicitly (rather than staged) super-resolution and/or deeper references may make this functionality unattractive due to increased overhead.&lt;br /&gt;
* Internal overlays which could be swapped without re-encoding? (e.g. advertising, station ID). Could also be automatically generated by a Sufficiently Advanced™ encoder to improve efficiencies for static sprites over moving backgrounds.&lt;br /&gt;
** Complicates making the complexity bounded. No Sufficiently Advanced™ encoder likely to ever exist. But perhaps the station id/advertising uses fully justify this.&lt;br /&gt;
** Could be done externally to the video codec, but if so it&#039;s no likely to be useful for anyone ever.&lt;br /&gt;
* A secondary reference implementation in OpenCL, maintained throughout development, to make sure that the codec is GPU-friendly and can be done efficiently using OpenCL primitives.&lt;br /&gt;
* SWAR-friendly arithmetic.  For example, choosing transform coefficients so that no intermediate product overflows 16 bits (tricky for signed values) can sometimes enable (e.g.) 4 parallel operations in one uint64_t.  This can allow a pure C reference implementation to run faster, which is valuable for initial adoption and ports to new platforms.&lt;br /&gt;
* Parametric decode-side blur.&lt;br /&gt;
** Symmetrical blur in regions that are smooth on scales longer than the block size.  Could be signaled or derived from observed DC values.&lt;br /&gt;
** Motion blur so that moving objects are blurred along the motion vector.  May require coding a shutter speed parameter (0..1 as a fraction of the inter-frame interval).&lt;br /&gt;
* Fancy block property prediction.  (Not clear how these prediction interact with intra pred)&lt;br /&gt;
** Predict block properties (quantizer, energy, etc.) from MV.  (0,0) probably means small delta.  Larger MV&#039;s may correspond to larger deltas ... although  at low shutter speeds large MVs may correlate with reduced overall HF energy.&lt;br /&gt;
** Predict delta spectral shape from source block spectral shape.  HF/LF ratio of the delta may be correlated with the same ratio in its source blocks.  Works well with decode-side fDCT.&lt;br /&gt;
&lt;br /&gt;
==Negative results==&lt;br /&gt;
&lt;br /&gt;
* Using Kurtosis for detecting text in a frame&lt;br /&gt;
** The idea was to detect a Bernouilli distribution but it&#039;s not robust and too noisy&lt;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=14429</id>
		<title>OpusTodo</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=14429"/>
		<updated>2014-01-27T16:50:22Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Experiments */ I believe these branches are obsolete post-1.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== For 1.1.1 ==&lt;br /&gt;
* Unconstrained SILK VBR&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]] And firefox/ffmpeg implementation&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;
* Port opusdec to libopusfile/libopusurl.&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
** Start with opusrtp.c in [https://git.xiph.org/?p=opus-tools.git opus-tools]&lt;br /&gt;
** Make &amp;lt;code&amp;gt;opusrtp rtp://example.com:5431/&amp;lt;/code&amp;gt; listen to that host and port and mux packets from there. Generalize the cpac bases --sniff implementation&lt;br /&gt;
** Make sending similarly generic. Maybe just &amp;lt;code&amp;gt;opusrtp source.opus -o rtp://example.com:5431/&amp;lt;/code&amp;gt; to send source.opus out to the destination?&lt;br /&gt;
** Make --sniff save one file per&lt;br /&gt;
** Implement DTLS-SRTP. See webrtc.&lt;br /&gt;
** audio capture/encode, decode/playback?&lt;br /&gt;
** Parse and act on sdp for convenience and testing.&lt;br /&gt;
&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;
== Optimisations ==&lt;br /&gt;
&lt;br /&gt;
* Vectorising comb_filter()&lt;br /&gt;
* Use 16-bit mul plus shift in denormalise_bands()&lt;br /&gt;
* Optimise MDCT somehow&lt;br /&gt;
* Merge MIPS optimisations&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;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;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=14428</id>
		<title>OpusTodo</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=14428"/>
		<updated>2014-01-27T16:49:42Z</updated>

		<summary type="html">&lt;p&gt;Rillian: /* Opus-tools */ mention opusfile-&amp;gt;opusdec&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== For 1.1.1 ==&lt;br /&gt;
* Unconstrained SILK VBR&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]] And firefox/ffmpeg implementation&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;
* Port opusdec to libopusfile/libopusurl.&lt;br /&gt;
* A simple real time streaming example tool&lt;br /&gt;
** Start with opusrtp.c in [https://git.xiph.org/?p=opus-tools.git opus-tools]&lt;br /&gt;
** Make &amp;lt;code&amp;gt;opusrtp rtp://example.com:5431/&amp;lt;/code&amp;gt; listen to that host and port and mux packets from there. Generalize the cpac bases --sniff implementation&lt;br /&gt;
** Make sending similarly generic. Maybe just &amp;lt;code&amp;gt;opusrtp source.opus -o rtp://example.com:5431/&amp;lt;/code&amp;gt; to send source.opus out to the destination?&lt;br /&gt;
** Make --sniff save one file per&lt;br /&gt;
** Implement DTLS-SRTP. See webrtc.&lt;br /&gt;
** audio capture/encode, decode/playback?&lt;br /&gt;
** Parse and act on sdp for convenience and testing.&lt;br /&gt;
&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;
== Optimisations ==&lt;br /&gt;
&lt;br /&gt;
* Vectorising comb_filter()&lt;br /&gt;
* Use 16-bit mul plus shift in denormalise_bands()&lt;br /&gt;
* Optimise MDCT somehow&lt;br /&gt;
* Merge MIPS optimisations&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;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;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=14427</id>
		<title>OpusTodo</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=OpusTodo&amp;diff=14427"/>
		<updated>2014-01-27T16:47:36Z</updated>

		<summary type="html">&lt;p&gt;Rillian: updates on things I know we&amp;#039;ve done&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== For 1.1.1 ==&lt;br /&gt;
* Unconstrained SILK VBR&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]] And firefox/ffmpeg implementation&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;
** Start with opusrtp.c in [https://git.xiph.org/?p=opus-tools.git opus-tools]&lt;br /&gt;
** Make &amp;lt;code&amp;gt;opusrtp rtp://example.com:5431/&amp;lt;/code&amp;gt; listen to that host and port and mux packets from there. Generalize the cpac bases --sniff implementation&lt;br /&gt;
** Make sending similarly generic. Maybe just &amp;lt;code&amp;gt;opusrtp source.opus -o rtp://example.com:5431/&amp;lt;/code&amp;gt; to send source.opus out to the destination?&lt;br /&gt;
** Make --sniff save one file per&lt;br /&gt;
** Implement DTLS-SRTP. See webrtc.&lt;br /&gt;
** audio capture/encode, decode/playback?&lt;br /&gt;
** Parse and act on sdp for convenience and testing.&lt;br /&gt;
&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;
== Optimisations ==&lt;br /&gt;
&lt;br /&gt;
* Vectorising comb_filter()&lt;br /&gt;
* Use 16-bit mul plus shift in denormalise_bands()&lt;br /&gt;
* Optimise MDCT somehow&lt;br /&gt;
* Merge MIPS optimisations&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;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;/div&gt;</summary>
		<author><name>Rillian</name></author>
	</entry>
</feed>