1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_DVBVIDEO_H_ 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_DVBVIDEO_H_ 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <time.h> 11*8d67ca89SAndroid Build Coastguard Worker typedef enum { 12*8d67ca89SAndroid Build Coastguard Worker VIDEO_FORMAT_4_3, 13*8d67ca89SAndroid Build Coastguard Worker VIDEO_FORMAT_16_9, 14*8d67ca89SAndroid Build Coastguard Worker VIDEO_FORMAT_221_1 15*8d67ca89SAndroid Build Coastguard Worker } video_format_t; 16*8d67ca89SAndroid Build Coastguard Worker typedef enum { 17*8d67ca89SAndroid Build Coastguard Worker VIDEO_PAN_SCAN, 18*8d67ca89SAndroid Build Coastguard Worker VIDEO_LETTER_BOX, 19*8d67ca89SAndroid Build Coastguard Worker VIDEO_CENTER_CUT_OUT 20*8d67ca89SAndroid Build Coastguard Worker } video_displayformat_t; 21*8d67ca89SAndroid Build Coastguard Worker typedef struct { 22*8d67ca89SAndroid Build Coastguard Worker int w; 23*8d67ca89SAndroid Build Coastguard Worker int h; 24*8d67ca89SAndroid Build Coastguard Worker video_format_t aspect_ratio; 25*8d67ca89SAndroid Build Coastguard Worker } video_size_t; 26*8d67ca89SAndroid Build Coastguard Worker typedef enum { 27*8d67ca89SAndroid Build Coastguard Worker VIDEO_SOURCE_DEMUX, 28*8d67ca89SAndroid Build Coastguard Worker VIDEO_SOURCE_MEMORY 29*8d67ca89SAndroid Build Coastguard Worker } video_stream_source_t; 30*8d67ca89SAndroid Build Coastguard Worker typedef enum { 31*8d67ca89SAndroid Build Coastguard Worker VIDEO_STOPPED, 32*8d67ca89SAndroid Build Coastguard Worker VIDEO_PLAYING, 33*8d67ca89SAndroid Build Coastguard Worker VIDEO_FREEZED 34*8d67ca89SAndroid Build Coastguard Worker } video_play_state_t; 35*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CMD_PLAY (0) 36*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CMD_STOP (1) 37*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CMD_FREEZE (2) 38*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CMD_CONTINUE (3) 39*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CMD_FREEZE_TO_BLACK (1 << 0) 40*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CMD_STOP_TO_BLACK (1 << 0) 41*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CMD_STOP_IMMEDIATELY (1 << 1) 42*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_PLAY_FMT_NONE (0) 43*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_PLAY_FMT_GOP (1) 44*8d67ca89SAndroid Build Coastguard Worker struct video_command { 45*8d67ca89SAndroid Build Coastguard Worker __u32 cmd; 46*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 47*8d67ca89SAndroid Build Coastguard Worker union { 48*8d67ca89SAndroid Build Coastguard Worker struct { 49*8d67ca89SAndroid Build Coastguard Worker __u64 pts; 50*8d67ca89SAndroid Build Coastguard Worker } stop; 51*8d67ca89SAndroid Build Coastguard Worker struct { 52*8d67ca89SAndroid Build Coastguard Worker __s32 speed; 53*8d67ca89SAndroid Build Coastguard Worker __u32 format; 54*8d67ca89SAndroid Build Coastguard Worker } play; 55*8d67ca89SAndroid Build Coastguard Worker struct { 56*8d67ca89SAndroid Build Coastguard Worker __u32 data[16]; 57*8d67ca89SAndroid Build Coastguard Worker } raw; 58*8d67ca89SAndroid Build Coastguard Worker }; 59*8d67ca89SAndroid Build Coastguard Worker }; 60*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_VSYNC_FIELD_UNKNOWN (0) 61*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_VSYNC_FIELD_ODD (1) 62*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_VSYNC_FIELD_EVEN (2) 63*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_VSYNC_FIELD_PROGRESSIVE (3) 64*8d67ca89SAndroid Build Coastguard Worker struct video_event { 65*8d67ca89SAndroid Build Coastguard Worker __s32 type; 66*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_EVENT_SIZE_CHANGED 1 67*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 68*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_EVENT_DECODER_STOPPED 3 69*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_EVENT_VSYNC 4 70*8d67ca89SAndroid Build Coastguard Worker long timestamp; 71*8d67ca89SAndroid Build Coastguard Worker union { 72*8d67ca89SAndroid Build Coastguard Worker video_size_t size; 73*8d67ca89SAndroid Build Coastguard Worker unsigned int frame_rate; 74*8d67ca89SAndroid Build Coastguard Worker unsigned char vsync_field; 75*8d67ca89SAndroid Build Coastguard Worker } u; 76*8d67ca89SAndroid Build Coastguard Worker }; 77*8d67ca89SAndroid Build Coastguard Worker struct video_status { 78*8d67ca89SAndroid Build Coastguard Worker int video_blank; 79*8d67ca89SAndroid Build Coastguard Worker video_play_state_t play_state; 80*8d67ca89SAndroid Build Coastguard Worker video_stream_source_t stream_source; 81*8d67ca89SAndroid Build Coastguard Worker video_format_t video_format; 82*8d67ca89SAndroid Build Coastguard Worker video_displayformat_t display_format; 83*8d67ca89SAndroid Build Coastguard Worker }; 84*8d67ca89SAndroid Build Coastguard Worker struct video_still_picture { 85*8d67ca89SAndroid Build Coastguard Worker char * iFrame; 86*8d67ca89SAndroid Build Coastguard Worker __s32 size; 87*8d67ca89SAndroid Build Coastguard Worker }; 88*8d67ca89SAndroid Build Coastguard Worker typedef __u16 video_attributes_t; 89*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CAP_MPEG1 1 90*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CAP_MPEG2 2 91*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CAP_SYS 4 92*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CAP_PROG 8 93*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CAP_SPU 16 94*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CAP_NAVI 32 95*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CAP_CSS 64 96*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_STOP _IO('o', 21) 97*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_PLAY _IO('o', 22) 98*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_FREEZE _IO('o', 23) 99*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CONTINUE _IO('o', 24) 100*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_SELECT_SOURCE _IO('o', 25) 101*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_SET_BLANK _IO('o', 26) 102*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_GET_STATUS _IOR('o', 27, struct video_status) 103*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_GET_EVENT _IOR('o', 28, struct video_event) 104*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_SET_DISPLAY_FORMAT _IO('o', 29) 105*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_STILLPICTURE _IOW('o', 30, struct video_still_picture) 106*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_FAST_FORWARD _IO('o', 31) 107*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_SLOWMOTION _IO('o', 32) 108*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_GET_CAPABILITIES _IOR('o', 33, unsigned int) 109*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_CLEAR_BUFFER _IO('o', 34) 110*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_SET_STREAMTYPE _IO('o', 36) 111*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_SET_FORMAT _IO('o', 37) 112*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_GET_SIZE _IOR('o', 55, video_size_t) 113*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_GET_PTS _IOR('o', 57, __u64) 114*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_GET_FRAME_COUNT _IOR('o', 58, __u64) 115*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_COMMAND _IOWR('o', 59, struct video_command) 116*8d67ca89SAndroid Build Coastguard Worker #define VIDEO_TRY_COMMAND _IOWR('o', 60, struct video_command) 117*8d67ca89SAndroid Build Coastguard Worker #endif 118