[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xine-cvslog
Subject:    [xine-cvs] HG: xine-lib-1.2: Add more VO_CAP_* to indicate support
From:       Darren Salt <linux () youmustbejoking ! demon ! co ! uk>
Date:       2008-02-25 18:13:26
Message-ID: bc1842ea9acc2f300fb5.1203960231 () hg ! debian ! org
[Download RAW message or body]

# HG changeset patch
# User Darren Salt <linux@youmustbejoking.demon.co.uk>
# Date 1203960231 0
# Node ID bc1842ea9acc2f300fb57a047a6b2419655c88b5
# Parent  ebb0d5507d3208f8e73af78f912230719d37830a
Add more VO_CAP_* to indicate support for colour controls & zoom properties.

diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a ChangeLog
--- a/ChangeLog	Mon Feb 25 17:23:51 2008 +0000
+++ b/ChangeLog	Fri Feb 15 09:33:51 2008 +0100
@@ -57,6 +57,8 @@ xine-lib (1.1.90) (Unreleased)
     please use DirectFB or VIDIX instead.
   * The Xv and XxMC video output plugins now support Xv port selection.
     (XvMC does not, at present.)
+  * Report more video output capabilities via (port)->get_capabilities():
+    colour controls, zooming, colour keying.
 
 xine-lib (1.1.11) unreleased
   * Reworked the plugin directory naming so that external plugins don't have
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a include/xine/video_out.h
--- a/include/xine/video_out.h	Mon Feb 25 17:23:51 2008 +0000
+++ b/include/xine/video_out.h	Fri Feb 15 09:33:51 2008 +0100
@@ -282,7 +282,14 @@ struct xine_video_port_s {
 #define VO_CAP_UNSCALED_OVERLAY       0x00000010 /* driver can blend overlay at \
output resolution */  #define VO_CAP_CROP                   0x00000020 /* driver can \
crop */  #define VO_CAP_XXMC                   0x00000040 /* driver can use extended \
                XvMC */
-
+#define VO_CAP_HUE                    0x00010000
+#define VO_CAP_SATURATION             0x00020000
+#define VO_CAP_CONTRAST               0x00040000
+#define VO_CAP_BRIGHTNESS             0x00080000
+#define VO_CAP_COLORKEY               0x00100000
+#define VO_CAP_AUTOPAINT_COLORKEY     0x00200000
+#define VO_CAP_ZOOM_X                 0x00400000
+#define VO_CAP_ZOOM_Y                 0x00800000
 
 /*
  * vo_driver_s contains the functions every display driver
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_directfb.c
--- a/src/video_out/video_out_directfb.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_directfb.c	Fri Feb 15 09:33:51 2008 +0100
@@ -1742,6 +1742,20 @@ static void directfb_frame_output_cb (vo
 
 /*** DirectFB plugin functions ***/ 
 
+static inline int convert_caps (DFBDisplayLayerCapabilities caps)
+{
+  int vo = VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_CROP | VO_CAP_ZOOM_X | VO_CAP_ZOOM_Y;
+  if (caps & DLCAPS_HUE)
+    vo |= VO_CAP_HUE;
+  if (caps & DLCAPS_SATURATION)
+    vo |= VO_CAP_SATURATION;
+  if (caps & DLCAPS_CONTRAST)
+    vo |= VO_CAP_CONTRAST;
+  if (caps & DLCAPS_BRIGHTNESS)
+    vo |= VO_CAP_BRIGHTNESS;
+  return vo;
+}
+
 static vo_driver_t *open_plugin_fb (video_driver_class_t *class_gen, const void \
*visual_gen) {  directfb_class_t  *class  = (directfb_class_t *) class_gen;
   directfb_driver_t *this;
@@ -1821,7 +1835,7 @@ static vo_driver_t *open_plugin_fb (vide
     return NULL;
   }
   
-  this->capabilities      = VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_CROP;
+  this->capabilities      = convert_caps (this->caps);
   /* set default configuration */
   this->buffermode        = 1; // double
   this->vsync             = 0;
@@ -2000,7 +2014,7 @@ static vo_driver_t *open_plugin_x11 (vid
   xprintf (this->xine, XINE_VERBOSITY_LOG,
           _("video_out_directfb: using display layer #%d.\n"), id);
   
-  this->capabilities      = VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_CROP;
+  this->capabilities      = convert_caps (this->caps);
   /* set default configuration */
   this->buffermode        = 1; // double
   this->vsync             = 0;
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a src/video_out/video_out_fb.c
--- a/src/video_out/video_out_fb.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_fb.c	Fri Feb 15 09:33:51 2008 +0100
@@ -155,7 +155,7 @@ typedef struct
 
 static uint32_t fb_get_capabilities(vo_driver_t *this_gen)
 {
-  return VO_CAP_YV12 | VO_CAP_YUY2;
+  return VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_BRIGHTNESS | VO_CAP_CONTRAST | \
VO_CAP_SATURATION;  }
 
 static void fb_frame_proc_slice(vo_frame_t *vo_img, uint8_t **src)
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_opengl.c
--- a/src/video_out/video_out_opengl.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_opengl.c	Fri Feb 15 09:33:51 2008 +0100
@@ -1200,7 +1200,7 @@ static void *render_run (opengl_driver_t
 
 static uint32_t opengl_get_capabilities (vo_driver_t *this_gen) {
 /*   opengl_driver_t *this = (opengl_driver_t *) this_gen; */
-  uint32_t capabilities = VO_CAP_YV12 | VO_CAP_YUY2;
+  uint32_t capabilities = VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_BRIGHTNESS | \
VO_CAP_CONTRAST | VO_CAP_SATURATION;  
   /* TODO: somehow performance goes down during the first few frames */
 /*   if (this->xoverlay) */
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_pgx64.c
--- a/src/video_out/video_out_pgx64.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_pgx64.c	Fri Feb 15 09:33:51 2008 +0100
@@ -552,8 +552,7 @@ static uint32_t pgx64_get_capabilities(v
 {
   /*pgx64_driver_t *this = (pgx64_driver_t *)(void *)this_gen;*/
 
-  return VO_CAP_YV12 |
-         VO_CAP_YUY2;
+  return VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_BRIGHTNESS | VO_CAP_SATURATION;
 }
 
 static vo_frame_t *pgx64_alloc_frame(vo_driver_t *this_gen)
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_vidix.c
--- a/src/video_out/video_out_vidix.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_vidix.c	Fri Feb 15 09:33:51 2008 +0100
@@ -964,7 +964,7 @@ static vidix_driver_t *open_plugin (vide
   this->config            = config;
   
   this->got_frame_data    = 0;
-  this->capabilities      = VO_CAP_CROP;
+  this->capabilities      = VO_CAP_CROP | VO_CAP_ZOOM_X | VO_CAP_ZOOM_Y;
 
   /* Find what equalizer flags are supported */
   if(this->vidix_cap.flags & FLAG_EQUALIZER) {
@@ -973,24 +973,28 @@ static vidix_driver_t *open_plugin (vide
 	      "video_out_vidix: couldn't get equalizer capabilities: %s\n", strerror(err));
     } else {
       if(this->vidix_eq.cap & VEQ_CAP_BRIGHTNESS) {
+        this->capabilities |= VO_CAP_BRIGHTNESS;
         this->props[VO_PROP_BRIGHTNESS].value = 0;
         this->props[VO_PROP_BRIGHTNESS].min = -1000;
         this->props[VO_PROP_BRIGHTNESS].max = 1000;
      }
       
       if(this->vidix_eq.cap & VEQ_CAP_CONTRAST) {
+        this->capabilities |= VO_CAP_CONTRAST;
         this->props[VO_PROP_CONTRAST].value = 0;
         this->props[VO_PROP_CONTRAST].min = -1000;
         this->props[VO_PROP_CONTRAST].max = 1000;
       }
       
       if(this->vidix_eq.cap & VEQ_CAP_SATURATION) {
+        this->capabilities |= VO_CAP_SATURATION;
         this->props[VO_PROP_SATURATION].value = 0;
         this->props[VO_PROP_SATURATION].min = -1000;
         this->props[VO_PROP_SATURATION].max = 1000;
       }
             
       if(this->vidix_eq.cap & VEQ_CAP_HUE) {
+        this->capabilities |= VO_CAP_HUE;
         this->props[VO_PROP_HUE].value = 0;
         this->props[VO_PROP_HUE].min = -1000;
         this->props[VO_PROP_HUE].max = 1000;
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_xcbshm.c
--- a/src/video_out/video_out_xcbshm.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_xcbshm.c	Fri Feb 15 09:33:51 2008 +0100
@@ -221,7 +221,7 @@ static void dispose_ximage(xshm_driver_t
 
 static uint32_t xshm_get_capabilities (vo_driver_t *this_gen) {
   xshm_driver_t *this = (xshm_driver_t *) this_gen;
-  uint32_t capabilities = VO_CAP_YV12 | VO_CAP_YUY2;
+  uint32_t capabilities = VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_BRIGHTNESS | \
VO_CAP_CONTRAST | VO_CAP_SATURATION;  
   if( this->xoverlay )
     capabilities |= VO_CAP_UNSCALED_OVERLAY;
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_xcbxv.c
--- a/src/video_out/video_out_xcbxv.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_xcbxv.c	Fri Feb 15 09:33:51 2008 +0100
@@ -1234,7 +1234,7 @@ static vo_driver_t *open_plugin(video_dr
 
   this->gc                      = xcb_generate_id(this->connection);
   xcb_create_gc(this->connection, this->gc, this->window, 0, NULL);
-  this->capabilities            = VO_CAP_CROP;
+  this->capabilities            = VO_CAP_CROP | VO_CAP_ZOOM_X | VO_CAP_ZOOM_Y;
   this->use_shm                 = 1;
   this->use_colorkey            = 0;
   this->colorkey                = 0;
@@ -1295,28 +1295,34 @@ static vo_driver_t *open_plugin(video_dr
 	  if (!strncmp(xcb_xv_adaptor_info_name(adaptor_it.data), "NV", 2)) {
             xprintf (this->xine, XINE_VERBOSITY_NONE, LOG_MODULE ": ignoring broken \
XV_HUE settings on NVidia cards\n");  } else {
+	    this->capabilities |= VO_CAP_HUE;
 	    xv_check_capability (this, VO_PROP_HUE, attribute_it.data,
 			         adaptor_it.data->base_id,
 			         NULL, NULL, NULL);
 	  }
 	} else if(!strcmp(name, "XV_SATURATION")) {
+	  this->capabilities |= VO_CAP_SATURATION;
 	  xv_check_capability (this, VO_PROP_SATURATION, attribute_it.data,
 			       adaptor_it.data->base_id,
 			       NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_BRIGHTNESS")) {
+	  this->capabilities |= VO_CAP_BRIGHTNESS;
 	  xv_check_capability (this, VO_PROP_BRIGHTNESS, attribute_it.data,
 			       adaptor_it.data->base_id,
 			       NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_CONTRAST")) {
+	  this->capabilities |= VO_CAP_CONTRAST;
 	  xv_check_capability (this, VO_PROP_CONTRAST, attribute_it.data,
 			       adaptor_it.data->base_id,
 			       NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_COLORKEY")) {
+	  this->capabilities |= VO_CAP_COLORKEY;
 	  xv_check_capability (this, VO_PROP_COLORKEY, attribute_it.data,
 			       adaptor_it.data->base_id,
 			       "video.device.xv_colorkey",
 			       VIDEO_DEVICE_XV_COLORKEY_HELP);
 	} else if(!strcmp(name, "XV_AUTOPAINT_COLORKEY")) {
+	  this->capabilities |= VO_CAP_AUTOPAINT_COLORKEY;
 	  xv_check_capability (this, VO_PROP_AUTOPAINT_COLORKEY, attribute_it.data,
 			       adaptor_it.data->base_id,
 			       "video.device.xv_autopaint_colorkey",
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_xshm.c
--- a/src/video_out/video_out_xshm.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_xshm.c	Fri Feb 15 09:33:51 2008 +0100
@@ -314,7 +314,7 @@ static void dispose_ximage (xshm_driver_
 
 static uint32_t xshm_get_capabilities (vo_driver_t *this_gen) {
   xshm_driver_t *this = (xshm_driver_t *) this_gen;
-  uint32_t capabilities = VO_CAP_YV12 | VO_CAP_YUY2;
+  uint32_t capabilities = VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_BRIGHTNESS | \
VO_CAP_CONTRAST | VO_CAP_SATURATION;  
   if( this->xoverlay )
     capabilities |= VO_CAP_UNSCALED_OVERLAY;
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a src/video_out/video_out_xv.c
--- a/src/video_out/video_out_xv.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_xv.c	Fri Feb 15 09:33:51 2008 +0100
@@ -1275,7 +1275,7 @@ static vo_driver_t *open_plugin_2 (video
   LOCK_DISPLAY(this);
   this->gc                      = XCreateGC (this->display, this->drawable, 0, \
NULL);  UNLOCK_DISPLAY(this);
-  this->capabilities            = VO_CAP_CROP;
+  this->capabilities            = VO_CAP_CROP | VO_CAP_ZOOM_X | VO_CAP_ZOOM_Y;
   this->use_shm                 = 1;
   this->use_colorkey            = 0;
   this->colorkey                = 0;
@@ -1342,28 +1342,34 @@ static vo_driver_t *open_plugin_2 (video
 	  if (!strncmp(adaptor_info[adaptor_num].name, "NV", 2)) {
             xprintf (this->xine, XINE_VERBOSITY_NONE, LOG_MODULE ": ignoring broken \
XV_HUE settings on NVidia cards\n");  } else {
+	    this->capabilities |= VO_CAP_HUE;
 	    xv_check_capability (this, VO_PROP_HUE, attr[k],
 			         adaptor_info[adaptor_num].base_id,
 			         NULL, NULL, NULL);
 	  }
 	} else if(!strcmp(name, "XV_SATURATION")) {
+	  this->capabilities |= VO_CAP_SATURATION;
 	  xv_check_capability (this, VO_PROP_SATURATION, attr[k],
 			       adaptor_info[adaptor_num].base_id,
 			       NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_BRIGHTNESS")) {
+	  this->capabilities |= VO_CAP_BRIGHTNESS;
 	  xv_check_capability (this, VO_PROP_BRIGHTNESS, attr[k],
 			       adaptor_info[adaptor_num].base_id,
 			       NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_CONTRAST")) {
+	  this->capabilities |= VO_CAP_CONTRAST;
 	  xv_check_capability (this, VO_PROP_CONTRAST, attr[k],
 			       adaptor_info[adaptor_num].base_id,
 			       NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_COLORKEY")) {
+	  this->capabilities |= VO_CAP_COLORKEY;
 	  xv_check_capability (this, VO_PROP_COLORKEY, attr[k],
 			       adaptor_info[adaptor_num].base_id,
 			       "video.device.xv_colorkey",
 			       VIDEO_DEVICE_XV_COLORKEY_HELP);
 	} else if(!strcmp(name, "XV_AUTOPAINT_COLORKEY")) {
+	  this->capabilities |= VO_CAP_AUTOPAINT_COLORKEY;
 	  xv_check_capability (this, VO_PROP_AUTOPAINT_COLORKEY, attr[k],
 			       adaptor_info[adaptor_num].base_id,
 			       "video.device.xv_autopaint_colorkey",
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_xvmc.c
--- a/src/video_out/video_out_xvmc.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_xvmc.c	Fri Feb 15 09:33:51 2008 +0100
@@ -1332,7 +1332,7 @@ static vo_driver_t *open_plugin (video_d
   XLockDisplay(this->display);
   this->gc                 = XCreateGC(this->display, this->drawable, 0, NULL);
   XUnlockDisplay(this->display);
-  this->capabilities       = VO_CAP_XVMC_MOCOMP | VO_CAP_CROP;
+  this->capabilities       = VO_CAP_XVMC_MOCOMP | VO_CAP_CROP | VO_CAP_ZOOM_X | \
VO_CAP_ZOOM_Y;  
   this->surface_type_id    = class->surface_type_id;
   this->max_surface_width  = class->max_surface_width;
@@ -1401,28 +1401,34 @@ static vo_driver_t *open_plugin (video_d
 	  if (!strncmp(adaptor_info[adaptor_num].name, "NV", 2)) {
             xprintf (this->xine, XINE_VERBOSITY_NONE, LOG_MODULE ": ignoring broken \
XV_HUE settings on NVidia cards\n");  } else {
+	    this->capabilities |= VO_CAP_HUE;
 	    xvmc_check_capability (this, VO_PROP_HUE, attr[k],
 				   adaptor_info[adaptor_num].base_id,
 				   NULL, NULL, NULL);
 	  }
 	} else if(!strcmp(name, "XV_SATURATION")) {
+	  this->capabilities |= VO_CAP_SATURATION;
 	  xvmc_check_capability (this, VO_PROP_SATURATION, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 NULL, NULL, NULL);
 	} else if(!strcmp(attr[k].name, "XV_BRIGHTNESS")) {
+	  this->capabilities |= VO_CAP_BRIGHTNESS;
 	  xvmc_check_capability (this, VO_PROP_BRIGHTNESS, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_CONTRAST")) {
+	  this->capabilities |= VO_CAP_CONTRAST;
 	  xvmc_check_capability (this, VO_PROP_CONTRAST, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_COLORKEY")) {
+	  this->capabilities |= VO_CAP_COLORKEY;
 	  xvmc_check_capability (this, VO_PROP_COLORKEY, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 "video.device.xv_colorkey",
 				 VIDEO_DEVICE_XV_COLORKEY_HELP);
 	} else if(!strcmp(name, "XV_AUTOPAINT_COLORKEY")) {
+	  this->capabilities |= VO_CAP_AUTOPAINT_COLORKEY;
 	  xvmc_check_capability (this, VO_PROP_AUTOPAINT_COLORKEY, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 "video.device.xv_autopaint_colorkey",
diff -r bc1842ea9acc2f300fb57a047a6b2419655c88b5 -r \
                ebb0d5507d3208f8e73af78f912230719d37830a \
                src/video_out/video_out_xxmc.c
--- a/src/video_out/video_out_xxmc.c	Mon Feb 25 17:23:51 2008 +0000
+++ b/src/video_out/video_out_xxmc.c	Fri Feb 15 09:33:51 2008 +0100
@@ -2520,7 +2520,7 @@ static vo_driver_t *open_plugin (video_d
   XLockDisplay (this->display);
   this->gc                      = XCreateGC (this->display, this->drawable, 0, \
NULL);  XUnlockDisplay (this->display);
-  this->capabilities            = VO_CAP_CROP;
+  this->capabilities            = VO_CAP_CROP | VO_CAP_ZOOM_X | VO_CAP_ZOOM_Y;
   this->use_shm                 = 1;
   this->use_colorkey            = 0;
   this->colorkey                = 0;
@@ -2584,28 +2584,34 @@ static vo_driver_t *open_plugin (video_d
 	  if (!strncmp(adaptor_info[adaptor_num].name, "NV", 2)) {
             xprintf (this->xine, XINE_VERBOSITY_NONE, LOG_MODULE ": ignoring broken \
XV_HUE settings on NVidia cards\n");  } else {
+	    this->capabilities |= VO_CAP_HUE;
 	    xxmc_check_capability (this, VO_PROP_HUE, attr[k],
 				   adaptor_info[adaptor_num].base_id,
 				   NULL, NULL, NULL);
 	  }
 	} else if(!strcmp(name, "XV_SATURATION")) {
+	  this->capabilities |= VO_CAP_SATURATION;
 	  xxmc_check_capability (this, VO_PROP_SATURATION, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_BRIGHTNESS")) {
+	  this->capabilities |= VO_CAP_BRIGHTNESS;
 	  xxmc_check_capability (this, VO_PROP_BRIGHTNESS, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_CONTRAST")) {
+	  this->capabilities |= VO_CAP_CONTRAST;
 	  xxmc_check_capability (this, VO_PROP_CONTRAST, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 NULL, NULL, NULL);
 	} else if(!strcmp(name, "XV_COLORKEY")) {
+	  this->capabilities |= VO_CAP_COLORKEY;
 	  xxmc_check_capability (this, VO_PROP_COLORKEY, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 "video.device.xv_colorkey",
 				 VIDEO_DEVICE_XV_COLORKEY_HELP);
 	} else if(!strcmp(name, "XV_AUTOPAINT_COLORKEY")) {
+	  this->capabilities |= VO_CAP_AUTOPAINT_COLORKEY;
 	  xxmc_check_capability (this, VO_PROP_AUTOPAINT_COLORKEY, attr[k],
 				 adaptor_info[adaptor_num].base_id,
 				 "video.device.xv_autopaint_colorkey",

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Xine-cvslog mailing list
Xine-cvslog@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xine-cvslog


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic