From patchwork Tue Mar 25 21:22:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Detlev Casanova X-Patchwork-Id: 14029544 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 81072C36005 for ; Tue, 25 Mar 2025 21:38:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AzwO4b46PfOlLP0nlpx2IdbrLqEBpKm0eF19VKvjn04=; b=SRVW14UwMvUx4x ZKxZc5Y4pQZcVdXTaMfsgUPJbB5yBpQSSLMF6tUrxW7zFx6SQbZ7i02U3cGktrxNpqR7psg3EN47f /KJQH3ZdB76+5YWmTnNVNjikMj2sa6xjxT/i1zwGH/iVOqkU8ZrMl71GTAbUkWv4dm0AxTmWWCHq3 zrZS/NdgVqjwvCGBqePWbiOEQXse4WV9jpOtW/CdFSak9Fourwv2MOYyrd84fn6GjfDdja2eH02V3 iUWAXGtgtf2D4O65Iyy4GLfs0vbH8u7ads9dcYa2pK80pcBiaZrHVaQjT2JKmH0+ViRHArgXTBnfJ 4Ju0Xy1PDHiZaDQFLtMw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1txByk-000000074bY-150G; Tue, 25 Mar 2025 21:38:34 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1txBtk-000000073q0-0awy; Tue, 25 Mar 2025 21:33:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1742938402; bh=Ts/xdvdCdHAKpr7BiHXqfNHMmy4Q+yoCfeh9tDETd6Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OkCPTgFgMnq2UKHA4bDiI+vCoX211/3Z1FxNEPL62Cl3+DAOWKO1IOFHkd+ZhmEp3 wJYT23Tuep+/D/NGL8c+tLVf8olPn//G7xbBTKX9u49Rs6yI728cDAQoYbLDWoBb1/ KsqSeuKhW3Z/gvowriN2osr1R1XNOSKe4ICej/ySo0tXvZRbuGsFu14uaiulOcIR2F A+e94ac97bTAXIk3oZLI0GeaoBwaMcSnYvItf44SitWf08Wl/avXLQdTqI7bSPTj3w 5hPWj7jOjTX3oLW/iuOMUyiL187BRfglwwHcveKJKvwCeTTQ9l7JUBtl02CxpzOdGs 3RHAHuqaj/MSw== Received: from trenzalore.hitronhub.home (unknown [23.233.251.139]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: detlev) by bali.collaboradmins.com (Postfix) with ESMTPSA id 62BBF17E0FCC; Tue, 25 Mar 2025 22:33:18 +0100 (CET) From: Detlev Casanova To: linux-kernel@vger.kernel.org Cc: Ezequiel Garcia , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Greg Kroah-Hartman , Hans Verkuil , Nicolas Dufresne , Andrzej Pietrasiewicz , Jonas Karlman , Sebastian Reichel , Niklas Cassel , Alexey Charkov , Dragan Simic , Jianfeng Liu , Detlev Casanova , Jacopo Mondi , Sakari Ailus , Kieran Bingham , Laurent Pinchart , Umang Jain , Naushir Patuck , Jean-Michel Hautbois , Dmitry Perchanov , Tomi Valkeinen , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-staging@lists.linux.dev, kernel@collabora.com Subject: [PATCH v4 2/6] media: v4l2-ctrls-core: Set frame_mbs_only_flag by default in h264 SPS Date: Tue, 25 Mar 2025 17:22:18 -0400 Message-ID: <20250325213303.826925-3-detlev.casanova@collabora.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250325213303.826925-1-detlev.casanova@collabora.com> References: <20250325213303.826925-1-detlev.casanova@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250325_143324_352669_E6404F8B X-CRM114-Status: GOOD ( 13.39 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org This flag is needed for drivers that have a minimum height lower than 32 pixels. This is because when the flag is not set, the height is halved, which would make it lower than 16 pixels if min height is 16. Setting this flag will keep the height at its value and have a valid SPS. Signed-off-by: Detlev Casanova --- drivers/media/v4l2-core/v4l2-ctrls-core.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/media/v4l2-core/v4l2-ctrls-core.c b/drivers/media/v4l2-core/v4l2-ctrls-core.c index eeab6a5eb7bac..b2343f051e5b9 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-core.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-core.c @@ -111,6 +111,7 @@ static void std_init_compound(const struct v4l2_ctrl *ctrl, u32 idx, struct v4l2_ctrl_vp9_frame *p_vp9_frame; struct v4l2_ctrl_fwht_params *p_fwht_params; struct v4l2_ctrl_h264_scaling_matrix *p_h264_scaling_matrix; + struct v4l2_ctrl_h264_sps *p_h264_sps; struct v4l2_ctrl_av1_sequence *p_av1_sequence; void *p = ptr.p + idx * ctrl->elem_size; @@ -179,6 +180,18 @@ static void std_init_compound(const struct v4l2_ctrl *ctrl, u32 idx, */ memset(p_h264_scaling_matrix, 16, sizeof(*p_h264_scaling_matrix)); break; + case V4L2_CTRL_TYPE_H264_SPS: + p_h264_sps = p; + /* + * Without V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY, + * frame_mbs_only_flag set to 0 will translate to a minimum + * height of 32 (see H.264 specification 7-8). Some driver may + * have a minimum size lower than 32, which would fail + * validation with the SPS value. Set this flag, so that there + * is now doubling in the height, allowing a valid default. + */ + p_h264_sps->flags = V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY; + break; } }