diff options
Diffstat (limited to 'include/linux/dvb/video.h')
| -rw-r--r-- | include/linux/dvb/video.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/include/linux/dvb/video.h b/include/linux/dvb/video.h index faebfda397ff..a96da40c50f5 100644 --- a/include/linux/dvb/video.h +++ b/include/linux/dvb/video.h | |||
| @@ -80,10 +80,53 @@ typedef enum { | |||
| 80 | } video_play_state_t; | 80 | } video_play_state_t; |
| 81 | 81 | ||
| 82 | 82 | ||
| 83 | /* Decoder commands */ | ||
| 84 | #define VIDEO_CMD_PLAY (0) | ||
| 85 | #define VIDEO_CMD_STOP (1) | ||
| 86 | #define VIDEO_CMD_FREEZE (2) | ||
| 87 | #define VIDEO_CMD_CONTINUE (3) | ||
| 88 | |||
| 89 | /* Flags for VIDEO_CMD_FREEZE */ | ||
| 90 | #define VIDEO_CMD_FREEZE_TO_BLACK (1 << 0) | ||
| 91 | |||
| 92 | /* Flags for VIDEO_CMD_STOP */ | ||
| 93 | #define VIDEO_CMD_STOP_TO_BLACK (1 << 0) | ||
| 94 | #define VIDEO_CMD_STOP_IMMEDIATELY (1 << 1) | ||
| 95 | |||
| 96 | /* Play input formats: */ | ||
| 97 | /* The decoder has no special format requirements */ | ||
| 98 | #define VIDEO_PLAY_FMT_NONE (0) | ||
| 99 | /* The decoder requires full GOPs */ | ||
| 100 | #define VIDEO_PLAY_FMT_GOP (1) | ||
| 101 | |||
| 102 | /* The structure must be zeroed before use by the application | ||
| 103 | This ensures it can be extended safely in the future. */ | ||
| 104 | struct video_command { | ||
| 105 | __u32 cmd; | ||
| 106 | __u32 flags; | ||
| 107 | union { | ||
| 108 | struct { | ||
| 109 | __u64 pts; | ||
| 110 | } stop; | ||
| 111 | |||
| 112 | struct { | ||
| 113 | __u32 speed; | ||
| 114 | __u32 format; | ||
| 115 | } play; | ||
| 116 | |||
| 117 | struct { | ||
| 118 | __u32 data[16]; | ||
| 119 | } raw; | ||
| 120 | }; | ||
| 121 | }; | ||
| 122 | |||
| 123 | |||
| 83 | struct video_event { | 124 | struct video_event { |
| 84 | int32_t type; | 125 | int32_t type; |
| 85 | #define VIDEO_EVENT_SIZE_CHANGED 1 | 126 | #define VIDEO_EVENT_SIZE_CHANGED 1 |
| 86 | #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 | 127 | #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 |
| 128 | #define VIDEO_EVENT_DECODER_STOPPED 3 | ||
| 129 | #define VIDEO_EVENT_VSYNC 4 | ||
| 87 | time_t timestamp; | 130 | time_t timestamp; |
| 88 | union { | 131 | union { |
| 89 | video_size_t size; | 132 | video_size_t size; |
| @@ -213,4 +256,10 @@ typedef uint16_t video_attributes_t; | |||
| 213 | */ | 256 | */ |
| 214 | #define VIDEO_GET_PTS _IOR('o', 57, __u64) | 257 | #define VIDEO_GET_PTS _IOR('o', 57, __u64) |
| 215 | 258 | ||
| 259 | /* Read the number of displayed frames since the decoder was started */ | ||
| 260 | #define VIDEO_GET_FRAME_COUNT _IOR('o', 58, __u64) | ||
| 261 | |||
| 262 | #define VIDEO_COMMAND _IOWR('o', 59, struct video_command) | ||
| 263 | #define VIDEO_TRY_COMMAND _IOWR('o', 60, struct video_command) | ||
| 264 | |||
| 216 | #endif /*_DVBVIDEO_H_*/ | 265 | #endif /*_DVBVIDEO_H_*/ |
