<?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: Some Thoughts on 1080p</title>
	<atom:link href="http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/feed/" rel="self" type="application/rss+xml" />
	<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/</link>
	<description>The Plex blog</description>
	<lastBuildDate>Thu, 12 Jan 2012 01:09:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: younker</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-18383</link>
		<dc:creator>younker</dc:creator>
		<pubDate>Wed, 31 Dec 2008 03:24:09 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-18383</guid>
		<description>Now I use Plex 0.7.5 to play some 1080p x264 movies on my macbook pro 2,0 with an external 1080p HDTV, but there are some frames dropped during the playback, the video card is mobile x1600 with 128M RAM, but I think maybe the decorder is not effient enough to decode the videos, so it is better to make a large decode buffer and pre-decode it.</description>
		<content:encoded><![CDATA[<p>Now I use Plex 0.7.5 to play some 1080p x264 movies on my macbook pro 2,0 with an external 1080p HDTV, but there are some frames dropped during the playback, the video card is mobile x1600 with 128M RAM, but I think maybe the decorder is not effient enough to decode the videos, so it is better to make a large decode buffer and pre-decode it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gamester17</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-1088</link>
		<dc:creator>Gamester17</dc:creator>
		<pubDate>Mon, 24 Mar 2008 20:30:50 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-1088</guid>
		<description>I really like the idea of having a decode buffer (and the existing file-system buffer), hope that you can make that happen Elan, and that your implementation will be portable to across the other XBMC platforms as well :)

...hope that you can prioritize looking deeper into this cencept ;)

I for one would not mind &#039;sacrificing&#039; up-to 256MB of RAM for such a decode buffer, as long your computer have 2GB or more of total memory then then that should not be a problem.</description>
		<content:encoded><![CDATA[<p>I really like the idea of having a decode buffer (and the existing file-system buffer), hope that you can make that happen Elan, and that your implementation will be portable to across the other XBMC platforms as well <img src='http://elan.plexapp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8230;hope that you can prioritize looking deeper into this cencept <img src='http://elan.plexapp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I for one would not mind &#8216;sacrificing&#8217; up-to 256MB of RAM for such a decode buffer, as long your computer have 2GB or more of total memory then then that should not be a problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: H264</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-1086</link>
		<dc:creator>H264</dc:creator>
		<pubDate>Mon, 24 Mar 2008 12:47:42 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-1086</guid>
		<description>Mac OS X users maybe have some hope, Accelerator kernel module for RadeonHD cards:

$strings ATIRadeonX2000  &#124; grep UVD
ATIUVD
UVD related register dump begins
UVD*:
UVD_RLC_CONTROL: %x
UVD_CONFIG: %x
and so on...

According to some info in X2000 VA bundle, Apple has ATIHDVADriver bundle, which maybe intended to allow apps utilize ATI UVD (Universal Video Decoder) Video Technology functions, it is not public it seems.

But how to activate and use that in FFmpeg and XBMC?</description>
		<content:encoded><![CDATA[<p>Mac OS X users maybe have some hope, Accelerator kernel module for RadeonHD cards:</p>
<p>$strings ATIRadeonX2000  | grep UVD<br />
ATIUVD<br />
UVD related register dump begins<br />
UVD*:<br />
UVD_RLC_CONTROL: %x<br />
UVD_CONFIG: %x<br />
and so on&#8230;</p>
<p>According to some info in X2000 VA bundle, Apple has ATIHDVADriver bundle, which maybe intended to allow apps utilize ATI UVD (Universal Video Decoder) Video Technology functions, it is not public it seems.</p>
<p>But how to activate and use that in FFmpeg and XBMC?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Magnusjt</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-1085</link>
		<dc:creator>Magnusjt</dc:creator>
		<pubDate>Mon, 24 Mar 2008 09:41:02 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-1085</guid>
		<description>well done, guy</description>
		<content:encoded><![CDATA[<p>well done, guy</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dj</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-1083</link>
		<dc:creator>dj</dc:creator>
		<pubDate>Mon, 24 Mar 2008 00:56:24 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-1083</guid>
		<description>Interesting find?

http://www.corecodec.com/forums/index.php?topic=711.msg5063#msg5063</description>
		<content:encoded><![CDATA[<p>Interesting find?</p>
<p><a href="http://www.corecodec.com/forums/index.php?topic=711.msg5063#msg5063" rel="nofollow">http://www.corecodec.com/forums/index.php?topic=711.msg5063#msg5063</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LaLocaChica</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-971</link>
		<dc:creator>LaLocaChica</dc:creator>
		<pubDate>Tue, 11 Mar 2008 08:22:06 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-971</guid>
		<description>if I could I would look at the decode buffer idea first :) since that would be cross-portable you could get developers of the other XBMC platforms to help you out or at least bounce ideas with them ;)</description>
		<content:encoded><![CDATA[<p>if I could I would look at the decode buffer idea first <img src='http://elan.plexapp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  since that would be cross-portable you could get developers of the other XBMC platforms to help you out or at least bounce ideas with them <img src='http://elan.plexapp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: elan</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-969</link>
		<dc:creator>elan</dc:creator>
		<pubDate>Tue, 11 Mar 2008 03:10:00 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-969</guid>
		<description>@Brandon: Yeah, just a file buffer, a decode buffer would be implemented at a higher layer.

@Tomato and bask3tkase: I was deliberately vague about the implementation of the Sidecar method, but I had been assuming that a preprocessing pass would be necessary. That would be the easiest way to ensure that the video was prepped and could handle random seeks, etc. Note that it might not take more than a minute or five to run, and could even be implemented as part of the download postprocessing, i.e. par, unrar, sidecar. Hey, it even rhymes!

@jonny_eh: I believe the decode buffer would be fairly easy to implement, and give a big win in common cases. Even going from 100 dropped frames in a 1080p movie to 0 would be awesome, because that means that 2-3 scenes that looked &quot;messed up&quot; would now be perfect.</description>
		<content:encoded><![CDATA[<p>@Brandon: Yeah, just a file buffer, a decode buffer would be implemented at a higher layer.</p>
<p>@Tomato and bask3tkase: I was deliberately vague about the implementation of the Sidecar method, but I had been assuming that a preprocessing pass would be necessary. That would be the easiest way to ensure that the video was prepped and could handle random seeks, etc. Note that it might not take more than a minute or five to run, and could even be implemented as part of the download postprocessing, i.e. par, unrar, sidecar. Hey, it even rhymes!</p>
<p>@jonny_eh: I believe the decode buffer would be fairly easy to implement, and give a big win in common cases. Even going from 100 dropped frames in a 1080p movie to 0 would be awesome, because that means that 2-3 scenes that looked &#8220;messed up&#8221; would now be perfect.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jonny_eh</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-968</link>
		<dc:creator>jonny_eh</dc:creator>
		<pubDate>Tue, 11 Mar 2008 02:47:07 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-968</guid>
		<description>The decode buffer sounds like the simplest solution with the most chance of success, with the smallest side effect. 
Possible implementations:
1) Just have a setting in the GUI where you can set the size of the decode buffer.
2) Have XBMC increase the size of the buffer by a certain amount each time a frame is dropped, up to a maximum size. 
3) 2 would have the problem of encountering dropped frames before the buffer kicks in, so maybe a smarter algorithm based on CPU usage can be made to guess if a buffer will be needed. i.e. if the first CPU core is maxed out, assume that a 3 second buffer will be needed, 4) Combination of 2+3. Use the 3 algorithm, and if frames drop use 2 as well.</description>
		<content:encoded><![CDATA[<p>The decode buffer sounds like the simplest solution with the most chance of success, with the smallest side effect.<br />
Possible implementations:<br />
1) Just have a setting in the GUI where you can set the size of the decode buffer.<br />
2) Have XBMC increase the size of the buffer by a certain amount each time a frame is dropped, up to a maximum size.<br />
3) 2 would have the problem of encountering dropped frames before the buffer kicks in, so maybe a smarter algorithm based on CPU usage can be made to guess if a buffer will be needed. i.e. if the first CPU core is maxed out, assume that a 3 second buffer will be needed, 4) Combination of 2+3. Use the 3 algorithm, and if frames drop use 2 as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bask3tkase</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-966</link>
		<dc:creator>bask3tkase</dc:creator>
		<pubDate>Mon, 10 Mar 2008 23:58:22 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-966</guid>
		<description>@Tomato, I assumed it would need a one-time pass before playback happens only because I, again assuming, there would not be the luxury of using an entire second core to do the work since this issue emerges from a lack of CPU cycles.

Of course, I as well am not a computer expert...

Also, sidecar plausibility aside, buffering the frames at faster-than-real-time to memory for later playback seems to be more elegant and flexible to me in that it could protect smooth playback from many causes of lag - CPU, disk, network, etc - that can happen at any moment.</description>
		<content:encoded><![CDATA[<p>@Tomato, I assumed it would need a one-time pass before playback happens only because I, again assuming, there would not be the luxury of using an entire second core to do the work since this issue emerges from a lack of CPU cycles.</p>
<p>Of course, I as well am not a computer expert&#8230;</p>
<p>Also, sidecar plausibility aside, buffering the frames at faster-than-real-time to memory for later playback seems to be more elegant and flexible to me in that it could protect smooth playback from many causes of lag &#8211; CPU, disk, network, etc &#8211; that can happen at any moment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomato</title>
		<link>http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-961</link>
		<dc:creator>Tomato</dc:creator>
		<pubDate>Mon, 10 Mar 2008 20:14:04 +0000</pubDate>
		<guid isPermaLink="false">http://elan.plexapp.com/2008/03/08/some-thoughts-on-1080p/#comment-961</guid>
		<description>I am no computer expert, but it seems that a lot of people are misunderstanding the sidecar idea. Either that, or I&#039;m stupid. 

Here is my concept of how it works: 

1.  You press play on your file. 
2.  The file starts playing. 
3.  The code at the same time does a quick scan through the file bitrate. 
4.  High bitrate sections are identified.  (i.e. sections where a frame can&#039;t be processed in real time) 
5.  These sections are assigned for intensive work, and the completed work is stored separately in a &#039;sidecar&#039;. 
(your video is still playing while all this is happening)
6. When the file which is playing gets to an high bitrate section, instead of dropping frames or dropping down to a lower quality, the pre-processed segment is used instead, to maintain image quality. 
7. That&#039;s it! 

A lovely use of the dual core principle. If you&#039;ve got two cores, use em!

The only problem is with files with high bitrate frames right at the start, but most files start with black frames or credits.  In the worst case, a pause of a few seconds  before starting might be needed.  

Am I right?</description>
		<content:encoded><![CDATA[<p>I am no computer expert, but it seems that a lot of people are misunderstanding the sidecar idea. Either that, or I&#8217;m stupid. </p>
<p>Here is my concept of how it works: </p>
<p>1.  You press play on your file.<br />
2.  The file starts playing.<br />
3.  The code at the same time does a quick scan through the file bitrate.<br />
4.  High bitrate sections are identified.  (i.e. sections where a frame can&#8217;t be processed in real time)<br />
5.  These sections are assigned for intensive work, and the completed work is stored separately in a &#8216;sidecar&#8217;.<br />
(your video is still playing while all this is happening)<br />
6. When the file which is playing gets to an high bitrate section, instead of dropping frames or dropping down to a lower quality, the pre-processed segment is used instead, to maintain image quality.<br />
7. That&#8217;s it! </p>
<p>A lovely use of the dual core principle. If you&#8217;ve got two cores, use em!</p>
<p>The only problem is with files with high bitrate frames right at the start, but most files start with black frames or credits.  In the worst case, a pause of a few seconds  before starting might be needed.  </p>
<p>Am I right?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 5/9 queries in 0.001 seconds using memcached
Object Caching 250/254 objects using memcached

Served from: elan.plexapp.com @ 2012-02-06 21:10:06 -->
