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