<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.xiph.org/index.php?action=history&amp;feed=atom&amp;title=DaalaMeeting20140805</id>
	<title>DaalaMeeting20140805 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.xiph.org/index.php?action=history&amp;feed=atom&amp;title=DaalaMeeting20140805"/>
	<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140805&amp;action=history"/>
	<updated>2026-04-20T07:29:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140805&amp;diff=15393&amp;oldid=prev</id>
		<title>Daala-ts: Add word wrapping</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140805&amp;diff=15393&amp;oldid=prev"/>
		<updated>2015-02-07T00:00:43Z</updated>

		<summary type="html">&lt;p&gt;Add word wrapping&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:00, 7 February 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;style=&quot;white-space: pre-wrap; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;white-space: -moz-pre-wrap; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;white-space: -pre-wrap; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;white-space: -o-pre-wrap; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;word-wrap: break-word;&quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Meeting 2014-08-05&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Meeting 2014-08-05&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key xiphwiki:diff:1.41:old-14884:rev-15393:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Daala-ts</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=DaalaMeeting20140805&amp;diff=14884&amp;oldid=prev</id>
		<title>Jack: Created page with &quot;&lt;pre&gt; # Meeting 2014-08-05  Mumble:  mf4.xiph.org:64738  # Agenda  - reviews - coding party - EDI progress: https://martres.me/tmp/edi0805/ now only slightly worse than current c...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=DaalaMeeting20140805&amp;diff=14884&amp;oldid=prev"/>
		<updated>2014-08-12T15:39:41Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; # Meeting 2014-08-05  Mumble:  mf4.xiph.org:64738  # Agenda  - reviews - coding party - EDI progress: https://martres.me/tmp/edi0805/ now only slightly worse than current c...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Meeting 2014-08-05&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;
- coding party&lt;br /&gt;
- EDI progress: https://martres.me/tmp/edi0805/ now only slightly worse than current code!&lt;br /&gt;
- Merging intra paint?&lt;br /&gt;
&lt;br /&gt;
# Attending&lt;br /&gt;
&lt;br /&gt;
unlord&lt;br /&gt;
xiphmont&lt;br /&gt;
smarter&lt;br /&gt;
jack&lt;br /&gt;
bkoc&lt;br /&gt;
derf&lt;br /&gt;
jmspeex&lt;br /&gt;
TD-linux&lt;br /&gt;
&lt;br /&gt;
# Reviews&lt;br /&gt;
&lt;br /&gt;
- nothing reviews&lt;br /&gt;
&lt;br /&gt;
# Coding party&lt;br /&gt;
&lt;br /&gt;
- j: looking good.&lt;br /&gt;
&lt;br /&gt;
# EDI progress&lt;br /&gt;
&lt;br /&gt;
- s: I&amp;#039;ve been playing with EDI and got it to work better. I took teh same theta we use and put them into every eDI filter (either 6 or 12 steps depending on what was used before) and it works better, but it doesn&amp;#039;t work great yet.&lt;br /&gt;
- j: what about the upsampling test from last week?&lt;br /&gt;
- s: I haven&amp;#039;t done the up/downsampling tests yet, but i&amp;#039;ll do that next.&lt;br /&gt;
- d: do you have a plan to move forward?&lt;br /&gt;
- s: I still need to deal correctly with matching and padding, but I don&amp;#039;t have a better plan, no.&lt;br /&gt;
- d: One thing to try would be to training the filter instead of directly computing it. IN theory if you train a plain linear filter you end up with the windowed sync function we already have. But because you have split this up into different classes, and you train a filter for each class, you should certainly be able to do no worse.&lt;br /&gt;
- jm: Please start with the actual test for reconstruction noise, otherwise you don&amp;#039;t know where the problem lies. It&amp;#039;s quite possible that EDI works will well but EDI from an EDI frame is causing the problem. And you wouldn&amp;#039;t know until you actually run the test.&lt;br /&gt;
- s: I&amp;#039;ll try restricting motion to 1/2 pel and see how that works. Can you show me how to do it?&lt;br /&gt;
- d: Go into src/mcenc.c and od_mvs_init, down at the bottom. There is a TODO: allow configuration, and est_mv_res_min is there. 0 is 1/8, 1 is 1/4 pel, etc.&lt;br /&gt;
- j: Can you make that a feature flag like the others?&lt;br /&gt;
- d: Yeah, that is what the TODO is about.&lt;br /&gt;
- s: Yeah, I&amp;#039;ll do that. I have no idea how to train the filter.&lt;br /&gt;
- d: It&amp;#039;s a least squares regression. There is code inside intra stuff that does it.&lt;br /&gt;
- u: I can point you to code that does that.&lt;br /&gt;
&lt;br /&gt;
# Merging Intra paint&lt;br /&gt;
&lt;br /&gt;
- jm: We&amp;#039;re approaching the point where it&amp;#039;s going to be useful to have this merged, but how?&lt;br /&gt;
- x: How well does it work compared to current intra? What do the numbers look like?&lt;br /&gt;
- jm: The fruits image I posted (only luma) looks like with everything it would be 4-6k.&lt;br /&gt;
- td: Worse by the way. How are you coding modes?&lt;br /&gt;
- jm: Assuming flat coding of the modes. 5 bits to code each mode (32 modes).&lt;br /&gt;
- d: Sounds like we don&amp;#039;t have coding yet.&lt;br /&gt;
- td: I have some coding, but it&amp;#039;s way worse.&lt;br /&gt;
- jm: I have entropy and experience tells me that I get entropy when I code stuff.&lt;br /&gt;
- x: Branching makes this easy.&lt;br /&gt;
- jm: It&amp;#039;s already in a branch in my personal repo.&lt;br /&gt;
- x: Can I check it out?&lt;br /&gt;
- jm: Yes, exp-intra-paint on my Daala repo on MF4.&lt;br /&gt;
- u: Can you show me how to set up a personal repo offline?&lt;br /&gt;
- jm: Yea, sure. Basically I&amp;#039;m starting to think about merging it and want to know how that would be done. It&amp;#039;s not actually hooked up to the encoder. From the numbers I&amp;#039;m seeing we can do better at low bitrate. For stuff like fruits or adventures with windmills, I&amp;#039;m getting pretty nice images. I don&amp;#039;t know about PSNR and that sort of thing, but when there is ringing, it follows the branches instead of having ringing corners all over the place.&lt;br /&gt;
- d: Wasn&amp;#039;t adventures the one that showed up the worst?&lt;br /&gt;
- jm: Sure, but the metrics me nothing. Adventures is perfect white and perfect black and is starting with PSNR that is much worse than most other images. When we&amp;#039;re coding it with the current master, it&amp;#039;s already going to be much worse. Some of the images where we already ahve good PSNR I haven&amp;#039;t tried.&lt;br /&gt;
- d: Do you have a proposal?&lt;br /&gt;
- j: Hooking it up to the encoder woudl be a good first step.&lt;br /&gt;
- jm: Do you want it merged yet?&lt;br /&gt;
- d: I don&amp;#039;t know because I don&amp;#039;t know if it works.&lt;br /&gt;
- jm: So first condition is full encode, decode and be better?&lt;br /&gt;
- d: Yes.&lt;br /&gt;
- jm: That postpones it to post coding party.&lt;br /&gt;
- j: I suggest emailing details about where you get the branch to the mailing list so people can follow along. That way when it&amp;#039;s ready to merge everyone has already had a chance to play and see hte code.&lt;br /&gt;
- jm: Ok.&lt;br /&gt;
...&lt;br /&gt;
- jm: Right now my code supports 32, 16, 8&lt;br /&gt;
- d: Maybe 32x32 will decrease rate, but ???&lt;br /&gt;
- jm: Rate at equal quality. I think I may be able to live without 64x64. It was mostly useful for smooth gradients.&lt;br /&gt;
- d: We can always revisit adding it later, but it involves structural changes to the rest of the codec.&lt;br /&gt;
- jm: Probably it&amp;#039;s not going to be useful just for intra. On the other hand, maybe for motion vectors.&lt;br /&gt;
- d: That&amp;#039;s certainly a possibility.&lt;br /&gt;
- jm: The results in your paper clearly show that 16x16 was way better than 8x8, which suggests you at least want 32x32 but maybe even more than that.&lt;br /&gt;
- d: Part of that may be that our decisions were terrible. I&amp;#039;m trying to fix that right now so I&amp;#039;m not sure I trust any of those results. ... The reason is that most encoders make decisions greedily. I fyou have relatively constant motion, and you have all the blocks saying use the preidction and then have small refinements. If you are not using a greedy optimizer you can do better than that.&lt;br /&gt;
- jm: Should we want 64x64 for 4k video?&lt;br /&gt;
- d: Absolutely. We&amp;#039;ll see.&lt;br /&gt;
- jm: I changed all my code to be fixed at 32x32. I only recently changed the scanning order to superblock scanning instead of raster scanning which is bad when you switch block sizes. Sometimes you haven&amp;#039;t quite quantized everything you need. DO you have ideas for how to deal with DC?&lt;br /&gt;
- d: There&amp;#039;s thing you can do to handle discontinuities.&lt;br /&gt;
- jm: It&amp;#039;s not that I&amp;#039;m worried about. Especially since I changed the way DC is encoded to only use four corners, if there is something directional close to a DC block I end up smearing the directional stuff. Also, the actual interpoltion within the DC, I&amp;#039;m not sure how to do it. It&amp;#039;s a special case and I&amp;#039;m trying to fit it into the normal cases.&lt;br /&gt;
- d: I&amp;#039;d have to look at what you&amp;#039;re doing more closely before I could suggest something constructive.&lt;br /&gt;
- jm: Someone looking at my code would be helpful. It&amp;#039;s about 900 lines long right now. Some of it is a bit repetitive and I wish someone could help figure out how to improve it.&lt;br /&gt;
- d: For comparison that is half a silk decoder. Remember how long it took me to document that?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jack</name></author>
	</entry>
</feed>