PDA

View Full Version : 1080p H.264 - possible on Linux yet?


nonoitall
27th March 2007, 09:50
There's so much conflicting information floating around on the web, it's given me a headache. I want to build an HTPC and am wondering what kind of hardware I'm going to need. I'd prefer to run Linux on it, since it's free and stable, unlike um... you know, the other OS. Anyway, I want it to be able to handle the decoding of any HD-DVD or Blu-ray content without frame dropping, but even with the fastest CPUs available now, this still seems pretty impossible with only software decoding, aside from using commercial software like CoreAVC. (Is that correct, and is CoreAVC relatively easy to get working in Linux?)

So, are there any options for hardware acceleration of H.264 on Linux yet? According to ATI/AMD, Avivo is supposed to work in Linux, but I don't have a card equipped with it to test out whether it works with H.264 under Linux. Basically, my question is whether it's practical or even possible to decode next-generation HD content on Linux at this time?

mic64
27th March 2007, 10:15
1080p h264 works, but...
Let me tell you my config.
Core2Duo 6300 clocked @ 2,8 Ghz
1 Gb Ram, NVidia 7600GS

I can play 1080p h264 with mplayer, but there are some limitations
1. some PAFF interlacing feature are nbot supported, picture stutters. Mostly SKY HD caps.
2. with no special options PCU% is 50-70% but reaching over 100%
3. with -skiploopfilter CPU% q40-70 never more.

So yes..you can watch them, only some streams will have some probs.

nonoitall
27th March 2007, 12:09
Thanks for the quick and helpful reply! Up until now, I'd been testing a few clips on Mplayer with default options. (I'm on an Athlon 64 X2 4200+.) I had gotten frame dropping, but that skiploopfilter option fixed the problem. :) Do you know of any place where I could get some really high bitrate, HD-DVD-or-Blu-ray-like clips? I really want to get as good an idea as possible as to how fast the CPU has to be given a worst case scenario. I've heard one of the Xmen movies had spots where the bitrate went as high as 40Mbps. Also, what does the skiploopfilter option do? (You can be moderately technical, as I know a little bit about how video codecs work.)

:thanks:

nm
27th March 2007, 12:30
So, are there any options for hardware acceleration of H.264 on Linux yet? According to ATI/AMD, Avivo is supposed to work in Linux, but I don't have a card equipped with it to test out whether it works with H.264 under Linux.
Really? ATI has never even supported hardware accelerated MPEG-1/2 decoding in their Linux drivers. Where have they announced support for this Avivo stuff?

AFAIK there is currently no H.264 GPU acceleration support available on any Linux display drivers. You can get CoreAVC working through MPlayer's dshow API (in latest SVN versions), but I don't know how easy it is considering the activation system.

Gusar
27th March 2007, 14:03
The only part of ATI Avivo that works on linux is 'video texture'. It is used to display the video (any kind of video), not decode it. 'Video texture' is a replacement for 'video overlay', which modern graphic cards don't have anymore.

The only hardware video decoding you will get in linux is MPEG1/2 with a nvidia card.

hiso
27th March 2007, 17:22
You can play H264 1080p movies with VLC. It works fine (P4 3 Ghz). Currently, H.264 on Linux is entirely decoded by the processor without any help from others peripherals. I heard about micro-controllers that could help H.264 encoding through USB. I gonna find a link about it.

nonoitall
27th March 2007, 23:13
Yeah, that's kinda what I thought about Avivo. About a year ago they said the Linux drivers supported Avivo, but neglected to mention just what features of it were actually available.

What about articles like this one (http://www.anandtech.com/video/showdoc.aspx?i=2886&p=2) that say even an (unassisted) Core 2 @ 2.4GHz can't handle some Blu-ray content without dropping frames. This is the source of my confusion. :) It seems like one side is saying software decoding on an old 2.8GHz Pentium 4 will work fine, while the other side is saying a 2.4GHz Core 2 with a GeForce 8800 GTX is barely adequate. What's up with that?

nm
28th March 2007, 01:06
What about articles like this one (http://www.anandtech.com/video/showdoc.aspx?i=2886&p=2) that say even an (unassisted) Core 2 @ 2.4GHz can't handle some Blu-ray content without dropping frames. This is the source of my confusion. :) It seems like one side is saying software decoding on an old 2.8GHz Pentium 4 will work fine, while the other side is saying a 2.4GHz Core 2 with a GeForce 8800 GTX is barely adequate. What's up with that?
Usually people don't have high-bitrate 1080i/p content to decode. They download Apple's movie trailers which are very easy on the CPU and conclude that any software decoder (except Quicktime) is fast enough even on an older machine. However, the other side is also drawing false conclusions since they usually don't use the fastest software decoders available such as CoreAVC. That is understandable because Blu-ray/HD-DVD video players don't support all the good decoders anyway (because of DRM).

nonoitall
28th March 2007, 02:04
So, with default options on Mplayer (no filter-skipping or other potentially quality-sacrificing options) what would you say is required to play Blu-ray and HD-DVD video without skipping frames? (DRM aside.) Obviously, without hardware acceleration, the graphics card doesn't matter a whole lot, so that just leaves the CPU.

nm
28th March 2007, 09:36
I don't think any currently available CPU is fast enough when using a single-threaded decoder like the one in libavcodec is. If you use CoreAVC in MPlayer, any Core 2 Duo should be enough for most titles. However, this is not based on any actual testing with high-bitrate material, just what I've heard people saying.

nonoitall
28th March 2007, 22:16
Okay, well thanks for your insights. What about with a few slightly quality-sacrificing settings, like skiploopfilter=bidir and fast? Think it would still skip on some titles regardless of the CPU? Anyway, I guess I'll just have to find some suitably complex video and try it out myself. :)