LinHES Forums
http://forum.linhes.org/

Does it really take that much CPU power to display HD?
http://forum.linhes.org/viewtopic.php?f=15&t=7592
Page 1 of 1

Author:  ed3120 [ Thu Dec 29, 2005 8:54 am ]
Post subject:  Does it really take that much CPU power to display HD?

I've read numerous posts of people talking about about the significant amount of CPU power needed to display HDTV. I've seen posts that state that an AMD 3000+ will use 50-60-70% of it's CPU cycles to display HDTV. (I know this is dependent on which HDTV res you are trying to display.)

I don't yet own an HDTV, but I've been doing some testing using a monitor. I am running myth on an Athlon 64 3000+ with 1GB RAM and a 6200TC (PCI-e x16) video card. If I set the screen res to 1024x768 and I display an HDTV xvid file, my myth box has no problem at all displaying it. If I run TOP from the console at the same time, it lists my CPU usage as less than 10%. That doesn't make sense to me, (I assume TOP run as root from the console would report on the whole machine and not just the CPU used by the console session) so I assume it is not reporting correctly...but I really don't think my CPU is being taxed at 50-70%.

Ultimately, I think most people who want to use myth for HDTV would like to be able to record one stream and simulataneously display another. I assume that a pcHDTV HD3000 card would do the MPEG2 encoding on the card and therefore require less than 10% CPU power, leaving the rest of the CPU to display a separate HDTV stream.

I don't consider my machine to be slow, but it's not really all that high-end...I built the whole system for $400 (not including the PVR card.) So if anyone is building a system, they can consider my data as an example test case, but my question is am I missing anything? I assume that if you can display HDTV of a certain resolution on a monitor, then there is no difference in the CPU power required to display it on a real HDTV.

Am I missing something, or is it just that my machine is considered high-end for a myth implementation? (I understand that many myth boxes are built with a hodge-podge of leftover computer parts.) I also assume that displaying an xvid is harsher on the CPU than an MPEG2 file, which is what I assume is being generated by a pcHDTV HD3000 card. (or is it MPEG$?) Anyway, if that is true then an HD xvid file might be the toughest thing you can throw at the processer.

I'd be interested to hear what other people have to say about HD performance and whether or not my assumptions are valid.

Author:  ceenvee703 [ Thu Dec 29, 2005 9:07 am ]
Post subject: 

The catch isn't whether your system can play back some kind of HDTV file, it's the ability to play back an MPEG2 HDTV file captured by the HD3000 from within the MythTV interface.

Firstly, the HD3000 doesn't actually encode to MPEG2. The HD broadcasts over the air are already MPEG2. The HD3000 just takes that data stream and dumps it to disk. So it should take virtually no CPU to do so.

Secondly, if you're playing a HDTV XviD file, you're playing it from within Mplayer most likely. Mplayer seems to be more capable of playing back HD files than the MythTV player. Not sure if that's because Mplayer supports hardware-assisted xvmc playback or some other reason.

Thirdly, your XviD HD file is what resolution? 1280x720? Plus it's already progressive and not interlaced. Playback from within MythTV gets tougher when it's receiving a 1080i signal, and it has to scale it and deinterlace it if you're hooked to a 720p display (or conversely, if it's receiving a 720p signal, and it has to scale it and interlace it if you're hooked to a 1080i display).

Fourthly, playing back XviD could well be easier than playing back MPEG2. It can certainly be a lot thinner data stream... over-the-air MPEG2 HD can be 17Mbps, whereas a decent quality XviD 1280x720 transcode could be done in probably 4 or 5 Mbps.

Hope this helps (and is accurate).

Author:  ed3120 [ Thu Dec 29, 2005 9:25 am ]
Post subject: 

Looks like I had it all wrong. :) But I really appreciate the explanation!

Author:  Xsecrets [ Thu Dec 29, 2005 10:47 am ]
Post subject: 

Just a few more quick notes. 1080i is actually 19Mbps.
MPEG2 is indeed more processor intensive to playback than MPEG4.
You can use XvMC to bring the processor utilization down, but even though it generally does work nowdays it still has some inherent drawbacks.

Author:  ed3120 [ Thu Dec 29, 2005 12:05 pm ]
Post subject: 

I'm really shocked that MPEG4 is faster to decode than MPEG2. I understand that there is less data in the MPEG4 stream, but I figured it was more highly compressed and therefore harder to decode.

Going off of this theory, I wonder if you could alleviate the playback strain on your processer by transcoding from MPEG2 to MPEG4 before playback. Obviously this uses more CPU cycles for prep time, but that can be done in the off hours, while playback of the HD video at a later date would be easier on the CPU.

I originally thought that transcoding to MPEG4 yielded smaller files which were more CPU intensive to play back. (i.e. it's a space vs cpu power decision.) If MPEG4 is faster to decode and smaller to store, then there really is no reason not to transcode everything. (with the exception of simplifying the BurnDVD process.)

Author:  ceenvee703 [ Thu Dec 29, 2005 1:01 pm ]
Post subject: 

ed3120 wrote:
If MPEG4 is faster to decode and smaller to store, then there really is no reason not to transcode everything.


It depends on what you want your system to do.

If you really want to use it like a DVR, you don't want to go through the transcoding step as it can be very time intensive, even with a fast system. If I had to tell The Mrs. "Sure, we can watch Lost... tomorrow after it's done transcoding," I can tell you what her reply would be.

For archiving, it's fine; there's a good thread here in this forum on transcoding HD recordings to H.264.

http://mysettopbox.tv/phpBB2/viewtopic.php?t=6043

Author:  aovermy [ Thu Dec 29, 2005 1:44 pm ]
Post subject: 

As long as we're talking about CPUs and xvmc and such...

I am tired of using xvmc so I'm thinking about upgrading my myth master backend.

It's currently an AMD XP 2400 based setup so xvmc is a must to watch non-transcoded MPEG2. Well, since I looked at motherboards and CPUs the options have grown! socket 478? lpga 775? socket 939? AMD 64? Intel Prescott?

I know the KRP is a AMD64 based, but I'd like my next system to be Intel based as I've heard that the hyperthreading helps in viewing HD. I've heard that 3.2 G is the lowest I want to go as far as speed. Then there's the question of PCI-E or AGP. My current card is a NVidia FX5200 AGP. But it seems there are advantages to the NVIDIA 6xxx line?

I've been eying the nVIDIA nforce4 sli for Intel line as it seems to have good linux support. But I don't want to spend more than necessary to accomplish the task.

Anyone have any opinions?

Thanks.

Author:  ed3120 [ Thu Dec 29, 2005 3:39 pm ]
Post subject: 

ceenvee703 wrote:
If I had to tell The Mrs. "Sure, we can watch Lost... tomorrow after it's done transcoding," I can tell you what her reply would be.


I know about that! :)

What is the ballpark length of time to transcode an hour long show to MPEG4? I know it depends what else your box is doing, but are we talking 30 minutes or 3 hours?

Author:  misterflibble [ Thu Dec 29, 2005 5:50 pm ]
Post subject: 

Wow, all that processor load must definitely be in the decoding of that big fat HD stream, because at the moment my little 1.6 gHz Sempron never goes above 35% with watching the 720x480 mpeg2 from my pvr 500, commercial flagging it, and scaling it for 720p output to my tv.

About the 6xxx series of NVIDIA cards, according to http://www.linuxis.us/linux/media/howto/linux-htpc/video.html, they're not as effective as the 5xxx series at video overlay and subject to tearing, which I guess would explain the OpenGL sync setting in the newest Knoppmyth releases. Unfortunately this setting shoots CPU usage way up with the newest NVIDIA drivers, so I think sticking to the old 5200 would be best.

I just wish mythtv would get some better xvmc support, then we wouldn't need to get any new processors. It is soooo almost there, dropping my cpu to 12% and looking even better on my tv than xvideo, that is, until I change the aspect ratio and the frames start repeating, making it look like everyone's having spasms.

Author:  ceenvee703 [ Thu Dec 29, 2005 8:18 pm ]
Post subject: 

ed3120 wrote:
What is the ballpark length of time to transcode an hour long show to MPEG4?


Depends on your processor, what your transcoding settings are, what else it's doing, so a lot of factors. As far as HD encoding I was able to find this link...

http://geekswithblogs.net/zander/archiv ... 08/08.aspx

which seems to imply you'd need a 4GHz machine to encode a 720p file at 2x real time. The transcoding I've done on an AMD 2400+ (probably a 1.8GHz machine?) seems to back that up... it's taken the better part of a day to transcode a 2 hr movie from MPEG2 to XviD using a HDTV to Xvid walkthrough I found online.

Author:  Xsecrets [ Fri Dec 30, 2005 3:09 am ]
Post subject: 

also we're talking about hdtv here, If I just wanted some crappy video I wouldn't bother with hdtv, and anytime you transcode from one lossy codec to another lossy codec you will have degradation. Not to mention that if/when xvmc becomes viable it only works with MPEG2 and there are very few hardware decoders for MPEG4 just yet.

Author:  Girkers [ Mon Jan 02, 2006 10:30 pm ]
Post subject: 

Following on from this thread, how it is best to test the CPU load as I have a 2.4GHz P4 and when I watch HDTV it is jerky. When I turn on XvMC it works fine, although with side effects.

Author:  ed3120 [ Sat Jan 14, 2006 11:45 am ]
Post subject:  Re: Does it really take that much CPU power to display HD?

ed3120 wrote:
f I set the screen res to 1024x768 and I display an HDTV xvid file, my myth box has no problem at all displaying it. If I run TOP from the console at the same time, it lists my CPU usage as less than 10%. That doesn't make sense to me, (I assume TOP run as root from the console would report on the whole machine and not just the CPU used by the console session) so I assume it is not reporting correctly...but I really don't think my CPU is being taxed at 50-70%.


Update, I've run some more tests, after correcting a mistake I made. I ran mplayer from an xterm and my CPU was about 50% idle while running an HD720p mpeg2 and 40% idle when running a HD1080i mpeg2.

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/