130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/*
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Motion Eye video4linux driver for Sony Vaio PictureBook
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2001-2003 Stelian Pop <stelian@popies.net>
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2001-2002 Alcôve <www.alcove.com>
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright (C) 2000 Andrew Tridgell <tridge@valinux.com>
930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Earlier work by Werner Almesberger, Paul `Rusty' Russell and Paul Mackerras.
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Some parts borrowed from various video4linux drivers, especially
1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * bttv-driver.c and zoran.c, see original files for credits.
1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * This program is free software; you can redistribute it and/or modify
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * it under the terms of the GNU General Public License as published by
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * the Free Software Foundation; either version 2 of the License, or
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * (at your option) any later version.
1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * This program is distributed in the hope that it will be useful,
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * but WITHOUT ANY WARRANTY; without even the implied warranty of
2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * GNU General Public License for more details.
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * You should have received a copy of the GNU General Public License
2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * along with this program; if not, write to the Free Software
2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */
2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _MEYE_H_
3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _MEYE_H_
3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/****************************************************************************/
3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Private API for handling mjpeg capture / playback.                       */
3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/****************************************************************************/
3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3730692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct meye_params {
3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned char subsample;
3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned char quality;
4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned char sharpness;
4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned char agc;
4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned char picture;
4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned char framerate;
4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* query the extended parameters */
4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define MEYEIOC_G_PARAMS	_IOR ('v', BASE_VIDIOC_PRIVATE+0, struct meye_params)
4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* set the extended parameters */
4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define MEYEIOC_S_PARAMS	_IOW ('v', BASE_VIDIOC_PRIVATE+1, struct meye_params)
5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* queue a buffer for mjpeg capture */
5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define MEYEIOC_QBUF_CAPT	_IOW ('v', BASE_VIDIOC_PRIVATE+2, int)
5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* sync a previously queued mjpeg buffer */
5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define MEYEIOC_SYNC		_IOWR('v', BASE_VIDIOC_PRIVATE+3, int)
5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* get a still uncompressed snapshot */
5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define MEYEIOC_STILLCAPT	_IO  ('v', BASE_VIDIOC_PRIVATE+4)
5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* get a jpeg compressed snapshot */
5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define MEYEIOC_STILLJCAPT	_IOR ('v', BASE_VIDIOC_PRIVATE+5, int)
5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
5930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* V4L2 private controls */
6030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define V4L2_CID_MEYE_AGC		(V4L2_CID_USER_MEYE_BASE + 0)
6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define V4L2_CID_MEYE_PICTURE		(V4L2_CID_USER_MEYE_BASE + 1)
6230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define V4L2_CID_MEYE_FRAMERATE		(V4L2_CID_USER_MEYE_BASE + 2)
6330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif
65