<?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=Daala-ts</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=Daala-ts"/>
	<link rel="alternate" type="text/html" href="https://wiki.xiph.org/Special:Contributions/Daala-ts"/>
	<updated>2026-05-10T23:49:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=GranulePosAndSeeking&amp;diff=16135</id>
		<title>GranulePosAndSeeking</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=GranulePosAndSeeking&amp;diff=16135"/>
		<updated>2015-10-31T19:35:30Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* But how do I &amp;quot;seek to the desired time&amp;quot;? */ Fix a minor grammatical error.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Granulepos encoding and How seeking really works ==&lt;br /&gt;
&lt;br /&gt;
This describes how to seek on a multiplexed stream which contains logical bitstreams with granuleshift, such as&lt;br /&gt;
Theora, Kate, CMML or OggText.&lt;br /&gt;
The purpose is to locate the earliest page that is required for rendering a given time offset.&lt;br /&gt;
Due to the fact that two time-seeking operations are required, this procedure is commonly referred to as a &amp;quot;double seek&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
&lt;br /&gt;
Overload &#039;&#039;&#039;time&#039;&#039;&#039; to mean the time represented by a granulepos. Hence the time of a page is the time represented by the page granulepos.&lt;br /&gt;
&lt;br /&gt;
Define &#039;&#039;&#039;seek&#039;&#039;&#039; to mean: for each logical bitstream, locate the bytewise-latest page in the bitstream with a time &amp;lt; the&lt;br /&gt;
target time, then choose the bytewise-earliest among these pages. Thus if two pages have the same time, seeking will locate the bytewise-earlier page.&lt;br /&gt;
&lt;br /&gt;
==== Granules and Granuleshift ====&lt;br /&gt;
&lt;br /&gt;
We use the term &#039;&#039;&#039;granule&#039;&#039;&#039; to refer to time measured in the units of the codec. For audio codecs this is usually samples, and for video codecs it is frames or fields.&lt;br /&gt;
&lt;br /&gt;
In some formats, pages have a dependency on the data of an earlier page; for example in Theora, interframes have a dependency on an earlier keyframe -- the keyframe data is required to decode the interframe. We encode both the time of the page and the time of the page it depends on into the granulepos. In order to do this we treat the granulepos as a bitfield as follows: &lt;br /&gt;
&lt;br /&gt;
 +---------------------+-------------+&lt;br /&gt;
 | prev_granule        | offset      |&lt;br /&gt;
 +---------------------+-------------+&lt;br /&gt;
&lt;br /&gt;
Then if a page has time in units of codec granules &amp;lt;tt&amp;gt;curr_granule&amp;lt;/tt&amp;gt;, and the page it depends on has time&lt;br /&gt;
&amp;lt;tt&amp;gt;prev_granule&amp;lt;/tt&amp;gt;, we define &amp;lt;tt&amp;gt;offset&amp;lt;/tt&amp;gt; as the difference between these:&lt;br /&gt;
&lt;br /&gt;
 offset = curr_granule - prev_granule&lt;br /&gt;
&lt;br /&gt;
We refer to the number of bits used to encode the offset as the &amp;quot;granuleshift&amp;quot;. This is fixed for all pages in&lt;br /&gt;
that track (logical bitstream). So we encode the later page&#039;s granulepos as: &lt;br /&gt;
&lt;br /&gt;
 granulepos = (prev_granule &amp;lt;&amp;lt; granuleshift) | offset&lt;br /&gt;
&lt;br /&gt;
When decoding, we can extract the current_granule from a granulepos by simply adding these fields:&lt;br /&gt;
&lt;br /&gt;
 curr_granule = prev_granule + offset&lt;br /&gt;
&lt;br /&gt;
Which expands to this expression of the page granulepos:&lt;br /&gt;
&lt;br /&gt;
 curr_granule = (granulepos &amp;gt;&amp;gt; granuleshift) + (granulepos &amp;amp; ((1 &amp;lt;&amp;lt; granuleshift) - 1)))&lt;br /&gt;
&lt;br /&gt;
Keyframes, and other data with no dependency on earlier packets, are encoded with:&lt;br /&gt;
&lt;br /&gt;
 prev_granule = curr_granule, offset = 0&lt;br /&gt;
&lt;br /&gt;
=== Procedure for seeking on a single track ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the earliest page in a track (a logical bitstream)&lt;br /&gt;
that is required for rendering a given time offset:&lt;br /&gt;
&lt;br /&gt;
# seek to the desired time&lt;br /&gt;
# read the prev_granule out of the granulepos&lt;br /&gt;
# seek to the time represented by the prev_granule&lt;br /&gt;
&lt;br /&gt;
=== Procedure for seeking on a multitrack file ===&lt;br /&gt;
&lt;br /&gt;
In order to locate the earliest page in a multitrack file (a physical&lt;br /&gt;
bitstream) that required for rendering all tracks from a given time&lt;br /&gt;
offset:&lt;br /&gt;
&lt;br /&gt;
# seek to the desired time&lt;br /&gt;
# scan forward until a page has been seen from all of the tracks that use granuleshift; while doing so, record the prev_granule of the bytewise-earliest page encountered from each track&lt;br /&gt;
# seek to the minimum of the prev_granules of those pages&lt;br /&gt;
&lt;br /&gt;
It is useful to put a bound on the forward scan; the distance scanned&lt;br /&gt;
only depends on the way the stream is constructed, so it can be large&lt;br /&gt;
if pages in a particular logical bistream is sparse.&lt;br /&gt;
&lt;br /&gt;
=== But how do I &amp;quot;seek to the desired time&amp;quot;?===&lt;br /&gt;
The above assumes that you already know how to seek to a particular granpos within the stream efficiently. &lt;br /&gt;
&lt;br /&gt;
This isn&#039;t as simple as it sounds because the Ogg format does not include an index. The lack of an index is a feature rather than a deficiency and it is one of the primary reasons to use Ogg over some other formats. Because Ogg doesn&#039;t have in index infinite streams and partial streams are automatically supported by correctly written applications. There is no risk of truncation or minor corruption making a stream unseekable. No memory is required to store an index, no bandwidth is wasted to transmit it, and seeking granularity is not limited to the precision of the index.  On the other hand non-indexed formats can require a little more intelligence in the application and many applications have gotten it wrong (although this intelligence is also needed in a well written application fo indexed formats so that it can seek with a corrupted index or below the index granularity).&lt;br /&gt;
&lt;br /&gt;
If you are thinking about seeking in an Ogg file by first building your own complete index: STOP. This is not the correct procedure. It seems simple but it requires a costly read of the entire stream (which may be gigabytes in size, or even infinite).  There is a better way.&lt;br /&gt;
&lt;br /&gt;
The correct way to seek to a particular granule value in Ogg is by using a [http://en.wikipedia.org/wiki/Bisection_method bisection search]: Seek to the middle of the stream, obtain sync, and compare your target granule position with the current position. If the target is less than the current position repeat these steps on the left side, if it&#039;s greater repeat it on the right side. By applying this recursive algorithm you are guaranteed to find your target location quickly. &lt;br /&gt;
&lt;br /&gt;
To correctly support chaining you should first use this kind of search to locate the stream endpoints. Then the above approach can be applied within the streams to seek to any location within a chained file.&lt;br /&gt;
&lt;br /&gt;
Doing this correctly is somewhat more complicated than it seems due to the existence of continued pages and the risk of a small valid page being contained within a packet. Both of these challenges can be addressed but the solution is left as an exercise for the reader. &amp;lt;!-- Hint: The maximum page size is ~64kbytes --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bisection search is very good compared to the obvious alternatives (a linear scan of the whole file), often taking just a couple of reads to locate the correct location in a file gigabytes in size but the truly obsessive can out-perform the bisection on average by using the local bitrate to pick a better target than the half way point used in a bisection search ([http://en.wikipedia.org/wiki/Secant_method secant method] but be careful about the worst case becoming linear; see [http://en.wikipedia.org/wiki/Brent%27s_method brents method]).  The improvement possible from better-than-bisection approaches is probably only relevant for seeking across a high latency network.  In typical applications the added complexity may not be worth the cost.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
From an Email by Monty, [http://web.archive.org/web/20031201054855/http://www.xiph.org/archives/theora-dev/200209/0040.html 13th Sept 2002]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that this document is obsolete, and incorrect with respect to seeking in multiplexed streams.&#039;&#039;&#039; It does accurately describe the rationale behind the two-part granulepos scheme (option 3 below) now use in Theora, Dirac, CMML and other codecs in Ogg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folks have noticed that the documentation is semi-silent about how to properly encode the granule position and interleave synchronization of keyframe-based video. The primary reasons for this:&lt;br /&gt;
&lt;br /&gt;
* we at Xiph hadn&#039;t had to do it yet&lt;br /&gt;
&lt;br /&gt;
* there are several easy possibilities, and the longer we had to think about it before mandating One True Spec, the better that spec would likely be.&lt;br /&gt;
&lt;br /&gt;
The lack of a painfully explicit spec has led to the theory that it&#039;s not possible; that&#039;s not true, there are a few ways to do it. Several require no extension to Ogg stream v 0. A last way requires an extra field (a point against it), but does not actually break any stream that currently exists.&lt;br /&gt;
&lt;br /&gt;
The time has come to lay down the spec as we&#039;re currently building the real abstraction layers in a concrete Ogg framework now where the Ogg engine, the codecs, and the overarching Ogg control layers are neatly put into boxes connected in formalized ways. Below I go into detail about each scheme in a &#039;thinking aloud&#039; sort of way. This is not because I haven&#039;t already given the matter sufficient thought, it is because I wish to give the reader sufficient background information to understand why one way is better than the others. This is not a call for input so much as an educational effort (and a public sanity check of my thinking; please do pipe up if it appears I missed a salient point).&lt;br /&gt;
&lt;br /&gt;
==== Starting Assumptions: ====&lt;br /&gt;
&lt;br /&gt;
1) Ogg is not a non-linear format. It is not a replacement for the scripting system of a DVD player. It is a media transport format&lt;br /&gt;
designed to do nothing more than deliver content, in a stream, and have all the pieces arrive on time and in sync. It is not designed to *prevent* more complex use of content, it merely does not implement anything beyond a linear representation of the data contained within. If you want to build a real non-linear format, build it *from* Ogg, not *into* Ogg. This has been the intent from day 1.&lt;br /&gt;
&lt;br /&gt;
2) The Ogg layer does not know specifics of the codec data it&#039;s multiplexing into a stream. It knows nothing beyond &#039;Oooo, packets!&#039;, that the packets belong to different buckets, that the packets go in order, and that packets have position markers. Ogg does not even have a concept of &#039;time&#039;; it only knows about the sequentially increasing, unitless position markers. It is up to higher layers which have access to the codec APIs to assign and convert units of framing or time.&lt;br /&gt;
&lt;br /&gt;
3) Given pre-cached decode headers, a player may seek into a stream at any point and begin decode. It may be the case that audio may start after video by a fraction of a second, or video might be blank until the stream hits the next keyframe, but this simplest case must just work, and there will be sufficient information to maintain perfect cross-media sync.&lt;br /&gt;
&lt;br /&gt;
4) (This departs from current reality, but it will be the reality very soon; vorbisfile currently blurs the careful abstraction I&#039;m about to describe) Seeking at an arbitrary level of precision is a distributed abstraction in the larger Ogg picture. At the lowest-level Ogg stream abstraction, seeking is one operation: &amp;quot;find me the page from logical stream &#039;n&#039; with granule position &#039;x&#039;&amp;quot;. All more complex seeking operations are a function of a higher-level layer (with knowledge of the media types and codec in use) making intelligent use of this lowest Ogg abstraction. The Ogg stream abstraction need deal with nothing more complex than &#039;find this page&#039;.&lt;br /&gt;
&lt;br /&gt;
The various granulepos strategies for keyframes concern this last point.&lt;br /&gt;
&lt;br /&gt;
The basic issue with video from which complexity arises is that frames often depend on previous and possibly future frames. This happens in a larger, general category of codecs whose streams may not begin decode from just any packet as well as packets that may not represent an entire frame, or even a fixed-time sampling algorithm. It is a mistake to design a seeking system tied to an exact set of very specific cases. While one could implement an explicit keyframe mechanism at the Ogg level, this mechanism would not cover any of the other interesting seeking cases while, as I&#039;ll show below, the mechanism would not actually be necessary.&lt;br /&gt;
&lt;br /&gt;
There will be a few complaints that Ogg is being unnecessarily subtle and shifts a great deal of complexity into software which a few extra page header fields could eliminate. Consider the following:&lt;br /&gt;
&lt;br /&gt;
1) Ogg was designed to impose a roughly .5-1% over the raw packet data over a wide range of packet usage patterns. &#039;A few extra fields&#039; begins inflating that figure for specific special cases that only apply to a few stream types. Right now there is no header field that is not general to every stream. There is no fat in the page headers.&lt;br /&gt;
&lt;br /&gt;
2) The Ogg-level seeking algorithm is exceptionally simple and can be described in a single sentence: &amp;quot;Find the earliest page with a granulepos less than but closest to &#039;x&#039;&amp;quot;. This shifts the onus of assembling more complex seeking operation requiring knowledge of a specific media type into a higher layer that has knowledge of that media type. The higher layer becomes responsible for determining for what &#039;x&#039; Ogg should search. The division of labor is clear and&lt;br /&gt;
sensible.&lt;br /&gt;
&lt;br /&gt;
3) Complex, precise seeking operations are still contained entirely within the framework, just at a higher layer than Ogg-stream. At no time is an application developer required to deal with seeking mechanisms within an Ogg stream or to manually maintain stream&lt;br /&gt;
synchronization.&lt;br /&gt;
&lt;br /&gt;
==== High level handwaving- How seeking really works ====&lt;br /&gt;
&lt;br /&gt;
The granulepos is intended to mean, roughly, &#039;If I stop decode at the end of this page, I will get data from my decoder up to position &#039;granulepos&#039;. The granulepos simultaneously provides seeking information and a &#039;length-of-stream&#039; indicator. Depending on the codec, it can also usually be used to indicate a timebase, but that isn&#039;t our problem right now.&lt;br /&gt;
&lt;br /&gt;
By inference, the granulepos is also used to construct a value &#039;y&#039; such that &#039;if I begin decode *from* point &#039;y&#039;, I will get data&lt;br /&gt;
beginning at position &#039;granulepos&#039;. Although in some codecs, y == granulepos, that is not necessarily the case when decode can&#039;t begin at any arbitrary packet. The granulepos encoding method candidates I will now describe affect exactly the &#039;granulepos&#039; to &#039;y&#039; conversion process. Note also that none of these affect Ogg, only the higher decision-making layers... Different circumstanced necessitated by different codecs can lead to different valid choices, all of which work as far as Ogg is concerned. However, for our I-/P-/B-frame video case, there is a pretty clear winner.&lt;br /&gt;
&lt;br /&gt;
===== Strategy 1: Straight Granulepos, Keyframes Are Not Our Problem. =====&lt;br /&gt;
  &lt;br /&gt;
In this scheme, the granulepos is a simple frame counter. The seeking decision-maker in the codec&#039;s framework plugin is responsible for determining if a frame is a keyframe or not, and if it can&#039;t begin decode from a given frame, it must request another earlier frame until it finds a keyframe. If the codec so desires, it can store &#039;what is my keyframe?&#039; information in the stream packets.&lt;br /&gt;
&lt;br /&gt;
This case means that each seek to a *specific* frame in a video stream will generally result in two Ogg seeks; a first seek to the the requested frame, then a second seek backwards to find that frame&#039;s keyframe.&lt;br /&gt;
&lt;br /&gt;
A larger concern is the semantic accuracy of the granulepos; it&#039;s intended to reflect position accurately when decoding forward. In this scheme, it&#039;s fine for a P-frame to update the counter (as it can be decoded going strictly forward), but B frames will also advance the counter; they can&#039;t be decoded without subsequent P or I frames. Thus, the semantic value of granulepos no longer strictly represents &#039;we can decode up to &#039;granulepos&#039; at the end of this frame&#039;.&lt;br /&gt;
&lt;br /&gt;
===== Strategy 2: Granulepos Represents Keyframes Only =====&lt;br /&gt;
&lt;br /&gt;
In this scheme, only keyframes update the granulepos (monotonically or non-monotonically). It simplifies the seeking process to a keyframe as an Ogg-level seek to page &#039;x&#039; will always yield a page with a keyframe. In addition, granulepos will also always mean &#039;we can decode up to *at least* this point in the stream. If the stream is truncated at P or B frames past granulepos, the extra frames can be discarded. (A special case would need to be defined to terminate a stream that doesn&#039;t end on an I frame).&lt;br /&gt;
&lt;br /&gt;
The difficulty with this scheme is that it presents slightly more for the software level decoder to track; a proper frame number could not be determined internally without tracking from an I frame. Also, the granulepos an Ogg page would not necessarily map to the last packet on the page, or even any packet on that page; multiple sequential pages could have the same granulepos. It is conceptually slightly messy, although the &#039;messiness&#039; does not make it at all impractical.&lt;br /&gt;
&lt;br /&gt;
===== Strategy 3: Granulepos Encodes Some State =====&lt;br /&gt;
&lt;br /&gt;
In some ways, this strategy is the most semantically &#039;over clever&#039;, but also the easiest to implement and the one that gives the most correct, up to date sync information. Pending comments, it is the I/P/B video strategy I currently favor.&lt;br /&gt;
&lt;br /&gt;
The granulepos is 64 bits, a size that is absolutely necessary if, for example, it represents the PCM sample count in an audio codec. When being used to encode video frame number, however, it is comparatively absurdly large*.&lt;br /&gt;
&lt;br /&gt;
* note that although granulepos is not permitted to wrap around, we can simply begin a new logical stream segment with a new serial number should a 30fps video stream ever hit the ten-billion year mark.&lt;br /&gt;
&lt;br /&gt;
Thus we clearly have room to skim a few bits off the bottom of granulepos to represent I, P or B frame. These bits are not used as flags, but rather, frame representation becomes a counting problem; We do this such that the count is still always strictly increasing.&lt;br /&gt;
&lt;br /&gt;
For example, we know that I frames will never be more than 256 frames apart and P frames no more than 31 B frames apart, the granulepos of an I frame can be defined to always be granulepos | 0xff == 0. If we can have up to seven intervening P frames, they could be numbered in granulepos-of-iframe + 0x20, 0x40, 0x60... 0xe0. B frames between the I and P frames would use the remaining five bits and be numbers as sub-I and sub-P frames 1 through 31. Thus, starting from zero, the frames/packets in the pattern IPBBPBBI would be numbered 0x000, 0x020, 0x021, 0x022, 0x040, 0x041, 0x042, 0x100.&lt;br /&gt;
&lt;br /&gt;
If we wish to preserve the ability to represent a timebase, the granulepos number for I frames need not be increased monotonically and shifted; it can be used to represent the frame number. The above example becomes 0x000, 0x020, 0x021, 0x022, 0x040, 0x041, 0x042, 0x700. To get real frame number (from an I frame), we just shift granulepos &amp;gt;&amp;gt; 8. This scheme can be taken further or modified to get frame number from any video frame.&lt;br /&gt;
&lt;br /&gt;
In this way, we can always seek, first time, to a desired key frame page (by seeking to Ogg page &#039;x&#039; where x | 0xff == 0). In addition, each frame still has a unique frame number and also a clear &#039;group&#039; number, potentially useful information to the decoder. Lastly, granulepos is still semantically correct, although it is now, in a sense, representing a whole.fractional frame number for buffering purposes.&lt;br /&gt;
&lt;br /&gt;
===== Scheme Four: Extra &#039;Seekpos&#039; Field / Straw Man =====&lt;br /&gt;
&lt;br /&gt;
Another possibility requires extension of the current Ogg page format. Although older players would reject any such extended pages as invalid, we do have versioning and typing fields, so there&#039;s not actually any compatibility problems with current Ogg pages... in the future.&lt;br /&gt;
&lt;br /&gt;
The idea in this scheme is to keep the current granulepos as a frame number field (ala scheme 1), but also add a new field &#039;seekpos&#039; that is used, rather than granulepos, in seeking. The seekpos would represent the number of the last keyframe that passed by.&lt;br /&gt;
&lt;br /&gt;
advantages:&lt;br /&gt;
&lt;br /&gt;
1) The net effect of this strategy is to modify scheme 1 to only require one bisection seek rather than two. Some amount of code simplification (over scheme 1) at the decision-making level.&lt;br /&gt;
&lt;br /&gt;
disadvantages:&lt;br /&gt;
&lt;br /&gt;
1) The Ogg format will need to be revved. No current (ala 1.0) Ogg code will understand the new pages.&lt;br /&gt;
&lt;br /&gt;
2) The header becomes larger, from a minimum size of 27 bytes to a minimum size of 35.&lt;br /&gt;
&lt;br /&gt;
3) This strategy only enhances keyframes; it is of no use in other odd seeking cases.&lt;br /&gt;
&lt;br /&gt;
4) Gives no more information than scheme 3, but is still more complicated, both in code and API (Ogg would have to understand keyframes).&lt;br /&gt;
&lt;br /&gt;
Thus, there&#039;s no substantial reason to prefer extending the format over a scheme that&#039;s possible within the existing framework. Note that schemes 1-3 can all be implemented within the Ogg stream today.&lt;br /&gt;
&lt;br /&gt;
Monty&lt;br /&gt;
&lt;br /&gt;
[[Category:Ogg]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=16055</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=16055"/>
		<updated>2015-10-16T13:38:55Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Communication */ Update wiki to account for the loss of Etherpad.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the codename for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a video format that&#039;s free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Wiki Pages ==&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala MinGW64 Environment]]&lt;br /&gt;
&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[RD Curve Data Format]]&lt;br /&gt;
&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
&lt;br /&gt;
* [[Videos|Digital Primers]] - educational videos about audio/video technology&lt;br /&gt;
&lt;br /&gt;
== Communication ==&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net] - if you don&#039;t have an IRC client, you can use Freenode&#039;s &#039;&#039;&#039;[https://webchat.freenode.net/?channels=%23daala webchat]&#039;&#039;&#039; instead.&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
=== Weekly Meetings ===&lt;br /&gt;
You are also welcome to attend the public [[Daala Weekly Meetings|weekly progress meetings]] by installing and using [http://wiki.mumble.info Mumble].&amp;lt;br /&amp;gt;&lt;br /&gt;
The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039; (you can run &#039;&#039;&#039;mumble://mf4.xiph.org:64738&#039;&#039;&#039; within your browser as a shortcut).&amp;lt;br /&amp;gt;&lt;br /&gt;
The meetings occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150428T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
The meeting agenda used to be available at &#039;&#039;&#039;[https://daala.etherpad.mozilla.org/weekly-meeting this Etherpad]&#039;&#039;&#039;, but Mozilla took their Etherpad down and is transitioning to Etherpad lite. In the meantime, the October 13, 2015 meeting is available on [https://docs.google.com/document/d/1JP_Ko3wPuyDWhooZcp_m9kndyfZ75xN5YOi5yIMCW0s/edit?pli=1 Google Docs].&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
* [http://forum.doom9.org/showthread.php?t=168004 Doom9 Forum discussion] - generic forum thread regarding Daala&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
&lt;br /&gt;
== Coding ==&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;]. Please stick to the &#039;&#039;&#039;[https://git.xiph.org/?p=daala.git;a=blob_plain;f=doc/coding_style.html Coding Style Guide]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/all?limit=100 Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://github.com/xiph/daala/issues Daala&#039;s issues] - Issue/bug tracker on Github&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/view/daala/ Continuous Integration Tests] - these run every time a new commit is made to the Daala git master, to make sure the new code hasn&#039;t broken existing functionality.&lt;br /&gt;
&lt;br /&gt;
== Demos ==&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player] - an example implementation of a Daala decoder and player, ported to Javascript using [https://github.com/kripken/emscripten Emscripten].&lt;br /&gt;
&lt;br /&gt;
=== Codec Techniques ===&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Demo Articles] - explanations on certain techniques used in Daala (and other Xiph.Org projects)&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation] ([https://github.com/smarter/edi source code])&lt;br /&gt;
* [https://people.xiph.org/~ds/edi/info.html More Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
* [https://people.xiph.org/~unlord/zigzags.html Macroblock Coefficient Zigzag Graph] - HTML page generated using [https://github.com/xiph/daala/blob/master/tools/draw_zigzags.c tools/draw_zigzags.c] from the Daala source code.&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [http://jmvalin.ca/papers/spie_pvq.pdf Perceptual Vector Quantisation (PVQ)]&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/vbsobmc.pdf Overlapped Block Motion Compensation (OBMC)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [https://people.xiph.org/~yushin/tmp__/yushin_phd_thesis.pdf Image Coding Thesis] by Yushin Cho&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] and why it [http://lists.xiph.org/pipermail/daala/2015-January/000054.html won&#039;t work well within Daala]&lt;br /&gt;
* [http://jmvalin.ca/video/theoretical_results.pdf JMSpeex&#039; Journal of Dubious Theoretical Results] - &amp;quot;take with an entire shaker-full of salt&amp;quot;&lt;br /&gt;
* [https://people.xiph.org/~unlord/pcs_daala.pdf Using Daala Intra Frames for Still Picture Coding]&lt;br /&gt;
&lt;br /&gt;
=== IETF Drafts ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt Time-Domain Lapped Transforms (TDLT)] - documents the Lapped Transform pre- and post-filters used for block-edge decorrelation&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq Perceptual Vector Quantisation (PVQ)] - &lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools Coding Tools] - documents Entropy Coding, Integer Transforms and other techniques&lt;br /&gt;
* [https://tools.ietf.org/html/draft-moffitt-netvc-requirements Internet Video Codec (NetVC) Requirements] - explains what requirements and use cases Daala is trying to cater for&lt;br /&gt;
* [https://tools.ietf.org/html/draft-daede-netvc-testing Internet Video Codec (NetVC) Testing and Quality Measurement]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-ipr-license Example IPR Licence Terms]&lt;br /&gt;
&lt;br /&gt;
Additional drafts can be found at the [https://datatracker.ietf.org/wg/netvc/documents/ IETF DataTracker].&lt;br /&gt;
&lt;br /&gt;
== Presentations ==&lt;br /&gt;
* 2015-09-19 VideoLAN Dev Days - [https://www.youtube.com/playlist?list=PLQLpBN3oI7E44HIdTOovThc1MNHLchgHE YouTube Playlist]&lt;br /&gt;
* 2015-07-22 IETF 93 - [http://recordings.conf.meetecho.com/Playout/watch.jsp?recording=IETF93_NETVC_II&amp;amp;chapter=chapter_1 NetVC Session 2/2] - [https://datatracker.ietf.org/meeting/93/agenda/netvc/ Agenda] - [http://www.meetecho.com/ietf93/netvc_II Video and Chat] - Slides - [https://www.ietf.org/jabber/logs/netvc/2015-07-22.html Jabber Log]&lt;br /&gt;
* 2015-07-20 IETF 93 - [http://recordings.conf.meetecho.com/Playout/watch.jsp?recording=IETF93_NETVC&amp;amp;chapter=chapter_1 NetVC Session 1/2] - [https://datatracker.ietf.org/meeting/93/agenda/netvc/ Agenda] - [http://www.meetecho.com/ietf93/netvc Video and Chat] - [https://www.ietf.org/proceedings/93/slides/slides-93-netvc-3.pdf Slides] - [https://www.ietf.org/jabber/logs/netvc/2015-07-20.html Jabber Log]&lt;br /&gt;
* 2015-03-24 IETF 92 - [http://recordings.conf.meetecho.com/Playout/watch.jsp?recording=IETF92_NETVC&amp;amp;chapter=chapter_0 NetVC Session] - Audio as [https://people.xiph.org/~tdaede/audio/ietf92-venetian-20150324-0900-am1.opus Opus] (29MB) or [https://www.ietf.org/audio/ietf92/ietf92-venetian-20150324-0900-am1.mp3 MP3] (119MB, action starts at 14:50) - [https://www.ietf.org/proceedings/92/slides/slides-92-netvc-0.pdf Slides] - [https://www.ietf.org/mail-archive/web/video-codec/current/msg00235.html Notes] - [https://www.ietf.org/jabber/logs/netvc/2015-03-24.html Jabber Log]&lt;br /&gt;
* 2015-02-11 SPIE talks:&lt;br /&gt;
&amp;lt;!-- Originals of these 3 videos can be found at http://people.xiph.org/~unlord/ --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Someday, do a better encode --&amp;gt;&lt;br /&gt;
** [http://people.xiph.org/~tdaede/video/SPIE_Nathan.webm Chroma from Luma (CfL)] - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf Slides] - [https://people.xiph.org/~unlord/spie_cfl.pdf Paper]&lt;br /&gt;
** [http://people.xiph.org/~tdaede/video/SPIE_PVQ.webm Perceptual Vector Quantisation (PVQ)] - [http://people.xiph.org/~tterribe/daala/spie_pvq_slides.pdf Slides] - [http://jmvalin.ca/papers/spie_pvq.pdf Paper]&lt;br /&gt;
** [http://people.xiph.org/~tdaede/video/SPIE_Tim.webm Overlapped Block Motion Compensation (OBMC)] - [http://people.xiph.org/~tterribe/daala/spie_pvq_slides.pdf Slides] - [https://people.xiph.org/~tterribe/daala/vbsobmc.pdf Paper]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf Slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf Slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
* 2014-06-06 VP9 Summit (no video available) - [https://people.xiph.org/~xiphmont/demo/daala/daala-vp9summit-20140606.pdf Slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf Slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf Slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Introduction to Video Coding] - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf Slides] (no video for slides 1-50)&lt;br /&gt;
&lt;br /&gt;
== Other Websites ==&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
* [https://www.xiph.org/donate/ Donate to Xiph.Org] &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15706</id>
		<title>Daala and Cygwin</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15706"/>
		<updated>2015-04-15T00:24:31Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add code tags (I thought I did that already. Did I overwrite one of my edits?)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to build Daala on Windows with [https://cygwin.com/ Cygwin]. Here&#039;s a different guide about this, on which this one is based: [http://nwgat.ninja/compiling-daala-on-cygwin/ Compiling Daala on Cygwin x64]&lt;br /&gt;
&lt;br /&gt;
==Installing Cygwin==&lt;br /&gt;
&lt;br /&gt;
Download and run [https://cygwin.com/setup-x86_64.exe https://cygwin.com/setup-x86_64.exe].&lt;br /&gt;
&lt;br /&gt;
===Install apt-cyg===&lt;br /&gt;
&lt;br /&gt;
 wget rawgit.com/XadillaX/apt-cyg/master/apt-cyg&lt;br /&gt;
 install apt-cyg /bin&lt;br /&gt;
&lt;br /&gt;
==Install Packages==&lt;br /&gt;
&lt;br /&gt;
Install packages necessary to build Daala:&lt;br /&gt;
&lt;br /&gt;
 apt-cyg install gcc-core make pkg-config autoconf automake libtool libogg-devel libpng-devel libjpeg-devel check git&lt;br /&gt;
&lt;br /&gt;
==Compile Daala==&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 --disable-player&lt;br /&gt;
 make -j22&lt;br /&gt;
 make tools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the compile fails, try commenting out these lines in configure.ac:&lt;br /&gt;
 CFLAGS=&amp;quot;-std=c89 -pedantic -Wall -Wextra -Wno-parentheses -Wno-long-long -Wno-overlength-strings $CFLAGS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 CC_CHECK_CFLAGS_APPEND([-U__STRICT_ANSI__])&lt;br /&gt;
&lt;br /&gt;
by putting a # on front of the lines in configure.ac file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: make tools will fail if sdl is missing.&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15705</id>
		<title>Daala and Cygwin</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15705"/>
		<updated>2015-04-15T00:23:16Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Minor writing change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to build Daala on Windows with [https://cygwin.com/ Cygwin]. Here&#039;s a different guide about this, on which this one is based: [http://nwgat.ninja/compiling-daala-on-cygwin/ Compiling Daala on Cygwin x64]&lt;br /&gt;
&lt;br /&gt;
==Installing Cygwin==&lt;br /&gt;
&lt;br /&gt;
Download and run [https://cygwin.com/setup-x86_64.exe https://cygwin.com/setup-x86_64.exe].&lt;br /&gt;
&lt;br /&gt;
===Install apt-cyg===&lt;br /&gt;
&lt;br /&gt;
wget rawgit.com/XadillaX/apt-cyg/master/apt-cyg&lt;br /&gt;
&lt;br /&gt;
install apt-cyg /bin&lt;br /&gt;
&lt;br /&gt;
==Install Packages==&lt;br /&gt;
&lt;br /&gt;
Install packages necessary to build Daala:&lt;br /&gt;
&lt;br /&gt;
apt-cyg install gcc-core make pkg-config autoconf automake libtool libogg-devel libpng-devel libjpeg-devel check git&lt;br /&gt;
&lt;br /&gt;
==Compile Daala==&lt;br /&gt;
&lt;br /&gt;
git clone https://git.xiph.org/daala.git&lt;br /&gt;
&lt;br /&gt;
cd daala&lt;br /&gt;
&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&lt;br /&gt;
./configure --disable-player&lt;br /&gt;
&lt;br /&gt;
make -j22&lt;br /&gt;
&lt;br /&gt;
make tools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the compile fails, try commenting out these lines in configure.ac:&lt;br /&gt;
CFLAGS=&amp;quot;-std=c89 -pedantic -Wall -Wextra -Wno-parentheses -Wno-long-long -Wno-overlength-strings $CFLAGS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CC_CHECK_CFLAGS_APPEND([-U__STRICT_ANSI__])&lt;br /&gt;
&lt;br /&gt;
by putting a # on front of the lines in configure.ac file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: make tools will fail if sdl is missing.&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15704</id>
		<title>Daala and Cygwin</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15704"/>
		<updated>2015-04-15T00:02:15Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Explain reference better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to build Daala on Windows with [https://cygwin.com/ Cygwin]. Here&#039;s a different guide about this, on which this guide is based: [http://nwgat.ninja/compiling-daala-on-cygwin/ Compiling Daala on Cygwin x64]&lt;br /&gt;
&lt;br /&gt;
==Installing Cygwin==&lt;br /&gt;
&lt;br /&gt;
Download and run [https://cygwin.com/setup-x86_64.exe https://cygwin.com/setup-x86_64.exe].&lt;br /&gt;
&lt;br /&gt;
===Install apt-cyg===&lt;br /&gt;
&lt;br /&gt;
wget rawgit.com/XadillaX/apt-cyg/master/apt-cyg&lt;br /&gt;
&lt;br /&gt;
install apt-cyg /bin&lt;br /&gt;
&lt;br /&gt;
==Install Packages==&lt;br /&gt;
&lt;br /&gt;
Install packages necessary to build Daala:&lt;br /&gt;
&lt;br /&gt;
apt-cyg install gcc-core make pkg-config autoconf automake libtool libogg-devel libpng-devel libjpeg-devel check git&lt;br /&gt;
&lt;br /&gt;
==Compile Daala==&lt;br /&gt;
&lt;br /&gt;
git clone https://git.xiph.org/daala.git&lt;br /&gt;
&lt;br /&gt;
cd daala&lt;br /&gt;
&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&lt;br /&gt;
./configure --disable-player&lt;br /&gt;
&lt;br /&gt;
make -j22&lt;br /&gt;
&lt;br /&gt;
make tools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the compile fails, try commenting out these lines in configure.ac:&lt;br /&gt;
CFLAGS=&amp;quot;-std=c89 -pedantic -Wall -Wextra -Wno-parentheses -Wno-long-long -Wno-overlength-strings $CFLAGS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CC_CHECK_CFLAGS_APPEND([-U__STRICT_ANSI__])&lt;br /&gt;
&lt;br /&gt;
by putting a # on front of the lines in configure.ac file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: make tools will fail if sdl is missing.&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15703</id>
		<title>Daala and Cygwin</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15703"/>
		<updated>2015-04-14T23:54:49Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Annotate link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to build Daala on Windows with [https://cygwin.com/ Cygwin]. Here&#039;s a different guide about this: [http://nwgat.ninja/compiling-daala-on-cygwin/ Compiling Daala on Cygwin x64]&lt;br /&gt;
&lt;br /&gt;
==Installing Cygwin==&lt;br /&gt;
&lt;br /&gt;
Download and run [https://cygwin.com/setup-x86_64.exe https://cygwin.com/setup-x86_64.exe].&lt;br /&gt;
&lt;br /&gt;
===Install apt-cyg===&lt;br /&gt;
&lt;br /&gt;
wget rawgit.com/XadillaX/apt-cyg/master/apt-cyg&lt;br /&gt;
&lt;br /&gt;
install apt-cyg /bin&lt;br /&gt;
&lt;br /&gt;
==Install Packages==&lt;br /&gt;
&lt;br /&gt;
Install packages necessary to build Daala:&lt;br /&gt;
&lt;br /&gt;
apt-cyg install gcc-core make pkg-config autoconf automake libtool libogg-devel libpng-devel libjpeg-devel check git&lt;br /&gt;
&lt;br /&gt;
==Compile Daala==&lt;br /&gt;
&lt;br /&gt;
git clone https://git.xiph.org/daala.git&lt;br /&gt;
&lt;br /&gt;
cd daala&lt;br /&gt;
&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&lt;br /&gt;
./configure --disable-player&lt;br /&gt;
&lt;br /&gt;
make -j22&lt;br /&gt;
&lt;br /&gt;
make tools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the compile fails, try commenting out these lines in configure.ac:&lt;br /&gt;
CFLAGS=&amp;quot;-std=c89 -pedantic -Wall -Wextra -Wno-parentheses -Wno-long-long -Wno-overlength-strings $CFLAGS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CC_CHECK_CFLAGS_APPEND([-U__STRICT_ANSI__])&lt;br /&gt;
&lt;br /&gt;
by putting a # on front of the lines in configure.ac file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: make tools will fail if sdl is missing.&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15702</id>
		<title>Daala and Cygwin</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15702"/>
		<updated>2015-04-14T23:53:32Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Clean up attribution to nwgat.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to build Daala on Windows with [https://cygwin.com/ Cygwin]. Here&#039;s a different guide about this: [http://nwgat.ninja/compiling-daala-on-cygwin/ Compiling Daala on Cygwin x64]&lt;br /&gt;
&lt;br /&gt;
==Installing Cygwin==&lt;br /&gt;
&lt;br /&gt;
Download and run [https://cygwin.com/setup-x86_64.exe].&lt;br /&gt;
&lt;br /&gt;
===Install apt-cyg===&lt;br /&gt;
&lt;br /&gt;
wget rawgit.com/XadillaX/apt-cyg/master/apt-cyg&lt;br /&gt;
&lt;br /&gt;
install apt-cyg /bin&lt;br /&gt;
&lt;br /&gt;
==Install Packages==&lt;br /&gt;
&lt;br /&gt;
Install packages necessary to build Daala:&lt;br /&gt;
&lt;br /&gt;
apt-cyg install gcc-core make pkg-config autoconf automake libtool libogg-devel libpng-devel libjpeg-devel check git&lt;br /&gt;
&lt;br /&gt;
==Compile Daala==&lt;br /&gt;
&lt;br /&gt;
git clone https://git.xiph.org/daala.git&lt;br /&gt;
&lt;br /&gt;
cd daala&lt;br /&gt;
&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&lt;br /&gt;
./configure --disable-player&lt;br /&gt;
&lt;br /&gt;
make -j22&lt;br /&gt;
&lt;br /&gt;
make tools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the compile fails, try commenting out these lines in configure.ac:&lt;br /&gt;
CFLAGS=&amp;quot;-std=c89 -pedantic -Wall -Wextra -Wno-parentheses -Wno-long-long -Wno-overlength-strings $CFLAGS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CC_CHECK_CFLAGS_APPEND([-U__STRICT_ANSI__])&lt;br /&gt;
&lt;br /&gt;
by putting a # on front of the lines in configure.ac file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: make tools will fail if sdl is missing.&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15701</id>
		<title>Daala and Cygwin</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_and_Cygwin&amp;diff=15701"/>
		<updated>2015-04-14T23:49:52Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: General cleanup, wikifying&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to build Daala on Windows with [https://cygwin.com/ Cygwin].&lt;br /&gt;
CC-BY [http://nwgat.ninja/compiling-daala-on-cygwin/ nwgat]&lt;br /&gt;
&lt;br /&gt;
==Installing Cygwin==&lt;br /&gt;
&lt;br /&gt;
Download and run [https://cygwin.com/setup-x86_64.exe].&lt;br /&gt;
&lt;br /&gt;
===Install apt-cyg===&lt;br /&gt;
&lt;br /&gt;
wget rawgit.com/XadillaX/apt-cyg/master/apt-cyg&lt;br /&gt;
&lt;br /&gt;
install apt-cyg /bin&lt;br /&gt;
&lt;br /&gt;
==Install Packages==&lt;br /&gt;
&lt;br /&gt;
Install packages necessary to build Daala:&lt;br /&gt;
&lt;br /&gt;
apt-cyg install gcc-core make pkg-config autoconf automake libtool libogg-devel libpng-devel libjpeg-devel check git&lt;br /&gt;
&lt;br /&gt;
==Compile Daala==&lt;br /&gt;
&lt;br /&gt;
git clone https://git.xiph.org/daala.git&lt;br /&gt;
&lt;br /&gt;
cd daala&lt;br /&gt;
&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&lt;br /&gt;
./configure --disable-player&lt;br /&gt;
&lt;br /&gt;
make -j22&lt;br /&gt;
&lt;br /&gt;
make tools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the compile fails, try commenting out these lines in configure.ac:&lt;br /&gt;
CFLAGS=&amp;quot;-std=c89 -pedantic -Wall -Wextra -Wno-parentheses -Wno-long-long -Wno-overlength-strings $CFLAGS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
CC_CHECK_CFLAGS_APPEND([-U__STRICT_ANSI__])&lt;br /&gt;
&lt;br /&gt;
by putting a # on front of the lines in configure.ac file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: make tools will fail if sdl is missing.&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15556</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15556"/>
		<updated>2015-03-26T17:16:29Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ Better name for IETF 92&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the codename for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a video format that&#039;s free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [https://github.com/xiph/daala/issues Daala&#039;s issues] - Issue/bug tracker on Github&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] - [http://lists.xiph.org/pipermail/daala/2015-January/000054.html why it won&#039;t work well within Daala]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-03-24 IETF 92 Netvc meeting [https://www.ietf.org/audio/ietf92/ietf92-venetian-20150324-0900-am1.mp3 Audio] [https://www.ietf.org/proceedings/92/slides/slides-92-netvc-0.pdf Slides] [https://www.ietf.org/mail-archive/web/video-codec/current/msg00235.html Notes] [https://www.ietf.org/jabber/logs/netvc/2015-03-24.html Jabber Log]&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15555</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15555"/>
		<updated>2015-03-26T17:14:32Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ Add link to IETF 92 audio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the codename for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a video format that&#039;s free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [https://github.com/xiph/daala/issues Daala&#039;s issues] - Issue/bug tracker on Github&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] - [http://lists.xiph.org/pipermail/daala/2015-January/000054.html why it won&#039;t work well within Daala]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-03-24 IETF 92 [https://www.ietf.org/audio/ietf92/ietf92-venetian-20150324-0900-am1.mp3 Audio] [https://www.ietf.org/proceedings/92/slides/slides-92-netvc-0.pdf Slides] [https://www.ietf.org/mail-archive/web/video-codec/current/msg00235.html Notes] [https://www.ietf.org/jabber/logs/netvc/2015-03-24.html Jabber Log]&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15550</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15550"/>
		<updated>2015-03-24T22:58:39Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ Add link to presentation slides&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the codename for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a video format that&#039;s free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [https://github.com/xiph/daala/issues Daala&#039;s issues] - Issue/bug tracker on Github&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] - [http://lists.xiph.org/pipermail/daala/2015-January/000054.html why it won&#039;t work well within Daala]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-03-24 IETF 92 [https://www.ietf.org/proceedings/92/slides/slides-92-netvc-0.pdf Slides] [https://www.ietf.org/mail-archive/web/video-codec/current/msg00235.html Notes] [https://www.ietf.org/jabber/logs/netvc/2015-03-24.html Jabber Log]&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15549</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15549"/>
		<updated>2015-03-24T20:56:17Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ These links work in HTTPS too.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the codename for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a video format that&#039;s free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [https://github.com/xiph/daala/issues Daala&#039;s issues] - Issue/bug tracker on Github&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] - [http://lists.xiph.org/pipermail/daala/2015-January/000054.html why it won&#039;t work well within Daala]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-03-24 IETF 92 [https://www.ietf.org/mail-archive/web/video-codec/current/msg00235.html Notes] [https://www.ietf.org/jabber/logs/netvc/2015-03-24.html Jabber Log]&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15548</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15548"/>
		<updated>2015-03-24T20:55:31Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ Adding link to IETF 92. No idea if there&amp;#039;s video.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the codename for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a video format that&#039;s free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [https://github.com/xiph/daala/issues Daala&#039;s issues] - Issue/bug tracker on Github&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] - [http://lists.xiph.org/pipermail/daala/2015-January/000054.html why it won&#039;t work well within Daala]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-03-24 IETF 92 [http://www.ietf.org/mail-archive/web/video-codec/current/msg00235.html Notes] [http://www.ietf.org/jabber/logs/netvc/2015-03-24.html Jabber Log]&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15545</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15545"/>
		<updated>2015-03-24T09:15:15Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add link to issue tracking page in Github.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the codename for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a video format that&#039;s free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [https://github.com/xiph/daala/issues Daala&#039;s issues] - Issue/bug tracker on Github&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] - [http://lists.xiph.org/pipermail/daala/2015-January/000054.html why it won&#039;t work well within Daala]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15544</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15544"/>
		<updated>2015-03-24T08:24:49Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Revise lead section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the codename for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a video format that&#039;s free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] - [http://lists.xiph.org/pipermail/daala/2015-January/000054.html why it won&#039;t work well within Daala]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=15543</id>
		<title>Daala Quickstart</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=15543"/>
		<updated>2015-03-23T08:55:26Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Decoding/Playing a Video */ Wrong heading type&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide to getting a copy of the latest code and encoding a video.&lt;br /&gt;
&lt;br /&gt;
There is also a &#039;&#039;&#039;[[Daala Quickstart Windows]]&#039;&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Obtaining dependencies ===&lt;br /&gt;
==== Linux ====&lt;br /&gt;
You&#039;ll need:&lt;br /&gt;
&lt;br /&gt;
* Standard build tools (autoconf, automake v1.11 or later, libtool, pkg-config, 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 (1.2, not 2!) (can by skipped if you pass --disable-player to ./configure)&lt;br /&gt;
&lt;br /&gt;
Do not use linuxbrew.&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;
=== Test Media ===&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]. These videos are relatively large and will take a long time to encode. There are also subsets of 1 second long videos for faster encoding:&lt;br /&gt;
* [https://people.xiph.org/~tdaede/video-1-short/ video-1-short]&lt;br /&gt;
&lt;br /&gt;
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] (50 images, small testing set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset3-y4m.tar.gz Subset 3] (1000 images, large training 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;
=== Using the encoder ===&lt;br /&gt;
Encode a video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/encoder_example -v 30 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)&lt;br /&gt;
&lt;br /&gt;
== Decoding/Playing a Video ==&lt;br /&gt;
&lt;br /&gt;
Play the video in a window:&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example video.ogv&lt;br /&gt;
&lt;br /&gt;
For information on the controls available while playing, run&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example --help&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;
== The Stream Analyzer ==&lt;br /&gt;
&lt;br /&gt;
There is also a bitstream analyzer. To run it:&lt;br /&gt;
&lt;br /&gt;
    ./examples/analyzer video.ogv&lt;br /&gt;
&lt;br /&gt;
where video.ogv is the file you want to open. If you omit it, you can open it via the analyzer&#039;s GUI.&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;br /&gt;
&lt;br /&gt;
== Creating y4m from other formats ==&lt;br /&gt;
&lt;br /&gt;
You can use the ffmpeg tool to generate y4m from any of it supported video formats:&lt;br /&gt;
&lt;br /&gt;
    ffmpeg -i video.webm -pix_fmt yuv420p video.y4m&lt;br /&gt;
&lt;br /&gt;
Note that ffmpeg is optimized for speed. You may not get repeatable results across machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=15542</id>
		<title>Daala Quickstart</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=15542"/>
		<updated>2015-03-23T08:54:58Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Minor copyediting and add info about the stream analyzer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide to getting a copy of the latest code and encoding a video.&lt;br /&gt;
&lt;br /&gt;
There is also a &#039;&#039;&#039;[[Daala Quickstart Windows]]&#039;&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Obtaining dependencies ===&lt;br /&gt;
==== Linux ====&lt;br /&gt;
You&#039;ll need:&lt;br /&gt;
&lt;br /&gt;
* Standard build tools (autoconf, automake v1.11 or later, libtool, pkg-config, 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 (1.2, not 2!) (can by skipped if you pass --disable-player to ./configure)&lt;br /&gt;
&lt;br /&gt;
Do not use linuxbrew.&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;
=== Test Media ===&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]. These videos are relatively large and will take a long time to encode. There are also subsets of 1 second long videos for faster encoding:&lt;br /&gt;
* [https://people.xiph.org/~tdaede/video-1-short/ video-1-short]&lt;br /&gt;
&lt;br /&gt;
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] (50 images, small testing set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset3-y4m.tar.gz Subset 3] (1000 images, large training 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;
=== Using the encoder ===&lt;br /&gt;
Encode a video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/encoder_example -v 30 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)&lt;br /&gt;
&lt;br /&gt;
== Decoding/Playing a Video ==&lt;br /&gt;
&lt;br /&gt;
Play the video in a window:&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example video.ogv&lt;br /&gt;
&lt;br /&gt;
For information on the controls available while playing, run&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example --help&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;
=== The Stream Analyzer ===&lt;br /&gt;
&lt;br /&gt;
There is also a bitstream analyzer. To run it:&lt;br /&gt;
&lt;br /&gt;
    ./examples/analyzer video.ogv&lt;br /&gt;
&lt;br /&gt;
where video.ogv is the file you want to open. If you omit it, you can open it via the analyzer&#039;s GUI.&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;br /&gt;
&lt;br /&gt;
== Creating y4m from other formats ==&lt;br /&gt;
&lt;br /&gt;
You can use the ffmpeg tool to generate y4m from any of it supported video formats:&lt;br /&gt;
&lt;br /&gt;
    ffmpeg -i video.webm -pix_fmt yuv420p video.y4m&lt;br /&gt;
&lt;br /&gt;
Note that ffmpeg is optimized for speed. You may not get repeatable results across machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=15541</id>
		<title>Daala Quickstart</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=15541"/>
		<updated>2015-03-23T08:42:11Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: fixing my own typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide to getting a copy of the latest code and encoding a video.&lt;br /&gt;
&lt;br /&gt;
There is also a &#039;&#039;&#039;[[Daala Quickstart Windows]]&#039;&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Obtaining dependencies ===&lt;br /&gt;
==== Linux ====&lt;br /&gt;
You&#039;ll need:&lt;br /&gt;
&lt;br /&gt;
* Standard build tools (autoconf, automake v1.11 or later, libtool, pkg-config, 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 (1.2, not 2!) (can by skipped if you pass --disable-player to ./configure)&lt;br /&gt;
&lt;br /&gt;
Do not use linuxbrew.&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;
=== Test Media ===&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]. These videos are relatively large and will take a long time to encode. There are also subsets of 1 second long videos for faster encoding:&lt;br /&gt;
* [https://people.xiph.org/~tdaede/video-1-short/ video-1-short]&lt;br /&gt;
&lt;br /&gt;
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] (50 images, small testing set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset3-y4m.tar.gz Subset 3] (1000 images, large training 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;
=== Using the encoder ===&lt;br /&gt;
Encode the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/encoder_example -v 30 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)&lt;br /&gt;
&lt;br /&gt;
== Decoding/Playing a Video ==&lt;br /&gt;
&lt;br /&gt;
Play the video in a window:&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example video.ogv&lt;br /&gt;
&lt;br /&gt;
For information on the controls available while playing, run&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example --help&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;br /&gt;
&lt;br /&gt;
== Creating y4m from other formats ==&lt;br /&gt;
&lt;br /&gt;
You can use the ffmpeg tool to generate y4m from any of it supported video formats:&lt;br /&gt;
&lt;br /&gt;
    ffmpeg -i video.webm -pix_fmt yuv420p video.y4m&lt;br /&gt;
&lt;br /&gt;
Note that ffmpeg is optimized for speed. You may not get repeatable results across machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=15540</id>
		<title>Daala Quickstart</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Quickstart&amp;diff=15540"/>
		<updated>2015-03-23T08:41:32Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Changing headings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide to getting a copy of the latest code and encoding a video.&lt;br /&gt;
&lt;br /&gt;
There is also a &#039;&#039;&#039;[[Daala Quickstart Windows]]&#039;&#039;&#039; page.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Obtaining dependencies ===&lt;br /&gt;
==== Linux ====&lt;br /&gt;
You&#039;ll need:&lt;br /&gt;
&lt;br /&gt;
* Standard build tools (autoconf, automake v1.11 or later, libtool, pkg-config, 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 (1.2, not 2!) (can by skipped if you pass --disable-player to ./configure)&lt;br /&gt;
&lt;br /&gt;
Do not use linuxbrew.&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;
=== Test Media ===&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]. These videos are relatively large and will take a long time to encode. There are also subsets of 1 second long videos for faster encoding:&lt;br /&gt;
* [https://people.xiph.org/~tdaede/video-1-short/ video-1-short]&lt;br /&gt;
&lt;br /&gt;
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] (50 images, small testing set)&lt;br /&gt;
* [https://people.xiph.org/~tterribe/daala/subset3-y4m.tar.gz Subset 3] (1000 images, large training 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;
=== Using the encoer ===&lt;br /&gt;
Encode the video:&lt;br /&gt;
&lt;br /&gt;
    ./examples/encoder_example -v 30 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)&lt;br /&gt;
&lt;br /&gt;
== Decoding/Playing a Video ==&lt;br /&gt;
&lt;br /&gt;
Play the video in a window:&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example video.ogv&lt;br /&gt;
&lt;br /&gt;
For information on the controls available while playing, run&lt;br /&gt;
&lt;br /&gt;
    ./examples/player_example --help&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;br /&gt;
&lt;br /&gt;
== Creating y4m from other formats ==&lt;br /&gt;
&lt;br /&gt;
You can use the ffmpeg tool to generate y4m from any of it supported video formats:&lt;br /&gt;
&lt;br /&gt;
    ffmpeg -i video.webm -pix_fmt yuv420p video.y4m&lt;br /&gt;
&lt;br /&gt;
Note that ffmpeg is optimized for speed. You may not get repeatable results across machines.&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15519</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15519"/>
		<updated>2015-03-04T07:37:45Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ Remove extra slash in link address&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the code-name for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a free-to-implement, -use and -distribute digital media format&amp;lt;br /&amp;gt;&lt;br /&gt;
and reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] - [http://lists.xiph.org/pipermail/daala/2015-January/000054.html why it won&#039;t work well within Daala]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15486</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15486"/>
		<updated>2015-02-20T01:13:10Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Project Communication */ HTTPS doesn&amp;#039;t work on this link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the code-name for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a free-to-implement, -use and -distribute digital media format&amp;lt;br /&amp;gt;&lt;br /&gt;
and reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [https://fosdem.org/2015/schedule/event/daala/ FOSDEM 2015] (video not available yet) - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15467</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15467"/>
		<updated>2015-02-14T05:10:57Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Websites */  I feel like git.xiph.org shouldn&amp;#039;t be capitalized. Feel free to revert me on that.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the code-name for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a free-to-implement, -use and -distribute digital media format&amp;lt;br /&amp;gt;&lt;br /&gt;
and reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [https://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;git.xiph.org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-02-11 SPIE talk about Chroma from Luma (video not available yet) - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [https://fosdem.org/2015/schedule/event/daala/ FOSDEM 2015] (video not available yet) - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15465</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15465"/>
		<updated>2015-02-13T00:23:44Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ Add date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the code-name for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a free-to-implement, -use and -distribute digital media format&amp;lt;br /&amp;gt;&lt;br /&gt;
and reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [https://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;Git.Xiph.Org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-02-11 Next up: SPIE talk about Chroma from Luma - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [https://fosdem.org/2015/schedule/event/daala/ FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides] (Video not available yet.)&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15464</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15464"/>
		<updated>2015-02-12T22:54:37Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ Removing Next up and adding note that no video is available.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the code-name for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a free-to-implement, -use and -distribute digital media format&amp;lt;br /&amp;gt;&lt;br /&gt;
and reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [https://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;Git.Xiph.Org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-02-?? Next up: SPIE talk about Chroma from Luma - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf slides]&lt;br /&gt;
* 2015-01-31 [https://fosdem.org/2015/schedule/event/daala/ FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides] (Video not available yet.)&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala&amp;diff=15454</id>
		<title>Daala</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala&amp;diff=15454"/>
		<updated>2015-02-09T17:15:55Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Video Presentations */ Add link to FOSDEM 2015 presentation slides&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daala is the code-name for a new video compression technology.&lt;br /&gt;
&lt;br /&gt;
The effort is a collaboration between [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.&lt;br /&gt;
&lt;br /&gt;
The goal of the project is to provide a free-to-implement, -use and -distribute digital media format&amp;lt;br /&amp;gt;&lt;br /&gt;
and reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. &lt;br /&gt;
&lt;br /&gt;
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
=== Wiki Pages ===&lt;br /&gt;
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]&lt;br /&gt;
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]&lt;br /&gt;
* [[Daala Weekly Meetings|Daala Weekly Meetings]]&lt;br /&gt;
* [[AreWeCompressedYet]]&lt;br /&gt;
* [[DaalaTodo|Daala To-do List]]&lt;br /&gt;
* [[DaalaRoadmap|Daala Roadmap]]&lt;br /&gt;
* [[Intra|Intra-prediction within Daala]]&lt;br /&gt;
 &lt;br /&gt;
* [[Daala_on_Wheels|Historical Daala wiki page]]&lt;br /&gt;
&lt;br /&gt;
=== Project Communication ===&lt;br /&gt;
&lt;br /&gt;
You are &#039;&#039;&#039;encouraged&#039;&#039;&#039; to join the&lt;br /&gt;
* [irc://irc.freenode.net/daala &#039;&#039;&#039;#daala&#039;&#039;&#039; IRC channel at freenode.net]&lt;br /&gt;
* [https://lists.xiph.org/mailman/listinfo/daala Daala Email List]&lt;br /&gt;
&lt;br /&gt;
You are also welcome to attend the [[Daala Weekly Meetings|weekly progress meetings]] using [http://wiki.mumble.info Mumble]. The address is &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; and the port is &#039;&#039;&#039;64738&#039;&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
They occur on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&amp;amp;iso=20150210T09&amp;amp;p1=1241 9AM Pacific Time]&#039;&#039;&#039; (5PM UTC/GMT).&lt;br /&gt;
&lt;br /&gt;
=== Websites ===&lt;br /&gt;
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary &#039;&#039;&#039;Xiph.Org&#039;&#039;&#039;] or [https://github.com/xiph/daala &#039;&#039;&#039;GitHub&#039;&#039;&#039;].&lt;br /&gt;
&lt;br /&gt;
* [https://review.xiph.org/ Xiph Code Reviews] - there is a proposal on the review process &#039;&#039;&#039;[[DaalaReview|here]]&#039;&#039;&#039;&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/ Monty&#039;s Demo Pages] - explanations on certain techniques used in Daala&lt;br /&gt;
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on&lt;br /&gt;
* [https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.&lt;br /&gt;
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you&#039;d like a free one, help out with the project and ask the Mozilla guys nicely for one :-)&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Demos ===&lt;br /&gt;
&lt;br /&gt;
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player]&lt;br /&gt;
* [http://exp.martres.me/edi/ Edge-Directed Interpolation]&lt;br /&gt;
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
* [https://tools.ietf.org/html/draft-terriberry-codingtools-01 Coding Tools for Daala IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt-00 Time-Domain Lapped Transforms (TDLT) IETF Draft]&lt;br /&gt;
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq-01 Perceptual Vector Quantisation (PVQ) IETF Draft] - there is also a [http://jmvalin.ca/papers/spie_pvq.pdf PDF file]&lt;br /&gt;
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]&lt;br /&gt;
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]&lt;br /&gt;
&lt;br /&gt;
=== Video Presentations ===&lt;br /&gt;
* 2015-01-31 Next up: [https://fosdem.org/2015/schedule/event/daala/ FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf slides]&lt;br /&gt;
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Tim Terriberry&#039;s presentation at Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf slides]&lt;br /&gt;
-------&lt;br /&gt;
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]&lt;br /&gt;
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]&lt;br /&gt;
-------&lt;br /&gt;
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf accompanying slides]&lt;br /&gt;
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf unlord&#039;s slides]&lt;br /&gt;
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]&lt;br /&gt;
-------&lt;br /&gt;
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Tim Terriberry Talks] (in 3 different formats) - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf accompanying slides] (no video for slides 1-50 unfortunately)&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Speex&amp;diff=15430</id>
		<title>Speex</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Speex&amp;diff=15430"/>
		<updated>2015-02-07T01:10:42Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* Speex is deprecated; Xiph recommends you use Opus instead */ Add a period&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{historical}}&lt;br /&gt;
&lt;br /&gt;
= Speex is deprecated; Xiph recommends you use [[Opus]] instead. =&lt;br /&gt;
&lt;br /&gt;
== Website ==&lt;br /&gt;
&lt;br /&gt;
The [http://www.speex.org/ Speex homepage] has all the project info.&lt;br /&gt;
&lt;br /&gt;
There is also a &#039;&#039;&#039;[[Speex FAQ]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
See [[Speex hardware]] for a partial list of supported hardware&lt;br /&gt;
&lt;br /&gt;
== Tasks ==&lt;br /&gt;
&lt;br /&gt;
These are some improvements that could be made to Speex.&lt;br /&gt;
&lt;br /&gt;
[mailto:speex-dev@xiph.org Let us know] if you&#039;d like to work on one of them.&lt;br /&gt;
&lt;br /&gt;
* Speech/signal processing (DSP design)&lt;br /&gt;
** Improve noise suppression (get rid of musical noise) and residual echo suppression&lt;br /&gt;
** Improve packet-loss concealment (PLC)&lt;br /&gt;
** Re-write the built-in voice activity detector (VAD)&lt;br /&gt;
** Improve the 2.15 kbps vocoder mode (there are even 4 unused bits left to use)&lt;br /&gt;
** Algorithmic optimizations (see if some searches can be simplified/approximated)&lt;br /&gt;
&lt;br /&gt;
* Complete fixed-point (DSP development)&lt;br /&gt;
** Wideband&lt;br /&gt;
** VBR&lt;br /&gt;
** Rest of the narrowband modes&lt;br /&gt;
** Preprocessor (noise suppression, AGC)&lt;br /&gt;
** Jitter buffer&lt;br /&gt;
** Arch-specific optimization&lt;br /&gt;
** More...&lt;br /&gt;
&lt;br /&gt;
* Tune (playing with parameters)&lt;br /&gt;
** Noise weighting filter&lt;br /&gt;
** Perceptual enhancement&lt;br /&gt;
&lt;br /&gt;
* Features (plain C programming)&lt;br /&gt;
** Implement maximum VBR bit-rate&lt;br /&gt;
** Implement peeling (write functions to strip some of the bits)&lt;br /&gt;
*** Peel high-band (wideband -&amp;gt; narrowband)&lt;br /&gt;
*** Transform 24.6 kbps mode to 15 kbps mode&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** Use questions from the mailing list to create a better FAQ on the wiki&lt;br /&gt;
** Update the Speex manual based on recent papers&lt;br /&gt;
** Improve libspeex documentation&lt;br /&gt;
** Write good example code&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [[Applications that use Speex]]&lt;br /&gt;
* [[Games that use Speex]]&lt;br /&gt;
* [[Wikipedia: Speex]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Speex]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Ogg&amp;diff=15429</id>
		<title>Ogg</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Ogg&amp;diff=15429"/>
		<updated>2015-02-07T01:10:04Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Minor copyediting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Ogg&#039;&#039;&#039; transport bitstream is designed to provide framing, error protection and seeking structure for higher-level codec streams that consist of raw, unencapsulated data packets, such as the [[Opus]], [[Vorbis]] and [[FLAC]] audio codecs or the [[Theora]] and [[Dirac]] video codecs.&lt;br /&gt;
&lt;br /&gt;
== Name ==&lt;br /&gt;
&lt;br /&gt;
Ogg derives from &amp;quot;ogging&amp;quot;, jargon from the computer game Netrek.  Ogg is not an acronym and should not be mentioned as &amp;quot;OGG&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Design constraints for Ogg bitstreams ==&lt;br /&gt;
&lt;br /&gt;
* True streaming; we must not need to seek to build a 100% complete bitstream.&lt;br /&gt;
* Use no more than approximately 1-2% of bitstream bandwidth for packet boundary marking, high-level framing, sync and seeking.&lt;br /&gt;
* Specification of absolute position within the original sample stream.&lt;br /&gt;
* Simple mechanism to ease limited editing, such as a simplified concatenation mechanism.&lt;br /&gt;
* Detection of corruption, recapture after error and direct, random access to data at arbitrary positions in the bitstream.&lt;br /&gt;
&lt;br /&gt;
== Specification / standard==&lt;br /&gt;
&lt;br /&gt;
The Ogg transport bitstream and file format is defined in RFC 3533 approved 2003-May. As RFC documents are invariable once approved, there will never be newer versions of RFC 3533, but an [[RFC_3533_Errata]] exists instead. Existing flaws are discussed at [[OggIssues]], ideas for the future at [[TransOgg]].&lt;br /&gt;
&lt;br /&gt;
== Detecting Ogg files and extracting information ==&lt;br /&gt;
&lt;br /&gt;
Ogg files begin with a signature &amp;quot;OggS&amp;quot;. This signature also repeats many times inside the file, at the beginning of every page. There are several tools to get information about Ogg files:&lt;br /&gt;
* Ogginfo - part of Vorbis-Tools, supports Vorbis codec only (historical Ogg-vs-Vorbis issue), other codecs cause it to report garbage&lt;br /&gt;
* Opusinfo - part of Opus-Tools, supports only Opus codec well, only minimal Vorbis support&lt;br /&gt;
* Oggz ???&lt;br /&gt;
* MediaInfo [http://sourceforge.net/projects/mediainfo/ sf.net/projects/mediainfo] - provides information about media (and some other) files, supports many types, also Ogg with various codecs, generic audio and video information only, no Ogg-specific details&lt;br /&gt;
&lt;br /&gt;
== Projects using Ogg ==&lt;br /&gt;
&lt;br /&gt;
=== Codecs ===&lt;br /&gt;
&lt;br /&gt;
* [[Opus]]&lt;br /&gt;
* [[CMML]]&lt;br /&gt;
* [[FLAC]] ([http://flac.sourceforge.net/ogg_mapping.html Ogg mapping])&lt;br /&gt;
* [[OggKate|Kate]]&lt;br /&gt;
* [http://opus-codec.org/ Opus] ([[OggOpus|Ogg mapping]])&lt;br /&gt;
* [[OggPCM|PCM]]&lt;br /&gt;
* [[Ogg Skeleton|Skeleton]]&lt;br /&gt;
* [[Speex]] ([[OggSpeex|Ogg mapping]])&lt;br /&gt;
* [[Theora]] ([[OggTheora|Ogg mapping]])&lt;br /&gt;
* [[Vorbis]] ([[OggVorbis|Ogg mapping]])&lt;br /&gt;
* [[OggWrit|Writ]]&lt;br /&gt;
&lt;br /&gt;
=== Servers ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.annodex.net/ Annodex]&lt;br /&gt;
* [[Icecast]]&lt;br /&gt;
* [http://www.metavid.org/ Metavid]&lt;br /&gt;
&lt;br /&gt;
== Developer info ==&lt;br /&gt;
&lt;br /&gt;
* [[GranulePosAndSeeking]] -- a discussion of the interpretation of granulepos, and the algorithm for seeking on Ogg files&lt;br /&gt;
&lt;br /&gt;
=== Ogg page format ===&lt;br /&gt;
&lt;br /&gt;
The LSb (least significant bit) comes first in the Bytes.  Fields&lt;br /&gt;
with more than one byte length are encoded LSB (least significant&lt;br /&gt;
byte) first.&lt;br /&gt;
&lt;br /&gt;
   0                   1                   2                   3&lt;br /&gt;
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
  | capture_pattern: Magic number for page start &amp;quot;OggS&amp;quot;           | 0-3&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
  | version       | header_type   | granule_position              | 4-7&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
  |                                                               | 8-11&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
  |                               | bitstream_serial_number       | 12-15&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
  |                               | page_sequence_number          | 16-19&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
  |                               | CRC_checksum                  | 20-23&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
  |                               |page_segments  | segment_table | 24-27&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
  | ...                                                           | 28-&lt;br /&gt;
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
&lt;br /&gt;
The Ogg encapsulation format can be handled with the following libraries:&lt;br /&gt;
&lt;br /&gt;
* libogg: [http://svn.xiph.org/trunk/ogg/ libogg svn] (C, cross-platform) Low-level Ogg parsing and writing.&lt;br /&gt;
* liboggz: [http://git.xiph.org/?p=liboggz.git liboggz git] or [http://annodex.net/software/liboggz/index.html DEAD:liboggz] (C, cross-platform) liboggz wraps libogg and provides features such as seeking.&lt;br /&gt;
* the Ogg Directshow filters: see [http://www.illiminable.com/ogg/ illiminable] (C++, Win32)&lt;br /&gt;
* [http://www.kfish.org/software/hogg HOgg] (pure Haskell)&lt;br /&gt;
* [http://www.jcraft.com/jorbis/ JOrbis] (pure Java) contains com.jcraft.jogg&lt;br /&gt;
* [http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen Mutagen] (pure Python)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Oggless]]&lt;br /&gt;
* [[MIME Types and File Extensions]]&lt;br /&gt;
* [[RFC_3533_Errata]] - errors and flaws in the specification&lt;br /&gt;
* [[Nut_Container]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.xiph.org/ogg/doc/ Ogg documentation]&lt;br /&gt;
* [http://www.ietf.org/rfc/rfc3533.txt Ogg RFC]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Ogg Ogg at Wikipedia]&lt;br /&gt;
* [http://wiki.multimedia.cx/index.php?title=Ogg Ogg at Multimedia Wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Ogg]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Daala_Weekly_Meetings&amp;diff=15428</id>
		<title>Daala Weekly Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Daala_Weekly_Meetings&amp;diff=15428"/>
		<updated>2015-02-07T00:27:03Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: /* 2012 */  Add dashes, remove an extraneous zero&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You are encouraged to join the weekly progress meetings using [http://wiki.mumble.info Mumble] at &#039;&#039;&#039;mf4.xiph.org&#039;&#039;&#039; on &#039;&#039;&#039;Tuesdays&#039;&#039;&#039; at &#039;&#039;&#039;[http://www.time.gov/ 9AM PST]&#039;&#039;&#039; (5PM GMT).&lt;br /&gt;
&lt;br /&gt;
== Progress Meetings ==&lt;br /&gt;
&lt;br /&gt;
To enable text-wrapping within meeting logs, try using:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2012 ===&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;
* 2012 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;
&lt;br /&gt;
=== 2013 ===&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;
&lt;br /&gt;
=== 2014 ===&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;
* [[DaalaMeeting20140513|2014 May 13]] - trained vq, intraprediction&lt;br /&gt;
* [[DaalaMeeting20140520|2014 May 20]] - dc encoding&lt;br /&gt;
* [[DaalaMeeting20140527|2014 May 27]] - standard metrics&lt;br /&gt;
* [[DaalaMeeting20140603|2014 June 3]] - deringing filter&lt;br /&gt;
* [[DaalaMeeting20140624|2014 June 24]] - deringing filter&lt;br /&gt;
* [[DaalaMeeting20140701|2014 July 1]] - multi-frame motion compensation, jean-marc crazy ideas&lt;br /&gt;
* [[DaalaMeeting20140708|2014 July 8]] - intrapred ideas, journaling, rd_collect issues&lt;br /&gt;
* [[DaalaMeeting20140715|2014 July 15]] - VIPC, intrapred&lt;br /&gt;
* [[DaalaMeeting20140722|2014 July 22]] - demo progress, video results, edi, deringing, new intra&lt;br /&gt;
* [[DaalaMeeting20140729|2014 July 29]] - edi, intra paint&lt;br /&gt;
* [[DaalaMeeting20140805|2014 August 5]] - edi, intra paint&lt;br /&gt;
* [[DaalaMeeting20140812|2014 August 12]] - multi-frame MC, intra paint, edi&lt;br /&gt;
* [[DaalaMeeting20140826|2014 August 26]] - intra paint, halfpel BMA&lt;br /&gt;
* [[DaalaMeeting20140902|2014 September 2]] - demos, multi-frame motion compensation, deringing&lt;br /&gt;
* [[DaalaMeeting20140909|2014 September 9]] - reviews, deringing, intraprediction, non-photographic video&lt;br /&gt;
* [[DaalaMeeting20140916|2014 September 16]] - reviews, unlapping&lt;br /&gt;
* [[DaalaMeeting20140923|2014 September 23]] - reviews, VDD debrief, deringing demo, intraprediction tests&lt;br /&gt;
* [[DaalaMeeting20140930|2014 September 30]] - steinar&#039;s tests, intra update&lt;br /&gt;
* [[DaalaMeeting20141007|2014 October 7]] - pvq&amp;lt;-&amp;gt;entropy coding dependencies on intra, fate of deringing, scalar gone, intern projects&lt;br /&gt;
* [[DaalaMeeting20141014|2014 October 14]] - monty&#039;s directional transforms, HV intra, gain/theta/skip coding, deringing&lt;br /&gt;
* [[DaalaMeeting20141104|2014 November 4]] - reviews, misc&lt;br /&gt;
* [[DaalaMeeting20141118|2014 November 18]] - avx intrinsics, directional transforms&lt;br /&gt;
* [[DaalaMeeting20141125|2014 November 25]] - non-intra work, jean-marc&#039;s crazy ideas&lt;br /&gt;
* [[DaalaMeeting20141209|2014 December 9]] - 32x32, misc&lt;br /&gt;
* [[DaalaMeeting20141216|2014 December 16]] - update1, goals, yushin question time&lt;br /&gt;
* [[DaalaMeeting20141223|2014 December 23]] - update1, bpyramid&lt;br /&gt;
&lt;br /&gt;
=== 2015 ===&lt;br /&gt;
&lt;br /&gt;
* [[DaalaMeeting20150106|2015 January 6]] - SPIE&lt;br /&gt;
&lt;br /&gt;
[[Category:Daala]]&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20131217&amp;diff=15427</id>
		<title>DaalaMeeting20131217</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20131217&amp;diff=15427"/>
		<updated>2015-02-07T00:15:54Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-12-17&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- Interns!&lt;br /&gt;
- Research grant&lt;br /&gt;
- Luma intrapredictor TF to 4x4&lt;br /&gt;
- JM&#039;s PVQ decoder&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
- greg, monty, jmspeex, jack, derf&lt;br /&gt;
&lt;br /&gt;
# electrical engineering quiz&lt;br /&gt;
&lt;br /&gt;
- do *you* know how to wind toroids?&lt;br /&gt;
- I know how to wind toroids&lt;br /&gt;
&lt;br /&gt;
# Interns!&lt;br /&gt;
&lt;br /&gt;
- derf: we met a promising candidate at PCS. she&#039;s worked on the same training problem nathan has worked on but on predictors in time domain.&lt;br /&gt;
- jack: i will talk to her about applying&lt;br /&gt;
- derf: the other interesting bit was that she worked on open loop stuff. like if we TFed down to 4x4 predicted each block and then TFed back up to compute the residual at the end.&lt;br /&gt;
- jm: you mena avoiding being unstable?&lt;br /&gt;
- derf: exactly. she&#039;s not doing anything explicitly, but she runs the open loop over the whole block and tries to minimize least squared error.&lt;br /&gt;
- jm: i wouldn&#039;t be surprised if it was a little unstable but it wouldn&#039;t explode.&lt;br /&gt;
- jack: smarter&#039;s going to work on edge directed interpolation from mid-feb to august. doing paperwork for that now.&lt;br /&gt;
- jack: smarter won&#039;t count against our 2 interns, so we need to find more.&lt;br /&gt;
- derf: i talked to folks at perdue and at a german university (hanover). we can ask the northwestern folks.&lt;br /&gt;
- jack: need to follow up on this now, because interns are already getting offers from other companies.&lt;br /&gt;
&lt;br /&gt;
# research grant&lt;br /&gt;
&lt;br /&gt;
- derf: northwestern team has two ideas. one is adaptive pre/post filtering. ie, use different filters for different block edges, which would be signaled. i warned them that there are potential IPR issues with that, but it&#039;s not impossible to do.&lt;br /&gt;
- jm: the idea is to balance the sharp/smooth filters with edges? or is there more to it?&lt;br /&gt;
- derf: he wasn&#039;t super clear about the effects he desired, but i think it&#039;s something like that.&lt;br /&gt;
- derf: the second part is decoder-as-estimator. by itself doesn&#039;t seem that interesting, but when you optimize the filters in that framework he comes up with a different optimization goal, and we know ours isn&#039;t hte best, so having more things to look at would be useful there.&lt;br /&gt;
- jack: for decoder-as-estimator, isn&#039;t decode pixel perfect? is this only useful for packet loss?&lt;br /&gt;
- derf: no, you can perhaps make up quantization loss with knowledge about the type of image&lt;br /&gt;
- greg: edge directed interpolation is an example of this class of technique— using prior information about the structure of the image to do a better reconstruction in the decoder. &lt;br /&gt;
- derf: but they&#039;re planning on doing this in the pre/post processing.&lt;br /&gt;
&lt;br /&gt;
# Luma intrapredictor&lt;br /&gt;
&lt;br /&gt;
- greg: i reviewed nathan&#039;s patch (outstanding), and the patch works. i have a general concern that i came to while testing this thing. i&#039;m seeing a lot of bheavior with the new predictors which don&#039;t just use DC for the 16x16 case. it moves some low frequency energy into HF with intraprediction and then it doesn&#039;t have enough bits to move the bits back out. it&#039;s realy obvious in the background in fruits.&lt;br /&gt;
- jm: hopefully this is something that pvq can trivially fix. for scalar quantization this can be an issue.&lt;br /&gt;
- greg: good point. otherwise i was considering low passing the predictions. or try to address this in training.&lt;br /&gt;
- jm: is this really a problem even without pvq? it&#039;s minimizing the energy so it&#039;s getting it right to compensate for the times when it&#039;s wrong. if it&#039;s doing that it means that it&#039;s helping something and so i&#039;d like to understand what.&lt;br /&gt;
- derf: we don&#039;t use adaptive quantization so we should be spending more bits than we actually are.&lt;br /&gt;
- greg: this pattern of copying LF to HF i expect to continue to be a problem.&lt;br /&gt;
- derf: you may be right&lt;br /&gt;
- greg: maybe pvq solves it or it can be improved in the training. i&#039;m not saying it can&#039;t be solved.&lt;br /&gt;
- jm: if the large block sizes are trained on stuff that has edges, then that could cause the HF effect as opposed to training on stuff that should be 16x16.&lt;br /&gt;
- greg: i think we were escaping the problem previously because they only predict DC due to previous training problems. it&#039;s real easy to churn off ideas to do something better here. i don&#039;t think this should block landing this patch.&lt;br /&gt;
- jm: it&#039;s worth retraining with excluding the edges or weighting the edges very low.&lt;br /&gt;
- greg: training on all the offsets might help too. tim was getting some more images.&lt;br /&gt;
- derf: working on it. it would be nice to use larger intrapredictors for edges.&lt;br /&gt;
- greg: i don&#039;t want to exclude edges, but perhaps some regularization to weight more for modes where we get improvement is something we should be doing. i don&#039;t think we want to train it on edges that it doesn&#039;t even help on. nice long straight edges, sure.&lt;br /&gt;
- jm: we can even specialize based on that. it would be tricky because you&#039;re using different data for different modes, but you can have intra modes that are trying to do edges but also have modes that explicitly trained to not have edges and only do vaguely directional gradients and that kind of thing.&lt;br /&gt;
- derf: we certainly could.&lt;br /&gt;
&lt;br /&gt;
# PVQ decoder&lt;br /&gt;
&lt;br /&gt;
- jm: it decodes. it works on two different images!&lt;br /&gt;
- derf: twice as much testing as i expected.&lt;br /&gt;
- jm: that&#039;s 2 more tests than when i committed it! it&#039;s better than the previous pvq decoder. the good news is i did not have to fix anything in the encoder to make it work.&lt;br /&gt;
- derf: the encoder was actually working?&lt;br /&gt;
- jm: yes. encoded all the information&lt;br /&gt;
- derf: twice?&lt;br /&gt;
- jm: can&#039;t say, but i don&#039;t think so :) I only have code for 8x8. if you go to encode.c and set run_pvq=1 it still works. you&#039;re going to get scalar quant for 4x4 and 16x16 but pvq for 8x8. i wouldn&#039;t guarantee you&#039;d be able to export the files because it&#039;s using double precision but it might work. double precision is probably safer than float for this kind of thing. you have to be pretty unlucky to end up at the rounding threshold. i have verified that hte bitstream is actually correct. what should the next thing be?&lt;br /&gt;
- jack: 4x4 and 16x16?&lt;br /&gt;
- jm: that or removing double precision or context adaptation.&lt;br /&gt;
- greg: how can we increase confidence that it&#039;s correct?&lt;br /&gt;
- derf: or useful&lt;br /&gt;
- greg: i meant that we&#039;re implementing the stuff we think we&#039;re implementing and that it works better than the prior pvq stuff.&lt;br /&gt;
- jm: it&#039;s been in review for 2 months, that would have been a first step.&lt;br /&gt;
- derf: i started going through it and have a bunch of comments but i haven&#039;t finished it yet.&lt;br /&gt;
- jm: ideally everyone would look at it an understand it and see what i may have been doing wrong.&lt;br /&gt;
- derf: when are you doing that monty?&lt;br /&gt;
- xiphmont: after i skim the PCS papers.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20131203&amp;diff=15426</id>
		<title>DaalaMeeting20131203</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20131203&amp;diff=15426"/>
		<updated>2015-02-07T00:15:29Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping, remove blank line at the top&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-12-03&lt;br /&gt;
&lt;br /&gt;
## Agenda&lt;br /&gt;
&lt;br /&gt;
- CfL experiments (unlord)&lt;br /&gt;
- PVQ writeup (demo5, xiphmont)&lt;br /&gt;
&lt;br /&gt;
## Attending&lt;br /&gt;
&lt;br /&gt;
xiphmont, jmspeex, unlord, jack, gmaxwell, derf&lt;br /&gt;
&lt;br /&gt;
## CfL experiments&lt;br /&gt;
&lt;br /&gt;
- u: i did what jack suggest and did correlation between luma and chroma planes and between the chroma planes to see why we saw a smaller prediction gain in stats tool. what i&#039;m looking at so far shows that there is some correlation between the correlation and the prediction gain. when i get it done completely i&#039;ll post the images. i haven&#039;t finished integrating the optimal linear regression yet since i got sidetracked landing lots of patches. it will show the optimal RD curve for the optimal linear predictor. will show us how much better we could be.&lt;br /&gt;
- d: optimal in regards to what?&lt;br /&gt;
- u: this is finding the very best linear fit in the encoder given that we know what hte chroma should be.&lt;br /&gt;
- g: this gives you the optimal alpha and beta&lt;br /&gt;
- u: i can print an RD curve so that if we had a magic oracle, this is the curve we could get. it should be showing up soon.&lt;br /&gt;
- g: in your performance results did you characterize it based on blocksize to see if it was blocksize related?&lt;br /&gt;
- u: the cfl stats tool?&lt;br /&gt;
- g: yeah&lt;br /&gt;
- u: i don&#039;t handle the 4x4 size correction. the tool doesn&#039;t work with luma 4x4. i tihink i have it pegged to 8x8 but it should work for 16x16.&lt;br /&gt;
- g: so you&#039;re not handling the hard case yet&lt;br /&gt;
- u: not really. that&#039;s interesting also. i haven&#039;t landed the patch for the tool yet although i did look at half the comments that monty provided. i&#039;ll finish addressing those with him and get it landed.&lt;br /&gt;
- jm: should we be trying to do chroma from luma and then the next chroma with chroma and the old chroma?&lt;br /&gt;
- g: we just the neighboring chroma&lt;br /&gt;
- jm: i mean using the other chroma plane&lt;br /&gt;
- d: it might be too expensive&lt;br /&gt;
- u: computationally?&lt;br /&gt;
- d: yeah&lt;br /&gt;
- g: no but using it some cheap way...&lt;br /&gt;
- d: that still has a parallelism cost.&lt;br /&gt;
- g: fair enough. what are you thinking with respect to parallelism now?&lt;br /&gt;
- d: well, parallelism is not the right word.. pipelining. all this stuff gets deeply pipelined.&lt;br /&gt;
- g: we could potentially do some things to interleave the code more tightly. the problem is that we serialize in the bitstream.&lt;br /&gt;
- d: i think those processes wind up being independent in hardware.&lt;br /&gt;
- g: ??&lt;br /&gt;
- x: i wanted to ask you more about them. let&#039;s talk about that offline.&lt;br /&gt;
- g: they are just simple regenerates of what you did before with the bugs fixed in the code.&lt;br /&gt;
- x: if we&#039;re going to have demos that are live documents, i might want to go back in and change the wording to make that clear. i&#039;ve been posting these as archival documents. the only things that i&#039;d like to change in the stuff i put up is typos; i haven&#039;t wanted to change the content. jm wanted to do this for the opus 1.1 demo as well. i think this will end up confusing and annoying people.&lt;br /&gt;
- d: the two cases are different. you&#039;ve done updates before.&lt;br /&gt;
- x: that was the case where something was broken and the content didn&#039;t reflect the text. i want to put a little bit of thought into it.&lt;br /&gt;
- g: this case was a similar gaffe as the rotated blocks. the cfl stuff as i implemented it got broken during code review.&lt;br /&gt;
- x: i should replace it if it&#039;s broken data. sorry i misunderstood. i will go back and fix it. irc me the links again and i&#039;ll get it replaced right away.&lt;br /&gt;
&lt;br /&gt;
## PVQ writeup&lt;br /&gt;
&lt;br /&gt;
- x: reviews had been lagging so I have been doing that (by jack&#039;s request).&lt;br /&gt;
- d: thank you for that.&lt;br /&gt;
- x: i&#039;ll get back to pvq after i do the opus 1.1 addendum&lt;br /&gt;
&lt;br /&gt;
## Travel&lt;br /&gt;
&lt;br /&gt;
- d: greg and i are at the picture coding symposium next week. it&#039;s in san jose. we&#039;re not giving a talk. we&#039;re looking for potential interns and potential research grants.&lt;br /&gt;
&lt;br /&gt;
## Resources&lt;br /&gt;
&lt;br /&gt;
- g: i&#039;m getting bottlenecked on cpu. i need a big machine.&lt;br /&gt;
- j: let&#039;s talk about that offline and try to figure out what&#039;s needed. maybe the whole research team could share some big 64-way machine.&lt;br /&gt;
&lt;br /&gt;
## PVQ decoder&lt;br /&gt;
&lt;br /&gt;
- jm: i started on this in vancouver, but haven&#039;t finished yet. it&#039;s next on my list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20131112&amp;diff=15425</id>
		<title>DaalaMeeting20131112</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20131112&amp;diff=15425"/>
		<updated>2015-02-07T00:15:00Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-11-12&lt;br /&gt;
&lt;br /&gt;
## Agenda&lt;br /&gt;
&lt;br /&gt;
* CFL fixes&lt;br /&gt;
&lt;br /&gt;
## Attending&lt;br /&gt;
&lt;br /&gt;
gmaxwell, jmspeex, nathan&lt;br /&gt;
&lt;br /&gt;
Tim, Xiphmont not in today&lt;br /&gt;
&lt;br /&gt;
(From Nathan&#039;s status report:) Fixed bug in od_resample_luma_coeffs, -6% on rate +0.3dB in PSNR: https://pastebin.mozilla.org/3586591&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-psnr.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-psnrhvs.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-ssim.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-fastssim.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma4x4-psnr.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma4x4-psnrhvs.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma4x4-ssim.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma4x4-fastssim.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma8x8-psnr.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma8x8-psnrhvs.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma8x8-ssim.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma8x8-fastssim.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma16x16-psnr.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma16x16-psnrhvs.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma16x16-ssim.png&lt;br /&gt;
http://people.xiph.org/~unlord/head_vs_cfl-luma16x16-fastssim.png&lt;br /&gt;
&lt;br /&gt;
Ran cfl_stats on subset1 and subset3, Cb predicts well, Cr not so much: https://pastebin.mozilla.org/3586503&lt;br /&gt;
&lt;br /&gt;
In CFL fix the 4x4 case doesn&#039;t improve very much compared to the 8x8 and 16x16 case, but this isn&#039;t entirely surprising because the fix&#039;s effect was not as substantial in this case.&lt;br /&gt;
&lt;br /&gt;
We thought the Cr/Cb difference sounded weird, might be explained by content, suggested swapping the two planes on input.&lt;br /&gt;
&lt;br /&gt;
Jm replaced the PVQ encoder code in the encoder, but did not replace the code in the decoder as there is no decoder written yet. &lt;br /&gt;
&lt;br /&gt;
So PVQ no longer works in the codebase right now. The current encoder code is 8x8 only as well, so it will us scalar for other blocksizes.&lt;br /&gt;
&lt;br /&gt;
[We lapsed into Opus discussion at this point, targeting 1.1-rc release perhaps next monday]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20131029&amp;diff=15424</id>
		<title>DaalaMeeting20131029</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20131029&amp;diff=15424"/>
		<updated>2015-02-07T00:14:30Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping, remove blank line at the top&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-10-29&lt;br /&gt;
&lt;br /&gt;
## Agenda&lt;br /&gt;
&lt;br /&gt;
- gstreamer post mortem&lt;br /&gt;
- IETF plans&lt;br /&gt;
- research team staff meeting&lt;br /&gt;
- roadmap&lt;br /&gt;
&lt;br /&gt;
## Attending&lt;br /&gt;
&lt;br /&gt;
derf, jack, gmaxwell, jmspeex, unlord&lt;br /&gt;
&lt;br /&gt;
## gstreamer conference&lt;br /&gt;
&lt;br /&gt;
- g: The conference went pretty well. I made a couple of interesting contacts. I presented on Daala and Opus and I crammed a bit too much into the presentation. There were a lot of people itnerested and grabbing me after. It took me a half hour to leave the room.&lt;br /&gt;
- j: How many people were there?&lt;br /&gt;
- g: Roughly 200 fit in the room, but there was standing room only for the talk. We got a couple of people who hang out in IRC who came to the talk. I believe there will be coverage about it in the next LWN.&lt;br /&gt;
- d: I was hoping either him or Corbett would show up.&lt;br /&gt;
- g: They emailed me after and asked for the slides.&lt;br /&gt;
- d: You were quote of the week in LWN: &amp;quot;Audio&#039;s boring since bandwidth is so cheap these days; just send everything uncompressed. Let&#039;s talk about video.&amp;quot;&lt;br /&gt;
- j: Seems like it was time wells pent.&lt;br /&gt;
- g: I got some interesting feedback from people who wanted multi-channel in RTP.&lt;br /&gt;
- jm: Why did they want that?&lt;br /&gt;
- g: One person had a bid on multi-entertainment system in aircraft and they are going to provide 5.1 surround to the seats in aircraft.&lt;br /&gt;
- d: Give everyone quadraphone earphones for people with four ears.&lt;br /&gt;
&lt;br /&gt;
## IETF plans&lt;br /&gt;
&lt;br /&gt;
(some discussion of IETF plans)&lt;br /&gt;
&lt;br /&gt;
## research team meeting&lt;br /&gt;
&lt;br /&gt;
- j &amp;amp; d: plan is to talk for 15 mins, then take questions as they come.&lt;br /&gt;
&lt;br /&gt;
## roadmap&lt;br /&gt;
&lt;br /&gt;
- j: keep this stuff in mind and we&#039;ll sit down and write it all down in vancouver.&lt;br /&gt;
&lt;br /&gt;
## PVQ review&lt;br /&gt;
&lt;br /&gt;
- jm: when can I expect a review?&lt;br /&gt;
- j: so today?&lt;br /&gt;
- d: not today. I can try for tomorrow.&lt;br /&gt;
- jm: I&#039;d like to have all three reviewers review it.&lt;br /&gt;
- g: I need to do Nathan&#039;s reviews first. And the SAD patches. One thing that goes along with that is that we have some problem in the MC code. The two code paths disagree and I haven&#039;t tracked that down yet.&lt;br /&gt;
- u: I&#039;ll get my review done this week.&lt;br /&gt;
&lt;br /&gt;
## Chrome from Luma&lt;br /&gt;
&lt;br /&gt;
- u: I&#039;ve got some tools for this. By comparing it to what happens if we use the mode from teh luma block and does freq domain intraprediction. It showed 1.5dB of prediction gain which I thought was good. My other test I want to do is to do something similar to an RD curve and look at how the prediction gain changes as we scale up the quantizer. I&#039;m currently doing lossless but it might be interesting to see if the accuracy of chrom from luma falls off as the Q goes up.&lt;br /&gt;
- jm: i&#039;ve been thinking that there are going to be itneresting interactions between CfL and PVQ once we get PVQ hooked up. Because if you are looking not at DC but at AC then if we get the gain of the CfL wrong it won&#039;t affect PVQ all that much because PVQ would be able to encode a state of 0 and code a change in the gain that&#039;s required to get the actual chroma. To a point where if we&#039;re doing that we&#039;d just want to predict the gain that we give to the PVQ; ie, not compute an actual prediction...&lt;br /&gt;
- u: this is with partitioning?&lt;br /&gt;
- jm: with or without partitioning. In both cases the only thign that changes is how to compute that particular gain. When you are using PVQ the actual normalized prediction is the same regardless of whatever the gain is. There&#039;s probably going to be cases where CfL fails for scalar quantizaiton but works pretty well for PVQ quantization.&lt;br /&gt;
- u: I can definitely see that. The other question I had is the stuff Greg did creating the modes for the three neighbors based on the DC. Which filters was it using?&lt;br /&gt;
- g: The filters that were in at the time.&lt;br /&gt;
- u: The same weights for the modes at all block sizes?&lt;br /&gt;
- g: Yeah. Just 4x8 filters. It was done before we had multiple block sizes. I would expect that the mode mapings might not be the same. It&#039;s easy enough to train values for those. i can post the littel tool I used to do it.&lt;br /&gt;
- u: If you post that I can integrate it into the tools I have that use the actual filters so it will spit them out. The other question: the thouht that CfL has worse PSNR. Is that because it includes the cost to signal the mode?&lt;br /&gt;
- d: Yes. It had somewhat lower rate and a good chunk lower PSNR. I didn&#039;t have good graphing tools then. We could do three things: CfL, intraprediction using Luma&#039;s mode, and we could also signal a mode.&lt;br /&gt;
- g: We had some speculation that when CfL was making mistakes it might follow constrasts in the luma plain and this might mask things. What we really should have is some SSIM metric that combines all three planes and measures each of the planes against that. Everyone in the literature does all monochrome stuff. We could use the TID2008 database to check this out. They took a bunch of images and sent them through various distortions and then got lots of people to rate the quality of images. You can take your perceptual metric and have it rate the images and compare to see how much agreement there is with the TID database. This is one of the things that people used ot argue that metrics like SSIM are useful. The TID database shows they agree with humans. We could modify an SSIM tool and see if that agrees better with the TID database than monochrome SSIM does. It doesn&#039;t have to be a lot of work, but I haven&#039;t considered it terribly important.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20131022&amp;diff=15423</id>
		<title>DaalaMeeting20131022</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20131022&amp;diff=15423"/>
		<updated>2015-02-07T00:14:05Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-10-22&lt;br /&gt;
&lt;br /&gt;
## Agenda&lt;br /&gt;
&lt;br /&gt;
- even/odd quantizer behavior&lt;br /&gt;
- determinent 1 search results (gmaxwell)&lt;br /&gt;
- IETF&lt;br /&gt;
- CFL using luma sse&lt;br /&gt;
&lt;br /&gt;
## Attending&lt;br /&gt;
&lt;br /&gt;
derf, jmspeex, unlord, gmaxwell, xiphmont&lt;br /&gt;
&lt;br /&gt;
# even/odd quant zigzags&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;- g: Anyone have any theories on the difference of the even/odd behavior with &amp;gt;&amp;gt;scalar quantizers.&lt;br /&gt;
&amp;gt;&amp;gt;- no&lt;br /&gt;
&amp;gt;&amp;gt;- jm: we may not be doing the rounding right&lt;br /&gt;
&amp;gt;&amp;gt;- m: I can look at that.&lt;br /&gt;
&amp;gt;&amp;gt;implying&lt;br /&gt;
&lt;br /&gt;
- m: Still intend to look at this next I think&lt;br /&gt;
&lt;br /&gt;
## determinent 1&lt;br /&gt;
&lt;br /&gt;
Greg dropped off mumble, can&#039;t seem to get back, ah there he is&lt;br /&gt;
has filters for all the sizes, not run videos through them&lt;br /&gt;
not trained intra stuff for 16x32; the training stuff is not working&lt;br /&gt;
nathan has patch that does it in the codec, waiting for greg to review&lt;br /&gt;
&lt;br /&gt;
CG for raw transform, no prediction:  &#039;I don&#039;t know yet&#039;&lt;br /&gt;
&lt;br /&gt;
Does it quilt/block/do &#039;funny&#039; things?: Checked 4x8, 8x16 &#039;nothing too funny&#039; but not quite a smooth-- not quilt/block just not quite as smooth.&lt;br /&gt;
&lt;br /&gt;
## IETF&lt;br /&gt;
&lt;br /&gt;
IS it good to continue having Xiph/Moz there in force when we&#039;re not there to stack votes? :-D&lt;br /&gt;
We don&#039;t vote in the IETF!&lt;br /&gt;
In-duh-viduals&lt;br /&gt;
And we don&#039;t stack either (yeah, all four of us)&lt;br /&gt;
...this never happened?&lt;br /&gt;
TO THE TIME SLIDER&lt;br /&gt;
&lt;br /&gt;
- m: OK, established I&#039;m going, need to get onboarding more in hand to book travel&lt;br /&gt;
&lt;br /&gt;
# CFL using luma sse&lt;br /&gt;
&lt;br /&gt;
http://people.xiph.org/~unlord/crfl_v_luma_sse_4x4.png&lt;br /&gt;
&amp;quot;Chroma red from luma vs Luma&amp;quot;&lt;br /&gt;
&lt;br /&gt;
http://people.xiph.org/~unlord/cbfl_v_luma_sse_4x4.png&lt;br /&gt;
&amp;quot;Chroma blue from luma vs Luma&amp;quot;&lt;br /&gt;
&lt;br /&gt;
X axis is prediction error (residual) in the chroma planes&lt;br /&gt;
Y axis is prediction error (residual) in the luma plane&lt;br /&gt;
All 4x4, no basis scaling&lt;br /&gt;
scatter plots of summed squared errors for Chroma from Luma prediction vs simple luma prediction (fruits only)&lt;br /&gt;
&lt;br /&gt;
dude, mismatched axes&lt;br /&gt;
&lt;br /&gt;
dude, axes not labelled&lt;br /&gt;
&lt;br /&gt;
No obvious correlation between errors&lt;br /&gt;
&lt;br /&gt;
JM suggests looking at the goodness of the least squares fit as a hurestic in the bitstream for how good the CFL is working&lt;br /&gt;
&lt;br /&gt;
GM points out that at least in some cases there appears to be a dynamic range issue in the coeffs that aren&#039;t used in the training, so looking at the goodness of the training fit may not help there&lt;br /&gt;
Goal is to come up with a CfL that, when it screws up, is not worse than nothing, or is seldom worse than nothing&lt;br /&gt;
Lots of discussion of looking at optimal results vs the corner cases we&#039;re seeing....&lt;br /&gt;
&lt;br /&gt;
Nathan is on it&lt;br /&gt;
&lt;br /&gt;
JM at AES saw a FHG booth directly going after Opus:&lt;br /&gt;
&lt;br /&gt;
http://jmvalin.ca/misc_stuff/AES_show_FhG.jpg&lt;br /&gt;
&lt;br /&gt;
They had a couple samples all at very low rate comparing Opus to USAC and prerelease versions of the 3GPP EVS.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20131008&amp;diff=15422</id>
		<title>DaalaMeeting20131008</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20131008&amp;diff=15422"/>
		<updated>2015-02-07T00:13:44Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add Word Wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-10-08&lt;br /&gt;
## Agenda&lt;br /&gt;
## Attending&lt;br /&gt;
jmspeex, unlord, derf&lt;br /&gt;
jmspeex wants as many people as possible to review his PVQ code.&lt;br /&gt;
derf can&#039;t promise to do it for several days, possibly a week, but jmspeex thinks that&#039;s fine.&lt;br /&gt;
unlord promises to take a look.&lt;br /&gt;
derf suggests explaining it to Sean Silva, who seems to be interested and not an idiot.&lt;br /&gt;
unlord almost done modifying the codec to TF down everything to 4x4 for intra prediction, will have code to review shortly. TF&#039;d 8x16 appears to be no worse, despite predicting from half the data.&lt;br /&gt;
Should we have a flag to switch this on and off?&lt;br /&gt;
derf: Will we ever run non-TF&#039;d 16x32 predictors again?&lt;br /&gt;
This idea is mostly for testing.  Still useful to have rd-curves of full predictors (non-sparse, maybe non-TF) to compare to sparse alternatives.&lt;br /&gt;
jmspeex: Perhaps to speed up training things we should use a couple iterations of Gauss-Seidel instead of re-solving the system every time (cutting out a factor of O(N)).&lt;br /&gt;
derf: More important than that would be to use a robust least-squares solver to handle outliers. We could probably modify things to use Gauss-Seidel as part of that, since these things are usually iterative anyway.&lt;br /&gt;
unlord: We&#039;re currently running all our training unweighted, because it wasn&#039;t clear that the weights were the right way to get rid of outliers.&lt;br /&gt;
jmspeex: The other thing we should look at is L1.&lt;br /&gt;
derf: We&#039;d need a sparse linear programming solver.&lt;br /&gt;
unlord promises to look into getting one.&lt;br /&gt;
derf will dig up the computer vision paper that describes how to convert L1 minimizations into LP.&lt;br /&gt;
unlord: Talked about Chroma from Luma, what exactly is involved there?&lt;br /&gt;
derf: Deciding when to use the AC prediction or not (have a symbol to clamp alpha to zero, figure out probabilities from sudden luma changes, etc.)&lt;br /&gt;
jmspeex: PVQ already has a flag that decides whether or not to use the predictor for AC.&lt;br /&gt;
jmspeex: Decision between &amp;quot;use prediction&amp;quot; and &amp;quot;no prediction or gain is zero&amp;quot; had an entropy around 1.2 bits for all 4 bands of Lena image with 8x8 blocks.&lt;br /&gt;
Consider adding a few lines of code in Chroma from Luma to turn off the alpha&#039;s (non DC component) based on a luma threshold&lt;br /&gt;
Gather statistics to know how to handle cases where CfL predicts poorly.  Need to measure:&lt;br /&gt;
1) How well does CfL predict the current block from current Luma&lt;br /&gt;
2) How well does current luma &amp;quot;match&amp;quot; neighboring luma&lt;br /&gt;
3) How well does intra prediction work on current chroma (from neighboring chroma).&lt;br /&gt;
  -In the case where there are 4x luma blocks for each chroma block, use the luma UL mode for prediction.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20130924&amp;diff=15421</id>
		<title>DaalaMeeting20130924</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20130924&amp;diff=15421"/>
		<updated>2015-02-07T00:12:57Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-09-24&lt;br /&gt;
&lt;br /&gt;
## Agenda&lt;br /&gt;
&lt;br /&gt;
- grant&lt;br /&gt;
- unlord&#039;s training results&lt;br /&gt;
- getting some other eyes on gmaxwell&#039;s 32x32 code ( https://review.xiph.org/65 )&lt;br /&gt;
- monty&#039;s latest &#039;I&#039;m so confused&#039;, but at least it probably explains unlord&#039;s TF2 training results&lt;br /&gt;
&lt;br /&gt;
## Attending&lt;br /&gt;
&lt;br /&gt;
derf, gmaxwell, jack, jmspeex, unlord, xiphmont&lt;br /&gt;
&lt;br /&gt;
## grant&lt;br /&gt;
&lt;br /&gt;
(discussion of research grant)&lt;br /&gt;
&lt;br /&gt;
## unlord&#039;s training results&lt;br /&gt;
&lt;br /&gt;
- unlord: looking at the graphs, it was dramatically better than subset1. when it got to the end it went right to zero.&lt;br /&gt;
- derf: we didn&#039;t save any of the intermediate steps did we?&lt;br /&gt;
- unlord: i don&#039;t believe so. that would be a good approach though is to start from the intermediate steps and work backwards.&lt;br /&gt;
- gmaxwell: my copy of hte training tool saves intermediate steps.&lt;br /&gt;
- derf: why isn&#039;t that in git?&lt;br /&gt;
- gmaxwell: i thought only i thought this was useful.&lt;br /&gt;
- jack: is it bad that everythign went to zero, and do we have to start over?&lt;br /&gt;
- jm: you probably need most of subset3 for 16x16.&lt;br /&gt;
- derf: the whole point of this was we needed lots of data to prevent overfitting. as for going to zero, we knew that would happen at some point, but weren&#039;t sure where that point was. now we know where the cliff is.&lt;br /&gt;
- jm: how far is it from a reasonable amount of coefficients?&lt;br /&gt;
- derf: look at the graph&lt;br /&gt;
http://people.xiph.org/~unlord/subset3_16x32_modes.png&lt;br /&gt;
- derf: it had dropped most of the coefficients before it fell off the cliff.&lt;br /&gt;
- jm: is it dropping them linearly?&lt;br /&gt;
- unlord: yes&lt;br /&gt;
- derf: that&#039;s much worse then.&lt;br /&gt;
- unlord: I considered dropping them weighted by the variance. if we run it again we may see something better.&lt;br /&gt;
- derf: we talked about switching at the end to something that is computationally tractable by doing something smarter.&lt;br /&gt;
- jm: maybe we can save a lot of cpu time by assigning modes upfront. doing a bit of training without decimating, and then freezing that. it will be a lot faster.&lt;br /&gt;
- gmaxwell: it does do that. it doesn&#039;t retrain after every drop; it batches.&lt;br /&gt;
- jm: you drop one coeff at a time?&lt;br /&gt;
- unlord: no, 256 at a time i think.&lt;br /&gt;
- jm: but you drop one at a time in terms of least squares fit?&lt;br /&gt;
- unlord: yes&lt;br /&gt;
- jm: i think you can safely drop a whole lot up front and it&#039;s only near the end that you need to be really careful.&lt;br /&gt;
- g: i don&#039;t think that&#039;s true but ti&#039;s certainly something we can test.&lt;br /&gt;
- jm: how many coeffs do you have? 4*256^2?&lt;br /&gt;
- unlord: no. 16x16x4. it&#039;s 1024 multiplies at the end&lt;br /&gt;
- jm: you&#039;re trying to rpedict 256 coeffs from 1024 inputs each. so that&#039;s 4x256^2=262k.&lt;br /&gt;
- derf: that&#039;s where we start yes&lt;br /&gt;
- jm: i think i fyou pick the first 10k that had the least impact, then it&#039;s quite unlikely that you should have not dropped that and used it to the end.&lt;br /&gt;
- g: the problem with that is that the coefficients are co-linear so they start with small magnitudes but if you drop them they have large magnitudes.&lt;br /&gt;
- jm: i think the first half would have very little impact.&lt;br /&gt;
- g: We should be cautious about taking this as fact because it&#039;s clearly not true when taken to an extreme&lt;br /&gt;
- unlord: one that is to compare with 8x16 (tf from 4x8) and see if this is any better.&lt;br /&gt;
- jm: if you do all sorts of approximations like dropping more coeffs at a time. these shortcuts will make training worse but i expect it won&#039;t interact with the other stuff you&#039;ll try. if it takes 3 weeks you can&#039;t run enough experiments.&lt;br /&gt;
- x: are you seraching on quantized coeffs.&lt;br /&gt;
- u: these are doubles&lt;br /&gt;
- x: the final target is 6 bits? 7 bits?&lt;br /&gt;
- derf: yeah. the question is how much do we need to not sacrifice too much performance&lt;br /&gt;
- g: if there are fewer mults it&#039;s easier to have higher precision.&lt;br /&gt;
- x: i had some thoughts on how not to get hung up on corners for low precision training. i&#039;ll try it on my stuff first. i have some neat ideas about machine search.&lt;br /&gt;
- derf: can you write them down&lt;br /&gt;
- x; i can&#039;t code things unless i write them down carefuly first. the only reaosn i haven&#039;t done so yet is because it&#039;s not what i&#039;m supposed to be working on. i&#039;m supposed to be working on demo4.&lt;br /&gt;
- jm: what is demo4?&lt;br /&gt;
- x: chroma from luma. we had some demo stuff and i wasn&#039;t going to a hell of a lot of detail. we&#039;ve got a pretty good conceptual handle on the other demos, and this one we aren&#039;t quite as specific. my search thoughts are about how to constrain exhaustive search. it&#039;s all straightforward i just wanted to see if it worked first.&lt;br /&gt;
&lt;br /&gt;
## greg&#039;s 32x32 code&lt;br /&gt;
&lt;br /&gt;
- g: i have a patch for 32x32 in the review tool and it&#039;s working fine except that it hurts performance. there&#039;s no obvious bugs, but i can&#039;t figure out why it doesn&#039;t help.&lt;br /&gt;
- derf: what is it now?&lt;br /&gt;
- g: maybe 10% larger files for same quality. the images look fine and it runs fine in lossless.&lt;br /&gt;
- derf: but 10% is a lot.&lt;br /&gt;
- jm: compared to what?&lt;br /&gt;
- g: compared to code in git on a few images.&lt;br /&gt;
- x: what kind of measurements?&lt;br /&gt;
- g: psnr and bi-i?&lt;br /&gt;
- jm: how do you adjust the quant step size of 32x32? you&#039;re using a mixed block size or just everything 16 or 32?&lt;br /&gt;
- g: mixed block size&lt;br /&gt;
- jm: could it be an issue of 32x32 not having the right scale factors?&lt;br /&gt;
- g: i tried changing around the scaling and wasn&#039;t able to make it work better&lt;br /&gt;
- derf: could you make it work worse?&lt;br /&gt;
- g: yes. this wasn&#039;t an instance of running git stash before compiles :)&lt;br /&gt;
- g: i&#039;d appreciate if someone could look over teh patch.&lt;br /&gt;
- x: how much intermediate stuff does it output?&lt;br /&gt;
- g: i cut the patch back so it&#039;s implementing only the simplest form, no prediction or anything&lt;br /&gt;
- jm: one test you could try is to tak ea synthetic gradient, something relaly smooth, and encode it with 16x16 for 16x16 and 32x32 forced.&lt;br /&gt;
- g: that&#039;s a good idea, i can try that. i&#039;ve been comparing with air force which has really smooth backgrounds.&lt;br /&gt;
- jm: for example making sure it&#039;s not the block switching making the wrong decisions&lt;br /&gt;
- derf: the point of using a smooth gradient you can just compute the right answer&lt;br /&gt;
- g: i don&#039;t expect complete flat to help because it&#039;s already predicted???&lt;br /&gt;
- jm: if you end up coding all zeros, you&#039;d have 4x fewer zeros so it still should be smaller&lt;br /&gt;
- g: i hadn&#039;t tried it because i expected 16x to be smaller or tied in any case.&lt;br /&gt;
- jm: you could even take an actual image and blur it.&lt;br /&gt;
- derf: why were you setting runpvq to zero in your patch?&lt;br /&gt;
- g: to remove pvq as a source of problems&lt;br /&gt;
- derf: so you&#039;re testing both ways?&lt;br /&gt;
- g: when i&#039;m speaking here i&#039;m talking about all scalar comparison.&lt;br /&gt;
- j: who&#039;s going to review the patch?&lt;br /&gt;
- derf: i&#039;m looking at it.&lt;br /&gt;
&lt;br /&gt;
## monty&#039;s confusion&lt;br /&gt;
&lt;br /&gt;
- x: last week i was supposed to look at the coding gain of dct + tf + 2nd stage tf to see how it compared to dct of native block size. i wanted to see how much more efficient 2nd stage tf was. and whether we could ditch bigger dcts entirely and just tf 4x4 and 8x8. i quantified just what the efficiency difference was. one of the unexpected things if i took a 16x16 block and transformed with 4x4 dcts and tfed up to 16x16 that was reasonable efficiency. however if 4x4 lapped and tfed up to 16x16 the 2nd stage tf decreased coding gain. one thing i noticed, if i did 4x4s that were lapped as 16 and then tfed up, it was nearly identical. i have not chased this to its logical conclusion. i wonder if my 2nd stage filter is doing in freq domain what lapping does in the spatial domain. it would be useful to know that because it&#039;s an additional tool in the toolbox, but it&#039;s one of those things that i didn&#039;t expect it to be a liability. i didn&#039;t expect it to be similar to spatial lapping.&lt;br /&gt;
- def: i&#039;m confused on what you said was identical&lt;br /&gt;
- x: if i take 4x4 blocks that have not been lapped 4x4 and tf them up to 16x16 my seodn stage TF filter produces coding gain X. if i take the 4x4 blocks and lap them as 4x4 and TF them up to 16x16 using 1 stage TF the coding gain and output turns out to be identical.&lt;br /&gt;
- d: they can&#039;t be because of blocking artifacts&lt;br /&gt;
- g: do you have artifacts?&lt;br /&gt;
- d: yes, he&#039;s not lapping outside, so at least 16x16 blocking artifacts.&lt;br /&gt;
- jm: but if it works inside then you can apply the same reasoning with blocks outside lapping&lt;br /&gt;
- x: it appears the 2nd stage TF does something similiar to 4x4 internal lapping. if we leave aside external lapping, only looking at 16x16 block internally, and whether lapping is done within the block, it appears that 2nd TF stage is doing something similar to 4x4 lapping.&lt;br /&gt;
- d: at this point i would spend some time with malvar&#039;s original papers on ???&lt;br /&gt;
- g: i recall there was a diagram in those papers that looks a lot like you&#039;re improved TF thing. i&#039;ll see if i can find the paper i&#039;m thinking of.&lt;br /&gt;
- x: i was going to chase that a little farther because it would be an interesting connection between those two things&lt;br /&gt;
- jm: one that that could be interesting is couldn&#039;t you compute the matrix that&#039;s perfectly equivaelnt to lapping in spatial domain?&lt;br /&gt;
- x: yes. as well as the matrix that would compute the DCT.&lt;br /&gt;
- jm: maybe the most interesting thing to look at is the basis functions for the lapping and the TF 2nd stage. what they look like in the spatial domain and how close they are.&lt;br /&gt;
- x: i generated graphs to look at that but didn&#039;t look at it from this angle. it&#039;s also the case that if i want to look fora 2nd stage TF filter that improves the lap transform i&#039;m going to have to do that directly. we know now the second stage TF is not going to improve the lap transform as we currently have it. it&#039;s going to improve the transform when we aren&#039;t lapped. i&#039;m not sure which is better, lapping or 2nd stage TF.&lt;br /&gt;
- jm: efficient computationally?&lt;br /&gt;
- x: yes. coding gain appears identical.&lt;br /&gt;
- jack: when do we not lap&lt;br /&gt;
- x: we always lap. i&#039;ve been exploring ???. if we could dispense with DCT and use TF we&#039;d gain some computational margin or prediction could work form the exact transform instead of approximation.&lt;br /&gt;
- un: i saw that at high rates it was a slight improvement, but low rates it was a liability.&lt;br /&gt;
- x: when you were Tfing to retrain the predictors. were you going 4x4 to 16x16? were they fully lapped?&lt;br /&gt;
- u: what i did was go between 4x4 and 8x8 and when i did the training I trained on having 8x8 lapped with 4x4.&lt;br /&gt;
- x: the second stage TF would have been a liability in this case. i did not realize that until the end of last week.&lt;br /&gt;
- u: we&#039;re not going to be lapping 4x4s with 8x8.&lt;br /&gt;
- x: unless we decided that variable block size was using variable lapping. that was one of the things i was exploring. it might not be a good idea.&lt;br /&gt;
- d: i don&#039;t see that being worth it. that starts to matter when we start to get beyond 16x16. that&#039;s why greg&#039;s doing 32x32 the way he&#039;s doing it. but i dont&#039; see it being useful at smaller sizes.&lt;br /&gt;
- x: how does the complexity of hte lapping filter scale?&lt;br /&gt;
- d: linearly&lt;br /&gt;
- x: what about register pressure?&lt;br /&gt;
- d: sub-linearly&lt;br /&gt;
- g: way sub-linearly.&lt;br /&gt;
- x: there was the other observation that if it really is equivalent then does that enable any interesting hack where we can reuse traditional architecture?&lt;br /&gt;
- d: the thing that makes everything complicated is the lapping, not the block transform.&lt;br /&gt;
- x: does the support only matter to low frequencies. i had a theory that it mattered very little to high freqs because even in textures there not so regular that you were going ot get extra compaction in HF. that was false. the HF benefits from larger supports as well.&lt;br /&gt;
- d: jm has me wondering if that&#039;s the right measure?&lt;br /&gt;
- jm: which?&lt;br /&gt;
- d: coding gain.&lt;br /&gt;
- jm: it&#039;s not.&lt;br /&gt;
- x: going by coding gain, it was the correct measure in this case because it&#039;s a theoretical higher bound. it&#039;s the most optimistic assessment of what we&#039;re getting out of it. the additonal compaction from greater lapping is not primarily a benefit to DC and near-DC. assuming no bugs in my code.&lt;br /&gt;
- d: at least your result confirms what i suspected to be true.&lt;br /&gt;
- x: it&#039;s not the transform it&#039;s the support. i was looking at can we reuse traditional architecutre if ???. we can&#039;t reuse traditional dct infrastrcuture that way.&lt;br /&gt;
- x: it&#039;s also nice to know why JPEG-XR didn&#039;t work.&lt;br /&gt;
- d: begs the question of why they did that&lt;br /&gt;
- x: maybe they didn&#039;t test with anything meaningful. the visual output seems to confirm what you think is going to happen. DC has much larger support. it elminates a lot of the blocking. but at the same time, it&#039;s not actually more efficient coding wise. there&#039;s still the thing that the flat gradients in the background are a lot smoother. you haven&#039;t improved coding gain but have improved visual stuff perhaps. if you&#039;ve decided thisi is better and build a test to confirm, then you confirm it.&lt;br /&gt;
- jm: another thought i had. did you try instead of designing 2nd stage TF matrix actually using PCA?&lt;br /&gt;
- x: pCA?&lt;br /&gt;
- jm: KLT&lt;br /&gt;
- x: i didn&#039;t try KLT&lt;br /&gt;
- jm: i&#039;d be curious if the KLT looks like the 2nd stage you&#039;ve designed. i suspect it might.&lt;br /&gt;
- x: how would i compare those?&lt;br /&gt;
- jM: you look at resulting basis functions.&lt;br /&gt;
- x: the KLT basis functions will be different for every input&lt;br /&gt;
- jm: you train a KLT&lt;br /&gt;
- d: you can&#039;t train a KLT on one input you need a collection&lt;br /&gt;
- x: if you train on a bunch of inputs, then that bunch is your input&lt;br /&gt;
- d: but you&#039;re assuming it&#039;s representative of some population&lt;br /&gt;
- jm: if you compute teh KLT for spatial domain coeeff you find it&#039;s close to DCT.&lt;br /&gt;
- x: i have not done that but i have no shortage of things to try next.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20130917&amp;diff=15420</id>
		<title>DaalaMeeting20130917</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20130917&amp;diff=15420"/>
		<updated>2015-02-07T00:12:34Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-09-17&lt;br /&gt;
&lt;br /&gt;
## Agenda&lt;br /&gt;
&lt;br /&gt;
- daala-private list?&lt;br /&gt;
- summit innovation fair&lt;br /&gt;
- research talks (strategy, pvq, neon)&lt;br /&gt;
- coding party agenda&lt;br /&gt;
- TF ideas (monty)&lt;br /&gt;
&lt;br /&gt;
## Attending&lt;br /&gt;
&lt;br /&gt;
greg, jm, derf, unlord, jack, xiphmont&lt;br /&gt;
&lt;br /&gt;
## daala-private&lt;br /&gt;
&lt;br /&gt;
- jack: should we create this for private discussions?&lt;br /&gt;
- derf: no. this won&#039;t be a problem once monty leaves RH.&lt;br /&gt;
- ???: To be fair, it&#039;s not a problem so much as RH policy is still to keep any inventions secret until preliminary filing&lt;br /&gt;
&lt;br /&gt;
## innovation fair&lt;br /&gt;
&lt;br /&gt;
- jack: should we do this?&lt;br /&gt;
- gmaxwell: yes, we should do this.&lt;br /&gt;
- jack: i&#039;ll sign us up. probably just for toronto (me) and santa clara (greg and others)&lt;br /&gt;
&lt;br /&gt;
## research talks&lt;br /&gt;
&lt;br /&gt;
- jack: tim will give a talk to the research team on halloween. we also thought it might be good to give a talk on pvq as well.&lt;br /&gt;
- jm: it probably makes more sense in something at the coding party. i wanted to have these talks to introduce a topic.&lt;br /&gt;
- jack: let&#039;s give them at the coding party and then decide whether they warrant wider distribution.&lt;br /&gt;
- jm: my goal is to get everyone on the same page and a wider talk would be more for presenting something that already works. for this talk i want to be interrupted with specific questions and that would bore people from outside.&lt;br /&gt;
&lt;br /&gt;
## coding party agenda&lt;br /&gt;
&lt;br /&gt;
- jack: invited alon to the meeting so we should give talks on monday or tuesday. probably need a talk on the training infrastructure by nathan since he has a ML background too. pvq talk as well.&lt;br /&gt;
- greg: training infra is a good way to onboard new people.&lt;br /&gt;
- nathan: we need metrics for them to see if what they are getting is ok.&lt;br /&gt;
- jack: we have hte metrics already right, so we just need to document what they are and what hte numbers mean.&lt;br /&gt;
- nathan: i meant guidance for what is a valid test and what we&#039;re looking for. for example, is it sufficient to test on still images or do we need to include video.&lt;br /&gt;
- derf: that depends on whether or not we&#039;re testing motion compensation.&lt;br /&gt;
- jack: let&#039;s plan for tuesday pre-lunch for pvq and training talk.&lt;br /&gt;
- derf: we should probably come up with a bunch of projects that people can work on that people can complete in a week.&lt;br /&gt;
- greg: there&#039;s additional interest around the office. a few people plan to show up.&lt;br /&gt;
- jack: we have lots of infrastructural things like merging from reviews, etc.&lt;br /&gt;
- jm: I don&#039;t like automatic merges.&lt;br /&gt;
- greg: separate from the merge stuff i&#039;m fine with it being manual. a buildbot that automatically did reviews by attempting to test and collect metrics.&lt;br /&gt;
- nathan: this can feed into arewecompressedyet.&lt;br /&gt;
- greg: it would be the same infrastructre but running on uncommitted things.&lt;br /&gt;
- jm: it would be nice to upload stuff to try and see what the metrics are. having some kidn of aggregated metric when you make a decision about whether patch is good. ideally you want a single metric to see whether th enet effect is positive or negative.&lt;br /&gt;
- greg: nathan&#039;s stuff already gives you two numbers like this. because it&#039;s across multiple rates it&#039;s sometimes opaque.&lt;br /&gt;
- jm: when you say multiple rates, you mean it doesn&#039;t get the same SNR on one point but at multiple quality levels&lt;br /&gt;
- derf: it&#039;s looking at two RD curves and computing the gap between them.&lt;br /&gt;
- jack: seems like we could farm all this stuff to amazon.&lt;br /&gt;
- jm: i guess we want both the numbers and the curves as output. if i get those then i know if the patch is any good.&lt;br /&gt;
&lt;br /&gt;
## TF ideas&lt;br /&gt;
&lt;br /&gt;
- greg: jm, do you understand what monty has been doing?&lt;br /&gt;
- jm: i think i do. if it works it makes a lot of sense and it seems to work.&lt;br /&gt;
- greg: it sort of works. as tim was pointing out on irc it has problems in the textured areas.&lt;br /&gt;
- jm: what kind of problems? you&#039;re talking about the version with TF on AC?&lt;br /&gt;
- greg: or not&lt;br /&gt;
- jm: what&#039;s hte problem?&lt;br /&gt;
- greg: the area on chapel building doesn&#039;t look as good as the lapped transform case.&lt;br /&gt;
- jm: maybe 2 months ago i proposed something similar. basically i proposed doing lapping on 4x4 and another level of transform, and all i got as a comment from Tim was JPEG-XR and i haven&#039;t figured out why it&#039;s bad.&lt;br /&gt;
- greg, derf: we said the same thing to monty.&lt;br /&gt;
- greg: the same thing that wavelets coders are doing where you don&#039;t have ringing but you don&#039;t geting any coding gain.&lt;br /&gt;
- jm: i&#039;m talking about the case where you do TF the AC.&lt;br /&gt;
- greg: that&#039;s not what JPEG-XR does.&lt;br /&gt;
- jm: my original suggestions was do 4x4 lapping and 4x4 dcts and then do another level of lapping for each coefficient.&lt;br /&gt;
- greg: that&#039;s not what monty is doing&lt;br /&gt;
- jm: i&#039;d like to know what&#039;s bad about this. i thought the quality looked generally good? what if we were to apply the lapping on the AC too?&lt;br /&gt;
- greg: the only other problem is that it leaves you to switch between 4x support and 16x support. there&#039;s no way to do the lapping with 2x that&#039;s not just really trivial. there&#039;s no room for the rotation.&lt;br /&gt;
- jm: 4x4 lapping 8x8 may not be that bad. if you do it as a 4x4 and go up to 8x8, one issue is that you can&#039;t do a lapping of 2. i&#039;m saying don&#039;t do lapping there. wich is 8x8 transform with 4x4 lapping, and i don&#039;t see why this would be bad.&lt;br /&gt;
- greg: it has a lot less coding gain than 8x8 lapping.&lt;br /&gt;
- jm: it&#039;s going to have worse coding gain but better ringing characteristics. and if you&#039;re 8x8 you are close to somewhere that coudl ring. it&#039;s worth testing but i suspect overall you won&#039;t be worse.&lt;br /&gt;
- greg: when i switch 8x8 to 4x4 lap everywhere it costs 0.3dB. it&#039;s rather a lot. that&#039;s including on places where it would be on the border of a 8x8 and 16x16 block.&lt;br /&gt;
nathan: your test included 16x16 blocks?&lt;br /&gt;
- greg: correct&lt;br /&gt;
- nathan: the version i ran only has 4x and 8x. that&#039;s why we&#039;re different.&lt;br /&gt;
- greg: i ran it both ways and got similar results. that&#039;s interesting.&lt;br /&gt;
- jack: this seems very rube goldberg machine&lt;br /&gt;
- greg: this is actually simpler than what we currently have in the codec. things like h.264 and vp8 have second level transforms. vp8 and h.264 both do a degree of second level processing but are limited. monty has been talking about doing more complicated things at the second level.&lt;br /&gt;
- jm: do you have a link to the stuff it does on the front of the chapel?&lt;br /&gt;
- jack: why do we TF at small sizes. i thougtht it was for 16x to 32x&lt;br /&gt;
- jm: because of intra-prediction we don&#039;t have a chocie. unless you want intra predictors for every combination of modes you have to use TF. if you have a 16x block and above you use a 4x4 block then you have to TF to 16x16 to do a intraprediction.&lt;br /&gt;
- nathan: this is because we trained where all your neighbors are 16x16&lt;br /&gt;
- greg: monty is exploring replacing smaller transforms with TF versions.&lt;br /&gt;
- jack: does this buy us speed?&lt;br /&gt;
- greg: potentially.&lt;br /&gt;
- nathan: this is also an alternative to banding because you can lump together the DCs.&lt;br /&gt;
- greg: i wouldn&#039;t say that. it let&#039;s us have signalling choices.&lt;br /&gt;
- jm: looking at the front of hte chapel, i&#039;m not sure it&#039;s actually worse.&lt;br /&gt;
- greg: you have flat areas and textured areas which is the classic wavelet problem.&lt;br /&gt;
- jm: with or without AC coeefs&lt;br /&gt;
- nathan: we use TF on chroma from luma to predict 4x4 luma blocks from 2x2 chroma blocks.&lt;br /&gt;
- jm: this hapens if the HF have too little support. this is definitely not something we should do. i always considered the version where you do TF on AC as well.&lt;br /&gt;
- jack: why don&#039;t we train on all combinations?&lt;br /&gt;
- jm: if you considered all the possibilies you would do millions of things.&lt;br /&gt;
- nathan: there is also overhead on signalling. you might have more info than you need.&lt;br /&gt;
- jm: if you didn&#039;t mind carrying hundreds of MB of tables, then we should do brute force. even if we could train this at scale, there&#039;s no way we could include all the coefficients.&lt;br /&gt;
- jack: how much data can we ship with encoder and decoder?&lt;br /&gt;
- greg: we want this data to fit into L1 cache. couple hundred kilobytes. once we&#039;ve converted to fixed point and dealt with precision we don&#039;t have a ton of free space.&lt;br /&gt;
- jack: why do we do so much work on intra prediction in general?&lt;br /&gt;
- greg: it&#039;s a lot of bits and it&#039;s where hte interesting challenges are. &lt;br /&gt;
- jm: if we do the predictors up to 16x16 considering all the possible combinations of sizes, this would multiple the number of predictors by 83k. the three predictors we have take 150k of space. if we included everything the decoder would be 10GB.&lt;br /&gt;
- greg: if we plot out the FF download size over time, we&#039;ll fit this in a couple of years.&lt;br /&gt;
- derf: target cpu complexity should not be a modern desktop processor.&lt;br /&gt;
- jm: every 16x16 block can be split 17 ways so there are 17^4 combinations.&lt;br /&gt;
&lt;br /&gt;
## Opus 1.1&lt;br /&gt;
&lt;br /&gt;
- jack: what will it take to ship this?&lt;br /&gt;
- jm: i&#039;m temporarily off the critical path i think. what&#039;s left is merging the arm neon stuff and then a lot of testing.&lt;br /&gt;
- jack: who&#039;s doing the testing&lt;br /&gt;
- greg: i am&lt;br /&gt;
- jm: i did what i wanted to do for opus. there&#039;s one minor feature that coudl be done by someone else. the only opus stuff on my todo list is writing an article for the IETF journal. the only other stuff i have is daala.&lt;br /&gt;
- jm: i keep getitng interrupted with issues like google dropping opus for complexity reasons.&lt;br /&gt;
- jm: i&#039;ve changed focus on pvq writing stuff with double precision. it will take longer to get to a decoder but the research will be more reliable.&lt;br /&gt;
 &lt;br /&gt;
# JM updates on PVQ work&lt;br /&gt;
&lt;br /&gt;
- jm: Checked in a double precision rewrite.  Checked on still view hardly codes anything on the still blocks&lt;br /&gt;
- jm: Been wondering what to do with the gain, quantize the gain or the gain difference. The difference is that if it quantizes the gain directly then the reference value may not be a possible quantized value.&lt;br /&gt;
- tim: Yes, thats a problem.&lt;br /&gt;
- jm: One option is to code the gain as an integer, the other option is to code it as an integer difference. tim: I think it should be the second one.&lt;br /&gt;
- jm: [what happens when symetric deltas would result in negative absolute gains]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20130911&amp;diff=15419</id>
		<title>DaalaMeeting20130911</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20130911&amp;diff=15419"/>
		<updated>2015-02-07T00:12:10Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2013-09-11&lt;br /&gt;
&lt;br /&gt;
## Agenda&lt;br /&gt;
&lt;br /&gt;
- logistical&lt;br /&gt;
- status updates&lt;br /&gt;
- brainstorm coding party agenda&lt;br /&gt;
&lt;br /&gt;
## Attending&lt;br /&gt;
&lt;br /&gt;
xiphmont, jack, jmspeex, gmaxwell, derf&lt;br /&gt;
&lt;br /&gt;
## logistics&lt;br /&gt;
&lt;br /&gt;
### meeting change&lt;br /&gt;
&lt;br /&gt;
- jack: i suggest 9am pacific on tuesday&lt;br /&gt;
&lt;br /&gt;
### #daala channel&lt;br /&gt;
&lt;br /&gt;
- jack: I suggest we do daala talk in #daala.&lt;br /&gt;
- (not much argument)&lt;br /&gt;
&lt;br /&gt;
### status updates&lt;br /&gt;
&lt;br /&gt;
#### travel&lt;br /&gt;
&lt;br /&gt;
- Monty: Daala coding party: Sept27-Oct1&lt;br /&gt;
            Disneyworld with family: Oct7-Oct14&lt;br /&gt;
- derf&lt;br /&gt;
12-17 Sep. IBC (Amsterdam)&lt;br /&gt;
1 Oct.: SF MusicTech XIV (probably not going, but someone maybe should?)&lt;br /&gt;
4-6 Oct.: Summit (MV)&lt;br /&gt;
9-11 Oct.: IEEE Broadcast Symposium (San Diego)&lt;br /&gt;
3-8 Nov.: IETF 88&lt;br /&gt;
11-15 Nov.: TPAC (not going to Shenzhen, defecting and going to Seattle)&lt;br /&gt;
17-18 Nov.: FOMS (San Francisco)&lt;br /&gt;
19-21 Nov.: WebRTC World West (Santa Clara... maybe not going)&lt;br /&gt;
8-11 Dec.: PCS 2013 (San Jose)&lt;br /&gt;
12-13 Dec.: Packet Video (San Jose)&lt;br /&gt;
- gmaxwell:&lt;br /&gt;
4-6 Oct.: Summit (MV)&lt;br /&gt;
3-8 Nov.: IETF 88&lt;br /&gt;
17-18 Nov.: FOMS (San Francisco)&lt;br /&gt;
8-11 Dec.: PCS 2013 (San Jose)&lt;br /&gt;
12-13 Dec.: Packet Video (San Jose)&lt;br /&gt;
- jmspeex:&lt;br /&gt;
   CCBE Sep 26-28&lt;br /&gt;
   Coding Party Sep 28-Oct 3&lt;br /&gt;
   Summit Oct 4-7&lt;br /&gt;
   AES Convention Oct 16-20&lt;br /&gt;
   IETF 88&lt;br /&gt;
- unlord:&lt;br /&gt;
  Daala coding party 9/26-10/7&lt;br /&gt;
  IETF 88&lt;br /&gt;
- jack:&lt;br /&gt;
  Coding Party &lt;br /&gt;
  IETF 88&lt;br /&gt;
  Platform rendering work week (paris) oct 21-25&lt;br /&gt;
  Samsung (Seoul) Nov 14th-??&lt;br /&gt;
  Moz Summit &lt;br /&gt;
  Strange Loop Sep 16-19&lt;br /&gt;
  LCA Jan ??&lt;br /&gt;
  &lt;br /&gt;
- xiphmont: I am shaving yaks. None of the mastroska tools can generate [completely] valid WebM. mkvmerge doesn&#039;t obey the profile.  mkclean doesn&#039;t reliably get timestamps in ascending order. Apparently this isn&#039;t Matroska but is in WebM and Chrome hangs if they timestamps aren&#039;t in order. And it&#039;s not deterministic. What you get out of mk clean dpeends on what you put into it.&lt;br /&gt;
This week I have RH legal stuff (re 2-stage TF). &lt;br /&gt;
I&#039;m still working on getting machine search of lapped transforms working. If we&#039;re going tform 4x4 to 8x8 we have to account for the lapping between the 4x4s. If we&#039;re splitting, then the second stage TF filter will need to simulate adding overlap between the two blocks that we split. I&#039;m not optimizistic that we&#039;re goign to find anything, but I&#039;m still looking.&lt;br /&gt;
This week: continue machine searching for lapping filters, lawyerness, and get started on next demo (ChromaFromLuma)&lt;br /&gt;
- jmspeex: &amp;quot;What lapping are you actually assuming we&#039;re going to use?&amp;quot;&lt;br /&gt;
- xiphmont: i&#039;m assuming that our transforms are lapped with the matching lapping and that&#039;s what i&#039;m trying to simulate. i think that&#039;s the right place to start. if we go to building 16x16 out of 4x4s then we lose some of the benefit of having the greater support.&lt;br /&gt;
-jmspeex: that is mostly useful for the larger blocksizes.&lt;br /&gt;
- xiphmont: this is all an approximation and i&#039;m not sure it&#039;s good enough yet that that actually matters. I have bugs and have to find them. I got really lucky finding the first filter that I did.&lt;br /&gt;
- jm: lucky in what sense?&lt;br /&gt;
- xiphmont: I made a wild guess and the second stage TF popped up, but so far I&#039;ve found nothing else.&lt;br /&gt;
&lt;br /&gt;
### jmspeex&lt;br /&gt;
&lt;br /&gt;
- jm: i&#039;ve been working on getting Opus 1.1 out the door. Nothing really new on Daala.&lt;br /&gt;
&lt;br /&gt;
### gmaxwell&lt;br /&gt;
&lt;br /&gt;
- greg: I&#039;m still hung up with 32x32 support. I went off on a tangent trying to search for lapping filters with the TF in place. So I have a modified coding gain tool that measure it. We prefer different prefilters when teh TF is in place.&lt;br /&gt;
- derf: what are you trying to optimize for with TF?&lt;br /&gt;
- greg: Basically I&#039;m doing empirical coding gain using the variance on the image data.&lt;br /&gt;
- derf: what does that mean?&lt;br /&gt;
- greg: I&#039;m TFing 16x16 up to 32x32 and then changing the lap params for the 16x32 prefilter.&lt;br /&gt;
- derf: ok&lt;br /&gt;
- unlord: this is just the part that&#039;s on the inside of hte block?&lt;br /&gt;
- greg: no, inside and outside. the reason i started messing around with this was to make sure that i was applying the TF correctly. So I broke that out and started measuring.&lt;br /&gt;
- unlord: this is sort of like the questions i&#039;ve been having. should you do something different than the normal 16x16 if you&#039;re going to TF it together. this is sort of what finding a better filter on the inside looks like.&lt;br /&gt;
&lt;br /&gt;
### unlord&lt;br /&gt;
&lt;br /&gt;
- unlord: http://people.xiph.org/~unlord/subset3_16x32_modes.png&lt;br /&gt;
that&#039;s been running along. it doesn&#039;t look like it&#039;s ....&lt;br /&gt;
I can post the individual data too so you can see the coding and prediction gain output.&lt;br /&gt;
- greg: good. it&#039;s not totally busted anymore.&lt;br /&gt;
- unlord: before when i was doing the rollup that looked terrible. it was totally because of the overfitting moving everything to mode 0. this may be a reason to rerun all the 8x8 on subset3. i&#039;ll know more when i plot it bits / pg.&lt;br /&gt;
- jm: that figure is the prediction gain after full sparsification?&lt;br /&gt;
- unlord: no, we&#039;re at step 150 or so. this is after sparsifying 60% of the way. it has 40% of the coeffs.&lt;br /&gt;
- jm: you&#039;re trying to reduce it how far?&lt;br /&gt;
- unlord: 1/262. quite a bit. this doesn&#039;t mean anything except that before when looking at subset1 this graph was terrible. http://people.xiph.org/~unlord/subset1_16x32_modes.png&lt;br /&gt;
the other thing i&#039;ve looked at is in the traiing tool. i modified the codec to only use 4x4 and 8x8 blocks, and then i ran the RD curve generation on subset1 with the second stage TF enabled and disabled. basically our current codec and the application of hte filters TF up and down. I thgouth maybe we are seeing an improvement on the smaller blocks. For low rates TF was slightly better and high rates was slightly worse. Greg brought up that doing it both ways, with TF and with TF + filter. So I&#039;d have to run the experiment four times. My theory is that pairing these correctly should work.&lt;br /&gt;
- jm: there&#039;s two reaosns you can see it doens&#039;t imrpove. one is that it doesn&#039;t work well enough and the other is without it it works well enough.&lt;br /&gt;
- unlord: maybe this is being overwhelmed by compression loss somewhere else. is there a different suggestion for how to test that?&lt;br /&gt;
- jm: how to test whether the current one is good enough?&lt;br /&gt;
- unlord: yes&lt;br /&gt;
- jm: the only way i can think is to do this with 4x4 and 8x8 but lapping of 4 all the time and you can doa  losless TF for that. with that config you can do lossless TF between 4x4 and 8x8.&lt;br /&gt;
- xiph: that&#039;s worth playing with but i&#039;m concerned about deploying it.&lt;br /&gt;
- jm: no, i was talking just measuring performance with that, and if it&#039;s not better compared to the stupid TF then it means you&#039;ve squeezed the area and you aren&#039;t goign to get any better with the second stage, but if there&#039;s a gap then you can see where the second stage gets you within the gap.&lt;br /&gt;
- unlord: the predictors are horrible if you do that.&lt;br /&gt;
- jm: no you&#039;ve trained the 4x4 on 4x4 and 8x8 on 8x8. if you do it lossless it means your predictors are optimal.&lt;br /&gt;
- unlord: the training was on 8x8 lapping&lt;br /&gt;
- jm: you&#039;d have to retrain with 8x8 blocks and 4x4 lapping. doing lossless TF would give you the best case. running without monty&#039;s second stage gives you the wrost case and then you see if there&#039;s any meaningful difference that&#039;s worth trying to get back.&lt;br /&gt;
- unlord: ok. i can run that one.&lt;br /&gt;
&lt;br /&gt;
### derf&lt;br /&gt;
&lt;br /&gt;
- derf: i have been mostly focusing on opus 1.1. most of my daala work is dumping stuff into jack&#039;s brain.&lt;br /&gt;
&lt;br /&gt;
## travel schedule&lt;br /&gt;
&lt;br /&gt;
- everyone but monty headed to IETF in vancouver week of nov 4th.&lt;br /&gt;
- jm: i&#039;m only going to one day at CCB in toronto before the coding party. and going to NYC for AES in october&lt;br /&gt;
- derf: What are people working on next week?&lt;br /&gt;
- xiphmont: TF, and then the next demo (chroma from luma)&lt;br /&gt;
- jmspeex: Continuing on PVQ (play around with theta quantizer and see if we can use prediction properly)&lt;br /&gt;
- gmaxwell: actually finish 32x32 support, put images up&lt;br /&gt;
- unlord: finish experiment with TF and intra prediciton&lt;br /&gt;
- derf: Coding party planning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140715&amp;diff=15418</id>
		<title>DaalaMeeting20140715</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140715&amp;diff=15418"/>
		<updated>2015-02-07T00:10:19Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Remove extraneous blank line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-07-15&lt;br /&gt;
 &lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
 &lt;br /&gt;
# Agenda&lt;br /&gt;
 &lt;br /&gt;
- reviews&lt;br /&gt;
- code party&lt;br /&gt;
  - https://daala.etherpad.mozilla.org/coding-party-201408&lt;br /&gt;
- IETF 90&lt;br /&gt;
  - https://daala.etherpad.mozilla.org/video-codec-ietf90&lt;br /&gt;
- Visual Information Processing and Communication submissions&lt;br /&gt;
- tech discussion: new intra pred idea (jmspeex)&lt;br /&gt;
 &lt;br /&gt;
# Attending&lt;br /&gt;
 &lt;br /&gt;
jmspeex, td-linux, derf, bkoc, smarter&lt;br /&gt;
 &lt;br /&gt;
# Reviews&lt;br /&gt;
 &lt;br /&gt;
nothing to report. assigned a few to nathan since he wasn&#039;t here&lt;br /&gt;
 &lt;br /&gt;
# Coding party&lt;br /&gt;
 &lt;br /&gt;
Need to ping people you haven&#039;t heard from next week.&lt;br /&gt;
 &lt;br /&gt;
# IETF 90&lt;br /&gt;
 &lt;br /&gt;
tim needs to add agenda items&lt;br /&gt;
 &lt;br /&gt;
# VIPC&lt;br /&gt;
 &lt;br /&gt;
- d: sent email about this to the internal alias. extended abstracts are due next week.&lt;br /&gt;
- jm: i don&#039;t like copyright assignment. that&#039;s my only issue.&lt;br /&gt;
- d: i will raise that with the organizers.&lt;br /&gt;
- j: who&#039;s going to submit stuff to this? we should submit at least two things, since they want to do a special session on daala.&lt;br /&gt;
- jm: i think it makes sense to have a pvq paper&lt;br /&gt;
- j: should we have an overview paper?&lt;br /&gt;
- jm &amp;amp; d: probably not, can just cover the needed intro stuff in the more meaty presentations.&lt;br /&gt;
- d: we could do something on chroma from luma.&lt;br /&gt;
- smarter: what about the entropy coder?&lt;br /&gt;
- d: what&#039;s new there?&lt;br /&gt;
- jm: if we did, it would be use of multi-symbol in video coding.&lt;br /&gt;
- d: we could talk about the intra coding probabilities and the laplace encoder.&lt;br /&gt;
- jm: we could mention it, but i have a feeling that it will be completely rewritten.&lt;br /&gt;
- j: what about your motion compensation paper?&lt;br /&gt;
- d: it&#039;s less interesting if you dont&#039; do CGI, but i can try to come up with some results to make that interesting.&lt;br /&gt;
- jm: for what pieces of daala do we actually have results that we can present?&lt;br /&gt;
- j: nathan might be a good person for CfL&lt;br /&gt;
- d: nathan might want to write up stuff on training the transforms.&lt;br /&gt;
- jm: if extended abstract is 3-4 pages, how long is the actual paper?&lt;br /&gt;
- d: fantastic question!&lt;br /&gt;
- u: oct 6 is notification.&lt;br /&gt;
- d: there&#039;s no guidelines on length. make it as long as you want.&lt;br /&gt;
 &lt;br /&gt;
# jean-marc&#039;s intrapred ideas&lt;br /&gt;
 &lt;br /&gt;
- jm: i mentioned it to tim last week but wanted to see if anyone had ideas for how to implement it. my latest idea is to instead of doing prediction at the same time as coding, do a first pass trying to get all the edges approximately right and trying to code the difference. for instance, chop the image into differnt block sizes. you code a 1d dct of all the edges, and then you apply an intrapredictor to that (standard type of intrapred based on the border). you get a coarse image and you use this as a standard reference just as if we had motion compensation.&lt;br /&gt;
- d: i don&#039;t see any reaosn it wouldn&#039;t work, but i don&#039;t know how you plan on handling the sudden changes at block boundaries.&lt;br /&gt;
- jm: you mean dealing with blocking? i&#039;m still trying to figure that out. the other one i&#039;m having a harder time with is how not to do it completely dumbly. the easiest way is to take all the border pixels and code them all with a 1d dct. once you have them all you find the best predictor and then fill all the contents. with the dct you are applying you&#039;re only looking at the border pixels not inside the block, and you should probably use those. when you&#039;re quantizing the 1d dct, you&#039;re not even looking at what&#039;s inside the block. you&#039;re only looking at what&#039;s in the border. so if there is noise in the block, you&#039;re not taking that into account.&lt;br /&gt;
- d: what you want to do is given that this is the prediction you&#039;re going to be using, what is the optimum set of pixels to code there.&lt;br /&gt;
- jm: i would like to have it structured such that having a greedy search is not completely dumb.&lt;br /&gt;
- d: i don&#039;t htink this breaks that. i think the pixels you want to code are going to be different based on the mode you chose.&lt;br /&gt;
- jm: anytime you&#039;re encoding a block you&#039;ll already have the top and left edge of the block with the dct already. then you need to figure out the intra within that block and a vague idea i had is that hte top and left edges are already coded. you decide on the mode you&#039;ll be using for every block of the image, and then you code the 1d dct, and every time you code one you look at both sides of that edge. and then you do this kind of blending. on every block you would extend from 2 edges and you do both extensions and then do a blending within the block. this was my idea for trying to not have discontinuities.&lt;br /&gt;
- d: my point is that if i&#039;m looking at the right edge of a block and i want to code some dct there. i&#039;m going to use it to predict to the left and right. if the pred mode in the block on my left is horizontal, then that blocks contribution should be the average across each row. but if i look to the right and it says to predict up-right, then i shoudl be looking at the diagonal contribution and predict that. the pixels are going to be different for every choice of intramodes.&lt;br /&gt;
- jm: how would you do the blending?&lt;br /&gt;
- d: no idea. maybe you would just do the obmc thing. if the mode is horizontal, you could do bilinear weight of left edge to right edge.&lt;br /&gt;
 &lt;br /&gt;
(discussion too fast for me to capture about this)&lt;br /&gt;
 &lt;br /&gt;
- d: the other thing i dont&#039; quite understand is switching between inter and intra.&lt;br /&gt;
- jm: you don&#039;t.&lt;br /&gt;
- d: i&#039;d really l ike to.&lt;br /&gt;
- jm: this scheme is for keyframes. i have no solution for mixed frames. i see one way to do it, but it is another variant and i don&#039;t know how i would implement it with reasonable complexity. the idea would be to do it in the lapped domain. backtracking.... instead of encoding left edge and top edge and applying the filter. another way to do this would be to code the 1d dct along the diagonal that is orthogonal to the prediction direction. so this is another way you can code the information there.&lt;br /&gt;
- d: you would code the avg. along each of those prediction lines right?&lt;br /&gt;
- jm: exactly. you can also get lapping to work with that. i am coding the average as if there was no lapping and it would be like you generate this kind of pattern for an infinite block and then apply the lapping to that. it would tell you what&#039;s inside this particular block. that brings out the problem with the scheme you suggested. with my modified scheme, you&#039;d be able to say i predict this pattern in this direction, but the actual 1d dct could not be predicted from anything else. you wouldnt&#039; be able to predict it from the neighboring block.&lt;br /&gt;
- d: you&#039;d be able to do DC prediction right?&lt;br /&gt;
- jm: yes, but it wouldn&#039;t add anything. it would just be an overcomplete codebook. back to the other scheme for keyframes. in the case where you&#039;re actually using the left and top edge and predicting, your prediction gives you the bottom and right edge which you can code an error for. if you have a perfect pattern for the entire image your 1d dcts will be zeros. imagine if your entire image is a 45 degree pattern. once you&#039;ve coded the top and left edge of your entire image, you propagate your pattern with the predictor within a block. once you propagate you get a prediction for the bottom and right edge and then you only need to encode the difference.&lt;br /&gt;
- d: i can see why that&#039;s harder to do if you&#039;re lapping things, but i&#039;m not sure it&#039;s impossible.&lt;br /&gt;
- jm: if it was possible it would also work for freq domain prediction. i think i want to play with it a little a bit. is anyone else interested in this?&lt;br /&gt;
- td: i am i guess.&lt;br /&gt;
- jm: i&#039;m not sure how to get started but i&#039;d like to see what results we can get. i don&#039;t think we need lapping working as a first step.&lt;br /&gt;
- d: i think you can start with the keyframe approach and just not worry about it.&lt;br /&gt;
- jm: i&#039;d like to see how good we can get fruits with just this and nothing extra.&lt;br /&gt;
 &lt;br /&gt;
# other intra ideas&lt;br /&gt;
 &lt;br /&gt;
- u: we have unlapping that we&#039;re working on. i have some bad results but no good results yet. the other one is the stuff that greg an i have been talking about, which is to manufacture a 4d covariance matrix and do sparsification on that. no training on actual images just the synthesized stuff.&lt;br /&gt;
- jm: what you mean is figuring out the exact modes that vp8 does?&lt;br /&gt;
- u: any directional mode. some kind of 2d AR95&lt;br /&gt;
- d: you want a limit.&lt;br /&gt;
- u: if we have 32 of these at a 16x16 level we coudl sparsify them.&lt;br /&gt;
- jm: on unlapping we still have the block size mixing problem right?&lt;br /&gt;
- u: yes. what you end up doing is that you try to separate the edges. as you look at certain edges in certain configurations, some of them you can undo all the way to space domain and some are half unlapped. it seems like you&#039;d train for all possible combinations, but that seems an intractable amount.&lt;br /&gt;
- jm: what are your bad results? still debugging or what&#039;s the issue?&lt;br /&gt;
- u: i&#039;ve got a model that&#039;s learned on say the left edge. and i ahve a model for the horizontal mode but i&#039;m trying to learn something for a diagonal mode. i haven&#039;t got something that makes sense because it&#039;s basically taking trained data for that. i&#039;ll post some images of what&#039;s predicted and maybe it will make more sense.&lt;br /&gt;
- u: the next steps are that horizontal mdoe it works ok. the same issues we had before are still there. if the block sizes are different, how does lapping interact. for a given angle you should be able to do a much larger least squares regression. you should be able to predict a much larger region around that border. i haven&#039;t had a lot of luck with that one yet. the idea is to do something that was separable, because then you could do them independently, but i don&#039;t think you can really separate them.&lt;br /&gt;
- jm: on a different note, what is monty up to?&lt;br /&gt;
- j: monty has been doing his journal this week! http://people.xiph.org/~xiphmont/journal.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140107&amp;diff=15417</id>
		<title>DaalaMeeting20140107</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140107&amp;diff=15417"/>
		<updated>2015-02-07T00:08:24Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-01-07&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- review policy changes&lt;br /&gt;
- review tool emails&lt;br /&gt;
- tim day&lt;br /&gt;
- pvq projects&lt;br /&gt;
  - 16x16 support&lt;br /&gt;
  - activity masking&lt;br /&gt;
  - convert to fixed point&lt;br /&gt;
- Interns!&lt;br /&gt;
- Det1 training ( http://people.xiph.org/~greg/daala.det1.training.20140107/ )&lt;br /&gt;
- Work week&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
gmaxwell, xiphmont, jmspeex, unlord, jack, td-linux, &lt;br /&gt;
&lt;br /&gt;
# review policy&lt;br /&gt;
&lt;br /&gt;
- jack: reviews due in a week. in this meeting we&#039;ll go through quickly and assign and those should get done by end of the week.&lt;br /&gt;
- jmspeex: i would also auggest we review only important things.&lt;br /&gt;
assigning reviews&lt;br /&gt;
# pvq projects&lt;br /&gt;
- jack: jean-marc wants these three projects done by someone other than him. volunteers?&lt;br /&gt;
- xiphmont: me me me&lt;br /&gt;
- jm: here are the projects:&lt;br /&gt;
1) Implementing PVQ for 16x16&lt;br /&gt;
2) Activity masking&lt;br /&gt;
3) Fixed-point conversion&lt;br /&gt;
- jm: these are sequential and easiest to hardest&lt;br /&gt;
- greg: why is activity masking not two lines of code?&lt;br /&gt;
- jm: it&#039;s not a lot of code, but it&#039;s trying to figure out what&#039;s going on. there&#039;s a bunch of constants that would influence the results that are implicitly 1.&lt;br /&gt;
- xiphmont: there&#039;s some amount of wanking with constants I imagine.&lt;br /&gt;
- jack: can greg do activity masking in parallel with monty doing 16x16?&lt;br /&gt;
- jm: yes&lt;br /&gt;
- greg: sounds good&lt;br /&gt;
- jm: for 16x16 we don&#039;t predict anything so pvq is not that useful.&lt;br /&gt;
- unlord: i&#039;ve landed the TF predictors&lt;br /&gt;
- jm: are we predicting something useful?&lt;br /&gt;
- unlord: perhaps. we&#039;re not feeding the 16x16 blocks directional data. when we do block size splitting we take all the directional blocks and making them 8x8 or 4x4.&lt;br /&gt;
- jm: not sure i&#039;m following&lt;br /&gt;
- unlord: the training is done on all blocks in an image.&lt;br /&gt;
- jm: but you are at least training something and you predict in HF?&lt;br /&gt;
- unlord: yes.&lt;br /&gt;
- jm: the other thing is det1 stuff at least when doing pvq with interframes.&lt;br /&gt;
&lt;br /&gt;
# interns&lt;br /&gt;
&lt;br /&gt;
- jack: email people. recruit!&lt;br /&gt;
&lt;br /&gt;
# det1&lt;br /&gt;
&lt;br /&gt;
- g: on http://people.xiph.org/~greg/daala.det1.training.20140107/fastssim.png the blue line is git. the green line is the results from training. this was the best settings for prediction gain. i freaked out because this wasn&#039;t the results i got back when we first tried this. so i redid the training for the det1 coeffs and then having nothing else left to check i changed the training tool settings back to the defaults. then i got the red line. i think i have it sorted out now. it is odd that the changes in the training settings make such a big different. if you look at http://people.xiph.org/~greg/daala.det1.training.20140107/training.png you can see&lt;br /&gt;
- d, u: what is the difference between the settings on the fastssim graph?&lt;br /&gt;
- g: the green and reds are the same on both those images. the green line the training is set to use weighting and the bits metric. when i was working on this back in december, i noticed setting weight and bits in the training tool are setting higher prediction gain numbers. &lt;br /&gt;
- jm: is this on still images or videos?&lt;br /&gt;
- g: still images. the det1 stuff didn&#039;t hurt the performance at the last coding party when we first tested this. in any case, i&#039;m happy with the results i have now. at least it&#039;s not worse anymore.&lt;br /&gt;
- u: using no weights and no bits is giving you best performance?&lt;br /&gt;
- g: on the images, yes.&lt;br /&gt;
- x: what are the axis labels on the last graph?&lt;br /&gt;
- g: that&#039;s iteration steps vs. actual coding gain from intraprediction.&lt;br /&gt;
- u: are you testing against subset 2 in your rd curves?&lt;br /&gt;
- g: the rd curves are testing against subset1 and i&#039;m training against subset3.&lt;br /&gt;
- jm: it would be interesting to see these curves for pvq as well.&lt;br /&gt;
- g: sure.&lt;br /&gt;
- jm: it&#039;s worth investigating. at some poitn we need to commit to pvq or scalar or whatever, and assuming we use pvq, i realized it will have impacts on everything. similar to how the lapped transform changed the rest of the codec. at least it would change the metrics all over the place.&lt;br /&gt;
- g: ok. i have it running right now. i just started that data collection. i have the det1 patch ready to review. there&#039;s little to review.&lt;br /&gt;
- d: do you know what settings the stuff in git was trained with?&lt;br /&gt;
- g: i was going to ask if we should change the training tools to write out the settings in the header files.&lt;br /&gt;
- u: it&#039;s no weights and no bits.&lt;br /&gt;
- g: do you know what subsets it was trained on?&lt;br /&gt;
- u: do you know hte sizes?&lt;br /&gt;
- g: 4x4&lt;br /&gt;
- u: i think it&#039;s just subset3. it might have been subset1. i didn&#039;t modify those.&lt;br /&gt;
- g: that may be a reason i&#039;m struggling against subset1.&lt;br /&gt;
- u: this is why i&#039;ve moved to only testing on subset2. i remember that no weights and no bits got us the best results. i think i was graphing the prediction gain not the overall gain.&lt;br /&gt;
- g: that shouldn&#039;t make any difference.&lt;br /&gt;
- jm: what&#039;s weights vs. bits again?&lt;br /&gt;
- u: actuallly it might make a difference because we classify them based on prediction gain right?&lt;br /&gt;
- g: yes. jm, the weights vs. bits is where we weight them as the best over next best???&lt;br /&gt;
- g: there didn&#039;t appear to be any signs of overfitting. none of the weights were really high or zero, and i trained on subset3 which is a lot of images.&lt;br /&gt;
- u: i&#039;d wnat to see this graph on prediction gain instead of overall gain.&lt;br /&gt;
- jm: it seems like it doesn&#039;t have to be all or nothing. reduce weights or bits, etc.&lt;br /&gt;
- g: not just that. part of the problem is that i don&#039;t know what to look at. here we have prediction gain telling us it&#039;s a lot better, but it&#039;s not so much better in the codec.&lt;br /&gt;
- jm: if you have something that seems to be working it&#039;s time to check it in. pvq will change the cost function anyway.&lt;br /&gt;
- d: based on these graphs i think we can check it in.&lt;br /&gt;
- u: we want to change the prediction metric for pvq?&lt;br /&gt;
- jm: we definitely want to change the selection metric. among the changes you&#039;d want to consider individual bands and looking at the selection metric in the encoder, if any particular band is completely wrong or slightly wrong it&#039;s the same. if the prediction is 0 or way wrong, it doesn&#039;t change anything for the pvq code.&lt;br /&gt;
- g: as far as more changes to training tools. beyond changing for pvq, the thing we should be looking at is doing some L1 optimization, but this is probably a good intern projects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140114&amp;diff=15416</id>
		<title>DaalaMeeting20140114</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140114&amp;diff=15416"/>
		<updated>2015-02-07T00:08:07Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-01-14&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- work week update ( https://daala.etherpad.mozilla.org/workweek-201402 )&lt;br /&gt;
- interns&lt;br /&gt;
- Anyone waiting on anyone else for reviews now?&lt;br /&gt;
   unlord: I would still like a review of https://review.xiph.org/132/&lt;br /&gt;
   jm: have two more to review, rest is still up&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
jack, derf, unlord, jmspeex, gmaxwell, td-linux&lt;br /&gt;
&lt;br /&gt;
xiphmont: will be asleep for tomorrow&#039;s meeting :-(  I&#039;ll see you in my early morning and early evening.&lt;br /&gt;
&lt;br /&gt;
# pvq&lt;br /&gt;
&lt;br /&gt;
- jm: what&#039;s the plan for pvq now?&lt;br /&gt;
- derf: greg is doing activity masking and monty is going the 16x16&lt;br /&gt;
&lt;br /&gt;
# det 1&lt;br /&gt;
&lt;br /&gt;
- derf: how did that turn out?&lt;br /&gt;
- g: behavior is the same as i showed last week. i couldn&#039;t get anything better than that.&lt;br /&gt;
&lt;br /&gt;
# next things&lt;br /&gt;
&lt;br /&gt;
- nathan: we came up with two things for me. the first is an idea for better coding of the motion vectors.&lt;br /&gt;
- derf: i want him to look into the square polar stuff you were doing. the other one was my idea for having multiple predictors and partitioning the coding space that way.&lt;br /&gt;
- g: in terms of the MVs, there are a bunch of ways we can encode x and y. we can code them independently or we could code sums and differences between coordinates. there are two obvious projections that we could potentially use to get them into angle and magnitude form. one is sum an difference whicih gets you a diamond shape, and the other is coding one magnitude and a radius around that magnitude which gets you a square shape instead of a diamond shape. i did some stats on real MVs and you could make some guesses about which structure was better.&lt;br /&gt;
- derf: the other idea is multiple predictors. you code the decision but it&#039;s easy to code. most motion fields are piecewise continuous. the theory is that if you make one predictor the median of neighbors and the other the 0,0 vector. inside one piecewise continuous region you&#039;d predict the median and at the boundary you&#039;d use 0,0 instead. so the flags are only not what you&#039;d expect along the boundary. even in the case where there&#039;s no advantage to having two predictors you aren&#039;t wasting any bits. the idea is that it will always give you a gain.&lt;br /&gt;
- jack: which one are you going to start on first?&lt;br /&gt;
- nathan: probably the polar one.&lt;br /&gt;
- derf: yes, the question that will come out of that work is what does closest mean?&lt;br /&gt;
- g: the easy definition of closest that makes it easy to prune depends on how you code the MVs.&lt;br /&gt;
- jm: i was thinking that i&#039;d look at pvq from another angle. what should we change in the rest of the code to account for PVQ? and i&#039;ve got some IETF stuff to do.&lt;br /&gt;
- derf: the stuff i tried was .... removing restriction that neighboring motion partitions only differ by one level ... ripping out CGI and changing out dynamic programming algorithm.&lt;br /&gt;
- g: how do you do OBMC windows in that case?&lt;br /&gt;
- d: for the largest block along an edge, you can only have two motion vectors on that edge. so i can split the MVs down on one side of that edge, but i can&#039;t add any MVs on the edge.&lt;br /&gt;
- g: you&#039;ll get weirdly shaped OBMC boundaries right?&lt;br /&gt;
- d: no. it works fine. since you can fold all those into one extra interpolation it requires no extra work per pixel.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140121&amp;diff=15415</id>
		<title>DaalaMeeting20140121</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140121&amp;diff=15415"/>
		<updated>2015-02-07T00:07:56Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-01-21&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- work weeks&lt;br /&gt;
- 2014 project plan https://daala.etherpad.mozilla.org/daala-plan-2014&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
gmaxwell, unlord, jmspeex, xiphmont, derf&lt;br /&gt;
&lt;br /&gt;
# work week stuff&lt;br /&gt;
&lt;br /&gt;
# project plan 2014&lt;br /&gt;
&lt;br /&gt;
- jmspeex: how do you measure quality of MC?&lt;br /&gt;
- derf: you measure the distortion of the MC residual&lt;br /&gt;
- gmaxwell: you can do it high bitrate&lt;br /&gt;
- derf: you could do it lossless. not sure if you can do that with VP9 but i think you can.&lt;br /&gt;
- xiphmont: i thougth last time i tried to run VP9 lossless it only ran in iframe only mode.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140128&amp;diff=15414</id>
		<title>DaalaMeeting20140128</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140128&amp;diff=15414"/>
		<updated>2015-02-07T00:07:42Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-01-28&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- review review (27 open issues)&lt;br /&gt;
  - 144&lt;br /&gt;
  - 132&lt;br /&gt;
- pvq: activity masking http://people.xiph.org/~greg/daala/pvq_activity/psnr.png&lt;br /&gt;
- pvq: 16x16&lt;br /&gt;
- pvq: energy preservation&lt;br /&gt;
- pvq: demo 5&lt;br /&gt;
- work week agenda bashing - https://daala.etherpad.mozilla.org/workweek-201402&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
xiphmont, jmspeex, jack, unlord, gmaxwell, derf&lt;br /&gt;
&lt;br /&gt;
# activity masking&lt;br /&gt;
&lt;br /&gt;
g: i achieved an impossible result. i mananged to improve PSNR. what i&#039;m doing here is changing the computation in teh pvq code that selects the resolution and also changing how it quantizes the gain. in changing it to achieve implicit activity masking so that we give it more rate in smoother areas where noise is more visible. this is achieve straightforwardly in the current code by companding and uncompanding the gain. at least in the case where there is no theta, is there more to it?&lt;br /&gt;
jm: even when there&#039;s no theta, tehre&#039;s factors of 1+2alpha that come up in a few places.&lt;br /&gt;
g: i&#039;m aware of that.&lt;br /&gt;
jm: computing k is a function of the gain.&lt;br /&gt;
x: missing teh big picture here&lt;br /&gt;
jm: monty, did you read the video pvq doc that i wrote? the whole diea here is that flat areas should have more resolution. highly textured areas should have less resolution. the first thing you do is when you quantize the gain you want more resolution in flat areas. instead of using uniform scalar quantization on gain itself you use it on a warped version of the gain. on the gain raised to a power less than one.&lt;br /&gt;
x: yes, i played with that.&lt;br /&gt;
jm: once you do that you also you need to update how you determine k as a function of that gain.&lt;br /&gt;
x: so setting activity has to be taken care of elsewhere in the code. got it.&lt;br /&gt;
g: i didn&#039;t expect to achieve an improvement in PSNR. that blew my mind. the PSNR graph was surprising. this change should hurt PSNR and help SSIM, but i got an across the board improvement. maybe jm has ideas about where we were suboptimal before.&lt;br /&gt;
jm: i notice you&#039;re increasing the rate across the board which also influences other things. i wonder if while applying activity masking you could just scale the quality so that you achieve similar rate and see what happens?&lt;br /&gt;
g: i&#039;m confused.&lt;br /&gt;
jm: basically adding this activity masking increases resolution across the board because all gain steps get closer. so i was thinking in the function itself you could multiple also the quality (-V option) by a constant factor that just gives us equivalent rate.&lt;br /&gt;
g: i can do that. i&#039;m still at a loss as to where our behavior is non-optimimal such that i get a PSNR improvement.&lt;br /&gt;
x: i found that we&#039;re currently in the case where the vast majority of the pvq partitions are quantizing to 0. maybe you got out of that. this is not a product of the RDO search. most gains are coming in below 0.5 and they quantize to 0. at moderate and low rates, when i look at pvq compared to scalar, ???? the current behavior of pvq completely defeats the whole purpose of using it. that is energy preservation is not happening. high end detail is getting thrown away.&lt;br /&gt;
g: i think what we were tryign to achieve is that we expect that pvq would actually result in a straight up MSE improvement as well. the old stuff did not result in a MSE improvement so the point of the reimplementation exercises would fix that.&lt;br /&gt;
jm: you are summarizing that perfectly.&lt;br /&gt;
x: i agree. however in my mind, i was hoping to get primarily psycho-visual results.&lt;br /&gt;
- jm: i thought about doing that as a second step. first get an MSE improvement, then imrpove visuals.&lt;br /&gt;
- x: quantizing all the low energy stuff to 0 appears to baked in to the way it&#039;s being done.&lt;br /&gt;
- jm: it&#039;s absolutely not. baked into the encoder or the format?&lt;br /&gt;
- x: simply into the way we handle it right now.&lt;br /&gt;
- jm: i think a lot of this is the cost function&lt;br /&gt;
- x: i don&#039;t. the cost function is applied after things are quantized to zero.&lt;br /&gt;
- jm: right now the cost function does not value gain preservation.&lt;br /&gt;
- x: it is always quantized to zero before that point.&lt;br /&gt;
- jm: oh, you want to preserve 0.1 gains? that is for activity masking. the only way to do this is activity masking or some variant of it.&lt;br /&gt;
- x: i disagree with that but i do think that activity masking is a fine way to experiment.&lt;br /&gt;
- g: activity masking compands the gain and makes it less likely that small values will quantize to zero.&lt;br /&gt;
- x: i hope that&#039;s the case.&lt;br /&gt;
- g: as an aside, this code is hellaciously slwo right now.&lt;br /&gt;
- jm: the loop for the non-predicted case tries all the gains instead of a small range. we&#039;re doing many calls to the pvq encoder instead of a single one. and the pvq encoder itself doesn&#039;t have the fast pass.&lt;br /&gt;
- g: we may need to improve perofrmnace to finish the work on this stuff because it&#039;s really slow.&lt;br /&gt;
- jm: one thing i realized from greg&#039;s results and it&#039;s going up always. and not touching anything it should go down. did you only change activity?&lt;br /&gt;
- g: no i put in the constants, but i&#039;ll check that i didn&#039;t do it backwards. the reason i&#039;m perplexed about this is that my expectation is that nothing i&#039;m doing should improve PSNR.&lt;br /&gt;
- jm: i&#039;ve also got the activity variable backwards compared to my document. what did you set it to?&lt;br /&gt;
- g: i set it to 4/3rds.&lt;br /&gt;
- jm: it should be set to 3/4ths.  the document says that 1 + 2alpha should be 4/3rds.&lt;br /&gt;
- g: i&#039;ll check that i have it right. that still doesn&#039;t explain PSNR improvement by 0.5db.&lt;br /&gt;
- jm: i can see why it does. right now the pvq code is preserving energy than is MSE optimal.&lt;br /&gt;
- g: how?&lt;br /&gt;
- jm: at high rate it is optimal. at low rate, i did the derivations of MSE optimal at low rate, and what is actually MSE optimal is to have a black hole in the middle. if you have 1000 coeffs, anything that has a gain below 5 or 10 you better have it just at zero. essentially if you have a really large N and the gain of your vector is 2, then you look at what would the error be if i set k according to gain = 2and it gives you a distortion. you find that setting gain at 0 gives you a lower distortion. i suspect by doing activity masking backwards that would cause the PSNR improvement.&lt;br /&gt;
- g: i&#039;ll go figure that out. i can see how that could happen now.&lt;br /&gt;
- jm: just look at where activity is applied. maybe it&#039;s worth not changing the value of activity but reversing where we use the inverse activity verses the activity itself.&lt;br /&gt;
- g: i&#039;ll go fix it.&lt;br /&gt;
&lt;br /&gt;
# 16x16&lt;br /&gt;
&lt;br /&gt;
- x: there&#039;s not a lot to say about it other than it was reasonably easy. except for the constants sprinkled all over the code. the fact there were 4 PVQ partitions was hardcoded in 4 differnet places. it&#039;s straightforward. it&#039;s implemented and working. the only caveat is that i don&#039;t know what CDF stands for. the CDF for 16x16 is a placeholder and we need to code more than 16 choices. so it&#039;s coded as 4 bits using 8x8 and then 3 bits with flat probability. if it turns out not to be a premature optimization. i&#039;ve been traipsing through this code, and perhaps i should document it. it&#039;s not so much that the code doesn&#039;t make sense, but there are anumber of things that are named strangely and in weird places. i am preparing a patch that moves a few things to more logical places and fixes up the names. pvq_encoding is now laplace_encode_vector. the details aren&#039;t important; we can bikeshed on the patch.&lt;br /&gt;
- g: i agree. it&#039;s come up as a source of confusion a few times now.&lt;br /&gt;
- x: all these chagnes are minor though there will be some bikeshedding of naming.&lt;br /&gt;
- jm: you didn&#039;t see anything the code was doing that was stupid?&lt;br /&gt;
- x: there was some dead code and a few places where we were dealing with coding conventions. we can go into more details offline.&lt;br /&gt;
- greg: testing shows dead code:&lt;br /&gt;
https://mf4.xiph.org/jenkins/view/daala/job/daala-coverage/ws/unix/coverage/src/pvq_encoder.c.gcov.html#165&lt;br /&gt;
- x: as for removing old pvq thing, it&#039;s already gone.&lt;br /&gt;
- jm: what&#039;s the status of your patches?&lt;br /&gt;
- x: they are in my local git. i was going to do the mild refactoring and commenting before submitting all of it.&lt;br /&gt;
- jm: if you have some that are ready to apply i have no problem looking and merging right away.&lt;br /&gt;
- x: ok&lt;br /&gt;
- jm: do you have them in public git? if you push them somewhere i can review from git.&lt;br /&gt;
&lt;br /&gt;
# energy preservation&lt;br /&gt;
&lt;br /&gt;
- x: we were looking to pvq for two things. it&#039;s elegant and perhaps more efficient. the third thing is, is energy preservation actually useful? i think we should experiment with that. i&#039;m certain it is going to behave in surprising ways and that it will be useful. i&#039;m not sure that the small amount of efficiency we&#039;re seeing is worth the additional complexity. it&#039;s not particularly impressive in my testing. i&#039;m seeing visual effects that are not as good as scalar. there are large sections of the iamge that just wash out.&lt;br /&gt;
- jack: can you bring some sample images to the work week so we can all look at them together?&lt;br /&gt;
- x: yes. even if you discard the images that are surprising, the other images look better with scalar.&lt;br /&gt;
- jm: these are regions wher eyou have gain &amp;lt; 1?&lt;br /&gt;
- x: yes. these are regions where energy is disappearing. happens in both HF and LF. a large area of the image grays out slightly, but compared to scalar it&#039;s obvious.&lt;br /&gt;
- jm: activity masking is one part of hte solution. another thing to experiment with (in parallel) is to have something explicitly handling really low gains. like adding 1 pulse at 0.2. some kind of spreading for just this issue.&lt;br /&gt;
- x: what i was going to propose experimenting with is to do away with the partitioning and apply a spectral tilt. try to keep the rough energy across the spectrum more or less intact, but do it in a reversible way like with CELT. (spectral tilt = whitening filter). what i&#039;m loking for is nenergy preservation so that energy doesn&#039;t move as we quantize but we smoothly decorrelate. i want to see what it looks like when our quantization process moves to noise and grain that is true to the original spectral distribution rather than moving towards everything becoming a flat block.&lt;br /&gt;
- jm: if you apply this whitening filter and then inject noise...&lt;br /&gt;
- x: i dont&#039; want to inject noise. i want it to pick up noise instead of drop energy&lt;br /&gt;
- jm: if you apply the spectral tile then code then apply it backwards, you&#039;re going to give better resolution to the stuff that was weaker.&lt;br /&gt;
- x: ype. we don&#039;t want to do a straight version of that. we&#039;re allocating our resolution based on energy, and when the LF is low energy you lose contrast. when the HF is low energy it turns into a flat area of perfect color.&lt;br /&gt;
- jm: that part i get. if the gain doesn&#039;t quantize to zero you&#039;ll be using a bunch of pulses, and maybe what we need is a first step is a single pulse for small gain so that you&#039;re not completely washed out.&lt;br /&gt;
- x: that&#039;s a good test as well. one reason i want to drop partitioning is that diiving a big number doesn&#039;t give you two little numbers, but two more big numbers that are just slightly smaller.&lt;br /&gt;
- jm: i was hoping the gains would be easy to code because we could code them jointly and predict them.&lt;br /&gt;
- x: that may be the case. what i&#039;m seeing right now, is that until we get to that point it&#039;s not worth discussing because they are all zero.&lt;br /&gt;
- g: are you comparing these things at equal rates?&lt;br /&gt;
- x: yes. i realize that the rate is sort of a guess, but i&#039;m running with RDO and matching rate.&lt;br /&gt;
- g: i think it&#039;s well accepted wisdom that at low bitrates you should be reducing resolution of your images. and that remains true even if you have good partioning schemes in the codec. it&#039;s positive to me that our quantizer is making similar decisions. i wanted to make sure that what you were complaining about wasn&#039;t what was expected to be a good behavior.&lt;br /&gt;
- x: if i was taking this in a vacuum, i&#039;d agree.&lt;br /&gt;
- jm: what is reported as the quantization factor ?&lt;br /&gt;
- x: i have been testing at between 32 and 48. low enough rate that it&#039;s causing obvious differences but well above where it would totaly fall apart.&lt;br /&gt;
- jm: the function that has k as a function of hte gain is MSE optimal, and maybe we should deviate from that. it has the same error in the direction of the gain as it does in other directions. maybe it shouldn&#039;t do that.&lt;br /&gt;
- x: at the moment things are disappointing and we have reason to be concerned. perhaps activity masking will shape it right up.&lt;br /&gt;
- jm: the one i&#039;m mentioning right now is what i consider to be an easy one that is complemtary to activity masking. i always thought it was reasonable to check that early on.&lt;br /&gt;
- g: i will play with that. i wonder if there is a better way to test these visual tradeoffs.&lt;br /&gt;
- jm: that&#039;s one of theprolbme with pvq. there are thousands of interacting things.&lt;br /&gt;
- x: i think we might want to turn prediction off and try it that way. the one thing that pvq is doing right that scalar is botching is that scalar is waffling like hell and pvq is not.&lt;br /&gt;
- g: this may be the zigzags.&lt;br /&gt;
- all: ZIGZAGS!&lt;br /&gt;
- g: can you check to see if there is a difference in waffling between even and odd quantizer values?&lt;br /&gt;
- x: pvq shows no hint of this.&lt;br /&gt;
- g: pvq gets rid of hte zigzag. i could see a rounding difference causingi that.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140211&amp;diff=15413</id>
		<title>DaalaMeeting20140211</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140211&amp;diff=15413"/>
		<updated>2015-02-07T00:07:30Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-02-11&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- review review (11 open issues)&lt;br /&gt;
- current issues&lt;br /&gt;
- activity masking&lt;br /&gt;
- project plan updates&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
jmspeex, jack, unlord, gmaxwell, derf&lt;br /&gt;
&lt;br /&gt;
# review and current codec results&lt;br /&gt;
&lt;br /&gt;
- d: i&#039;m rebasing 32x32.&lt;br /&gt;
- g: it didn&#039;t work even with pre-filters turned off.&lt;br /&gt;
- d: ok. i can look at that.&lt;br /&gt;
- d: nathan are you reviewing greg&#039;s det1 training patch?&lt;br /&gt;
- u: yes&lt;br /&gt;
- jm: what&#039;s the status with the scaling patch?&lt;br /&gt;
- u: i sent an updated one but you found some rounding thing that i&#039;m looking at now.&lt;br /&gt;
- jm: there were two things. one was removing the scaling for lossless and the other one was shifting wrong.&lt;br /&gt;
- u: we also talked about using FP on the commandline to specify quantization.&lt;br /&gt;
- d: we want to map integers on the ocmmandline. we ahve to code these in the bitstream.&lt;br /&gt;
- jm: i don&#039;t think it matters in the short term&lt;br /&gt;
- d: sure, but it&#039;s not hard, let&#039;s just do it correctly. the thing you want is to store them in log space. this is the way we should be testing too.&lt;br /&gt;
- u: i proposed some mapping where 1 would go to 1 + smallest increment&lt;br /&gt;
- d: we don&#039;t want the spacing to be linear. there&#039;s no reason it needs to be.&lt;br /&gt;
- u: what would we like it to be?&lt;br /&gt;
- d: logarithmic.&lt;br /&gt;
- g: because that will be linear in rate&lt;br /&gt;
- u: how do you pick what that space looks like?&lt;br /&gt;
- d: you say it doubles every N number of steps&lt;br /&gt;
- jm: as soon as we introduce activity masking it will be a bit more interesting&lt;br /&gt;
- g: teh status of activity masking is that it&#039;s producing much worse performance on SSIM than not having it. that&#039;s the opposite of what we want.&lt;br /&gt;
- jm: can you send me whatever intermediate patch you have so I can look?&lt;br /&gt;
- g: sure.&lt;br /&gt;
&lt;br /&gt;
# current problems&lt;br /&gt;
&lt;br /&gt;
- jm: i&#039;ve been doing experiments with everything off and 8x8 only and 16x16 only and it&#039;s worse with 16x16. i&#039;m looking at psnr vs. rate, no BSS, no nothing. pure coding gain.&lt;br /&gt;
- u: shouldn&#039;t we expect 16x16 to be worse than 8x8 in certain places?&lt;br /&gt;
- jm: yes, but overall it should do better.&lt;br /&gt;
- u: because we&#039;re measuring it on AR95 and some images aren&#039;t AR95&lt;br /&gt;
- jm: have we measured the 2d coding gain?&lt;br /&gt;
- d: yes. that&#039;s how the current filters were trained. 2d coding gain on actual images.&lt;br /&gt;
- jm: i need to do more experiments to make sure it&#039;s not hte entropy coding screwing up. that looked pretty fishy. adding intra meant that 8x8 was clearly better. there&#039;s no way to get better with 16x16 because it&#039;s much worse. i think as soon as you turn on lapping filters, 8x8 is already better than 16x16. and once everything is on, the gap is too big to make up.&lt;br /&gt;
- u: you were just running transform + prefilters and scalar?&lt;br /&gt;
- jm: only scalar. no intra. even tried without prefilter.&lt;br /&gt;
- d: in my status report, i said i woudl be working on putting a quantization matrix in&lt;br /&gt;
- jm: if you do that, can you make sure to split basis function magnitude and the quant matrix? we&#039;ll want this to work for pvq&lt;br /&gt;
- d: i planned to do exactly that.&lt;br /&gt;
&lt;br /&gt;
# activity masking&lt;br /&gt;
&lt;br /&gt;
- jm: i&#039;ve been investigating what to do close to zero. whether we should code a single pulse or adding noise, etc.&lt;br /&gt;
- d: i&#039;m hoping you could work with monty to see if you both could come up with something.&lt;br /&gt;
- jm: i think the first step would be to get 16x16 working.&lt;br /&gt;
- d: i agree&lt;br /&gt;
- jm: the 8x8 seems to not be too bad. before the scaling patch the intra on 8x8 made things worse, but now it&#039;s helping a bit.&lt;br /&gt;
- d: how much is it helping?&lt;br /&gt;
- jm: at high rate it&#039;s not helping at all. at low rate it seems to be improving distortion a bit, by maybe 0.2dB. it doesn&#039;t change rate.&lt;br /&gt;
- d: it should be helping more than that.&lt;br /&gt;
- jm: prefilter definitely helps for 8x8, mostly on distortion. it gives us about 2dB at low rate. assuming i didn&#039;t screw up these experiments. hold on, this is fastssim, which is crap. intra makes a tiny difference at high rate and at low rate it&#039;s 0.1dB.&lt;br /&gt;
- d: that doesn&#039;t sound like what we were expecting. &lt;br /&gt;
- jm: PSNR is on the order of a dB for the filter.&lt;br /&gt;
- d: i think intra should be bigger than the lapping filter. one thing we never looked at is the mode decision stuff. that isn&#039;t adapted to rate at all is i?&lt;br /&gt;
- jm: no&lt;br /&gt;
- g: we&#039;ve known that the mode deicsion stuff was broken. a year ago i inverted it and got better results.&lt;br /&gt;
- u: that might account for these things not showing improvmeent.&lt;br /&gt;
- d: maybe i will take a look at that also.&lt;br /&gt;
- jm: disabling RDO in the mode decision and not use curves that don&#039;t account for the rate of the mode decisions?&lt;br /&gt;
- d: that would certianly give you a best case.&lt;br /&gt;
- jm: the weighting we&#039;ve known was wrong. i believe i came up with a proof of why it was wrong, but i don&#039;t remember the details. the weighting of the distortion metric for intra mode selection.&lt;br /&gt;
- u: is that like RDO?&lt;br /&gt;
- d: except that it doesn&#039;t consider rate&lt;br /&gt;
- u: other than the transform scaling, what would you weight SATD by?&lt;br /&gt;
- jm: we&#039;re trying to improve the entropy not just hte final distortion.&lt;br /&gt;
- u: where are these weights coming from?&lt;br /&gt;
- jm: we&#039;re going to code a residual after that. if you&#039;re reducing the error on DC by a small amount it wont&#039; change the rate too miuch because coding one extra pulse in DC is cheap. if you&#039;re reducing HF then improving that can elp the rate more. on the other hand if you weren&#039;t going to code it it doesn&#039;t help you much.&lt;br /&gt;
- u: is this pvq only?&lt;br /&gt;
- jm: no it affects scalar as well. i think this is what was wrong because there&#039;s a point at which you&#039;re not going to code anything and at that point the weighting is completely useless.&lt;br /&gt;
- u: we&#039;re looking at the residual after prediction... you&#039;re going to bias SATD by position of coeff?&lt;br /&gt;
- jm: essentially yes&lt;br /&gt;
- u: aren&#039;t we coding these with same prob in sclaar?&lt;br /&gt;
- jm: absolutely not. the prob for close to DC is a lot higher. the first few AC coeff. the last one will have a small variance and encoding a 1 there is going to be really expensive. for small values, we&#039;re actually interesting in distortion because we&#039;re not going to be coding anything. it should grow as the square of the value. for large values it should grow as a weight times the absolute value. we ended up in the square region more often than not, which is why teh reverse scaling worked better. at least in terms of fixing the metric, it&#039;s probably something is hould have a look at. i at least have some delusion that i understand what&#039;s going on.&lt;br /&gt;
- d: normal codecs pick a lambda and optimize for d + lambda*r. i&#039;ll probalby try that on thursday.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140218&amp;diff=15412</id>
		<title>DaalaMeeting20140218</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140218&amp;diff=15412"/>
		<updated>2015-02-07T00:07:17Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-02-18&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- scaling issues&lt;br /&gt;
- det1&lt;br /&gt;
- 32x32&lt;br /&gt;
- Prediction error numbers: https://pastebin.mozilla.org/4329150&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
unlord, jmspeex, derf, jack, xiphmont, gmaxwell&lt;br /&gt;
&lt;br /&gt;
# input scaling&lt;br /&gt;
&lt;br /&gt;
- d: have a patch that works, but nathan is having trouble testing it. i&#039;ll take a look today.&lt;br /&gt;
- Currently set to 4 bit (seems good for now, just a #define)&lt;br /&gt;
- Need to check for overflows in CfL&lt;br /&gt;
- Mostly disables RDO in Intral prediction at the moment &lt;br /&gt;
&lt;br /&gt;
# det1&lt;br /&gt;
&lt;br /&gt;
- g: I posted graphs in my status report. I have it trained and ready to go now. It didn&#039;t do anything terrible tot eh RD plots.&lt;br /&gt;
- g: https://people.xiph.org/~greg/det8/&lt;br /&gt;
- d: I will take not terrible.&lt;br /&gt;
- j: is the training tool getting checked in?&lt;br /&gt;
- u: that already landed&lt;br /&gt;
- g: i&#039;ve been on a bit of a training lark becuase I made the mistake of running the training again after updating the tools. i made some improvements to make it faster and then found better prefilters on friday, saturday and sunday. i haven&#039;t found a better one since sunday so I left it there.&lt;br /&gt;
- jm: this is only 4x4?&lt;br /&gt;
- g: all sizes but only changing 8x8.&lt;br /&gt;
- jm: what about 4x4?&lt;br /&gt;
- g: that one i searched exhaustively. in the 8x16 case, the non-negative case makes it somewhat spare, so there still may be better ones.&lt;br /&gt;
- d: the important thign is to get something in.&lt;br /&gt;
- j: do we still need a 16x16 one?&lt;br /&gt;
- g: that&#039;s training right now with the new training code.&lt;br /&gt;
- j: how long does that take?&lt;br /&gt;
- g: I&#039;ll put in whatever it comes up with by tomorrow.&lt;br /&gt;
- j: is it possible to search 8x8 and 16x16 exhaustively?&lt;br /&gt;
- g: not at all.&lt;br /&gt;
- j: do we need to retrain the intra stuff now?&lt;br /&gt;
- g: that&#039;s already baked into this task. that&#039;s part of what i&#039;m doing.&lt;br /&gt;
- u: these are still independent right?&lt;br /&gt;
- g: correct&lt;br /&gt;
- j: do we need to retrain with scaling patch?&lt;br /&gt;
- d: no, they were already scaled up during training.&lt;br /&gt;
- g: i thought you used integer transforms in training?&lt;br /&gt;
- u: i thought we used the double version. i&#039;ll find out.&lt;br /&gt;
- u: it&#039;s using integer filters and transforms. but we dont&#039; have a problem because we&#039;re in 32 bits.&lt;br /&gt;
- d: there are multiples in the transform that multiply by 15 bits and produce a 32bit result. so if od_coeff is more than 17 bits you have a problem.&lt;br /&gt;
- u: our input is in y4m space right?&lt;br /&gt;
- d: yes.&lt;br /&gt;
- u: we&#039;re scaling by 6 bits in the training.&lt;br /&gt;
- d: that&#039;s already 14 and prefilter adds 2 bits in each direction for 16x16.&lt;br /&gt;
- g: we&#039;ll definitely be overflowing somewhere there.&lt;br /&gt;
- d: that could be one reason that 16x16 is coming out crap.&lt;br /&gt;
- x: the appearance of stairs at the high end, is that innocuous?&lt;br /&gt;
- d: that patch hasn&#039;t landed, so that is innocuous.&lt;br /&gt;
- j: why train at 6 bits and run at 4 bits?&lt;br /&gt;
- jm: it makes since to use more than necessary.&lt;br /&gt;
- j: how do we solve this problem?&lt;br /&gt;
- d: we have to fix the transform to work with 4 its if that&#039;s what we&#039;re using.&lt;br /&gt;
- u: you were looking at trans tools with 16x16 and seeing overflow also?&lt;br /&gt;
- d: that wasn&#039;t overflow, that was precision error.&lt;br /&gt;
- g: i&#039; will check for overflow. we should change the scaling down because it&#039;s risky in training.&lt;br /&gt;
&lt;br /&gt;
# 32x32&lt;br /&gt;
&lt;br /&gt;
- j: made progress on this?&lt;br /&gt;
- d: not yet. waiting on det1.&lt;br /&gt;
- jm: i&#039;ve been running experiements and 16x16 is performing noticeably worse than 8x8. maybe that&#039;s the cause for 32x32.&lt;br /&gt;
- g: if that&#039;s true, why would we expect 32x32 to be better?&lt;br /&gt;
- d: that&#039;s concerning.&lt;br /&gt;
- jm: i have no idea what could cause that.&lt;br /&gt;
- d: is it an entropy coding issue?&lt;br /&gt;
- jm: i meant to check but if i did I don&#039;t remember&lt;br /&gt;
&lt;br /&gt;
# prediction error&lt;br /&gt;
&lt;br /&gt;
- d: this leads me into the next thing i wanted to alk about. i was collecting data from teh quant matrix stuff, and one thing i was looking at is the square root of the average squared prediction error for each coeff for all 16x16, 8x8, and 4x4 blocks. i ran with k=3 so it should be 1/3 intra and 2/3 inter, and https://pastebin.mozilla.org/4329150 shows what it looks like.&lt;br /&gt;
- g: i noticed that in the 8x16 training, none of the predictors predict the highest frequency coeff.&lt;br /&gt;
- d: greg is referring to something else i found on friday, but that effect is gone after running more video through it. the fact that the vertical prediction error is more than twice as large as horizontal is not gone.&lt;br /&gt;
- jm: i would tend to blame that on having more energy in that direction.&lt;br /&gt;
- d: yeah, this may be that video is wide. this also showed up in 4x4 and 8x8 but not as bad as 16x16. i&#039;ll go look at it and see whether that is true.&lt;br /&gt;
- jm: can we get the coding gain values for our transforms?&lt;br /&gt;
- u: the trans2d tool does it.&lt;br /&gt;
- g: on what input?&lt;br /&gt;
- jm: the coding gain we think we are achieving.&lt;br /&gt;
- g: without intra?&lt;br /&gt;
- jm: yes&lt;br /&gt;
- g: you want transform + prefilter?&lt;br /&gt;
- jm: yes.&lt;br /&gt;
- g: ok, will have in a few minutes.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140225&amp;diff=15411</id>
		<title>DaalaMeeting20140225</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140225&amp;diff=15411"/>
		<updated>2015-02-07T00:06:57Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-02-25&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- patch status&lt;br /&gt;
- fastssim metric?&lt;br /&gt;
- ietf89 planning&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
jmspeex, unlord, derf, xiphmont, gmaxwell, jack&lt;br /&gt;
&lt;br /&gt;
# patch status&lt;br /&gt;
&lt;br /&gt;
- derf: 8x8 is in, but 16x16 is not in&lt;br /&gt;
- derf: i have not made a lot of progress on 32x32&lt;br /&gt;
- greg: i screwed up the training on 16x16 and that&#039;s why it&#039;s not done yet. i left it running for 2 days with the old code, and i didn&#039;t notice it until yesterday.&lt;br /&gt;
- xiphmont: i am running my own RDO tests but was curious what the status was.&lt;br /&gt;
- unlord: you&#039;re testing RDO?&lt;br /&gt;
- xiphmont: i&#039;m just keeping track of what works and doesn&#039;t. i&#039;m mostly focused on PVQ and trying to inform my intuition about where we are getting gains. i want to be able to command the knowledge without thinking about it a lot.&lt;br /&gt;
- unlord: RDO or RD curves?&lt;br /&gt;
- xiphmont: RD curves, sorry.&lt;br /&gt;
- jack: did the scaling patch land?&lt;br /&gt;
- derf: yes. we still need to do all the followup things: transform multiples might overflow now. CfL needs to be revisited since we were at the precision limit before, and i&#039;m not sure what the third one was.&lt;br /&gt;
- greg: i ran the training tools in clang with integer overflow checker and it wasn&#039;t overflowing on me at 16x32. i only ran it on subset1.&lt;br /&gt;
- jm: when did the transforms land for 8x8?&lt;br /&gt;
- derf: yes. same patch as the tools. wait. there were two patches. one did non-neg constraint for search (was 4x4 only last I checked) and the other was changes to 8x8 including updating the tools to use the new transforms.&lt;br /&gt;
- jm: i&#039;m looking at git, and trying to find 8x8 coeffs.&lt;br /&gt;
- derf: did you check that in greg?&lt;br /&gt;
- greg: maybe i forgot to push it. will fix.&lt;br /&gt;
&lt;br /&gt;
# fastssim&lt;br /&gt;
&lt;br /&gt;
- jack: fastssim was/is broken. should we delete it?&lt;br /&gt;
- derf: we can certainly stop running it, but it&#039;s probably a good idea to understand why, but it&#039;s a low priority. the nice advantage is of fastssim is that it&#039;s faster and the implementation is multi-scale which has interesting properties. one of those properties is that it&#039;s one of the few metrics that shows changes in quant matrices beyond flat to jpeg-style. multiscale SSIM will move where the other metrics don&#039;t.&lt;br /&gt;
- unlord: i can remove it from rd_plot.&lt;br /&gt;
- jack: perhaps also bd_rate.&lt;br /&gt;
- unlord: sounds good.&lt;br /&gt;
- xiphmont: what about people who notice we collect data but don&#039;t use it?&lt;br /&gt;
- jack: file a bug and put the bug # in the comment that disables it so people know why&lt;br /&gt;
- derf: traceability!&lt;br /&gt;
&lt;br /&gt;
# pvq&lt;br /&gt;
&lt;br /&gt;
- jm: i ran some experiments with joint coding of gains, and in theory we may want to do that, but i&#039;ve been disappointed with the results.&lt;br /&gt;
- derf: this is jointly coding the gains within a single block?&lt;br /&gt;
- jm: the octave experiment was dumping the values of the 3 gains in the top octave and looking at the sum of independent entropy for each of the three gains and then looking at the joint entropy. the two differ by 3-4%. not nearly as much as i would have hoped. this is without prediction because i wasn&#039;t sure how to mix gain prediction into that. gain prediction gets us less than 1% currently.&lt;br /&gt;
- derf: less than 1% of the rate on the gains?&lt;br /&gt;
- jm: less than 1% of total rate. the 5% was % of gain itself.&lt;br /&gt;
- derf: 1% of total rate is a lot.&lt;br /&gt;
- jm: it was less than 1%. the difference in total rate is 0.5%. the gain itself is 10%. the gain prediction is about 5% relative to the total gain thing.&lt;br /&gt;
- derf: we&#039;re spending 10% of the bits on gains. huh. that seems like an awful lot.&lt;br /&gt;
- greg: that&#039;s crazy&lt;br /&gt;
- jm: we&#039;re dividing into bands now&lt;br /&gt;
- x: we turn one large DC and a bunch of small AC into one large DC and 5-6 large AC coeefs. it defeats a large amount of the purpose.&lt;br /&gt;
- jm: it&#039;s about 80% of the bits for pvq.&lt;br /&gt;
- derf: how many dimensions in bands on avg?&lt;br /&gt;
- jm: this is with block switching. the band sizes are 15, 8, 32, 64, and maybe 16s.&lt;br /&gt;
- derf: maybe not so terrible but it&#039;s a little concerning.&lt;br /&gt;
- jm: i didn&#039;t see that it matched. i dumped all the gains and measured the entropy, but i iddn&#039;t check that it matched the rate that it spent in the encoder. i&#039;m not that concerned about that. it seemed to mostly match. there seems to be something like 10% on DC and all kinds of signaling. 70% on pulses. 10% on gains, and the rest on no-ref flags and thetas. i&#039;m not sure i like the no-ref thing.&lt;br /&gt;
- derf: i&#039;m sure i don&#039;t like it.&lt;br /&gt;
- jm: why?&lt;br /&gt;
- derf: seems like an odd thing to have. in particular, what this is saying is that our predictors are harming in a bunch of cases and we&#039;re going to spedn bits to correct that.&lt;br /&gt;
- jm: hwich is what you do for scalar, except that we don&#039;t need to spend pulses on ignoring the predictor. for scalar if a block is flat and you predict all kinds of crap... ???.. with pvq if you have flat and predict grab you say ignore band 0. two choices i had: no-ref flag. the other was flip the angle. have the angle be from 180 to 90 degrees. but that basically meant the equivalent of subtracting the prediction which i didn&#039;t really like.&lt;br /&gt;
- d: the point was if you&#039;re going to do this in scalar, you could code a flag to ignore the prediction and you wouldn&#039;t have anything to cancel out. if we&#039;re going to compare pvq to scalar we need to compare apples to apples.&lt;br /&gt;
- jm: i&#039;m trying to think if there is a better way. the only advantage of having hte sign flip with theta is that there&#039;s no redundancy whereas ignore prediction has some redundancy. the same point can be coded with the theta or without.&lt;br /&gt;
- g: it is also potentially redundant with our mode bits. in theory we should have a mode that is not predicting a whole bunch. so if really the prediction is terrible, that&#039;s the mode we should be using.&lt;br /&gt;
- jm: it&#039;s easy to say if we predict mode 0 then these flags are hardcoded and you don&#039;t do that.&lt;br /&gt;
- greg: ok. i retract that objection.&lt;br /&gt;
- derf: it&#039;s easy to do but we&#039;re not doing it.&lt;br /&gt;
- jm: i had to disable prediction for my experiments with gains. jointly coding thetas with gains when they don&#039;t have a theta becomes really messy and i didn&#039;t really like it.&lt;br /&gt;
- d: i&#039;m not sure how you get around that.&lt;br /&gt;
- g: does it mess up the context modelling? i imagine the stats are pretty different.&lt;br /&gt;
- jm: right now there is not much context modelling. in terms of context for coding gains and thetas there are so many potential things to use and they are actually hard to use because we are switching and some have prediction and some don&#039;t. i&#039;m not sure what the gains would be. they don&#039;t seem to be that large. for the gains and thetas you can use the gains and thetas of neighboring bands and blocks, the prediction itself.... i&#039;m finding it hard to actually use this.&lt;br /&gt;
- d: this is the sort of thing that we need to spend an awful lot of time on at some point. this is a little more of an art than a science. i am hoping we can makek reasonable progress without sinking a lot of time on it up front.&lt;br /&gt;
- jm: among the things that need figuring out is the band layout. maybe monty wants to look at that.&lt;br /&gt;
- x: i&#039;ve been thinking about making it part of demo5 with some js so you could play with band partitioning in real time.&lt;br /&gt;
- jm: looking at curves?&lt;br /&gt;
- x: no. actual image output.&lt;br /&gt;
- jm: we&#039;ll need to figure out band layout. i&#039;m not sure how to make it easy to change the layout and second how to actually decide that one is better than another one.&lt;br /&gt;
- d: first one soundsn like an engineering problem. i think we can figure that one out. for the second one, maybe looking at images will tell us something.&lt;br /&gt;
- jm: you need decent enough encoding that you can reliably use the image you&#039;re looking at.&lt;br /&gt;
- d: i&#039;m not following. you mean the issue is being able to change the layout and have the stats updated?&lt;br /&gt;
- jm: yep.&lt;br /&gt;
- d: you&#039;re right, that is a little more challenging.&lt;br /&gt;
- jm: i did a few experiments with the k value for the g=1. i think we can do a little bit better, but not huge gains. what i&#039;m finding is that we need fewer pulses for small gains. this is with curves so needs to be checked on real images. there&#039;s all the activity masking that goes into that as well.&lt;br /&gt;
- derf: activity masking would suggest we want more pulses?&lt;br /&gt;
- jm: no it says we want more gain resolution at small gains. k is a function of what we&#039;re quantizing. this is orthogonal to activity masking.&lt;br /&gt;
- d: is it?&lt;br /&gt;
- jm: mostly, although you can combinei them.&lt;br /&gt;
- d: i guess you&#039;re right.&lt;br /&gt;
- jm: the idea is that MSE optimal means you want to skip gain=1 and not have pulses there. and of course we&#039;re not doing that, but at the same time having fewer pulses for k is good since you can use a smaller stepsize for the gain.&lt;br /&gt;
- d: this is what i&#039;ve been telling people is great about pvq all the time&lt;br /&gt;
- jm: i&#039;m still telling you where the energy is, just with not very much resolution.&lt;br /&gt;
- d: maybe we&#039;ll get to a point where we can experiment with folding or something&lt;br /&gt;
- jm: i did play with injecting noise. it still means you need to signal the gain&lt;br /&gt;
- x: quad trees!&lt;br /&gt;
- d: we can make that decision independently but scalar cannot. you can think of several examples where you&#039;d want to do that.&lt;br /&gt;
- jm: what it also told me is that we also want to figure out activity masking before figuring out gain = 1.&lt;br /&gt;
- d: presumably greg will have spare time while 16x32 filters are training. maybe he can figure out while that patch is hurting instead of helps.&lt;br /&gt;
- jm: on metrics on actual images?&lt;br /&gt;
- g: both. obviously something was busted.&lt;br /&gt;
- jm: hurting metrics is not that surprising.&lt;br /&gt;
- d: hurting SSIM is surprising.&lt;br /&gt;
- g: i expect it to help SSIM.&lt;br /&gt;
- d: when we added activity masking to theora we got a 3dB improvement to SSIM. that was using the old SSIM which was doubled, so 1.5dB with the current tool. but it was still quite a lot.&lt;br /&gt;
- jm: i think we want activity masking to be adaptive and not apply it to 4x4.&lt;br /&gt;
- g: that may be part of what i was messing up.&lt;br /&gt;
- jm: there&#039;s a patch that goes a long way for that (bss ???).&lt;br /&gt;
&lt;br /&gt;
# ietf89&lt;br /&gt;
&lt;br /&gt;
- jack: anything we should be doing?&lt;br /&gt;
- jm: get cullen and magnus to agree on ptime.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140304&amp;diff=15410</id>
		<title>DaalaMeeting20140304</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140304&amp;diff=15410"/>
		<updated>2015-02-07T00:06:40Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-03-4&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
Status of current patches waiting review and commit...&lt;br /&gt;
- roll back det1?&lt;br /&gt;
- JM&#039;s quant matrix stuff etc&lt;br /&gt;
- metrics (and CI)&lt;br /&gt;
- reviews&lt;br /&gt;
LibrePlanet&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
xiphmont, gmaxwell&lt;br /&gt;
&lt;br /&gt;
gmaxwell: working on the det1 DC basis problem; trying the easiest most obvious thing first (optimizing based solely on DC leakage) didn&#039;t work out so well.&lt;br /&gt;
gmaxwell: next tried coding cain + leakage, results not impressive&lt;br /&gt;
http://jmvalin.ca/video/signal_dc_nondet1.png&lt;br /&gt;
http://jmvalin.ca/video/signal_dc_det1.png vs https://people.xiph.org/~greg/railway.png&lt;br /&gt;
These are all DC only images with the last being the det optiimzation with it limited to low leakage results and using leakage as a weak weight in the search.&lt;br /&gt;
xiphmont: right now, given that scaling has &#039;taken the pressure&#039; off of the need for det1, if we have to choose det1 vs the smoother filter, smoother wins.&lt;br /&gt;
gmaxwell: Right. Though there is a difference in trade-off for low vs high rate. E.g. at lossess the det1 is a big win— we can&#039;t do the scaling there. But I&#039;ve also wondered if we&#039;re not wasting or time dorking again with the filter stuff at this point.&lt;br /&gt;
xiphmont: agreed&lt;br /&gt;
gmaxwell: Also, putting down and picking up the toolsets/states repeatedly can waste some time and effort swapping.  It makes some sense to keep chasing this for now, because we ideally want det1 that&#039;s smooth.&lt;br /&gt;
xiphmont: I&#039;ve been working on visual comparisons of the recent changes, as we seem to have not been making them of all changes. &lt;br /&gt;
gmaxwell: I have been comparing visually, though mostly at high rate.  There det1 appeared to be a wash and the metrics mostly agreed.&lt;br /&gt;
xiphmont: I compare at lower rates so things are easier to see/notice-- but that may not be giving fully representative results either&lt;br /&gt;
gmaxwell: I agree that the lower rates are way more useful. I have a somewhat bad habbit of looking at the higher rates because they&#039;re more useful for outright broken code. (The image should look perfect or the code is broken) but thats not a good approach when evaluating trade-offs. I&#039;m making a mental note to avoid continuing to make the same mistake. Probably as practice we should make a habbit of doing both a low and a high rate comparison.&lt;br /&gt;
xiphmont: re, jm&#039;s 209 set of patches (quant matrix for PVQ) they&#039;re an obvious win on smooth backgrounds that would otherwise block out badly (eg, subset2 Abandoned Railway signal) and are even not bad for detail there.  OTOH, it&#039;s harder to tell if it&#039;s a good think on images with more sharp forground edges like Streptopelia.  Probably a win overall, need to look at this more without det1.&lt;br /&gt;
gmaxwell: perceptual theory says that quantization matrixes should be flat when all distortion is visible, so there is a bunch of rate sensitive tradeoffs with the quantization matrix stuff.&lt;br /&gt;
xiphmont: ah, right.  I should be looking at a range of rates.  And activity masking.  &lt;br /&gt;
gmaxwell: which got us big SSIM improvements in Theora.  In daala, activity masking looks better but does not improve SSIM.  This is a mystery we should discover, because it may indicate a bug.&lt;br /&gt;
xiphmont: BTW, shall we back out det1?&lt;br /&gt;
gmaxwell: jm wants det1 backed out, gmaxwell agrees, xiphmont agrees.  No vote yet from derf, unlord, jack.&lt;br /&gt;
gmaxwell: other subjects… what do we want to prep for libreplanet?&lt;br /&gt;
xiphmont: I was hoping to have one more demo by then, and was considering putting off demo5 and doing a demo update covering some of the recent activity including the det1 stuff. I would be interesting to talk about some of the recent failures.&lt;br /&gt;
gmaxwell: might be fun to have a realtime motion vector analysis display running for demonstration purposes.  Currently fast enough at low res (probably).&lt;br /&gt;
xiphmont: just do it on the GPU!&lt;br /&gt;
gmaxwell: die.&lt;br /&gt;
xiphmont: I tried to upload an updated patchset to issue 209 and rietveld nacked me for not being the owner.  Nathan said that was undesireable and should get fixed.... did he go off and fix it?&lt;br /&gt;
gmaxwell: dunno.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140318&amp;diff=15409</id>
		<title>DaalaMeeting20140318</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140318&amp;diff=15409"/>
		<updated>2015-02-07T00:06:19Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-03-18&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- reviews&lt;br /&gt;
- future of det1&lt;br /&gt;
- fastssim&lt;br /&gt;
- Activity masking&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
unlord, jmspeex, derf, gmaxwell, jack&lt;br /&gt;
&lt;br /&gt;
# future of det1&lt;br /&gt;
&lt;br /&gt;
- gmaxwell: jean-marc doesn&#039;t think it&#039;s necessary. becaue we&#039;re scaling up we lose the bi-directional round-tripping feature.&lt;br /&gt;
- jm: the only case where det1 makes a difference now is lossless, not even high rate.&lt;br /&gt;
- g: that&#039;s assuming we don&#039;t turn down the scaling at some high rate&lt;br /&gt;
- d: i think it&#039;ll be a 0/1 switch. we won&#039;t turn it off.&lt;br /&gt;
- jm: there&#039;s really no point in not scaling up if we&#039;re not lossless. so det1 would only ever be useful at lossless.&lt;br /&gt;
- g: would we consider having separate prefilters at lossless vs. non-lossless?&lt;br /&gt;
- jm: i don&#039;t think we should make the normal non-lossless case worse for lossless.&lt;br /&gt;
- d: i don&#039;t think it&#039;s about making it worse. in theory it made it better except for 8x8.&lt;br /&gt;
- g: the dc basis function is not very smooth so it causes blocking artifacts.&lt;br /&gt;
- d: we had outlined 3 or 4 ways to smooth the basis functions. you tried yet another one and i don&#039;t know which one you tried.&lt;br /&gt;
- g: it was one of the ones we tried before. we measured the leakage (freq response to dc funciton). i&#039;m not unconvinced that that could do something useful. the question is what does it buy us?&lt;br /&gt;
- d: it buys us stuff at lossless?&lt;br /&gt;
- g: at the cost of more multiplies. the rotations are comparable to the number of ?? in the steps. and the scales are related to the number of inputs.&lt;br /&gt;
- jm: if there&#039;s more multiples it&#039;s because there are more degrees of freedom.&lt;br /&gt;
- d: there are fewer degrees of freedom.&lt;br /&gt;
- g: we definitely have more.&lt;br /&gt;
- d: then something is wrong and we need to sit down and figure out what.&lt;br /&gt;
- jm: speaking of DoF i came up with what we should normally have for a certain size. i pasted that in irc at the time.&lt;br /&gt;
- d: what you&#039;re trying to do is come up with DoF for an arbitrary det1 matrix, but that&#039;s not what we&#039;re doing.&lt;br /&gt;
- jm: what i got was consistent with some of the papers i saw. for the case of 16x8, there&#039;s 128 possible different transforms.&lt;br /&gt;
- d: you already lost me.&lt;br /&gt;
- jm: 16x8 transform. there&#039;s 16x8 coeefs. if the only constraint you have is invertibility then you can put whatever coeff you want in any element and it will work. then if you impose symmetricity, you go to 64 DoF. if you don&#039;t want DC leakage, there&#039;s another 7 DoF that you lose. that means you&#039;re left with 57 DoF. if you consider that it doesn&#039;t matter if one basis function is scaled by 2 then you remove another 8 DoF (49). if you impose det1, then you get 48 DoF for a 16x8 transform. so i went the other way, if i impose that the core of hte transform is orthonormal, how many degrees do i have for 8x8 orthonormal? 28. my reasoning here is that i have 48 DoF for the bi-orthogonal transform. 28 are taken by the DCT. so there are 20 DoF remaining.&lt;br /&gt;
- d: that&#039;s too many. that may be correct for a completely arbitrary lapped transform. but a good number of those DoF are useless because the guy who did this work did exhaustive searches and determined they were useless.&lt;br /&gt;
- jm: i looked at the paper and it said 8x8 had 21 DoF.&lt;br /&gt;
- d: what paper?&lt;br /&gt;
- jm: monty&#039;s demo. in monty&#039;s demo, see the v matrix near the bottom. s0 to s_n-1. you have the PNU type 3 or type 4. both of these would have 21 DoF for an 8x8 transform.&lt;br /&gt;
- d: what you&#039;re looking at has exactly 10.&lt;br /&gt;
- jm: what is n? 4 or 8?&lt;br /&gt;
- d: n is 4jj&lt;br /&gt;
- jm: this still has 12&lt;br /&gt;
- g: you can see it has the banded structure, so this has less.&lt;br /&gt;
- jm: would an arbitrary V matrix still have all the properties like symmetry and leakage?&lt;br /&gt;
- d: yes. the butterflies on the input is what guarantees symmetry. the prefilter and postfilter U and U^-1 matrices in them, the U matrix is arbitrary but it is set to identity, so lots of DoF goes away. by setting it to the identity it gets rid of DC leakage.&lt;br /&gt;
- jm: why are some DoF completely useless?&lt;br /&gt;
- d: i recommended reading trans original research on the subject. nothing he did to U helped. for the V matrix, the stuff he did comes out as nearly band diagonal. that&#039;s what led to the type 3 and type 4 factorizations, which allow you to specify the coeffs on the diagonal very well and leave the off-diagonal stuff very small which is what you want. you can do a more general version of hte type 3 where you have pairwise rotations among all the pairs. n^2 multiplies instead of 2n.&lt;br /&gt;
- jm: the full n^2 would be redundant. in the case of 16x8 some of them may be useless but if you have more than 20 DoF it&#039;s not going to work.&lt;br /&gt;
- d: my point is that if you do enough of the pairs so that you don&#039;t have any redundancy then it works out correctly. doing extra pairs doesn&#039;t buy you anything. i only have his old paper that is split into part 1 and part 2. in part 2 section 3 he goes through the derivation and explains whey these things are useless. i&#039;ll have to go over it with greg later and figure out how he got more DoF.&lt;br /&gt;
- jm: we can try det1 and we can keep it if it&#039;s good, but i wouldn&#039;t restrict myself to that.&lt;br /&gt;
- d: it has nice properties and when it made everything better it seemed like a good idea.&lt;br /&gt;
- jm: ??&lt;br /&gt;
- g: it did reduce the support of the transform. i think that on the 4x8 case, the ones we have checked in right now aren&#039;t problematic. now that i did something wrong with the lifters i should look into that. looking at the factorization i should lose 1 DoF. i&#039;m not sure what i did, but i ended up with more.&lt;br /&gt;
- d: i know we did an early test to add in the extra pairs to make sure it didn&#039;t make a difference.&lt;br /&gt;
- g: i might have picked up the old code that had that. that&#039;s why i&#039;ve been complaining about the search being a problem.&lt;br /&gt;
- jm: you mentioned you did some training with the leakage&lt;br /&gt;
- g: so far the results i&#039;m getting out of that are crap. once i fix the DoF here that may change. taking 9 DoF out of your search is kind of magical.&lt;br /&gt;
- d: any point that was good in the old space doesn&#039;t mean you&#039;d ever find it.&lt;br /&gt;
- g: i know what i need to do immediately. let&#039;s table this until i&#039;ve done that.&lt;br /&gt;
&lt;br /&gt;
# reviews&lt;br /&gt;
&lt;br /&gt;
stuff is looking good&lt;br /&gt;
&lt;br /&gt;
# fastssim&lt;br /&gt;
&lt;br /&gt;
- jm: i want this back on&lt;br /&gt;
- j: it&#039;s broken&lt;br /&gt;
- g: monty also had positive opinions on fastssim.&lt;br /&gt;
- d: he&#039;s not on the call :(. my suspicion is that it&#039;s likely there are bugs in that code. someone should look at it and figure that out. monty had signed up to do that.&lt;br /&gt;
- g: i run it against the TID database and it was so bad as to be broken on that. it didn&#039;t do the same thing as the SSIM in their paper and they didn&#039;t have numbers for hte fast formulation, but it worked reasonable well on that database.&lt;br /&gt;
- d: we should coordinate with monty.&lt;br /&gt;
- g: i think jm is saying that it agrees with his visual inspection particularly on blocking artifacts.&lt;br /&gt;
- d: becaues of multiscale.&lt;br /&gt;
- jm: can we reenable it for now?&lt;br /&gt;
- d: i think that&#039;s fine. if you make graphs for public consumption then turn it off until we know more stuff.&lt;br /&gt;
- u: should i turn it back on in bd rate too?&lt;br /&gt;
- d: yes.&lt;br /&gt;
- u: i&#039;ll submit a patch.&lt;br /&gt;
&lt;br /&gt;
# activity masking&lt;br /&gt;
&lt;br /&gt;
- jm: i think we need to understand how AM works, but i don&#039;t. how do we figure it out? it sounds like the kind of thing we could spend two years doing fundamental research.&lt;br /&gt;
- g: what precise question should we ask?&lt;br /&gt;
- jm: what i want to do is understand the equivalent of what are the video critical bands when it comes to masking.&lt;br /&gt;
- d: right. the research i&#039;ve seen suggests that they are directional and i&#039;ve even seen there are 6 directions, which doesn&#039;t particularly work well for our square grids.&lt;br /&gt;
- g: the cells in the eyes are in a hexagonal pattern.&lt;br /&gt;
- d: whether that corresponds to how hte brain interprets things god only knows. after that things are octave band structrured. where those bands lie depends on how far away you sit from the screen. an octave can cover a pretty large range of the freq space. it&#039;s not like audio where pitch is fixed at an absolute scale.&lt;br /&gt;
- jm: audio is not logarithmic in terms of freq.&lt;br /&gt;
- d: my point is the boundaries are not at fixed locations. it&#039;s like audio as if you were on a speeding train.&lt;br /&gt;
- jm: you could offset everything by half a critical band and it would still work. this is not about it&#039;s betwen this and this frequency. it&#039;s around this point the critical band is this wide.&lt;br /&gt;
- g: i can give you a hand wavy argument: the vision system works when objects are at different distances.&lt;br /&gt;
- d: i don&#039;t have a good handle on what kind of threshold differences will ???&lt;br /&gt;
- jm: if we assume this then it&#039;s really different from the AM in theora.&lt;br /&gt;
- d: yes. i don&#039;t know if theora was brilliant. i tried something and it worked.&lt;br /&gt;
- g: x264 was very similar to theora&#039;s analysis.&lt;br /&gt;
- d: it does things at the macroblock level and stuff too. there&#039;s a lot of details in the stuff that jm cares about.&lt;br /&gt;
- g: all x264 is doing is trying to classify regions that are textured. a whole wide general class of techniques may be effective but doesn&#039;t help you decide what to do per band or on directionality. 6 directoins also doesn&#039;t fall nicely into our 2d separable transforms.&lt;br /&gt;
- jm: i would do an approximation there. horizontal, vertical, and diagonal. my main question is there masking between horiz and vert or between two difference octaves.&lt;br /&gt;
- g: i can propose a theory about how it might work. you&#039;ve got difference detectors that run in each direction and there&#039;s effectively a high pass filter that comes out of hte feedback detectors, so if there&#039;s a lot .... in areas with lots of contrast, the sensitivity to changes goes down. i fyou assume they run independently and there are multiple scales then you end up with a conclusion that you expect them to be indepdendent in horiz and vert at finest scales and independence between bands.&lt;br /&gt;
- d: then you read hte papers and they say somethin else. short story is that no one has any idea how this stuff fucking works.&lt;br /&gt;
- g: keep in mind that these studies are done with really simple stimulus images.&lt;br /&gt;
# code party&lt;br /&gt;
- j: SFO office, week of 6/9 work for everyone?&lt;br /&gt;
- jm: i&#039;ll need to check that.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140401&amp;diff=15408</id>
		<title>DaalaMeeting20140401</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140401&amp;diff=15408"/>
		<updated>2015-02-07T00:05:35Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-04-01&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- reviews&lt;br /&gt;
- Do we keep mumble?&lt;br /&gt;
--  But it finally works!&lt;br /&gt;
- the path to crushing jpeg&lt;br /&gt;
- path with PVQ?&lt;br /&gt;
- Are we finally happy the transforms are working right?&lt;br /&gt;
- Basis magnitude scaling&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
jack, derf, unlord, gmaxwell, jmspeex&lt;br /&gt;
&lt;br /&gt;
# reviews&lt;br /&gt;
&lt;br /&gt;
- g: i&#039;ll take 226, 228, 229&lt;br /&gt;
&lt;br /&gt;
# mumble&lt;br /&gt;
&lt;br /&gt;
- jack: do we keep mumble? what alternative?&lt;br /&gt;
- nathan: tested vline with josh aas and it worked fine.&lt;br /&gt;
- jm: i would consider vidyo.&lt;br /&gt;
- j: we can invite external people, but they&#039;ll need the client.&lt;br /&gt;
- jm: can they dial in?&lt;br /&gt;
- j: yes.&lt;br /&gt;
- jm: we can keep mumble for now.&lt;br /&gt;
- j: ok. stay on mumble for now, switch the next time we have problems.&lt;br /&gt;
&lt;br /&gt;
# path to crushing jpeg&lt;br /&gt;
&lt;br /&gt;
- j: we&#039;re beating jpeg but not enough to impress in honolulu.&lt;br /&gt;
- jm: metrics or actual images?&lt;br /&gt;
- j: whatever helps&lt;br /&gt;
- g: both is best.&lt;br /&gt;
- d: we need to make things actually look better. that is the ultimate goal. we can talk around curves that don&#039;t look so great if we can show that shutting off things that make image better make the curves better. it&#039;s a good part of our process that we don&#039;t have to care about the metrics.&lt;br /&gt;
- u: i feel like we should be able to quantify this in a meaningful fashion.&lt;br /&gt;
- d: that&#039;s a research project in itself&lt;br /&gt;
- u: josh aas is doing exactly this&lt;br /&gt;
- d: we added the sensible ones and only one metric is showing improvements based on jm&#039;s visual improvements.&lt;br /&gt;
- j: all the metrics are some flawed approx of human vision.&lt;br /&gt;
- u: PSNR-HVS-M has human in the name!&lt;br /&gt;
- g: for the honolulu meeting, we need to figure out a way to convert better visual performance and convert it to something that looks good on paper. we can&#039;t present images in the IETF, we must present numbers.&lt;br /&gt;
(discussion of honolulu bof strategy)&lt;br /&gt;
- g: as far as where we need to be, do we need to beat webm?&lt;br /&gt;
- d: that would be nice.&lt;br /&gt;
- g; it would certainly help. where are we on the graphs?&lt;br /&gt;
- j: not even half way to vp8.&lt;br /&gt;
- j: do we need to beat webp?&lt;br /&gt;
(some discussion)&lt;br /&gt;
- j: summary: we don&#039;t need to beat webp for honolulu but do need to be better than where we are. what about what to do to fix performnace?&lt;br /&gt;
- d: i don&#039;t want to spend more time on intrapred. but i have some ideas. instead of trying to train a predictor for specific modes, start with just horiz and vert modes. first, undo dct part of transform and then can i explicitly undo the lapping? given that i have my AR95 model of my image, what is the optimal predictor for the pixels that i don&#039;t have for hte pixels i do have for the output fo the transform.&lt;br /&gt;
- jm: AR95 in one direction and trying to predict in the other direction?&lt;br /&gt;
- d: i&#039;m looking at this as the 1d problem.&lt;br /&gt;
- g: what is the extension of the 1d line assuming you just go horiz and vert.&lt;br /&gt;
- d: right. this is where it starts to get very fuzzy. once you do that can you do it for diagonals?&lt;br /&gt;
- g: if that actually works it may make the rest of what we&#039;re doing already work better. you drop that in as a fixed mode and then see what happens to the rest.&lt;br /&gt;
- d: all kinds of stuff yfou can do. that&#039;s why i don&#039;t want to spend time to make it better.&lt;br /&gt;
- g: i think with all the mode stuff it may be the one of those cases that as long as we nail a few things very well, teh perofrmance of the others is not as important.&lt;br /&gt;
- d: clearly it doesn&#039;t seem true since h265 people added tons of additional diagonal modes.&lt;br /&gt;
- jm: so you&#039;re thinking of finding a closed form solution&lt;br /&gt;
- d: specifically there&#039;s a different one for each kind of lapping you&#039;re using.&lt;br /&gt;
- jm: i think that&#039;s part of the problem we have right now. we&#039;re using the same predictors regardless of which transform size we&#039;re doing. we&#039;re using TF and mixing stuff that has different basis magnitudes.&lt;br /&gt;
- d: that&#039;s certainly a problem mixing det1 and not.&lt;br /&gt;
- jm: even without it you won&#039;t get the same magnitudes. if your intrapredictor is trying to be fancy you&#039;re going to be way off.&lt;br /&gt;
- u: our predictors are coupled t the size of the transform. for the other codecs, that&#039;s nto the case.&lt;br /&gt;
- j: open loop can solve that right? do everything at 4x4?&lt;br /&gt;
- d: i still want to try that.&lt;br /&gt;
- jhM; still has basis problems&lt;br /&gt;
- d: yes, but that&#039;s what we slated for interns to look at.&lt;br /&gt;
- u: also more modes at larger sizes may help.&lt;br /&gt;
- jm: right now 45 degrees is not working.&lt;br /&gt;
- d: i want to spend time on this other idea, and figure out how to extend it to diagonal modes.&lt;br /&gt;
- jm: until we fix the ones we have it&#039;s no use adding more.&lt;br /&gt;
- j: what do we want to work on besides intrapred?&lt;br /&gt;
- d: block size switching&lt;br /&gt;
- jm: i don&#039;t think the problem is with switching&lt;br /&gt;
- d: right. we just want larger transofrms to work.&lt;br /&gt;
- g: i&#039;m convinced that the transforms are not the problem. i wanted to know if other people are convinced of this?&lt;br /&gt;
- jm: do you mean implementation or use of dct?&lt;br /&gt;
- g: our implementation.&lt;br /&gt;
- jm: i&#039;ve always been convicned of this.&lt;br /&gt;
- d: you were the only one. i wasn&#039;t convinced because i wrote it.&lt;br /&gt;
- j: why else might they not be working?&lt;br /&gt;
- jm: in the other codecs, 16x16 works, but not for the reason people pretend it works. right now it&#039;s not helping us to understand that. i don&#039;t think it&#039;s about coding gain.&lt;br /&gt;
- d: what&#039;s it about?&lt;br /&gt;
- jm: i don&#039;t know. basically i&#039;ve spent some time measuring coding again on nonlapped 16x16. it&#039;s a tiny bit higher than 8x8 and if i actually compute distributions and their entropy then the entropy is worse or similar to 8x8. nothign there to show that it will perform better than 8x8. other codecs are getting better rd curves with those block sizes, but that&#039;s why i think it must be something else.&lt;br /&gt;
- d: you&#039;ve never tried forcing everything to 16x16 or 8x8 in the other codecs?&lt;br /&gt;
- jm: i have not. i have tried measuring our forced 16x16 dfistributions. for example in one case, what i did was tune the BSS code to tend towards smaller block sizes so only flat blocks get 16x16. so then i used that classification and did it 8x8 and 16x16 so it was apples to apples. and even in that case it wasn&#039;t great. one thought i had was that for low bitrate you&#039;re not actually coding the high frequencies much, and that appears to be why 16x is doing worse than 8x.&lt;br /&gt;
- d: you&#039;re assumption of order 0 entropy may not be accurate?&lt;br /&gt;
- jm: it&#039;s possible but not the first thing i think of. it&#039;s also possible that there are many problems with the larger transforms each getting us a tiny bit worse. the problem there is you can&#039;t isolate anything.&lt;br /&gt;
- j: do you compute CG from math or from implementation?&lt;br /&gt;
- jm: i am measuring stddev from actual coeffs.&lt;br /&gt;
- g: do these agree with covariance matrices?&lt;br /&gt;
- jm: i didn&#039;t spend too much time, but there was nothing suspicious there. i&#039;ve also been interested in looking at distribution gain which is entropy of distribution - log2 of stddev. basically how hard the actual distribution is to code. for this i was seeing 4x4 easier than 8x8 easier than 16x16 at equal stddev. it seems like ti would help to have someone who knows what they are doing to look at this.&lt;br /&gt;
- d: which things should i not look at? :)&lt;br /&gt;
- g: most things we can turn off an get anomalous results so it must be entropy coding.&lt;br /&gt;
- d: run some images in another codec and see what it does for block sizes.&lt;br /&gt;
- g: if we code images of sky with no landscape it should be all large blocks.&lt;br /&gt;
- d: go run that in another codec an dlook at the decisions.&lt;br /&gt;
- g: the fact that BS decisions are based on perceptual model and not CG.&lt;br /&gt;
- u: what about brute force BSS that minimizes rate, but we don&#039;t just care about rate. but ???&lt;br /&gt;
- d: we should figure out how to set it, everyone else does&lt;br /&gt;
- g: i should go try to implemetn this then. i think i need to implement some stuff to snapshot entropy coder state first, but it&#039;s all pretty simple.&lt;br /&gt;
- u: as part of these alternatives, instead of using lapped, do no lapping and use time domain prediction and code the rest using dct and pvq. that would be a different test that isn&#039;t us trying to analyze other codecs.&lt;br /&gt;
- jm: from the tests i ran, before running actual distributions, and 16x16 with no intra and nothing else was also not helping.&lt;br /&gt;
- u: i&#039;m wondering if having time domain prediction is what&#039;s making the larger transforms work well.&lt;br /&gt;
- g: there are image codecs that are state of the art that odn&#039;t use intra at all, just BSS. that&#039;s why i think it wasn&#039;t intra that&#039;s causing most of our problems.&lt;br /&gt;
- u: do you have a name of one of those?&lt;br /&gt;
- g: ADCT. no open source, but windows binary.&lt;br /&gt;
&lt;br /&gt;
# path to pvq&lt;br /&gt;
&lt;br /&gt;
- jm: mostly i want to figure out what is the next steps?&lt;br /&gt;
- d: it&#039;s getting increasingly harder to compare to scalar as it grows more thigns that scalar doesn&#039;t have. i don&#039;t know what to do about that. unless you want to implement RDO for scalar?&lt;br /&gt;
- jm: AM is something i can do, but RDO i tried and failed before.&lt;br /&gt;
- d: i don&#039;t think anyone else has any hope of figuring out your k tokenizer.&lt;br /&gt;
- jm: the final rate it should be using is not much different than if you were coding coeffs independently. coding one extra pulse still has a cost and coding low frequencies is still cheaper than HF. it shouldnt&#039; be really different than coding coeffs separately.&lt;br /&gt;
- j: so work on AM first then RDO?&lt;br /&gt;
- d: let me clean up quan matrices first.&lt;br /&gt;
- j: what&#039;s jm working on until then?&lt;br /&gt;
- jm: there&#039;s a whole bunch of cases in pvq where the ref vector is 0. i haven&#039;t yet checked whether it&#039;s because the area is so flat that there&#039;s nothing to predict or ... in any case, there&#039;s no point in coding flags and such in those cases. so right not we code them uselessly. ref = 0 is 1/3 of the cases i looked at. i still have on my todo list to include actual rate metrics, running the dct inside BSS.&lt;br /&gt;
- g: i was planning on doing something that was brute forcey. just code block every different way and measure performance coming out and not using perceptual metrics at all. what you&#039;re suggesting is halfway between those and i should try that too. i want to see what the largest improvement we can get from that path is.&lt;br /&gt;
- jm: with or without the prefilter?&lt;br /&gt;
- g: i&#039;ll have to figure out how to handle the prefilter.&lt;br /&gt;
- d: you&#039;re going to have to make some approximations.&lt;br /&gt;
- jm: an obvious one is not to run the prefilter. what&#039;s the status on training them?&lt;br /&gt;
- d: not spending more time on that.&lt;br /&gt;
- g: i don&#039;t want to spend any more time on it right now. read my status report from last week. i don&#039;t believe there are any prefilters in that design space that dont&#039; have worse DC response but better coding gain.&lt;br /&gt;
- jm: my thoguht was let&#039;s get rid of det1 for now, but right now we can use the DC basis metric to improve our non-det1 filters. especially the 16x. in some cases it seemed to be doing a bit of blocking.&lt;br /&gt;
- g: it&#039;s easy to spin up the code to do that. i&#039;ll do it.&lt;br /&gt;
- jm: and also shoudl we move 4x away from det1?&lt;br /&gt;
- d: keeping it det1 means we can use it for lossless. the question is is there a lot to be gained by making it non-det1.&lt;br /&gt;
- jm: didn&#039;t it make fastssim worse?&lt;br /&gt;
- d: i don&#039;t remember&lt;br /&gt;
- g: we can look. i&#039;ll check that. i don&#039;t think it made anything worse and i did visual inspection too.&lt;br /&gt;
- d: i think it also wasn&#039;t much better and that was disappointing. i can&#039;t remember if it was before or after scaling.&lt;br /&gt;
- jm: in general these metrics are not that reliable.&lt;br /&gt;
- jm: all of the basis functions have a scaling less than 1.&lt;br /&gt;
- d: yep&lt;br /&gt;
- jm: so when I apply the scailing the rd curves all change and nothing matches&lt;br /&gt;
- d: because none of your lambdas match&lt;br /&gt;
- jm: the RD is really not doing anything now that we&#039;re scaling up.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140408&amp;diff=15407</id>
		<title>DaalaMeeting20140408</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140408&amp;diff=15407"/>
		<updated>2015-02-07T00:04:34Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping (though this page has no really long lines)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-04-08&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- reviews&lt;br /&gt;
- ???&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
jmspeex, jack, derf, unlord, gmaxwell, xiphmont&lt;br /&gt;
&lt;br /&gt;
# reviews&lt;br /&gt;
&lt;br /&gt;
- lots of stuff for derf to review&lt;br /&gt;
- gmaxwell reviewed 226, still has two outstanding&lt;br /&gt;
&lt;br /&gt;
# pvq presentation questions&lt;br /&gt;
&lt;br /&gt;
- reviewed tim&#039;s pvq presentation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140415&amp;diff=15406</id>
		<title>DaalaMeeting20140415</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140415&amp;diff=15406"/>
		<updated>2015-02-07T00:04:11Z</updated>

		<summary type="html">&lt;p&gt;Daala-ts: Add word wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre style=&amp;quot;white-space: pre-wrap; &lt;br /&gt;
white-space: -moz-pre-wrap; &lt;br /&gt;
white-space: -pre-wrap; &lt;br /&gt;
white-space: -o-pre-wrap; &lt;br /&gt;
word-wrap: break-word;&amp;quot;&amp;gt;&lt;br /&gt;
# Meeting 2014-04-15&lt;br /&gt;
&lt;br /&gt;
Mumble:  mf4.xiph.org:64738&lt;br /&gt;
&lt;br /&gt;
# Agenda&lt;br /&gt;
&lt;br /&gt;
- reviews&lt;br /&gt;
- Discuss JM&#039;s experiments&lt;br /&gt;
- Google meeting&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
gmaxwell, unlord, jack, jmspeex, derf&lt;br /&gt;
&lt;br /&gt;
# reviews&lt;br /&gt;
&lt;br /&gt;
no one waiting on reviews&lt;br /&gt;
&lt;br /&gt;
# JM&#039;s experiments&lt;br /&gt;
&lt;br /&gt;
- jm: did a bunch of experiments in random directions. see status update for the list. i tried splitting the lowest band in two. i tried both splitting along horiz and vert and putting the diagonal on either side. and i tried having horiz and vert in one band and diagonal in one band. that one was the worst of the two. splitting horizontal vs. vertical gave similar results--maybe slightly worse.&lt;br /&gt;
- derf: i assume the issue is overhead of the additional parameters.&lt;br /&gt;
- jm: i don&#039;t know&lt;br /&gt;
- d: how do we answer that question?&lt;br /&gt;
- jm: i don&#039;t know&lt;br /&gt;
- g: we could measure it while cheating with the additonal parameters&lt;br /&gt;
- jm: it was very close. let me get the numbers. i was getting stuff like some metrics being 0.6% better, psnrhvsm being 1% worse. that sort of scale.&lt;br /&gt;
# Google meeting&lt;br /&gt;
- d: i don&#039;t know if you noticed the range of the changes the google team was talking about while we were there.&lt;br /&gt;
- u: it felt like a one way conversation. they would like us to prove these techniques would work in libvpx and they&#039;d love to use them.&lt;br /&gt;
- d: they phrased it better than they have in the past. the way they put it was that they wanted to build a library of techniques and then pick the things that worked. i don&#039;t think they quite fully understand that our techniques require some fundamental changes to the codec.&lt;br /&gt;
- d: ?? would they be upset if they took some of our ideas and the answer is absolutely no.&lt;br /&gt;
- u: they wanted us to show it would be an improvement in libvpx&lt;br /&gt;
- d: that&#039;s what debargha wanted :)&lt;br /&gt;
- g: jim gave a different perspective on it. after we left the meeting we had some additional conversation about the ietf.&lt;br /&gt;
- d: they wanted to know what the ideal ask was. so i sent him an email with that.&lt;br /&gt;
- u: that sounds promising.&lt;br /&gt;
- jm: we should discuss lower level things with them like our investigations on entropy in block &lt;br /&gt;
- j: let&#039;s make an etherpad for an agenda and get the next one schedule. put that item on there.&lt;br /&gt;
- d: i talked to them about june. will ping them.&lt;br /&gt;
- jm: in general we can talk about minor things we tried and things we are trying to figure it out.&lt;br /&gt;
- d: i tried to bring up metrics, but they didn&#039;t seem to have any great ideas there either.&lt;br /&gt;
# JM&#039;s experiments part 2&lt;br /&gt;
- jm: that splitting thing was worse with all metrics with activity masking.&lt;br /&gt;
- d: did you do interband masking?&lt;br /&gt;
- jm: i did not. that may be part of the problem. basically it was between 1 and 2% worse. i tried doing RDO tuning and i was able to improve all 4 metrics and the images look worse&lt;br /&gt;
- j: patent that and submit it to mpeg!&lt;br /&gt;
- jm: if i disable intra on every band except n=15 for 4x4 and 8x8 it&#039;s a wash.&lt;br /&gt;
- d: it was like 0.3%.&lt;br /&gt;
- jm: less than that.&lt;br /&gt;
- d: it&#039;s not a surprise that the current predictors are not doing much in HF.&lt;br /&gt;
- jm: my thought was that especially for 16x16, ?? trying to predict the first 15 properly. and not waste our nonzero coeffs on HF since we&#039;re not going to nail that anyway.&lt;br /&gt;
- d: isn&#039;t our training already doing that/&lt;br /&gt;
- jm: maybe for scalar it&#039;s not such a bad idea but for pvq having one nonzero coeff in the high band is completely useless. if you predict just one HF coeff you don&#039;t gain anything in pvq. in scalar you might have a tiny gain.&lt;br /&gt;
- g: i think if we&#039;re not predicitng the HF then we lose a lot of what intra is supposed to gain us.&lt;br /&gt;
- jm: for 16x16 we&#039;re not even able to predict the LFs enough that it becomes useful, so i don&#039;t see how we&#039;re going to predict HF anytime soon. one thing i was thinking aobut was can we do something along the lines of intra block prediction--predicting HF from LF?&lt;br /&gt;
- g: our original training tools were set up to assume a particular scan order and it added the previously scanned coeffs to the prediction&lt;br /&gt;
- jm: that won&#039;t work for pvq. something linear is not going to work. i don&#039;t see how something linear would work because if it did work, then the transform would suck. the dct is supposed to decorrelate all components. i don&#039;t see how it is going to help to have something linear.&lt;br /&gt;
- d: the nonlinearity comes from a) you&#039;re looking at the residue at a particular mode and b) biorthogonality issues, but those are probably minor.&lt;br /&gt;
- jm: even if there&#039;s a biortho issue, it probably means your thing shouldn&#039;t be orthogonal.&lt;br /&gt;
- u: whatever happened to the idea of undoing the lapping?&lt;br /&gt;
- d: i don&#039;t know how to do and it wasn&#039;t baked yet. i haven&#039;t worked on it yet.&lt;br /&gt;
- jm: i couldn&#039;t think of the entire system, but the general idea i had was something along the lines of trained VQ. training a codebook of HF (or one for each band), and then your codebook is 256 entries and based on the freq ???? that gives you a set of maybe 4 or 8 code vectors that are allowed given the low frequencies. it makes your search faster and what you need to code is not 8 bits but 2 or 4.&lt;br /&gt;
- d: i&#039;ve been thinking of something along those lines for trying to use when the predictor is 0 or bad. somethign we could use to fill in HF to match whatever energy we had encoded. i hadn&#039;t thought of coding it conditionally based on the LF stuff. i&#039;m not sure how that would work.&lt;br /&gt;
- jm: i know a way it could work but it would be too complex. take the LF and do a quantization (k-means and figure out which vector is closer among a set of 256).&lt;br /&gt;
- d: that&#039;s too complex. you could do it over 4.&lt;br /&gt;
- jm: my idea is to have just enough to be able to learn what happens if you have an edge in a particular direction.&lt;br /&gt;
- d: we could just classify &amp;quot;do i have an edge in a direction&amp;quot; for a small set of directions to start with right?&lt;br /&gt;
- jm: what do you mean?&lt;br /&gt;
- d: instead of learning 128 of these things, build a classifier that tells you that you have an edge in direction X for some small set of directions.&lt;br /&gt;
- jm: we need directions and offsets. this is not a predictor&lt;br /&gt;
- d: that makes it much more of a mess. i don&#039;t know how to do that in the freq domain.&lt;br /&gt;
- jm: the other thing i thought about is instead of using trained VQ to classify the LF, using PVQ. But then the problem is that at most we&#039;d be able to use three pulses and they&#039;d end up in the lowest freqs so there wouldn&#039;t be many combinations in practice.&lt;br /&gt;
- d: yep. i think you have almost no information about whether or not you have an edge.&lt;br /&gt;
- jm: the only thing i tried so far was the case where i didn&#039;t code anything, just trying to predict. doing VQ with a codebook of 256 in the low band and using that to predict the high band. that had very little prediction effect. it&#039;s quite possible that having just a few bits in the HF would have much more impact. i assume in many cases the HF could go one way or another but if you average them you get nothing.&lt;br /&gt;
- d: you&#039;re going to run into phase issues&lt;br /&gt;
- jm: you resolve phase with ???. i tried to predict ??? with the sine coeffs. there are a few factors that are skewed by 25-75% but if you looked at overall we&#039;d end up saving 0.1%. i haven&#039;t looked at what we gain by coding.&lt;br /&gt;
- d: how would this work for inter?&lt;br /&gt;
- jm: why would you want to do this? MC should be a lot better than what we get out of this.&lt;br /&gt;
- d: it&#039;s a lot better than what our inter is doing right now. but correlations in the HF is going to be around 75%. it&#039;s a lot small than .99 which is what i would like.&lt;br /&gt;
- jm: i was tyring to get to a point where it&#039;s better than no prediction at all, because that&#039;s where we are now. ???&lt;br /&gt;
- g: the next thing we could look at is a time domain predictor&lt;br /&gt;
- d: have we measured the prediction power in the HF with the VP8 predictors? turn off lapping and use the DCT and we have the VP8 predictors implemented.&lt;br /&gt;
- jm: we see from h265.. the fruits image at ridiculous rate... we can see it&#039;s possible to predict something.&lt;br /&gt;
- d: my question is if using the same metrics you&#039;re using how it compares. that should tell us what is possible to do.&lt;br /&gt;
- jm: that&#039;s totally different. right now we have nothing. doing anything at all is already better.&lt;br /&gt;
- d: but i want to know what is achievable.&lt;br /&gt;
- jm: i don&#039;t know.&lt;br /&gt;
&lt;br /&gt;
# activity masking&lt;br /&gt;
&lt;br /&gt;
- d: i did some playing around but i didn&#039;t find a whole lot. didn&#039;t do that badly on the worst examples i could come up with. it does make text a little bit worse, but it&#039;s more moving noise around and maybe adding some, more than severely degrading anything. it&#039;s not that bad. i wanted to compare it to some of the scalar quant stuff i&#039;ve been working on, but it&#039;s not ready yet. you point out that we can reduce luma DC resolution at 4x4.&lt;br /&gt;
- jm: i was thinking the larger ones. probably all of them though.&lt;br /&gt;
- d: the way scalar quant matrices work is that DC needs more resolution than the first two AC coeffs.&lt;br /&gt;
- jm: one thing i experimented with was trying to have DC be much worse for luma and i found it surprising how much error we could tolerate in the DC. i suspected it was because in JPEG the error in DC causes more blocking and we dont&#039; have the problem.&lt;br /&gt;
- d: humans are insensitive to DC shifts. we may be able to get away with worse than traditional codecs do there. i assume that we&#039;re terrible on metrics on your images?&lt;br /&gt;
- jm: i didn&#039;t even look. tim, you mentioned not being good on text. AM is only enabled on 8x8 and 16x16 and disabled on 4x4 because you don&#039;t want to do it on edges. it would be interesting to see what it does on 4x4 but i haven&#039;t really tried because i didn&#039;t expect it to improve.&lt;br /&gt;
- d: i&#039;ll turn it on and run it on the text again and we&#039;ll find out.&lt;br /&gt;
- jm: http://jmvalin.ca/video/iena0.png http://jmvalin.ca/video/iena1.png http://jmvalin.ca/video/iena2.png http://jmvalin.ca/video/iena3.png&lt;br /&gt;
- jm: 0 is normal. changing resolution by 2^n. 8 is definitely extreme.&lt;br /&gt;
- d: did you just change the quantizer?&lt;br /&gt;
- jm: i only changed the quantizer. the effect is more noticeable on airforce.&lt;br /&gt;
- d: that&#039;s because that image is only DC.&lt;br /&gt;
- g: you can see in #3 that there is a band of darkness in the upper left corner.&lt;br /&gt;
- d: what it suggests is that the sky in the other images happens to be close to a quantization interval.&lt;br /&gt;
- jm: one thing i considered also was look at having large steps except for the very first step. if you&#039;re on a gradient you can code the small differences but for larger changes you don&#039;t have that small of resolution. image 0 is 104kB. image 1 is 101.5kB. image 2 is 99kB. image 3 is 97kB. it&#039;s about 2.5kB every time i double the error.&lt;br /&gt;
- d: a bit over 2%. it seems like the step size you needed to code gradients correctly depends on the slope of the gradient.&lt;br /&gt;
- jm: why would it?&lt;br /&gt;
- d: i have some huge gap in my dc quant levels. at some point i guess it&#039;s slow enough we can take one step.&lt;br /&gt;
- jm: yes, i mean just in this region. i&#039;ll show you airforce and you&#039;ll see what i mean.&lt;br /&gt;
- jm: http://jmvalin.ca/video/air_dc0.png http://jmvalin.ca/video/air_dc1.png http://jmvalin.ca/video/air_dc2.png http://jmvalin.ca/video/air_dc3.png&lt;br /&gt;
- jm: Maybe most of the rate would be in that first step.&lt;br /&gt;
- d: Yes, but you keep pointing out how much the tails matter.&lt;br /&gt;
- jm: Because of scaling I don&#039;t think we can even predict a flat image correctly when the block size changes&lt;br /&gt;
- d: We certantly need to do something about the scaling at least for DC&lt;br /&gt;
- g: So we use a table of scaling factors&lt;br /&gt;
- jm: There are too many even just for dc&lt;br /&gt;
- g: so we scale things to a common reference e.g. 16x16 and then scale back so it&#039;s two multiplers per size&lt;br /&gt;
- d: there were reports on IRC that 4:4:4 was broken, anyone want to look at that?&lt;br /&gt;
- u: I&#039;ll look at that, I think I noticed that a while ago and didn&#039;t follow up on that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
</feed>