[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20241210210255.1583747-1-nicolas.dufresne@collabora.com>
Date: Tue, 10 Dec 2024 16:02:53 -0500
From: Nicolas Dufresne <nicolas.dufresne@...labora.com>
To: Daniel Almeida <daniel.almeida@...labora.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Hans Verkuil <hverkuil-cisco@...all.nl>
Cc: Nicolas Dufresne <nicolas.dufresne@...labora.com>,
kernel@...labora.com,
linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v1] media: visl: Fix ERANGE error when setting enums controls
The visl driver supports both frame and slice mode, with and without
start-code. Though, the range and default for these enum control was
not set, which limits currently its use to the enums with value 0.
This fixes setting decoder mode and start code controls for both
H.264 and HEVC codec.
Fixes: 0c078e310b6d ("media: visl: add virtual stateless decoder driver")
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@...labora.com>
---
drivers/media/test-drivers/visl/visl-core.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/media/test-drivers/visl/visl-core.c b/drivers/media/test-drivers/visl/visl-core.c
index c46464bcaf2e..93239391f2cf 100644
--- a/drivers/media/test-drivers/visl/visl-core.c
+++ b/drivers/media/test-drivers/visl/visl-core.c
@@ -161,9 +161,15 @@ static const struct visl_ctrl_desc visl_h264_ctrl_descs[] = {
},
{
.cfg.id = V4L2_CID_STATELESS_H264_DECODE_MODE,
+ .cfg.min = V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED,
+ .cfg.max = V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED,
+ .cfg.def = V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED,
},
{
.cfg.id = V4L2_CID_STATELESS_H264_START_CODE,
+ .cfg.min = V4L2_STATELESS_H264_START_CODE_NONE,
+ .cfg.max = V4L2_STATELESS_H264_START_CODE_ANNEX_B,
+ .cfg.def = V4L2_STATELESS_H264_START_CODE_NONE,
},
{
.cfg.id = V4L2_CID_STATELESS_H264_SLICE_PARAMS,
@@ -198,9 +204,15 @@ static const struct visl_ctrl_desc visl_hevc_ctrl_descs[] = {
},
{
.cfg.id = V4L2_CID_STATELESS_HEVC_DECODE_MODE,
+ .cfg.min = V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,
+ .cfg.max = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,
+ .cfg.def = V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,
},
{
.cfg.id = V4L2_CID_STATELESS_HEVC_START_CODE,
+ .cfg.min = V4L2_STATELESS_HEVC_START_CODE_NONE,
+ .cfg.max = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,
+ .cfg.def = V4L2_STATELESS_HEVC_START_CODE_NONE,
},
{
.cfg.id = V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS,
base-commit: ecf2b43018da9579842c774b7f35dbe11b5c38dd
--
2.47.1
Powered by blists - more mailing lists