mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
58 lines
2.5 KiB
Diff
58 lines
2.5 KiB
Diff
|
From b2ea711d2c21ec021de4ff09a0a2b5b4224f9749 Mon Sep 17 00:00:00 2001
|
||
|
From: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
||
|
Date: Fri, 11 Oct 2019 06:32:42 -0300
|
||
|
Subject: [PATCH] media: videodev2.h: add V4L2_DEC_CMD_FLUSH
|
||
|
|
||
|
Add this new V4L2_DEC_CMD_FLUSH decoder command and document it.
|
||
|
|
||
|
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
|
||
|
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
|
||
|
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
||
|
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
||
|
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||
|
---
|
||
|
Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst | 10 +++++++++-
|
||
|
Documentation/media/videodev2.h.rst.exceptions | 1 +
|
||
|
include/uapi/linux/videodev2.h | 1 +
|
||
|
3 files changed, 11 insertions(+), 1 deletion(-)
|
||
|
|
||
|
--- a/Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst
|
||
|
+++ b/Documentation/media/uapi/v4l/vidioc-decoder-cmd.rst
|
||
|
@@ -208,7 +208,15 @@ introduced in Linux 3.3. They are, howev
|
||
|
been started yet, the driver will return an ``EPERM`` error code. When
|
||
|
the decoder is already running, this command does nothing. No
|
||
|
flags are defined for this command.
|
||
|
-
|
||
|
+ * - ``V4L2_DEC_CMD_FLUSH``
|
||
|
+ - 4
|
||
|
+ - Flush any held capture buffers. Only valid for stateless decoders.
|
||
|
+ This command is typically used when the application reached the
|
||
|
+ end of the stream and the last output buffer had the
|
||
|
+ ``V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF`` flag set. This would prevent
|
||
|
+ dequeueing the capture buffer containing the last decoded frame.
|
||
|
+ So this command can be used to explicitly flush that final decoded
|
||
|
+ frame. This command does nothing if there are no held capture buffers.
|
||
|
|
||
|
Return Value
|
||
|
============
|
||
|
--- a/Documentation/media/videodev2.h.rst.exceptions
|
||
|
+++ b/Documentation/media/videodev2.h.rst.exceptions
|
||
|
@@ -434,6 +434,7 @@ replace define V4L2_DEC_CMD_START decode
|
||
|
replace define V4L2_DEC_CMD_STOP decoder-cmds
|
||
|
replace define V4L2_DEC_CMD_PAUSE decoder-cmds
|
||
|
replace define V4L2_DEC_CMD_RESUME decoder-cmds
|
||
|
+replace define V4L2_DEC_CMD_FLUSH decoder-cmds
|
||
|
|
||
|
replace define V4L2_DEC_CMD_START_MUTE_AUDIO decoder-cmds
|
||
|
replace define V4L2_DEC_CMD_PAUSE_TO_BLACK decoder-cmds
|
||
|
--- a/include/uapi/linux/videodev2.h
|
||
|
+++ b/include/uapi/linux/videodev2.h
|
||
|
@@ -1989,6 +1989,7 @@ struct v4l2_encoder_cmd {
|
||
|
#define V4L2_DEC_CMD_STOP (1)
|
||
|
#define V4L2_DEC_CMD_PAUSE (2)
|
||
|
#define V4L2_DEC_CMD_RESUME (3)
|
||
|
+#define V4L2_DEC_CMD_FLUSH (4)
|
||
|
|
||
|
/* Flags for V4L2_DEC_CMD_START */
|
||
|
#define V4L2_DEC_CMD_START_MUTE_AUDIO (1 << 0)
|