aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/videodev2.h
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-02-18 12:56:22 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-03-01 10:09:46 -0500
commitada6ecd2bf1d97e1f3bac6d5af4c7c4390a0a5af (patch)
treedcc213321ea37b25abc4d1f835ed3898655aed69 /include/linux/videodev2.h
parentdb6eb5b334a0f095290b99096f68ff24ab6df1aa (diff)
V4L/DVB (5271): Add VIDIOC_TRY_ENCODER_CMD and VIDIOC_ENCODER_CMD ioctls.
Add support for starting, stopping, pausing and resuming an MPEG (or similar compressed stream) encoder. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'include/linux/videodev2.h')
-rw-r--r--include/linux/videodev2.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 42cfdd2d50db..854875869dbd 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1193,7 +1193,7 @@ struct v4l2_audioout
1193}; 1193};
1194 1194
1195/* 1195/*
1196 * M P E G I N D E X 1196 * M P E G S E R V I C E S
1197 * 1197 *
1198 * NOTE: EXPERIMENTAL API 1198 * NOTE: EXPERIMENTAL API
1199 */ 1199 */
@@ -1218,6 +1218,26 @@ struct v4l2_enc_idx {
1218 __u32 reserved[4]; 1218 __u32 reserved[4];
1219 struct v4l2_enc_idx_entry entry[V4L2_ENC_IDX_ENTRIES]; 1219 struct v4l2_enc_idx_entry entry[V4L2_ENC_IDX_ENTRIES];
1220}; 1220};
1221
1222
1223#define V4L2_ENC_CMD_START (0)
1224#define V4L2_ENC_CMD_STOP (1)
1225#define V4L2_ENC_CMD_PAUSE (2)
1226#define V4L2_ENC_CMD_RESUME (3)
1227
1228/* Flags for V4L2_ENC_CMD_STOP */
1229#define V4L2_ENC_CMD_STOP_AT_GOP_END (1 << 0)
1230
1231struct v4l2_encoder_cmd {
1232 __u32 cmd;
1233 __u32 flags;
1234 union {
1235 struct {
1236 __u32 data[8];
1237 } raw;
1238 };
1239};
1240
1221#endif 1241#endif
1222 1242
1223 1243
@@ -1415,6 +1435,8 @@ struct v4l2_register {
1415#define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum) 1435#define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum)
1416#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum) 1436#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum)
1417#define VIDIOC_G_ENC_INDEX _IOR ('V', 76, struct v4l2_enc_idx) 1437#define VIDIOC_G_ENC_INDEX _IOR ('V', 76, struct v4l2_enc_idx)
1438#define VIDIOC_ENCODER_CMD _IOWR ('V', 77, struct v4l2_encoder_cmd)
1439#define VIDIOC_TRY_ENCODER_CMD _IOWR ('V', 78, struct v4l2_encoder_cmd)
1418#endif 1440#endif
1419/* only implemented if CONFIG_VIDEO_ADV_DEBUG is defined */ 1441/* only implemented if CONFIG_VIDEO_ADV_DEBUG is defined */
1420#define VIDIOC_DBG_S_REGISTER _IOW ('d', 100, struct v4l2_register) 1442#define VIDIOC_DBG_S_REGISTER _IOW ('d', 100, struct v4l2_register)