[MPlayer-dev-eng] xvmc and nvidia twinview
Ilia Mirkin
imirkin at MIT.EDU
Thu Jan 20 09:37:37 CET 2005
There was a thread earlier on about xvmc getting a BadMatch error, and
it later transpired that the person was using twinview, and it fizzled
out without a solution. I find myself in the same situation, however I
noticed that xine has no problem working with xvmc.
The problem stems from mplayer assuming that there is an XV_COLORKEY
setting on the adapter. Now, though I admit to not having a clue as to
what that parameter means, it seems that if I remove the lines that set
the colorkey information, mplayer works with xvmc just fine.
Here is some information about my setup,
X-Video Extension version 2.2
screen #0
Adaptor #0: "NV17 Video Texture"
number of ports: 1
port base: 145
operations supported: PutImage
supported visuals:
...
number of attributes: 3
"XV_SET_DEFAULTS" (range 0 to 0)
client settable attribute
"XV_ITURBT_709" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 0)
"XV_SYNC_TO_VBLANK" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
maximum XvImage size: 2046 x 2046
and here is the change that I made that makes xvmc seemingly work fine:
in libvo/vo_xvmc.c, the end of init_keycolor becomes
keycolor_handling = AUTOPAINT_COLORKEY;
instead of
rez=XvGetPortAttribute(mDisplay,xv_port, xv_atom, &colorkey);
if(rez == Success){
keycolor = colorkey;
if(keycolor_handling == AUTO_COLORKEY){
keycolor_handling = MANUALFILL_COLORKEY;
}
}
This is of course an improper fix in the long term, but I hope that
someone who understands more about this than I can use this information
to make a proper patch. (e.g. one might query the existence of
XV_COLORKEY first, of maybe the last value of the XInternAtom should be
True... the real problem is that I have no idea what should be done with
the keycolor setting.)
A note about my hardware: GeForceFX 5200, TwinView, 1.0-6629 drivers.
More information about the MPlayer-dev-eng
mailing list