<?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 Video, soon in Firefox on ARM CPUs</title>
	<atom:link href="http://blog.vlad1.com/2009/08/18/theora-video-soon-in-firefox-on-arm-cpus/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.vlad1.com/2009/08/18/theora-video-soon-in-firefox-on-arm-cpus/</link>
	<description>Words</description>
	<lastBuildDate>Mon, 15 Mar 2010 23:28:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Robin Watts</title>
		<link>http://blog.vlad1.com/2009/08/18/theora-video-soon-in-firefox-on-arm-cpus/comment-page-1/#comment-4221</link>
		<dc:creator>Robin Watts</dc:creator>
		<pubDate>Thu, 17 Sep 2009 16:38:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=177#comment-4221</guid>
		<description>The URL appears to have dropped out of my previous comment. I&#039;ll repeat it here:

http://www.wss.co.uk/pinknoise/theorarm

I&#039;d love to speak to the firefox developers about it...

Robin</description>
		<content:encoded><![CDATA[<p>The URL appears to have dropped out of my previous comment. I&#8217;ll repeat it here:</p>
<p><a href="http://www.wss.co.uk/pinknoise/theorarm" rel="nofollow">http://www.wss.co.uk/pinknoise/theorarm</a></p>
<p>I&#8217;d love to speak to the firefox developers about it&#8230;</p>
<p>Robin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robin Watts</title>
		<link>http://blog.vlad1.com/2009/08/18/theora-video-soon-in-firefox-on-arm-cpus/comment-page-1/#comment-4220</link>
		<dc:creator>Robin Watts</dc:creator>
		<pubDate>Thu, 17 Sep 2009 16:34:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=177#comment-4220</guid>
		<description>Hi,

I&#039;ve been looking at Theora and Vorbis decode for ARM - I have just released my work as .

The Theora code includes some fast YUV2RGB code, and baseline ARMv4 code for all the code (and more) that x86 has MMX for.

Similarly the Vorbis decode has all the important loops entirely hand ARM coded for speed.

There may well be more to come from some sections by using NEON or v6/v7 extensions (but I don&#039;t have a device to test on!), but I cannot see how to accelerate the software YUV2RGB any more even with SIMD (which is a shame, as it&#039;s 50%  of the CPU time).

Full timings are on that website.

Robin</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I&#8217;ve been looking at Theora and Vorbis decode for ARM &#8211; I have just released my work as .</p>
<p>The Theora code includes some fast YUV2RGB code, and baseline ARMv4 code for all the code (and more) that x86 has MMX for.</p>
<p>Similarly the Vorbis decode has all the important loops entirely hand ARM coded for speed.</p>
<p>There may well be more to come from some sections by using NEON or v6/v7 extensions (but I don&#8217;t have a device to test on!), but I cannot see how to accelerate the software YUV2RGB any more even with SIMD (which is a shame, as it&#8217;s 50%  of the CPU time).</p>
<p>Full timings are on that website.</p>
<p>Robin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://blog.vlad1.com/2009/08/18/theora-video-soon-in-firefox-on-arm-cpus/comment-page-1/#comment-3956</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 19 Aug 2009 14:55:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=177#comment-3956</guid>
		<description>Last I checked, FFMPEG had NEON support in various codecs, including (I think) Theora.</description>
		<content:encoded><![CDATA[<p>Last I checked, FFMPEG had NEON support in various codecs, including (I think) Theora.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: -</title>
		<link>http://blog.vlad1.com/2009/08/18/theora-video-soon-in-firefox-on-arm-cpus/comment-page-1/#comment-3952</link>
		<dc:creator>-</dc:creator>
		<pubDate>Wed, 19 Aug 2009 11:58:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=177#comment-3952</guid>
		<description>This is hardly a problem of ARM only - performance in x86 is terrible too, even on trunk with the decoder asm enabled. The decoder, however, is the least troublesome thing. The pipeline doesn&#039;t help (I hear there are several malloc()s per frame and several copies going on), but the stuff that really kills it is getting the pixels to the screen (colorspace conversion, which I think is supposed to be optimized already, and more specially resizing and maybe painting).

If the video is resized in any way, performance goes through the floor. This is not just a video problem, it also happens with images (but then it&#039;s less noticeable). Fx would benefit a lot from having a decent scaler. There are some GPL ones you can look at (but not use I guess) - one in VirtualDub/AviSynth and another one in swscale (I know the swscale one has dynamic code generation, also I think it can resize   color convert all at once in a single pass.)

Composition is also very bad, when the controls shows CPU increases significantly. Right now, Flash decodes and shows H.264 video much, much faster than Firefox does Theora, even if Theora is less expensive to decode (and that is withouth using hardware acceleration, and in any situation - resizing is ultrafast in Flash, and drawing stuff over the video doesn&#039;t affect it much.)

Using an standalone player such as mplayer is also much faster, even when forced to use software color conversion and resizing, and showing an OSD over the video.

There are also other problems (audio is much more likely to skip, I guess Fx uses the main thread and Flash a dedicated thread or something) but performance should be up there. Please fix it!</description>
		<content:encoded><![CDATA[<p>This is hardly a problem of ARM only &#8211; performance in x86 is terrible too, even on trunk with the decoder asm enabled. The decoder, however, is the least troublesome thing. The pipeline doesn&#8217;t help (I hear there are several malloc()s per frame and several copies going on), but the stuff that really kills it is getting the pixels to the screen (colorspace conversion, which I think is supposed to be optimized already, and more specially resizing and maybe painting).</p>
<p>If the video is resized in any way, performance goes through the floor. This is not just a video problem, it also happens with images (but then it&#8217;s less noticeable). Fx would benefit a lot from having a decent scaler. There are some GPL ones you can look at (but not use I guess) &#8211; one in VirtualDub/AviSynth and another one in swscale (I know the swscale one has dynamic code generation, also I think it can resize   color convert all at once in a single pass.)</p>
<p>Composition is also very bad, when the controls shows CPU increases significantly. Right now, Flash decodes and shows H.264 video much, much faster than Firefox does Theora, even if Theora is less expensive to decode (and that is withouth using hardware acceleration, and in any situation &#8211; resizing is ultrafast in Flash, and drawing stuff over the video doesn&#8217;t affect it much.)</p>
<p>Using an standalone player such as mplayer is also much faster, even when forced to use software color conversion and resizing, and showing an OSD over the video.</p>
<p>There are also other problems (audio is much more likely to skip, I guess Fx uses the main thread and Flash a dedicated thread or something) but performance should be up there. Please fix it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dave</title>
		<link>http://blog.vlad1.com/2009/08/18/theora-video-soon-in-firefox-on-arm-cpus/comment-page-1/#comment-3951</link>
		<dc:creator>dave</dc:creator>
		<pubDate>Wed, 19 Aug 2009 11:12:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.vlad1.com/?p=177#comment-3951</guid>
		<description>Minor oddity: If liboggplay was only doing x86 then how did it manage to work on Mac PPC?</description>
		<content:encoded><![CDATA[<p>Minor oddity: If liboggplay was only doing x86 then how did it manage to work on Mac PPC?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
