summaryrefslogtreecommitdiffstats
path: root/vidix/drivers
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-10-17 09:18:47 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-10-17 09:18:47 +0000
commit722779f9a0b4e9805ad0378af2ecd135b7ab4a62 (patch)
tree0cba4e25ab59161d9d44d49924285f8c6ca9cb67 /vidix/drivers
parenta34978c3a7ccdcc7b629134461ecffc95ec26364 (diff)
downloadmpv-722779f9a0b4e9805ad0378af2ecd135b7ab4a62.tar.bz2
mpv-722779f9a0b4e9805ad0378af2ecd135b7ab4a62.tar.xz
support for disabling the colorkey
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11160 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix/drivers')
-rw-r--r--vidix/drivers/nvidia_vid.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/vidix/drivers/nvidia_vid.c b/vidix/drivers/nvidia_vid.c
index 260ecaa005..1aab6093b8 100644
--- a/vidix/drivers/nvidia_vid.c
+++ b/vidix/drivers/nvidia_vid.c
@@ -3,7 +3,7 @@
Copyrights 2003 Sascha Sommer. This file is based on sources from
RIVATV (rivatv.sf.net)
Licence: GPL
- WARNING: THIS DRIVER IS IN BETTA STAGE
+ WARNING: THIS DRIVER IS IN BETA STAGE
multi buffer support and TNT2 fixes by Dmitry Baryshkov
*/
@@ -410,6 +410,7 @@ static uint32_t rivatv_overlay_pan (struct rivatv_info *info){
/* Compute and set colorkey depending on the colour depth. */
static void rivatv_overlay_colorkey (rivatv_info* info, unsigned int chromakey){
uint32_t r, g, b, key = 0;
+
r = (chromakey & 0x00FF0000) >> 16;
g = (chromakey & 0x0000FF00) >> 8;
b = chromakey & 0x000000FF;
@@ -428,7 +429,6 @@ static void rivatv_overlay_colorkey (rivatv_info* info, unsigned int chromakey){
break;
}
//printf("[nvidia_vid] depth=%d %08X \n", info->depth, chromakey);
- if(!info->use_colorkey)return;
switch (info->chip.arch) {
case NV_ARCH_10:
case NV_ARCH_20:
@@ -727,7 +727,7 @@ int vixInit(void){
rivatv_enable_PMEDIA(info);
info->next_frame = 0;
- info->use_colorkey = 1;
+ info->use_colorkey = 0;
return 0;
}
@@ -834,6 +834,14 @@ int vixPlaybackOff(void){
}
int vixSetGrKeys( const vidix_grkey_t * grkey){
+ if (grkey->ckey.op == CKEY_FALSE)
+ {
+ info->use_colorkey = 0;
+ printf("[nvidia_vid] colorkeying disabled\n");
+ return 0;
+ }
+
+ info->use_colorkey = 1;
info->vidixcolorkey = ((grkey->ckey.red<<16)|(grkey->ckey.green<<8)|grkey->ckey.blue);
printf("[nvidia_vid] set colorkey 0x%x\n",info->vidixcolorkey);
rivatv_overlay_colorkey(info,info->vidixcolorkey);