The H264 uAPI has been modified to expose 2 operation modes: per slice
and per frame decoding.

The cedrus driver only supports per-slice decoding for now.

Signed-off-by: Boris Brezillon <boris.brezil...@collabora.com>
---
 drivers/staging/media/sunxi/cedrus/cedrus.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c 
b/drivers/staging/media/sunxi/cedrus/cedrus.c
index 3661c6a04864..fe6e6a12409b 100644
--- a/drivers/staging/media/sunxi/cedrus/cedrus.c
+++ b/drivers/staging/media/sunxi/cedrus/cedrus.c
@@ -76,6 +76,19 @@ static const struct cedrus_control cedrus_controls[] = {
                .codec          = CEDRUS_CODEC_H264,
                .required       = true,
        },
+       {
+               .cfg.id         = V4L2_CID_MPEG_VIDEO_H264_DECODING_MODE,
+               .cfg.type       = V4L2_CTRL_TYPE_MENU,
+               /*
+                * Only per-slice decoding is supported for now. Note that we
+                * don't need to extract this control value since only one
+                * value is allowed: V4L2_MPEG_VIDEO_H264_DECODING_PER_SLICE.
+                */
+               .cfg.max        = V4L2_MPEG_VIDEO_H264_DECODING_PER_SLICE,
+               .cfg.def        = V4L2_MPEG_VIDEO_H264_DECODING_PER_SLICE,
+               .codec          = CEDRUS_CODEC_H264,
+               .required       = true,
+       },
 };
 
 #define CEDRUS_CONTROLS_COUNT  ARRAY_SIZE(cedrus_controls)
-- 
2.20.1

Reply via email to