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