Talk:XvMC

From MythTV

Jump to: navigation, search

Contents

Wikipedia.org article expansion

The wikipedia.org article on XvMC needs to be expanded and cleaned up: http://en.wikipedia.org/wiki/X-Video_Motion_Compensation

MySQL access

Shouldn't MySQL be accessed as the mythtv user, using the password in /etc/mythtv/mysql.txt? --Jrr 19:53, 3 May 2007 (UTC)

From the command line, it doesn't matter. Either one works. Mythre 17:24, 4 May 2007 (UTC)

Cleanup intro

The lede on this piece should say what XvMC *is*, not just what it does. Is it a driver feature, an X server feature, a feature of video cards...? --Baylink 15:07, 16 February 2006 (UTC)

I added some text to the Software section to address this. Is that what you're looking for? --Trevarthan 03:05, 17 February 2006 (UTC)

The way HDTV is worded is a bit confusing: "when playing High Definition content, abbreviated HDTV, or more commonly just HD". When I read this, I was thinking "what is 'abbreviated HDTV'?" I thought it was talking about lower resolution HDTV, like EDTV/480P. I finally realized the author was explaining the HDTV acronym. I don't really think this is necessary. Most people know what HDTV is these days, and certainly anyone technical enough to be looking into hardware acceleration of MythTV would know what HDTV is. If you want to keep the explanation, at least put it in parentheses or reword it to make it clear that it is explaining the previous acronym. Or, just make a link on "HDTV", pointing to a wikipedia entry explaining what it is (that seems to be more the norm in wikis). The same applies to the SD definition.

"Software" section inaccurate: "XvMC is a software library provided by the X11 system to provide user applications with a standard Application Programming Interface, or API, to hardware specific features." XvMC is not the library, it is only the API that each proprietary hardware must plug into, using their XvMC library. I think something more accurate would be: XvMC is an API within the X11 system, which allows compute intensive operations in video decoding to be offloaded to hardware. The library to integrate the hardware acceleration must be developed for each GPU, interfacing the proprietary hardware to the standard XvMC API.

How's that for cleaning up the HDTV and SDTV references? --Gregturn 00:20, 23 February 2006 (UTC)
Looks Good!

Openchrome needs more info

The VIA Unichrome chipsets have an additional XvMC implementation over and above the normal IDCT (Inverse Discrete Cosine Transform)/MC (Motion Compensation). This is known as VLD (Variable Length Decoder) acceleration (also known as slice level acceleration). With a Unichrome Pro chipset it is possible to achieve HD resolution MPEG2 playback even on low power/low speed Epia processors (~900Mhz).

Currently only VLD level acceleration is supported with the openchrome driver although the chipsets also provide IDCT/MC acceleration.

Support for the Unichrome hardware acceleration is provided by the OpenChrome drivers: http://www.openchrome.org

Information on support of the various chipsets is available here: http://wiki.openchrome.org/tikiwiki/tiki-index.php?page=Supported+hardware+and+caveats

Info on XvMC in Openchrome: http://wiki.openchrome.org/tikiwiki/tiki-index.php?page=How+all+driver+components+fit+together

Other items that could be addressed

  • MacOS Hardware acceleration recently added to SVN
  • XvMC Related Settings in MythTV (settings on the same page as XvMC in Setup, and have been recommended to change for better playback on the lists): realtime priority threads, Use video as timebase, Extra Audio Buffering
  • XvMC Wrapper -- function & when used?
  • Improvements in Intel XvMC drivers. G965/X3000 supports iDCT offload. Driver support?
  • Acceleration of MPEG4/H.264, WMV9, etc supported in many chips?
  • I think that some references should be given in order to get XvMC working with nVidia propietary drivers. I'm currently having a nightmare! and I don't have a clue --Josesuarez 01:09, 29 November 2006 (CET)

Jitter

When I enable XvMC on my Nvidia 5200 card it causes the LiveTV picture to jitter or jump up and down at the bottom of the screen (LCD TV). I am using the Nvidia proprietary drivers and I have followed the instructions for modifying the X config and mythconverge database. --Bill 05:42, 4 March 2006 (UTC)

Hardware acceleration processes not yet supported by XvMC

XvMC does have the potential for more than it currently features it supports today. Modern graphic processors (since the DirectX 9 generation and newer) support more than just accelerating motion compensation and iDCT, and they can support more video formats than only MPEG-2 as XvMC does today. NVIDIA's PureVideo Technology and ATI's AVIVO Technology support hardware accelerated decoding for WMV9, VC-1, and H.264 video, (as well as for MPEG-2). Some newer Intel chipsets also support hardware acceleration beyond MPEG-2. Unfortunately, neither NVIDIA or ATI have yet to open up those technologies to Linux nor the API documentations to the open source community, and no publicly known attempt to reverse engineer access to those APIs have been made.

As a temporary (or permanent) solution to this, shaders in and/or Cg code could be written for these processes and added to the XvMC library to gain some of the additional advantages that GPU assisted video decoding brings and Shader Model 3.0 based GPUs can support today. (Best would be if FFmpeg was used as a reference codec and player/utility). Both NVIDIA and ATI have extensive tools for creating and maintaining the process of developing shaders easier than it has been in the past.

Processes that can be accelerated for most video formats

  • Motion compensation (mo comp)
  • Inverse Discrete Cosine Transform (iDCT)
    • Inverse Telecine 3:2 and 2:2 pull-down correction
  • Inverse modified discrete cosine transform (iMDCT)
  • in-loop deblocking
  • intra-frame prediction
  • inverse quantization (IQ)
  • Variable Length Decoding (VLD), more commonly known as slice level acceleration
  • Spatial-Temporal De-Interlacing
    • Plus automatic interlace/progressive source detection
  • Bitstream processing (CAVLC/CABAC)

Request made to NVIDIA to open up their PureVideo API

http://forums.nvidia.com/index.php?showtopic=35695 http://forums.nvidia.com/index.php?showtopic=35698

Personal tools