<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Hi, list!<br>
<br>
Anybody opposed to this going in it's current form? If not, it will be
enabled for<br>
linux and gcc, where I know the -nostartfiles option will work.<br>
<br>
/Thomas<br>
<br>
<br>
<br>
Thomas Hellström wrote:<br>
<blockquote type="cite" cite="mid41423646.8000701@shipmail.org">Hi!
  <br>
  <br>
I've attached a patch for a proposal of a libXvMC wrapper.
  <br>
The purpose of the wrapper is to allow XvMC clients to link to
different
  <br>
hardware-specific dynamic XvMC libraries runtime. Contrary to the
situation with libGL.so and the dri 3D drivers there is no builtin
mechanism for this.
  <br>
  <br>
Current available XvMC libs include
  <br>
libI810XvMC.so                       (in the Xorg tree)
  <br>
libXvMCNVIDIA.so                  (Closed-source from Nvidia site)
  <br>
libviaXvMC.so                         (With a nonstandard VLD extension
available from the unichrome project)
  <br>
and the savage XvMC code, which I haven't looked closer at.
  <br>
  <br>
Up to now the option has been to link to either of these (Xine, for
example, links to the Nvidia driver) and this will mean the lib has to
be present at runtime and the code will only work with Nvidia hardware.
  <br>
  <br>
The proposed solution eliminates this problem by providing a
libXvMCW.so, which, at runtime, dlopens the library listed in the file
<configdir>XvMCConfig and resolves the  necessary symbols,
including , if present, the nonstandard VLD extension. This will make
it possible for codes implementing this extension to also runtime link
to libraries not including it.
  <br>
  <br>
Packagers wanting to include XvMC support for a media player can easily
do so for all hardware that supports it, without having to include the
HW specific libraries.
  <br>
  <br>
I've tested it with with linux, xine and the via (xine-xxmc) and Nvidia
(xine-xvmc) drivers and it works as expected. It also loads and fires
up the I810 driver but unfortunately I have no hardware to test it
against.
  <br>
  <br>
Caveats could be portability: linking the lib requires the
-nostartfiles gcc flag. I'm also not sure which implementations of
dlopen supports library wrapping in this way.
  <br>
  <br>
Comments / Opinions would be appreciated. The diff is against current
Xorg CVS, and also includes the
  <br>
VLD extension header.
  <br>
  <br>
Thomas Hellström
  <br>
The Unichrome project
  <br>
  <br>
  <pre wrap="">
<hr width="90%" size="4">
_______________________________________________
xorg mailing list
<a class="moz-txt-link-abbreviated" href="mailto:xorg@freedesktop.org">xorg@freedesktop.org</a>
<a class="moz-txt-link-freetext" href="http://freedesktop.org/mailman/listinfo/xorg">http://freedesktop.org/mailman/listinfo/xorg</a>
  </pre>
</blockquote>
<br>
</body>
</html>