1#ifndef _LINUX_VIDEO_DECODER_H
2#define _LINUX_VIDEO_DECODER_H
3
4#define HAVE_VIDEO_DECODER 1
5
6struct video_decoder_capability { /* this name is too long */
7	__u32	flags;
8#define	VIDEO_DECODER_PAL	1	/* can decode PAL signal */
9#define	VIDEO_DECODER_NTSC	2	/* can decode NTSC */
10#define	VIDEO_DECODER_SECAM	4	/* can decode SECAM */
11#define	VIDEO_DECODER_AUTO	8	/* can autosense norm */
12#define	VIDEO_DECODER_CCIR	16	/* CCIR-601 pixel rate (720 pixels per line) instead of square pixel rate */
13	int	inputs;			/* number of inputs */
14	int	outputs;		/* number of outputs */
15};
16
17/*
18DECODER_GET_STATUS returns the following flags.  The only one you need is
19DECODER_STATUS_GOOD, the others are just nice things to know.
20*/
21#define	DECODER_STATUS_GOOD	1	/* receiving acceptable input */
22#define	DECODER_STATUS_COLOR	2	/* receiving color information */
23#define	DECODER_STATUS_PAL	4	/* auto detected */
24#define	DECODER_STATUS_NTSC	8	/* auto detected */
25#define	DECODER_STATUS_SECAM	16	/* auto detected */
26
27struct video_decoder_init {
28	unsigned char len;
29	const unsigned char *data;
30};
31
32#define	DECODER_GET_CAPABILITIES _IOR('d', 1, struct video_decoder_capability)
33#define	DECODER_GET_STATUS    	_IOR('d', 2, int)
34#define	DECODER_SET_NORM	_IOW('d', 3, int)
35#define	DECODER_SET_INPUT	_IOW('d', 4, int)	/* 0 <= input < #inputs */
36#define	DECODER_SET_OUTPUT	_IOW('d', 5, int)	/* 0 <= output < #outputs */
37#define	DECODER_ENABLE_OUTPUT	_IOW('d', 6, int)	/* boolean output enable control */
38#define	DECODER_SET_PICTURE   	_IOW('d', 7, struct video_picture)
39#define	DECODER_SET_GPIO	_IOW('d', 8, int)	/* switch general purpose pin */
40#define	DECODER_INIT		_IOW('d', 9, struct video_decoder_init)	/* init internal registers at once */
41#define	DECODER_SET_VBI_BYPASS	_IOW('d', 10, int)	/* switch vbi bypass */
42
43#define	DECODER_DUMP		_IO('d', 192)		/* debug hook */
44
45
46#endif
47