mirror of https://github.com/mpv-player/mpv
10L bugs founds by Jindrich Makovicka <makovick at MLinux dot fjfi dot cvut dotcz>
Fix the eq git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6810 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
4ac4c05845
commit
8e87a008b8
|
@ -123,11 +123,11 @@ resize(void){
|
||||||
sws = getSwsContextFromCmdLine(src_width,src_height,image_format,
|
sws = getSwsContextFromCmdLine(src_width,src_height,image_format,
|
||||||
image_width,image_height,IMGFMT_Y8);
|
image_width,image_height,IMGFMT_Y8);
|
||||||
|
|
||||||
image[0] = aa_image(c) + image_y * image_width + image_x;
|
image[0] = aa_image(c) + image_y * aa_imgwidth(c) + image_x;
|
||||||
image[1] = NULL;
|
image[1] = NULL;
|
||||||
image[2] = NULL;
|
image[2] = NULL;
|
||||||
|
|
||||||
image_stride[0] = image_width;
|
image_stride[0] = aa_imgwidth(c);
|
||||||
image_stride[1] = 0;
|
image_stride[1] = 0;
|
||||||
image_stride[2] = 0;
|
image_stride[2] = 0;
|
||||||
|
|
||||||
|
@ -738,41 +738,40 @@ static uint32_t preinit(const char *arg)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int get_video_eq(vidix_video_eq_t *info) {
|
|
||||||
|
|
||||||
memset(info,0,sizeof(vidix_video_eq_t));
|
|
||||||
|
|
||||||
info->cap = VEQ_CAP_BRIGHTNESS | VEQ_CAP_CONTRAST;
|
|
||||||
|
|
||||||
info->contrast = (p->contrast - 64) * 1000 / 64;
|
|
||||||
info->brightness = (p->bright - 128) * 1000 / 128;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int set_video_eq(const vidix_video_eq_t *info) {
|
|
||||||
|
|
||||||
p->contrast = ( info->contrast + 1000 ) * 64 / 1000;
|
|
||||||
p->bright = ( info->brightness + 1000) * 128 / 1000;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void query_vaa(vo_vaa_t *vaa)
|
|
||||||
{
|
|
||||||
memset(vaa,0,sizeof(vo_vaa_t));
|
|
||||||
vaa->get_video_eq = get_video_eq;
|
|
||||||
vaa->set_video_eq = set_video_eq;
|
|
||||||
}
|
|
||||||
|
|
||||||
static uint32_t control(uint32_t request, void *data, ...)
|
static uint32_t control(uint32_t request, void *data, ...)
|
||||||
{
|
{
|
||||||
switch (request) {
|
switch (request) {
|
||||||
case VOCTRL_QUERY_FORMAT:
|
case VOCTRL_QUERY_FORMAT:
|
||||||
return query_format(*((uint32_t*)data));
|
return query_format(*((uint32_t*)data));
|
||||||
case VOCTRL_QUERY_VAA:
|
case VOCTRL_SET_EQUALIZER: {
|
||||||
query_vaa((vo_vaa_t*)data);
|
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;
|
||||||
return VO_TRUE;
|
return VO_TRUE;
|
||||||
}
|
}
|
||||||
|
case VOCTRL_GET_EQUALIZER: {
|
||||||
|
va_list ap;
|
||||||
|
int* val;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
return VO_TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
return VO_NOTIMPL;
|
return VO_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue