[Mesa-dev] Wanna try XvMC on R600 hardware?

Christian König deathsimple at vodafone.de
Mon Oct 25 14:46:09 PDT 2010


Hi,

some of you probably noticed that I was working on getting the XvMC
state tracker in the pipe-video branch running with the r600 gallium
driver. It was quite a success, but I still have some unresolved
problems and need some feedback/new ideas with that. 

Beside from the current limitations of the state tracker implementation
I have the following problems still remaining:
1. Initialisation of r600 doesn't seem to work 100% reliable, so only 3
of 4 tries to play a video are working right.
2. You see only garbage on the first few frames.
3. Motion compensation on the bottom of the screen doesn't work 100%
some times.

The following steps are needed to get it working:
1. git clone git://anongit.freedesktop.org/~deathsimple/xf86-video-ati
2. Compile and install the modified xf86-video-ati driver
3. Restart X and make sure the driver works correctly

4. git clone git://anongit.freedesktop.org/~deathsimple/xvmc-r600
5. cd xvmc-r600 && git checkout pipe-video
6. ./configure --enable-gallium-r600 --with-state-trackers=xorg,xorg/xvmc --enable-gallium-g3dvl
7. make

If everything works right you now should have an
lib/gallium/libXvMCg3dvl.so.1.0.
Edit (or create) /etc/XvMCConfig so it contains the full path to the
newly created libXvMCg3dvl.

Start mplayer with "-vo xvmc -vc ffmpeg12mc" and a MPEG2 codec video.

Please be aware that the XvMC state tracker only implements the motion
compensation part of the video pipeline and then only some flavours of
them. So it won't work with every MPEG2 flavour, but at least my plain
old DVD VOBs does.

It's only the first small step, but hey we have to start somewhere and
there is already somebody working on the next part - doing iDCT in
shaders.

Christian.



More information about the mesa-dev mailing list