diff --git a/libvo/vo_xvidix.c b/libvo/vo_xvidix.c index 60198e8bdd..57c07a3b05 100644 --- a/libvo/vo_xvidix.c +++ b/libvo/vo_xvidix.c @@ -187,7 +187,6 @@ static void set_window(int force_update) static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format) { - unsigned int fg, bg; XVisualInfo vinfo; XEvent xev; XSizeHints hint; @@ -359,13 +358,16 @@ else } #endif - vidix_grkey_get(&gr_key); - gr_key.key_op = KEYS_PUT; - gr_key.ckey.op = CKEY_TRUE; - gr_key.ckey.red = 255; - gr_key.ckey.green = 0; - gr_key.ckey.blue = 255; - vidix_grkey_set(&gr_key); + if (vidix_grkey_support()) + { + vidix_grkey_get(&gr_key); + gr_key.key_op = KEYS_PUT; + gr_key.ckey.op = CKEY_TRUE; + gr_key.ckey.red = 255; + gr_key.ckey.green = 0; + gr_key.ckey.blue = 255; + vidix_grkey_set(&gr_key); + } set_window(1); diff --git a/libvo/vosub_vidix.c b/libvo/vosub_vidix.c index 29e7ff3615..a2994701c0 100644 --- a/libvo/vosub_vidix.c +++ b/libvo/vosub_vidix.c @@ -190,6 +190,7 @@ int vidix_start(void) printf("vosub_vidix: Can't start playback: %s\n",strerror(err)); return -1; } + vid_eq.brightness = vo_gamma_brightness; vid_eq.saturation = vo_gamma_saturation; vid_eq.contrast = vo_gamma_contrast; @@ -373,6 +374,11 @@ uint32_t vidix_query_fourcc(uint32_t format) return vidix_fourcc.depth != VID_DEPTH_NONE; } +int vidix_grkey_support(void) +{ + return (vidix_fourcc.flags & VID_CAP_COLORKEY); +} + int vidix_grkey_get(vidix_grkey_t *gr_key) { return(vdlGetGrKeys(vidix_handler, gr_key)); diff --git a/libvo/vosub_vidix.h b/libvo/vosub_vidix.h index 584279572d..3b39ccb715 100644 --- a/libvo/vosub_vidix.h +++ b/libvo/vosub_vidix.h @@ -31,6 +31,7 @@ void vidix_draw_osd(void); #include "../vidix/vidix.h" /* graphic keys */ +int vidix_grkey_support(void); int vidix_grkey_get(vidix_grkey_t *gr_key); int vidix_grkey_set(const vidix_grkey_t *gr_key);