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