blob: 121e26da2c1869b6447423649d38af8591389060 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _LINUX_VIDEO_DECODER_H
2#define _LINUX_VIDEO_DECODER_H
3
Michael Krufky5e453dc2006-01-09 15:32:31 -02004#define HAVE_VIDEO_DECODER 1
5
Linus Torvalds1da177e2005-04-16 15:20:36 -07006struct 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