aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/dvb/video.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/dvb/video.h')
-rw-r--r--include/linux/dvb/video.h49
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. */
104struct 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
83struct video_event { 124struct 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_*/