[Mplayer-cvslog] CVS: main/vidix/drivers nvidia_vid.c,1.12,1.13
Atmosfear
atmos4 at mplayerhq.hu
Tue Oct 14 23:29:54 CEST 2003
Update of /cvsroot/mplayer/main/vidix/drivers
In directory mail:/var/tmp.root/cvs-serv1772/drivers
Modified Files:
nvidia_vid.c
Log Message:
Fix colorkey for xvidix, tested on Riva128 4MB X at 15/16/24bpp (aka 15/15/32 in nvidia_vid)
This is very cool, using mplayer -vo xvidix -ao oss -framedrop -dr movie.avi I can play
640x272 DivX 1MBps on PII 233, 64MB, i440LX, Riva128 4MB AGP, FreeBSD 5.0, XFree 4.2.0,
with little framedrop,
Index: nvidia_vid.c
===================================================================
RCS file: /cvsroot/mplayer/main/vidix/drivers/nvidia_vid.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- nvidia_vid.c 12 Oct 2003 12:55:38 -0000 1.12
+++ nvidia_vid.c 14 Oct 2003 21:29:25 -0000 1.13
@@ -415,18 +415,19 @@
b = chromakey & 0x000000FF;
switch (info->depth) {
case 15:
- key = ((r >> 3) << 10) | ((g >> 3) << 5) | ((b >> 3));
+ key = ((r >> 3) << 10) | ((g >> 3) << 5) | ((b >> 3)) | 0x00008000;
break;
- case 16:
- key = ((r >> 3) << 11) | ((g >> 2) << 5) | ((b >> 3));
+ case 16: // XXX unchecked
+ key = ((r >> 3) << 11) | ((g >> 2) << 5) | ((b >> 3)) | 0x00008000;
break;
- case 24:
- key = chromakey & 0x00FFFFFF;
+ case 24: // XXX unchecked, maybe swap order of masking
+ key = (chromakey & 0x00FFFFFF) | 0x00800000;
break;
case 32:
- key = chromakey;
+ key = chromakey | 0x80000000;
break;
}
+ //printf("[nvidia_vid] depth=%d %08X \n", info->depth, chromakey);
if(!info->use_colorkey)return;
switch (info->chip.arch) {
case NV_ARCH_10:
More information about the MPlayer-cvslog
mailing list