All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ezequiel Garcia <ezequiel@collabora.com>
To: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: kernel@collabora.com, Jonas Karlman <jonas@kwiboo.se>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Nicolas Dufresne <nicolas.dufresne@collabora.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Maxime Ripard <mripard@kernel.org>,
	Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	Ezequiel Garcia <ezequiel@collabora.com>
Subject: [PATCH v4 03/13] media: cedrus: h264: Support profile controls
Date: Mon, 23 Nov 2020 11:39:50 -0300	[thread overview]
Message-ID: <20201123144000.81310-4-ezequiel@collabora.com> (raw)
In-Reply-To: <20201123144000.81310-1-ezequiel@collabora.com>

Cedrus supports H.264 profiles from Baseline to High,
except for the Extended profile

Expose the V4L2_CID_MPEG_VIDEO_H264_PROFILE so that
userspace can query the driver for the supported
profiles and levels.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
 drivers/staging/media/sunxi/cedrus/cedrus.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c
index 9a102b7c1bb9..97000f0e0011 100644
--- a/drivers/staging/media/sunxi/cedrus/cedrus.c
+++ b/drivers/staging/media/sunxi/cedrus/cedrus.c
@@ -103,6 +103,25 @@ static const struct cedrus_control cedrus_controls[] = {
 		.codec		= CEDRUS_CODEC_H264,
 		.required	= false,
 	},
+	/*
+	 * We only expose supported profiles information,
+	 * and not levels as it's not clear what is supported
+	 * for each hardware/core version.
+	 * In any case, TRY/S_FMT will clamp the format resolution
+	 * to the maximum supported.
+	 */
+	{
+		.cfg = {
+			.id	= V4L2_CID_MPEG_VIDEO_H264_PROFILE,
+			.min	= V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE,
+			.def	= V4L2_MPEG_VIDEO_H264_PROFILE_MAIN,
+			.max	= V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
+			.menu_skip_mask =
+				BIT(V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED),
+		},
+		.codec		= CEDRUS_CODEC_H264,
+		.required	= false,
+	},
 	{
 		.cfg = {
 			.id	= V4L2_CID_MPEG_VIDEO_HEVC_SPS,
-- 
2.27.0


  parent reply	other threads:[~2020-11-23 14:41 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-23 14:39 [PATCH v4 00/13] Stateless H.264 de-staging Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 01/13] media: ctrls: Add validate failure debug message Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 02/13] media: rkvdec: h264: Support profile and level controls Ezequiel Garcia
2020-11-23 14:39 ` Ezequiel Garcia [this message]
2020-11-24 20:43   ` [PATCH v4 03/13] media: cedrus: h264: Support profile controls Jernej Škrabec
2020-11-23 14:39 ` [PATCH v4 04/13] media: Rename stateful codec control macros Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 05/13] media: Clean stateless control includes Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 06/13] media: uapi: h264: Add profile_idc macros Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 07/13] media: controls: Validate H264 stateless controls Ezequiel Garcia
2020-11-25  9:52   ` Hans Verkuil
2020-11-23 14:39 ` [PATCH v4 08/13] media: controls: Add the stateless codec control class Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 09/13] media: uapi: Move parsed H264 pixel format out of staging Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 10/13] media: uapi: Move the H264 stateless control types " Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 11/13] media: controls: Log H264 stateless controls in .std_log Ezequiel Garcia
2020-11-23 14:39 ` [PATCH v4 12/13] media: uapi: move H264 stateless controls out of staging Ezequiel Garcia
2020-11-25 10:02   ` Hans Verkuil
2020-11-23 14:40 ` [PATCH v4 13/13] media: docs: Move the H264 stateless codec uAPI Ezequiel Garcia
2020-11-25 10:37   ` Hans Verkuil
2020-11-25 10:57   ` Hans Verkuil
2020-11-24 20:42 ` [PATCH v4 00/13] Stateless H.264 de-staging Jernej Škrabec

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201123144000.81310-4-ezequiel@collabora.com \
    --to=ezequiel@collabora.com \
    --cc=hverkuil@xs4all.nl \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=kernel@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mripard@kernel.org \
    --cc=nicolas.dufresne@collabora.com \
    --cc=p.zabel@pengutronix.de \
    --cc=paul.kocialkowski@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.