View Single Post
Old 03-14-07, 08:21 PM   #4
Registered User
Join Date: Jun 2004
Posts: 11
Default Re: CPU/Video Card Needed for Reliable H.264 1080p Content?

Originally Posted by pmjordan
As far as I know, the only h264 decoder for Linux is currently the one which is part of libavcodec, i.e. ffmpeg. It doesn't take advantage of any GPU hardware acceleration, so even my 8800GTS/320 doesn't allow me to watch 1080i/p h264 content at the moment. I'm running a Core2 Duo E6600, with 2GB of RAM. The CPU simply can't keep up with decoding the video, even if the file is in a RAM disk, audio is disabled, etc.

Libavcodec's h264 decoder doesn't have XvMC support; I'm pretty sure the reason for this is the lack of support for quarter-pixel motion vectors required by h264, so unless XvMC changes, you can't use it for h264.

I'm currently very tempted to hack libavcodec and MPlayer so that the most expensive parts of the decoding can be done in Vertex/Pixel shaders, but I'm limited by my spare time, and it's a substantial amount of work. I see no technical reason why it wouldn't work though.

Before spending a ton on the hardware, I suggest finding someone who has it to confirm it works. I doubt that a Netburst-based CPU (Pentium 4, Pentium D) will outperform a decent Core2, but I'd be happy to be corrected. In fact, I don't think any x86 other than the Core2 Quad outperforms the Core2 Duo in the vast majority of integer code at the moment, and that's what h264 uses. Floating-point speed is irrelevant in this case, so I suspect AMD CPUs are completely out of the question. I'd look up some SPEC_int benchmarks to find the fastest x86 integer CPU. I suspect it's the highest-clocked Core2 you can find. I suppose you could overclock that, which might just be enough for 1080p h264 decoding. (but then you'll have noise issues which isn't so great for the living room)

I hate to say it, but you're probably best off with either MacOS X or Windows when it comes to watching HD h264 streams for now. Of course, if you can live with the delay of a couple of hours, you could transcode the h264 to MPEG2 with some insane bitrate, which, I suspect, would work fine, and you could even use XvMC!

What a beast 1080i/p H.264 content is if it won't even play on your system! You've definitely given me a lot to think about. I guess I just need to have some patience and wait for the code to mature so that I can actually afford a system that can do the playback I want it to. My setup is such that my Windows machine is very near my TV so I might just run an extra VGA cable (why oh why did I buy a 7600 GS without dual DVI?) and use that machine whenever I want to watch HD stuff for now. Thanks for your great info!

You can trying buying a copy of CoreAVC, there are some patches for Mplayer for CoreAVC support for the latest version. Of course I'm sure GPU support doesn't work, but it's about 20% better, I'm actually able to play full speed some 720p content on my lowly 1.1ghz duron.
I might give that a shot. I've come across CoreAVC quite a few times in my internet travels but I wasn't aware that anyone got it working under Linux. Definitely a good thing! (Now if someone could only reverse engineer it...) My current mythtv system is an Athlon XP 2600+ which I'm sure wouldn't be enough to run 1080P even with CoreAVC, but definitely 720p considering your 1.1 GHz can do it. Thanks for the heads up!
orphaze is offline   Reply With Quote