HTPCHouse.com

  • Increase font size
  • Default font size
  • Decrease font size
Home Configuration Unresolved issues

Unresolved HTPC design issues

E-mail Print PDF

Although my HTPC setup is performing well for quite some time, there are still some areas where I see possible improvements, but I still didn't figured out how to accomplish them. As usual, if you do or just have some crazy idea what should be possible, This e-mail address is being protected from spambots. You need JavaScript enabled to view it .

XvMC

XvMC (X Video Motion Compensation) is extension for X server that offloads portions of video decoding process to the GPU video hardware. In other words, graphic card becomes responsible for decoding MPEG streams what lowers main CPU usage. All major video players on Linux, including MythTV and Mplayer, utilizies support for XvMC and in my experience it really offloads ~5% of CPU usage on my Centrino (Dothan) Pentiom M @ 1,75 MHz. It's not much, but is something, especially when I'm using it in MythTV that constantly decodes TV playback.

Unfortunatelly, it seems that when graphic card is decoding XvMC stream, other Xv ports are unusable. In other words, when I'm using XvMC for MythTV playback, no other Xv application (for example cinema component) can playback video. I don't know if this is Nvidia issue or Xv protocol issue, but I didn't figured out how to use both XvMC and plain Xv ports at the same time.

Hint: On Nvidia, only proprietary driver provides XvMC support, but only after you put the line:

libXvMCNVIDIA_dynamic.so.1

as first line of your /etc/X11/XvMCConfig file.

PureVideo

Nvidia has very decent support for decoding and processing multimedia streams, including H.264 (MPEG-4, aka DivX) which they call PureVideo. Unfortunatelly, as you probably guess, this technology does not have any support in Linux drivers. To be even worse, X architecture does not provide any standard API for using graphic card in such way, since XvMC was designed to assist only in decoding of MPEG-1/2 streams. So, completely new API, called VAAPI or Video Acceleration API is being developed under Intel's roof. But it's in very early stage, so it's not realistic to expect it to be useful anytime soon.

AC3 passthrough

If you have audio amplifier with DolbyDigital decoder, you'll be able to pass raw AC3 streams from DVDs or other video files with surround sound directly through your digital S/PDIF interface to amplifier, which will decode it and play in surround. Unfortunately, like XvMC, only one application can stream AC3 data at the same time and to be even worse, it will fail if any other application is using sound card for any kind of playback. This is completely in contrast with our design of multiple simultaneous components and takes us back in the times of mixerless OSS where only one application could use the audio card. Some kind of AC3 mixing is definitelly needed, or at least support to completely cut off other applications from ALSA devices which would at least allow currently active component to passthrough AC3. Muting mixers of other ALSA soft devices does not help.

 

Last Updated on Sunday, 17 February 2008 16:25