summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Stembridge <jstembridge@users.sourceforge.net>2003-05-02 00:46:20 +0000
committerJames Stembridge <jstembridge@users.sourceforge.net>2003-05-02 00:46:20 +0000
commitbaaebc00d572c88b30bd5978a68074673f7bbde1 (patch)
tree937dd3250d6869320822fa633237bae3e70ed823
parentab83f5e619eef2622e0c62375759dbded3d6f561 (diff)
downloadxine-lib-baaebc00d572c88b30bd5978a68074673f7bbde1.tar.gz
xine-lib-baaebc00d572c88b30bd5978a68074673f7bbde1.tar.bz2
add support for rgb intensity controls
CVS patchset: 4744 CVS date: 2003/05/02 00:46:20
-rw-r--r--src/video_out/video_out_vidix.c49
1 files changed, 46 insertions, 3 deletions
diff --git a/src/video_out/video_out_vidix.c b/src/video_out/video_out_vidix.c
index d0a751bd8..69d1b3127 100644
--- a/src/video_out/video_out_vidix.c
+++ b/src/video_out/video_out_vidix.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_vidix.c,v 1.39 2003/04/23 10:49:48 jstembridge Exp $
+ * $Id: video_out_vidix.c,v 1.40 2003/05/02 00:46:20 jstembridge Exp $
*
* video_out_vidix.c
*
@@ -59,8 +59,9 @@
#include "xineutils.h"
#include "vo_scale.h"
-#undef LOG
-
+/*
+#define LOG
+*/
#define NUM_FRAMES 3
@@ -786,6 +787,26 @@ static void vidix_db_callback(vo_driver_t *this_gen, xine_cfg_entry_t *entry) {
}
+static void vidix_rgb_callback(vo_driver_t *this_gen, xine_cfg_entry_t *entry) {
+ int err;
+ vidix_driver_t *this = (vidix_driver_t *) this_gen;
+
+ this->vidix_eq.cap = VEQ_CAP_RGB_INTENSITY;
+
+ if(!strcmp(entry->key, "video.vidix_red_intensity")) {
+ this->vidix_eq.red_intensity = entry->num_value;
+ } else if(!strcmp(entry->key, "video.vidix_green_intensity")) {
+ this->vidix_eq.green_intensity = entry->num_value;
+ } else if(!strcmp(entry->key, "video.vidix_blue_intensity")) {
+ this->vidix_eq.blue_intensity = entry->num_value;
+ }
+
+ if((err = vdlPlaybackSetEq(this->vidix_handler, &this->vidix_eq)))
+ if(this->xine->verbosity >= XINE_VERBOSITY_LOG)
+ printf("video_out_vidix: can't set rgb intensity: %s\n", strerror(err));
+}
+
+
static void vidix_get_property_min_max (vo_driver_t *this_gen,
int property, int *min, int *max) {
@@ -926,6 +947,28 @@ static vidix_driver_t *open_plugin (video_driver_class_t *class_gen) {
this->props[VO_PROP_HUE].min = -1000;
this->props[VO_PROP_HUE].max = 1000;
}
+
+ if(this->vidix_eq.cap & VEQ_CAP_RGB_INTENSITY) {
+ this->vidix_eq.red_intensity = config->register_range(config,
+ "video.vidix_red_intensity", 0, -1000, 1000,
+ "red intensity", NULL, 10,
+ (void*) vidix_rgb_callback, this);
+
+ this->vidix_eq.green_intensity = config->register_range(config,
+ "video.vidix_green_intensity", 0, -1000, 1000,
+ "green intensity", NULL, 10,
+ (void*) vidix_rgb_callback, this);
+
+ this->vidix_eq.blue_intensity = config->register_range(config,
+ "video.vidix_blue_intensity", 0, -1000, 1000,
+ "blue intensity", NULL, 10,
+ (void*) vidix_rgb_callback, this);
+
+ if((err = vdlPlaybackSetEq(this->vidix_handler, &this->vidix_eq)))
+ if(this->xine->verbosity >= XINE_VERBOSITY_LOG)
+ printf("video_out_vidix: can't set rgb intensity: %s\n",
+ strerror(err));
+ }
}
}