summaryrefslogtreecommitdiffstats
path: root/libmpdemux/tvi_v4l.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-16 22:59:07 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-16 22:59:07 +0000
commitc451b1fe262fe39515f14ce82f2a590004e96d34 (patch)
treed58328865d1561891e51749c705e1ebd816c6674 /libmpdemux/tvi_v4l.c
parent1e50777fb8e235375783868c223b466ca9e39e1b (diff)
downloadmpv-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/tvi_v4l.c')
-rw-r--r--libmpdemux/tvi_v4l.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/libmpdemux/tvi_v4l.c b/libmpdemux/tvi_v4l.c
index 05a950ec38..0e6491a1a7 100644
--- a/libmpdemux/tvi_v4l.c
+++ b/libmpdemux/tvi_v4l.c
@@ -552,6 +552,36 @@ static int control(priv_t *priv, int cmd, void *arg)
case TVI_CONTROL_VID_SET_HEIGHT:
priv->height = (int)*(void **)arg;
return(TVI_CONTROL_TRUE);
+ case TVI_CONTROL_VID_GET_PICTURE:
+ if (ioctl(priv->fd, VIDIOCGPICT, &priv->picture) == -1)
+ {
+ mp_msg(MSGT_TV, MSGL_ERR, "ioctl get picture failed: %s\n", strerror(errno));
+ return(TVI_CONTROL_FALSE);
+ }
+ return(TVI_CONTROL_TRUE);
+ case TVI_CONTROL_VID_SET_PICTURE:
+ if (ioctl(priv->fd, VIDIOCSPICT, &priv->picture) == -1)
+ {
+ mp_msg(MSGT_TV, MSGL_ERR, "ioctl get picture failed: %s\n", strerror(errno));
+ return(TVI_CONTROL_FALSE);
+ }
+ return(TVI_CONTROL_TRUE);
+ case TVI_CONTROL_VID_SET_BRIGHTNESS:
+ priv->picture.brightness = (int)*(void **)arg;
+ control(priv, TVI_CONTROL_VID_SET_PICTURE, 0);
+ return(TVI_CONTROL_TRUE);
+ case TVI_CONTROL_VID_SET_HUE:
+ priv->picture.hue = (int)*(void **)arg;
+ control(priv, TVI_CONTROL_VID_SET_PICTURE, 0);
+ return(TVI_CONTROL_TRUE);
+ case TVI_CONTROL_VID_SET_SATURATION:
+ priv->picture.colour = (int)*(void **)arg;
+ control(priv, TVI_CONTROL_VID_SET_PICTURE, 0);
+ return(TVI_CONTROL_TRUE);
+ case TVI_CONTROL_VID_SET_CONTRAST:
+ priv->picture.contrast = (int)*(void **)arg;
+ control(priv, TVI_CONTROL_VID_SET_PICTURE, 0);
+ return(TVI_CONTROL_TRUE);
/* ========== TUNER controls =========== */
case TVI_CONTROL_TUN_GET_FREQ: