[MPlayer-dev-eng] [FIX] tdfx_vid driver for newer kernels (tested with 2.6.17)

Bernhard Gruber b-gruber at gmx.de
Sat Dec 23 20:26:16 CET 2006


Hi,

I wanted to use the tdfx_vid driver with a current kernel (2.6.17 to be specific).
However, it did not work out of the box. I had to change the Makefile as well
as the tdfx_vid.c file in order to get it working again (some functions don't
exist anymore in newer kernels). Now it's running quite good here. Unfortunately,
I could not figure out one thing: There are two calculations in the module which
use floating point operations (the result is casted to an integer anyway but
the division was made using floats before). I could not compile the module until
I removed the cast to the double variables. I did not exactly understand what
these lines calculate (it seems like a kind of screen offset of the overlay?) but
couldn't find any negative side effects as far as I tested.

The only drawback I found was, that I get quite a lot of horizontal "lines" in
movies on my Voodoo3 3000 when there's a lot of motion in a scene (it seems like
the video above this fictious lines are a frame further than the video below
them). The XV-driver is hell slow here (HDTV videos don't even play without
stuttering whereas the tdfx_vid-driver only needs 60% CPU usage) but these lines
appear a little bit less. Has anoyne experienced such effects or knows how to
solve that? As already said: I also have this using the XV driver so it should
not be an issue with tdfx_vid itself...perhaps a general problem of the Voodoo3?

Could anyone look over my file (the issue with the floating point arithmetic is
marked with a "FIXME"-comment) and perhaps merge it into CVS if it's
ok?
Note: The Makefile is only for this module; the mga driver is not compiled and
also seems to be incompatible with current kernels...

I put up the two files here:
http://www-nw.uni-regensburg.de/~.grb19435.5.stud.uni-regensburg.de/tdfx_vid.tar
Usage:
1. Copy it in the drivers folder and do a "make" and "make install"
2. "mknod /dev/tdfx_vid c 178 0" and "modprobe tdfx_vid" to activate
3. Now use mplayer with "-vo tdfx_vid" or "-vo xover:tdfx_vid"

Bernhard Gruber





More information about the MPlayer-dev-eng mailing list