Hi, Intel has recently open sourced otion compensation code (XvMC) for their i915/i945 integrated graphics chips. See: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-intel.git;a=blob;hb=xvmc-i915;f=src/xvmc/I915XvMC.c XvMC API was intended for MPEG{2,4} class of codecs - so it can not be used for Theora as-is. However, could at least some parts of it such as hardware accelerated YUV->RGB conversion be utilized, by exposing them through custom interface? Regards Zoran
Zoran Tomicic wrote:> Hi, > > Intel has recently open sourced otion compensation code (XvMC) for > their i915/i945 integrated graphics chips. > > See: > http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-intel.git;a=blob;hb=xvmc-i915;f=src/xvmc/I915XvMC.c > > > XvMC API was intended for MPEG{2,4} class of codecs - so it can not be > used for Theora as-is. However, could at least some parts of it such as > hardware accelerated YUV->RGB conversion be utilized, by exposing them > through custom interface?Well, the RGB->YUV conversion is not part of libtheora in the first place precisely because one usually wants to take advantage of some form of hardware acceleration, and the means of achieving this vary drastically from platform to platform. This is not a codec-specific problem, and is generally handled at a higher layer (e.g., in a media framework like gstreamer). I don't know enough about the XvMC API to say what other parts would be useful to Theora, if any.
On Thu, 26 Jul 2007, Zoran Tomicic wrote:> Intel has recently open sourced otion compensation code (XvMC) for > their i915/i945 integrated graphics chips. > > XvMC API was intended for MPEG{2,4} class of codecs - so it can not be > used for Theora as-is. However, could at least some parts of it such as > hardware accelerated YUV->RGB conversion be utilized, by exposing them > through custom interface?All decent media players support hardware YUV->RGB and scaling (Xv), even if they don't support XvMC. The only other codec-independent part of XvMC is deinterlacing, and Theora isn't interlaced. So no I don't think there's anything to be gained from using XvMC. --Loren Merritt