1
mirror of https://github.com/mpv-player/mpv synced 2024-07-31 16:29:58 +02:00

Change VOCTRL_[GET|SET]_EQUALIZER argument passing

These were the only voctrl types with more than one argument. The
second argument was passed using variable arguments. Change them to
use a single argument (address of a struct containing both old
arguments). This makes forwarding the arguments to other functions
easier and allows simplifying code.
This commit is contained in:
Uoti Urpala 2008-04-02 18:51:38 +03:00
parent 530df550e4
commit dbe080ec9f
20 changed files with 130 additions and 378 deletions

View File

@ -103,13 +103,15 @@ static int control(struct vf_instance_s* vf, int request, void* data)
{
vf_equalizer_t *eq=data;
if(!vo_config_count) return CONTROL_FALSE; // vo not configured?
return((video_out->control(VOCTRL_SET_EQUALIZER, eq->item, eq->value) == VO_TRUE) ? CONTROL_TRUE : CONTROL_FALSE);
struct voctrl_set_equalizer_args param = {eq->item, eq->value};
return video_out->control(VOCTRL_SET_EQUALIZER, &param) == VO_TRUE;
}
case VFCTRL_GET_EQUALIZER:
{
vf_equalizer_t *eq=data;
if(!vo_config_count) return CONTROL_FALSE; // vo not configured?
return((video_out->control(VOCTRL_GET_EQUALIZER, eq->item, &eq->value) == VO_TRUE) ? CONTROL_TRUE : CONTROL_FALSE);
struct voctrl_get_equalizer_args param = {eq->item, &eq->value};
return video_out->control(VOCTRL_GET_EQUALIZER, &param) == VO_TRUE;
}
#ifdef USE_ASS
case VFCTRL_INIT_EOSD:

View File

@ -240,11 +240,12 @@ static int control(uint32_t request, void *data, ...)
return draw_image(data);
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
short value;
uint32_t luma,prev;
struct voctrl_set_equalizer_args *args = data;
if ( strcmp( data,"brightness" ) && strcmp( data,"contrast" ) ) return VO_FALSE;
if (strcmp(args->name, "brightness") && strcmp(args->name, "contrast"))
return VO_FALSE;
if (ioctl(f,MGA_VID_GET_LUMA,&prev)) {
perror("Error in mga_vid_config ioctl()");
@ -254,15 +255,13 @@ static int control(uint32_t request, void *data, ...)
// printf("GET: 0x%4X 0x%4X \n",(prev>>16),(prev&0xffff));
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
value = args->value;
// printf("value: %d -> ",value);
value=((value+100)*255)/200-128; // maps -100=>-128 and +100=>127
// printf("%d \n",value);
if(!strcmp(data,"contrast"))
if (!strcmp(args->name, "contrast"))
luma = (prev&0xFFFF0000)|(value&0xFFFF);
else
luma = (prev&0xFFFF)|(value<<16);
@ -278,12 +277,12 @@ static int control(uint32_t request, void *data, ...)
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int * value;
short val;
uint32_t luma;
struct voctrl_get_equalizer_args *args = data;
if ( strcmp( data,"brightness" ) && strcmp( data,"contrast" ) ) return VO_FALSE;
if (strcmp(args->name, "brightness") && strcmp(args->name, "contrast"))
return VO_FALSE;
if (ioctl(f,MGA_VID_GET_LUMA,&luma)) {
perror("Error in mga_vid_config ioctl()");
@ -291,16 +290,12 @@ static int control(uint32_t request, void *data, ...)
return VO_FALSE;
}
if ( !strcmp( data,"contrast" ) )
if (!strcmp(args->name, "contrast"))
val=(luma & 0xFFFF);
else
val=(luma >> 16);
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
*value = (val*200)/255;
*args->valueptr = (val*200)/255;
return VO_TRUE;
}

View File

@ -47,7 +47,15 @@
#define VOCTRL_SET_PANSCAN 16
/* equalizer controls */
#define VOCTRL_SET_EQUALIZER 17
struct voctrl_set_equalizer_args {
const char *name;
int value;
};
#define VOCTRL_GET_EQUALIZER 18
struct voctrl_get_equalizer_args {
const char *name;
int *valueptr;
};
//#define VOCTRL_GUI_NOWINDOW 19
/* Frame duplication */
#define VOCTRL_DUPLICATE_FRAME 20

View File

@ -724,31 +724,20 @@ static int control(uint32_t request, void *data, ...)
case VOCTRL_QUERY_FORMAT:
return query_format(*((uint32_t*)data));
case VOCTRL_SET_EQUALIZER: {
va_list ap;
int val;
va_start(ap, data);
val = va_arg(ap, int);
va_end(ap);
if(strcmp((char*)data,"contrast") == 0)
p->contrast = ( val + 100 ) * 64 / 100;
else if(strcmp((char*)data,"brightness") == 0)
p->bright = ( val + 100) * 128 / 100;
struct voctrl_set_equalizer_args *args = data;
if (strcmp(args->name, "contrast") == 0)
p->contrast = (args->value + 100) * 64 / 100;
else if (strcmp(args->name, "brightness") == 0)
p->bright = (args->value + 100) * 128 / 100;
return VO_TRUE;
}
case VOCTRL_GET_EQUALIZER: {
va_list ap;
int* val;
struct voctrl_get_equalizer_args *args = data;
va_start(ap, data);
val = va_arg(ap, int*);
va_end(ap);
if(strcmp((char*)data,"contrast") == 0)
*val = (p->contrast - 64) * 100 / 64;
else if(strcmp((char*)data,"brightness") == 0)
*val = (p->bright - 128) * 100 / 128;
if (strcmp(args->name, "contrast") == 0)
*args->valueptr = (p->contrast - 64) * 100 / 64;
else if (strcmp(args->name, "brightness") == 0)
*args->valueptr = (p->bright - 128) * 100 / 128;
return VO_TRUE;
}

View File

@ -165,24 +165,6 @@ static int control(uint32_t request, void *data, ...){
else vo_fs=1;
setup_vidix();
return VO_TRUE;
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return vidix_control(request, data, value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int *);
va_end(ap);
return vidix_control(request, data, value);
}
}
return vidix_control(request, data);
}

View File

@ -1399,25 +1399,13 @@ control( uint32_t request, void *data, ... )
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start( ap, data );
value = va_arg( ap, int );
va_end( ap );
return set_equalizer( data, value );
struct voctrl_set_equalizer_args *args = data;
return set_equalizer(args->name, args->value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start( ap, data );
value = va_arg( ap, int* );
va_end( ap );
return get_equalizer( data, value );
struct voctrl_get_equalizer_args *args = data;
return get_equalizer(args->name, args->valueptr);
}
}

View File

@ -1422,25 +1422,13 @@ static int control(uint32_t request, void *data, ...)
return put_image(data);
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return(directfb_set_video_eq(data, value));
struct voctrl_set_equalizer_args *args = data;
return directfb_set_video_eq(args->name, args->value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
return(directfb_get_video_eq(data, value));
struct voctrl_get_equalizer_args *args = data;
return directfb_get_video_eq(args->name, args->valueptr);
}
};
return VO_NOTIMPL;

View File

@ -1564,22 +1564,12 @@ static int control(uint32_t request, void *data, ...)
return VO_TRUE;
}
case VOCTRL_SET_EQUALIZER: {
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return color_ctrl_set(data, value);
struct voctrl_set_equalizer_args *args = data;
return color_ctrl_set(args->name, args->value);
}
case VOCTRL_GET_EQUALIZER: {
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
return color_ctrl_get(data, value);
struct voctrl_get_equalizer_args *args = data;
return color_ctrl_get(args->name, args->valueptr);
}
case VOCTRL_UPDATE_SCREENINFO:
if (vidmode) {

View File

@ -240,22 +240,17 @@ static int control(uint32_t request, void *data, ...)
}
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
em8300_bcs_t bcs;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
struct voctrl_set_equalizer_args *args = data;
if (ioctl(fd_control, EM8300_IOCTL_GETBCS, &bcs) < 0)
return VO_FALSE;
if (!strcasecmp(data, "brightness"))
bcs.brightness = (value+100)*5;
else if (!strcasecmp(data, "contrast"))
bcs.contrast = (value+100)*5;
else if (!strcasecmp(data, "saturation"))
bcs.saturation = (value+100)*5;
if (!strcasecmp(args->name, "brightness"))
bcs.brightness = (args->value+100)*5;
else if (!strcasecmp(args->name, "contrast"))
bcs.contrast = (args->value+100)*5;
else if (!strcasecmp(args->name, "saturation"))
bcs.saturation = (args->value+100)*5;
else return VO_FALSE;
if (ioctl(fd_control, EM8300_IOCTL_SETBCS, &bcs) < 0)
@ -264,23 +259,18 @@ static int control(uint32_t request, void *data, ...)
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
em8300_bcs_t bcs;
struct voctrl_get_equalizer_args *args = data;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
if (ioctl(fd_control, EM8300_IOCTL_GETBCS, &bcs) < 0)
return VO_FALSE;
if (!strcasecmp(data, "brightness"))
*value = (bcs.brightness/5)-100;
else if (!strcasecmp(data, "contrast"))
*value = (bcs.contrast/5)-100;
else if (!strcasecmp(data, "saturation"))
*value = (bcs.saturation/5)-100;
if (!strcasecmp(args->name, "brightness"))
*args->valueptr = (bcs.brightness/5)-100;
else if (!strcasecmp(args->name, "contrast"))
*args->valueptr = (bcs.contrast/5)-100;
else if (!strcasecmp(args->name, "saturation"))
*args->valueptr = (bcs.saturation/5)-100;
else return VO_FALSE;
return VO_TRUE;

View File

@ -1176,27 +1176,8 @@ static int control(uint32_t request, void *data, ...)
if (vidix_name) {
switch (request) {
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return vidix_control(request, data, value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
return vidix_control(request, data, value);
}
return vidix_control(request, data);
}
}
#endif

View File

@ -941,35 +941,31 @@ static int control(uint32_t request, void *data, ...)
return VO_TRUE;
case VOCTRL_GET_EQUALIZER:
if (image_format == IMGFMT_YV12) {
va_list va;
int *value;
va_start(va, data);
value = va_arg(va, int *);
va_end(va);
if (strcasecmp(data, "brightness") == 0) {
*value = eq_bri;
struct voctrl_get_equalizer_args *args = data;
if (strcasecmp(args->name, "brightness") == 0) {
*args->valueptr = eq_bri;
if (use_yuv == YUV_CONVERSION_COMBINERS) break; // not supported
} else if (strcasecmp(data, "contrast") == 0) {
*value = eq_cont;
} else if (strcasecmp(args->name, "contrast") == 0) {
*args->valueptr = eq_cont;
if (use_yuv == YUV_CONVERSION_COMBINERS) break; // not supported
} else if (strcasecmp(data, "saturation") == 0) {
*value = eq_sat;
} else if (strcasecmp(data, "hue") == 0) {
*value = eq_hue;
} else if (strcasecmp(data, "gamma") == 0) {
*value = eq_rgamma;
} else if (strcasecmp(args->name, "saturation") == 0) {
*args->valueptr = eq_sat;
} else if (strcasecmp(args->name, "hue") == 0) {
*args->valueptr = eq_hue;
} else if (strcasecmp(args->name, "gamma") == 0) {
*args->valueptr = eq_rgamma;
if (use_yuv == YUV_CONVERSION_COMBINERS ||
use_yuv == YUV_CONVERSION_FRAGMENT) break; // not supported
} else if (strcasecmp(data, "red_gamma") == 0) {
*value = eq_rgamma;
} else if (strcasecmp(args->name, "red_gamma") == 0) {
*args->valueptr = eq_rgamma;
if (use_yuv == YUV_CONVERSION_COMBINERS ||
use_yuv == YUV_CONVERSION_FRAGMENT) break; // not supported
} else if (strcasecmp(data, "green_gamma") == 0) {
*value = eq_ggamma;
} else if (strcasecmp(args->name, "green_gamma") == 0) {
*args->valueptr = eq_ggamma;
if (use_yuv == YUV_CONVERSION_COMBINERS ||
use_yuv == YUV_CONVERSION_FRAGMENT) break; // not supported
} else if (strcasecmp(data, "blue_gamma") == 0) {
*value = eq_bgamma;
} else if (strcasecmp(args->name, "blue_gamma") == 0) {
*args->valueptr = eq_bgamma;
if (use_yuv == YUV_CONVERSION_COMBINERS ||
use_yuv == YUV_CONVERSION_FRAGMENT) break; // not supported
}
@ -978,35 +974,31 @@ static int control(uint32_t request, void *data, ...)
break;
case VOCTRL_SET_EQUALIZER:
if (image_format == IMGFMT_YV12) {
va_list va;
int value;
va_start(va, data);
value = va_arg(va, int);
va_end(va);
if (strcasecmp(data, "brightness") == 0) {
eq_bri = value;
struct voctrl_set_equalizer_args *args = data;
if (strcasecmp(args->name, "brightness") == 0) {
eq_bri = args->value;
if (use_yuv == YUV_CONVERSION_COMBINERS) break; // not supported
} else if (strcasecmp(data, "contrast") == 0) {
eq_cont = value;
} else if (strcasecmp(args->name, "contrast") == 0) {
eq_cont = args->value;
if (use_yuv == YUV_CONVERSION_COMBINERS) break; // not supported
} else if (strcasecmp(data, "saturation") == 0) {
eq_sat = value;
} else if (strcasecmp(data, "hue") == 0) {
eq_hue = value;
} else if (strcasecmp(data, "gamma") == 0) {
eq_rgamma = eq_ggamma = eq_bgamma = value;
} else if (strcasecmp(args->name, "saturation") == 0) {
eq_sat = args->value;
} else if (strcasecmp(args->name, "hue") == 0) {
eq_hue = args->value;
} else if (strcasecmp(args->name, "gamma") == 0) {
eq_rgamma = eq_ggamma = eq_bgamma = args->value;
if (use_yuv == YUV_CONVERSION_COMBINERS ||
use_yuv == YUV_CONVERSION_FRAGMENT) break; // not supported
} else if (strcasecmp(data, "red_gamma") == 0) {
eq_rgamma = value;
} else if (strcasecmp(args->name, "red_gamma") == 0) {
eq_rgamma = args->value;
if (use_yuv == YUV_CONVERSION_COMBINERS ||
use_yuv == YUV_CONVERSION_FRAGMENT) break; // not supported
} else if (strcasecmp(data, "green_gamma") == 0) {
eq_ggamma = value;
} else if (strcasecmp(args->name, "green_gamma") == 0) {
eq_ggamma = args->value;
if (use_yuv == YUV_CONVERSION_COMBINERS ||
use_yuv == YUV_CONVERSION_FRAGMENT) break; // not supported
} else if (strcasecmp(data, "blue_gamma") == 0) {
eq_bgamma = value;
} else if (strcasecmp(args->name, "blue_gamma") == 0) {
eq_bgamma = args->value;
if (use_yuv == YUV_CONVERSION_COMBINERS ||
use_yuv == YUV_CONVERSION_FRAGMENT) break; // not supported
}

View File

@ -898,23 +898,13 @@ static int control(uint32_t request, void *data, ...)
#ifndef GL_WIN32
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return vo_x11_set_equalizer(data, value);
struct voctrl_set_equalizer_args *args = data;
return vo_x11_set_equalizer(args->name, args->value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int *);
va_end(ap);
return vo_x11_get_equalizer(data, value);
struct voctrl_get_equalizer_args *args = data;
return vo_x11_get_equalizer(args->name, args->valueptr);
}
#endif
case VOCTRL_UPDATE_SCREENINFO:

View File

@ -362,33 +362,8 @@ static int control(uint32_t request, void *data, ...)
}
#ifdef CONFIG_VIDIX
if (vidix_name[0]) {
switch (request) {
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return vidix_control(request, data, value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
return vidix_control(request, data, value);
}
}
if (vidix_name[0])
return vidix_control(request, data);
}
#endif
return VO_NOTIMPL;

View File

@ -1098,33 +1098,8 @@ static int control(uint32_t request, void *data, ...)
}
#ifdef CONFIG_VIDIX
if (vidix_name) {
switch (request) {
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return vidix_control(request, data, (int *)value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
return vidix_control(request, data, value);
}
}
if (vidix_name)
return vidix_control(request, data);
}
#endif
return VO_NOTIMPL;

View File

@ -337,28 +337,6 @@ static int control(uint32_t request, void *data, ...){
break;
case VOCTRL_QUERY_FORMAT:
return query_format(*((uint32_t*)data));
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return vidix_control(request, data, (int *)value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
return vidix_control(request, data, value);
}
}
return vidix_control(request, data);
// return VO_NOTIMPL;

View File

@ -764,25 +764,13 @@ static int control(uint32_t request, void *data, ...)
return get_image(data);
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return vo_x11_set_equalizer(data, value);
struct voctrl_set_equalizer_args *args = data;
return vo_x11_set_equalizer(args->name, args->value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int *);
va_end(ap);
return vo_x11_get_equalizer(data, value);
struct voctrl_get_equalizer_args *args = data;
return vo_x11_get_equalizer(args->name, args->valueptr);
}
case VOCTRL_ONTOP:
vo_x11_ontop();

View File

@ -886,27 +886,13 @@ static int control(uint32_t request, void *data, ...)
return VO_TRUE;
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return (vo_xv_set_eq(xv_port, data, value));
struct voctrl_set_equalizer_args *args = data;
return vo_xv_set_eq(xv_port, args->name, args->value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int *);
va_end(ap);
return (vo_xv_get_eq(xv_port, data, value));
struct voctrl_get_equalizer_args *args = data;
return vo_xv_get_eq(xv_port, args->name, args->valueptr);
}
case VOCTRL_ONTOP:
vo_x11_ontop();

View File

@ -494,30 +494,6 @@ static int control(uint32_t request, void *data, ...)
set_window(0);
}
return VO_TRUE;
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return vidix_control(request, data, value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int *);
va_end(ap);
return vidix_control(request, data, value);
}
case VOCTRL_UPDATE_SCREENINFO:
aspect_save_screenres(vo_screenwidth, vo_screenheight);
return VO_TRUE;

View File

@ -1397,26 +1397,14 @@ static int control(uint32_t request, void *data, ... )
return VO_TRUE;
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
return(vo_xv_set_eq(xv_port, data, value));
struct voctrl_set_equalizer_args *args = data;
return vo_xv_set_eq(xv_port, args->name, args->value);
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
return(vo_xv_get_eq(xv_port, data, value));
struct voctrl_get_equalizer_args *args = data;
return vo_xv_get_eq(xv_port, args->name, args->valueptr);
}
case VOCTRL_UPDATE_SCREENINFO:
update_xinerama_info();

View File

@ -553,36 +553,31 @@ uint32_t vidix_control(uint32_t request, void *data, ...)
return VO_TRUE;
case VOCTRL_SET_EQUALIZER:
{
va_list ap;
int value;
vidix_video_eq_t info;
if(!video_on) return VO_FALSE;
va_start(ap, data);
value = va_arg(ap, int);
va_end(ap);
// printf("vidix seteq %s -> %d \n",data,value);
struct voctrl_set_equalizer_args *args = data;
/* vidix eq ranges are -1000..1000 */
if (!strcasecmp(data, "brightness"))
if (!strcasecmp(args->name, "brightness"))
{
info.brightness = value*10;
info.brightness = args->value*10;
info.cap = VEQ_CAP_BRIGHTNESS;
}
else if (!strcasecmp(data, "contrast"))
else if (!strcasecmp(args->name, "contrast"))
{
info.contrast = value*10;
info.contrast = args->value*10;
info.cap = VEQ_CAP_CONTRAST;
}
else if (!strcasecmp(data, "saturation"))
else if (!strcasecmp(args->name, "saturation"))
{
info.saturation = value*10;
info.saturation = args->value*10;
info.cap = VEQ_CAP_SATURATION;
}
else if (!strcasecmp(data, "hue"))
else if (!strcasecmp(args->name, "hue"))
{
info.hue = value*10;
info.hue = args->value*10;
info.cap = VEQ_CAP_HUE;
}
@ -592,38 +587,34 @@ uint32_t vidix_control(uint32_t request, void *data, ...)
}
case VOCTRL_GET_EQUALIZER:
{
va_list ap;
int *value;
vidix_video_eq_t info;
if(!video_on) return VO_FALSE;
if (vdlPlaybackGetEq(vidix_handler, &info) != 0)
return VO_FALSE;
va_start(ap, data);
value = va_arg(ap, int*);
va_end(ap);
struct voctrl_get_equalizer_args *args = data;
/* vidix eq ranges are -1000..1000 */
if (!strcasecmp(data, "brightness"))
if (!strcasecmp(args->name, "brightness"))
{
if (info.cap & VEQ_CAP_BRIGHTNESS)
*value = info.brightness/10;
*args->valueptr = info.brightness/10;
}
else if (!strcasecmp(data, "contrast"))
else if (!strcasecmp(args->name, "contrast"))
{
if (info.cap & VEQ_CAP_CONTRAST)
*value = info.contrast/10;
*args->valueptr = info.contrast/10;
}
else if (!strcasecmp(data, "saturation"))
else if (!strcasecmp(args->name, "saturation"))
{
if (info.cap & VEQ_CAP_SATURATION)
*value = info.saturation/10;
*args->valueptr = info.saturation/10;
}
else if (!strcasecmp(data, "hue"))
else if (!strcasecmp(args->name, "hue"))
{
if (info.cap & VEQ_CAP_HUE)
*value = info.hue/10;
*args->valueptr = info.hue/10;
}
return VO_TRUE;