diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-16 22:59:07 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-16 22:59:07 +0000 |
commit | c451b1fe262fe39515f14ce82f2a590004e96d34 (patch) | |
tree | d58328865d1561891e51749c705e1ebd816c6674 /libmpdemux/tv.c | |
parent | 1e50777fb8e235375783868c223b466ca9e39e1b (diff) | |
download | mpv-c451b1fe262fe39515f14ce82f2a590004e96d34.tar.bz2 mpv-c451b1fe262fe39515f14ce82f2a590004e96d34.tar.xz |
added support for setting color values
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2938 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/tv.c')
-rw-r--r-- | libmpdemux/tv.c | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/libmpdemux/tv.c b/libmpdemux/tv.c index 9c93624e38..685b70e01a 100644 --- a/libmpdemux/tv.c +++ b/libmpdemux/tv.c @@ -284,4 +284,86 @@ int tv_uninit(tvi_handle_t *tvh) { return(tvh->functions->uninit(tvh->priv)); } + +/* utilities for mplayer (not mencoder!!) */ +int tv_set_color_options(tvi_handle_t *tvh, int opt, int value) +{ + tvi_functions_t *funcs = tvh->functions; + + switch(opt) + { + case TV_COLOR_BRIGHTNESS: + if (value == 50) + value = 32768; + if (value > 50) + { + value *= 100; + value += 32768; + } + if (value < 50) + { + int i; + value *= 100; + i = value; + value = 32768 - i; + } + funcs->control(tvh->priv, TVI_CONTROL_VID_SET_BRIGHTNESS, &value); + break; + case TV_COLOR_HUE: + if (value == 50) + value = 32768; + if (value > 50) + { + value *= 100; + value += 32768; + } + if (value < 50) + { + int i; + value *= 100; + i = value; + value = 32768 - i; + } + funcs->control(tvh->priv, TVI_CONTROL_VID_SET_HUE, &value); + break; + case TV_COLOR_SATURATION: + if (value == 50) + value = 32512; + if (value > 50) + { + value *= 100; + value += 32512; + } + if (value < 50) + { + int i; + value *= 100; + i = value; + value = 32512 - i; + } + funcs->control(tvh->priv, TVI_CONTROL_VID_SET_SATURATION, &value); + break; + case TV_COLOR_CONTRAST: + if (value == 50) + value = 27648; + if (value > 50) + { + value *= 100; + value += 27648; + } + if (value < 50) + { + int i; + value *= 100; + i = value; + value = 27648 - i; + } + funcs->control(tvh->priv, TVI_CONTROL_VID_SET_CONTRAST, &value); + break; + default: + mp_msg(MSGT_TV, MSGL_WARN, "Unknown color option (%d) specified!\n", opt); + } + + return(1); +} #endif /* USE_TV */ |