<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Theora 1.1 Released</title>
	<atom:link href="http://multimedia.cx/eggs/theora-1-1-released/feed/" rel="self" type="application/rss+xml" />
	<link>http://multimedia.cx/eggs/theora-1-1-released/</link>
	<description>Topics On Multimedia Technology and Reverse Engineering</description>
	<lastBuildDate>Tue, 07 Feb 2012 11:54:02 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: NB</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150164</link>
		<dc:creator>NB</dc:creator>
		<pubDate>Fri, 09 Oct 2009 01:48:23 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150164</guid>
		<description>mat, Mike: It really should do now - support for AQ was added in r18986, back in May. Chromium took that from ffmpeg, not the other way around - see http://code.google.com/p/chromium/issues/detail?id=17174

I haven&#039;t checked whether it&#039;s bit-exact but it certainly looks OK.</description>
		<content:encoded><![CDATA[<p>mat, Mike: It really should do now &#8211; support for AQ was added in r18986, back in May. Chromium took that from ffmpeg, not the other way around &#8211; see <a href="http://code.google.com/p/chromium/issues/detail?id=17174" rel="nofollow">http://code.google.com/p/chromium/issues/detail?id=17174</a></p>
<p>I haven&#8217;t checked whether it&#8217;s bit-exact but it certainly looks OK.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dconrad</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150123</link>
		<dc:creator>dconrad</dc:creator>
		<pubDate>Tue, 29 Sep 2009 11:05:14 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150123</guid>
		<description>The coeffs are already stored in the the bitstream in Hilbert order; the trick is to simply decode them into a single array and keep pointers to the first coeff of each zigzag index in each plane so that you simply pull the next coeff for each index for each block.

This unfortunately requires duplicating all the EOB and zero run logic in both unpack_vlcs and right before you do IDCT, plus a larger slice size (16 -&gt; 64 pixels), but it&#039;s worth it to avoid the current O(n^2) sorting loop in upack_vlcs.</description>
		<content:encoded><![CDATA[<p>The coeffs are already stored in the the bitstream in Hilbert order; the trick is to simply decode them into a single array and keep pointers to the first coeff of each zigzag index in each plane so that you simply pull the next coeff for each index for each block.</p>
<p>This unfortunately requires duplicating all the EOB and zero run logic in both unpack_vlcs and right before you do IDCT, plus a larger slice size (16 -&gt; 64 pixels), but it&#8217;s worth it to avoid the current O(n^2) sorting loop in upack_vlcs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Multimedia Mike</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150114</link>
		<dc:creator>Multimedia Mike</dc:creator>
		<pubDate>Mon, 28 Sep 2009 17:47:13 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150114</guid>
		<description>@dconrad: Thanks for the tip regarding &#039;-f null&#039;. That definitely helps to narrow the gap.

Libtheora does IDCT in Hilbert order? That blows my mind. Or is it zigzag order?</description>
		<content:encoded><![CDATA[<p>@dconrad: Thanks for the tip regarding &#8216;-f null&#8217;. That definitely helps to narrow the gap.</p>
<p>Libtheora does IDCT in Hilbert order? That blows my mind. Or is it zigzag order?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dconrad</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150113</link>
		<dc:creator>dconrad</dc:creator>
		<pubDate>Mon, 28 Sep 2009 04:57:50 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150113</guid>
		<description>I was, it turned into a major effort in figuring out how to minimize the cache footprint and eliminate the block  macroblock  superblock mapping tables. My motivation was drained when I realized that it was impossible to eliminate those ugly mapping tables due to stupidly minor things in the spec, plus I was busy with GSoC and now classes.

But the main reason libtheora is faster is because it doesn&#039;t sort AC coefficients into the blocks that own them, instead doing IDCT in hilbert order so that no reordering is needed.

Also, -f yuv4mpeg4pipe or -f rawvideo involve memcpy() on each pixel row, which is slow, whereas dump_video calls fwrite() on each pixel row, which is much faster. A fairer benchmark would be -f null and excising the fwrite()s from dump_video.</description>
		<content:encoded><![CDATA[<p>I was, it turned into a major effort in figuring out how to minimize the cache footprint and eliminate the block  macroblock  superblock mapping tables. My motivation was drained when I realized that it was impossible to eliminate those ugly mapping tables due to stupidly minor things in the spec, plus I was busy with GSoC and now classes.</p>
<p>But the main reason libtheora is faster is because it doesn&#8217;t sort AC coefficients into the blocks that own them, instead doing IDCT in hilbert order so that no reordering is needed.</p>
<p>Also, -f yuv4mpeg4pipe or -f rawvideo involve memcpy() on each pixel row, which is slow, whereas dump_video calls fwrite() on each pixel row, which is much faster. A fairer benchmark would be -f null and excising the fwrite()s from dump_video.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Multimedia Mike</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150112</link>
		<dc:creator>Multimedia Mike</dc:creator>
		<pubDate>Mon, 28 Sep 2009 04:55:32 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150112</guid>
		<description>@astrange: Thanks for the tip. I think I see where to focus my creativity.</description>
		<content:encoded><![CDATA[<p>@astrange: Thanks for the tip. I think I see where to focus my creativity.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: astrange</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150111</link>
		<dc:creator>astrange</dc:creator>
		<pubDate>Sun, 27 Sep 2009 19:10:05 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150111</guid>
		<description>The problem is the data layout; it spends all its time in the &quot;if (coeff_counts[fragment_num] &gt; coeff_index) continue;&quot; check.

David Conrad was working on that, I think.</description>
		<content:encoded><![CDATA[<p>The problem is the data layout; it spends all its time in the &#8220;if (coeff_counts[fragment_num] &gt; coeff_index) continue;&#8221; check.</p>
<p>David Conrad was working on that, I think.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xuggler 3.3 &#171; Xuggle</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150110</link>
		<dc:creator>Xuggler 3.3 &#171; Xuggle</dc:creator>
		<pubDate>Sun, 27 Sep 2009 17:35:40 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150110</guid>
		<description>[...] the latest libtheora release (1.1), which means you can decode theora video even faster (about 15% or so), and get better rate-control when encoding. - We&#8217;ve added the ability to read and write raw [...]</description>
		<content:encoded><![CDATA[<p>[...] the latest libtheora release (1.1), which means you can decode theora video even faster (about 15% or so), and get better rate-control when encoding. &#8211; We&#8217;ve added the ability to read and write raw [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Multimedia Mike</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150093</link>
		<dc:creator>Multimedia Mike</dc:creator>
		<pubDate>Fri, 25 Sep 2009 19:25:21 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150093</guid>
		<description>@mat: Good question. The release notes mention that this is the first production Theora encoder to use adaptive quantization and I&#039;m not sure if this is in FFmpeg&#039;s decoder yet. We have been merging some of Chromium&#039;s fixes, starting with the security matter (I merged one myself the other day for the Theora decoder).

@Michael: Yeah, that&#039;s nasty. I wonder why that is? There must be something unusual about the VLCs on PS1 games (which were never exactly standardized). VLC reading code isn&#039;t usually that impenetrable. In fact, the entirety of this &lt;a href=&quot;http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/vp3_8c-source.html#l01030&quot; rel=&quot;nofollow&quot;&gt;problematic unpack_vlcs() function fits on a single (tall) web browser page&lt;/a&gt;.

Maybe that&#039;s the problem-- that it&#039;s not complicated enough.</description>
		<content:encoded><![CDATA[<p>@mat: Good question. The release notes mention that this is the first production Theora encoder to use adaptive quantization and I&#8217;m not sure if this is in FFmpeg&#8217;s decoder yet. We have been merging some of Chromium&#8217;s fixes, starting with the security matter (I merged one myself the other day for the Theora decoder).</p>
<p>@Michael: Yeah, that&#8217;s nasty. I wonder why that is? There must be something unusual about the VLCs on PS1 games (which were never exactly standardized). VLC reading code isn&#8217;t usually that impenetrable. In fact, the entirety of this <a href="http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/vp3_8c-source.html#l01030" rel="nofollow">problematic unpack_vlcs() function fits on a single (tall) web browser page</a>.</p>
<p>Maybe that&#8217;s the problem&#8211; that it&#8217;s not complicated enough.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Sabin</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150091</link>
		<dc:creator>Michael Sabin</dc:creator>
		<pubDate>Fri, 25 Sep 2009 18:49:13 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150091</guid>
		<description>The ffmpeg macros used for PlayStation VLC unpacking [1] are 3 levels deep, and are impossible to decipher for a mere mortals. I&#039;m sure its magic is blazingly fast, so it makes me wonder just what it is doing, and what other tricks and techniques can be used for VLC unpacking.

[1] http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/mdec_8c-source.html#l00054</description>
		<content:encoded><![CDATA[<p>The ffmpeg macros used for PlayStation VLC unpacking [1] are 3 levels deep, and are impossible to decipher for a mere mortals. I&#8217;m sure its magic is blazingly fast, so it makes me wonder just what it is doing, and what other tricks and techniques can be used for VLC unpacking.</p>
<p>[1] <a href="http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/mdec_8c-source.html#l00054" rel="nofollow">http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/mdec_8c-source.html#l00054</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mat</title>
		<link>http://multimedia.cx/eggs/theora-1-1-released/comment-page-1/#comment-150090</link>
		<dc:creator>mat</dc:creator>
		<pubDate>Fri, 25 Sep 2009 18:44:29 +0000</pubDate>
		<guid isPermaLink="false">http://multimedia.cx/eggs/?p=1867#comment-150090</guid>
		<description>BTW : does ffmpeg is still able to decode Thusnelda encoded video ?
Last time I check ffmpeg theora decoder doesn&#039;t implement all theora feature.

But some chromium patch seems to implement some features. Will they be merged ?</description>
		<content:encoded><![CDATA[<p>BTW : does ffmpeg is still able to decode Thusnelda encoded video ?<br />
Last time I check ffmpeg theora decoder doesn&#8217;t implement all theora feature.</p>
<p>But some chromium patch seems to implement some features. Will they be merged ?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

