diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt index 1a708d4324..a75cb3f125 100644 --- a/DOCS/tech/slave.txt +++ b/DOCS/tech/slave.txt @@ -80,5 +80,13 @@ tv_set_freq Set the tv tuner frequency. tv_set_norm Set the tv tuner norm. PAL, SECAM, NTSC and so on.. +tv_set_brightness [-100:100] + Set tv tuner brightness. +tv_set_contrast [-100:100] + Set tv tuner contrast. +tv_set_hue [-100:100] + Set tv tuner hue. +tv_set_saturation [-100:100] + Set tv tuner saturation. gui_[loadsubtitle|about|play|stop] GUI actions diff --git a/input/input.c b/input/input.c index 29949c2782..c8bb838079 100644 --- a/input/input.c +++ b/input/input.c @@ -87,6 +87,10 @@ static mp_cmd_t mp_cmds[] = { { MP_CMD_TV_LAST_CHANNEL, "tv_last_channel", 0, { {-1,{0}} } }, { MP_CMD_TV_SET_FREQ, "tv_set_freq", 1, { {MP_CMD_ARG_FLOAT,{0}}, {-1,{0}} } }, { MP_CMD_TV_SET_NORM, "tv_set_norm", 1, { {MP_CMD_ARG_STRING,{0}}, {-1,{0}} } }, + { MP_CMD_TV_SET_BRIGHTNESS, "tv_set_brightness", 1, { { MP_CMD_ARG_INT ,{0}}, {-1,{0}} }}, + { MP_CMD_TV_SET_CONTRAST, "tv_set_contrast", 1, { { MP_CMD_ARG_INT ,{0}}, {-1,{0}} }}, + { MP_CMD_TV_SET_HUE, "tv_set_hue", 1, { { MP_CMD_ARG_INT ,{0}}, {-1,{0}} }}, + { MP_CMD_TV_SET_SATURATION, "tv_set_saturation", 1, { { MP_CMD_ARG_INT ,{0}}, {-1,{0}} }}, #endif { MP_CMD_VO_FULLSCREEN, "vo_fullscreen", 0, { {-1,{0}} } }, { MP_CMD_SCREENSHOT, "screenshot", 0, { {-1,{0}} } }, diff --git a/input/input.h b/input/input.h index a772032370..95ee5ae76f 100644 --- a/input/input.h +++ b/input/input.h @@ -45,6 +45,10 @@ #define MP_CMD_OSD_SHOW_TEXT 41 #define MP_CMD_TV_SET_FREQ 42 #define MP_CMD_TV_SET_NORM 43 +#define MP_CMD_TV_SET_BRIGHTNESS 44 +#define MP_CMD_TV_SET_CONTRAST 45 +#define MP_CMD_TV_SET_HUE 46 +#define MP_CMD_TV_SET_SATURATION 47 #define MP_CMD_GUI_EVENTS 5000 #define MP_CMD_GUI_LOADFILE 5001 diff --git a/mplayer.c b/mplayer.c index 1bd1d9d9e6..dad0c9bbe0 100644 --- a/mplayer.c +++ b/mplayer.c @@ -2777,6 +2777,22 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still) if (file_format == DEMUXER_TYPE_TV) tv_set_norm((tvi_handle_t*)(demuxer->priv), cmd->args[0].v.s); } break; + case MP_CMD_TV_SET_BRIGHTNESS : { + if (file_format == DEMUXER_TYPE_TV) + tv_set_color_options((tvi_handle_t*)(demuxer->priv), TV_COLOR_BRIGHTNESS, cmd->args[0].v.i); + } break; + case MP_CMD_TV_SET_HUE : { + if (file_format == DEMUXER_TYPE_TV) + tv_set_color_options((tvi_handle_t*)(demuxer->priv), TV_COLOR_HUE, cmd->args[0].v.i); + } break; + case MP_CMD_TV_SET_SATURATION : { + if (file_format == DEMUXER_TYPE_TV) + tv_set_color_options((tvi_handle_t*)(demuxer->priv), TV_COLOR_SATURATION, cmd->args[0].v.i); + } break; + case MP_CMD_TV_SET_CONTRAST : { + if (file_format == DEMUXER_TYPE_TV) + tv_set_color_options((tvi_handle_t*)(demuxer->priv), TV_COLOR_CONTRAST, cmd->args[0].v.i); + } break; case MP_CMD_TV_STEP_CHANNEL : { if (file_format == DEMUXER_TYPE_TV) { int v = cmd->args[0].v.i;