From nobody Mon Feb 9 22:19:49 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99A8C2BD5BB for ; Tue, 13 Jan 2026 20:33:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768336422; cv=none; b=Q9v2YgcQXkgGEewYDMtsW1hjmXM+d1Y5XbDrn9Z5lP7S2y5zjfSCILIk/oIiWoAwmAl3LSOlCO3JPig1uE2FmAkGmxStx03l9lg6VdnscKOG3YKOQ9SVFtX6qUleu1sHxeAyE/ZFCnCsrN87xkLdl1c2CFnOwfTPDGetkiKeqgY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768336422; c=relaxed/simple; bh=rLg1XZm7+TLU/MssBuCqd65nuhBQ9YaSkzsjTYz4VIE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Z42fq9ilHjxixrEhiil9xpmrXRW3srP9CXdkpJb4TQUyfmk87Hs56dm1Yz5VLw78xIpalcU9DYFKzlLyonzwOX89Zd0qJdpZahqx71Q70xiD9xiZA/GGlLxBrtwjGDlr4gC2HxAHIyWjhmecI+q49bbDm1uiH2D028lAII0TtQs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=MUNZ7PwV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Yoye1ESc; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="MUNZ7PwV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Yoye1ESc" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60DHv8Gc3799036 for ; Tue, 13 Jan 2026 20:33:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 0moqou0Ld4EaZmHxxSS0TZm2GMndw0nUqSIpM/AN1jg=; b=MUNZ7PwVpbrothYH BUkjqNgYRmexrFjjH4+DAPX5KMElW8+sJYkYNGkK3VUiJr7eQJsvDDVi8nquCS6V GAZ4KQn4l7i/z6r0ZgaQxndlC5RHHYaK/NQ35wciKDMGy1PgbXpCOFgYeN78/R68 SgbT9YuPID4ew+FW+lGA9Bgc1ByItWe+clVrTBKp/dvv4dPFNd84Q5WQBQWuxcoh c0kSEtdfLEs5csDBKZzdHdaGWh1sQI0/qXl7lcoGNQsgvlMfkLcf9PBCeVcjj6bQ sKfeJXZaZR9WMHpsxY71bsk86iCwdZJMBCuIPAtpd0INhG3p6Qoi9pfz+Xaxelxl wKoFjA== Received: from mail-dl1-f70.google.com (mail-dl1-f70.google.com [74.125.82.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bnm0dt15y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 13 Jan 2026 20:33:39 +0000 (GMT) Received: by mail-dl1-f70.google.com with SMTP id a92af1059eb24-1232cb47471so170253c88.0 for ; Tue, 13 Jan 2026 12:33:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768336419; x=1768941219; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=0moqou0Ld4EaZmHxxSS0TZm2GMndw0nUqSIpM/AN1jg=; b=Yoye1ESc61PHcEhxRBRawSUYy0tKFN+V7sPOst7e/xNjcxaa6Lca0dtPGgP4RncjkU Q29rQjDTyoq6HoeAgt+9xYw5zVDyAsJXLP+oisU+lJlRUcjfrhoLyI2idVdEAQkMVXXi ZQcMMIKZCO+LTvXN3Tt7VJgN1u0iki0mIMn8BpXTqJ6kjUm4OHzZNoVlxQwsyZEmdi/B tuEusYyPpQZj8Q00a/2RXjSSwVVl51djmk1Shs8tGtTQP4LAyl+EshQuZTH6LhG2lF8y pDGmMEgKVCGdOM/03ZmUe+828/PUo7bugNSN/3krdfwD4XUUTB2llSKasxfMBtycV3Mz X9Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768336419; x=1768941219; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=0moqou0Ld4EaZmHxxSS0TZm2GMndw0nUqSIpM/AN1jg=; b=SAPLZR3BsaomvHUY8p72rHBWKDiNNrQq9FTq9X5f4MrqkEIx8X7RcpmiO07n3MpBwY eN9BAyWBIGTd1w5MsACOzsqc4zLYDNu6PuOGLUXKdqK/NScu/3gGXwjc0B00EJQ9uzaM QfJSNN9nW2UUAe+U5VOc7DHg/h5sMOuQY2Zzgd8XgGjtQYCERj+xJQQuPlAnzbEVJYnW S7S+Bt6jYPnm9iqHNA4CcKUK9af+N/7FnMxa0GcWhV0YDJa181xdATU0r9dJck6vUbOH wYQtsr0sdqDJk8WzKfoVwcyMxq2OzYTAebYisVxz2hsthq6WHmtQ63SumFSHdriG+nkm OPGA== X-Forwarded-Encrypted: i=1; AJvYcCVYfoV4+/CzHBr8yfb0GTdaGjYq/YTZRJCXB53QeDBgLexxy9m0UI52P5Xxv9AhQRuO4H2k64IBxLV6kCY=@vger.kernel.org X-Gm-Message-State: AOJu0YxWPO1Fw8Ag7Uowu6/fxCVxXkZmBxODOkhhOlNbMG/9VNru3d3p rHMp970wHc3cfmIK59s02rnqOXG7fTzbRE1mIZ/LjUt/SPHh7yWqFbOHyDFAgZEydP/ghfX/ZCQ Ut++NfszNdNwS5fWdleHEMK5tn4W78d+6nGaFSV9Cnj8rbamIfVApDXmg9baDY3hvkGw= X-Gm-Gg: AY/fxX5AxkXhGDajL/FBOF+5QgxHNLMGLT0re9Mhaz9s1+19TBctzQ1LAsUV5yvwSg/ E4zq2AWsaNOkSwWeGu8OIV9SbtkGUIPj+xCEvszmoYg8sa0ILkl55rrljgVbNlZ4Zg3Q4FNqrbn LSmxG8eFRNkXx4uaGIeBlg9I3J2kBMfeYzifwiesD4MdS7EKX3eiQft00fWZ5TmTw21gIU5Dr2g ngBdNLmbnFbHCz+TcKRVFzLtKp1/oYqagUtzlFtd5j+MJU2hWjywdBcn+XXsNUNXgQpy9J9ncck 24KWJdGRedQXXdwmBV8xCxWTRrjqa0ezuU+QI0i0tb2uKrIvw+EADyUEKkjns0IDyspqgD9Es9Z /7VcSQPJGDvIHye/8wzO6FVHYeLTGJMAONeD0f8dMmS4r4jigUqrZhYeLHx9ycd2K/LwYlg== X-Received: by 2002:a05:7300:7304:b0:2ae:593b:2163 with SMTP id 5a478bee46e88-2b4870bf0dfmr136999eec.4.1768336418560; Tue, 13 Jan 2026 12:33:38 -0800 (PST) X-Received: by 2002:a05:7300:7304:b0:2ae:593b:2163 with SMTP id 5a478bee46e88-2b4870bf0dfmr136981eec.4.1768336417978; Tue, 13 Jan 2026 12:33:37 -0800 (PST) Received: from gu-dmadival-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2b170673bc0sm19157897eec.5.2026.01.13.12.33.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jan 2026 12:33:37 -0800 (PST) From: Deepa Guthyappa Madivalara Date: Tue, 13 Jan 2026 12:33:33 -0800 Subject: [RFC PATCH 2/3] media: v4l2-core: Add support for video encoder ROI control Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260113-iris_enc_roi-v1-2-6c86eba38587@oss.qualcomm.com> References: <20260113-iris_enc_roi-v1-0-6c86eba38587@oss.qualcomm.com> In-Reply-To: <20260113-iris_enc_roi-v1-0-6c86eba38587@oss.qualcomm.com> To: Mauro Carvalho Chehab , Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Deepa Guthyappa Madivalara X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1768336416; l=3289; i=deepa.madivalara@oss.qualcomm.com; s=20250814; h=from:subject:message-id; bh=rLg1XZm7+TLU/MssBuCqd65nuhBQ9YaSkzsjTYz4VIE=; b=Sr4x6zEVPNeL1g0JOIj59gzmqbw6vnuMmJ9+MXMlvRMlCL+/GQlO831nKbUiYLTQ8442IVe49 GbDXccNz63uD4pLH9V7tRAkfFKZ6xOquTS+Vy84+KLN4DuqsGldZ4nU X-Developer-Key: i=deepa.madivalara@oss.qualcomm.com; a=ed25519; pk=MOEXgyokievn+bgpHdS6Ixh/KQYyS90z2mqIbQ822FQ= X-Authority-Analysis: v=2.4 cv=BYXVE7t2 c=1 sm=1 tr=0 ts=6966ac23 cx=c_pps a=SvEPeNj+VMjHSW//kvnxuw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=rF52-kdUTgVHl7Ch54gA:9 a=QEXdDO2ut3YA:10 a=Kq8ClHjjuc5pcCNDwlU0:22 X-Proofpoint-ORIG-GUID: eyE32sl7p_PqCaccR9a_SKmVHmNxwnP9 X-Proofpoint-GUID: eyE32sl7p_PqCaccR9a_SKmVHmNxwnP9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTEzMDE2OCBTYWx0ZWRfX+l5nj8FUFSsZ hMWicyuGn/fuVgMMCYZVmw9ZC7f0wEXrhWWgYYMUihVbmZg/JE7n/rm9yHptu+r1T+3cxxS1Ivx QiH13gJhsQPUcu70xkpLOx3BW3iZxigw8nActHwBWo2xFrUa3i0n07wQ0PR8bvxX2ev2RIrQQn2 9nAzS+abkyVsFrlZ6I0zl+qSdKz9BY92A5kLzSiXV4K9+fHapoem/8jk0ojBec69bn4CVjknlx5 khuR2oywn0Ys4oUGct2osTJwsX76WmTyRB/yeOdxYHebAMBvyvRRtLUnO6nlSdDRcZq1WsXk4JB E2UvFkMFN/4zRJ7ovphCptn4QrtNpBI4ts4wKD4XVo1bSTECcW6s8LunRJrvo4tIj1RTfx4NkNe 47W2sEfB5yfA4KcoLq2hIAaDuth4ej35eklRQLN/cxofXyk/vM5c1TYtVN5V8PHz25fiPxW5w45 2lBzj7HtB7BNDQvEdKg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-13_04,2026-01-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 impostorscore=0 spamscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601130168 Implement V4L2_CTRL_TYPE_ENC_ROI_PARAMS control type with validation ensuring the number of ROI regions stays within acceptable limits. Signed-off-by: Deepa Guthyappa Madivalara --- drivers/media/v4l2-core/v4l2-ctrls-core.c | 14 +++++++++++++- drivers/media/v4l2-core/v4l2-ctrls-defs.c | 5 +++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/media/v4l2-core/v4l2-ctrls-core.c b/drivers/media/v4l2= -core/v4l2-ctrls-core.c index 209bc05883bb15bc8614970e7b42595aad6dd18f..5695c96b4f2065c5d548a25ebcf= d3619e7b6f4d0 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-core.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-core.c @@ -442,6 +442,9 @@ void v4l2_ctrl_type_op_log(const struct v4l2_ctrl *ctrl) case V4L2_CTRL_TYPE_AV1_FILM_GRAIN: pr_cont("AV1_FILM_GRAIN"); break; + case V4L2_CTRL_TYPE_ENC_ROI_PARAMS: + pr_cont("ENCODER_ROI"); + break; case V4L2_CTRL_TYPE_RECT: pr_cont("(%d,%d)/%ux%u", ptr.p_rect->left, ptr.p_rect->top, @@ -967,6 +970,7 @@ static int std_validate_compound(const struct v4l2_ctrl= *ctrl, u32 idx, struct v4l2_ctrl_hevc_decode_params *p_hevc_decode_params; struct v4l2_area *area; struct v4l2_rect *rect; + struct v4l2_ctrl_enc_roi_params *p_enc_roi_params; void *p =3D ptr.p + idx * ctrl->elem_size; unsigned int i; =20 @@ -1329,7 +1333,12 @@ static int std_validate_compound(const struct v4l2_c= trl *ctrl, u32 idx, if (!rect->width || !rect->height) return -EINVAL; break; - + case V4L2_CTRL_TYPE_ENC_ROI_PARAMS: + p_enc_roi_params =3D p; + if (p_enc_roi_params->num_roi_regions > 10 || + p_enc_roi_params->num_roi_regions < 0) + return -EINVAL; + break; default: return -EINVAL; } @@ -2042,6 +2051,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ct= rl_handler *hdl, case V4L2_CTRL_TYPE_RECT: elem_size =3D sizeof(struct v4l2_rect); break; + case V4L2_CTRL_TYPE_ENC_ROI_PARAMS: + elem_size =3D sizeof(struct v4l2_ctrl_enc_roi_params); + break; default: if (type < V4L2_CTRL_COMPOUND_TYPES) elem_size =3D sizeof(s32); diff --git a/drivers/media/v4l2-core/v4l2-ctrls-defs.c b/drivers/media/v4l2= -core/v4l2-ctrls-defs.c index ad41f65374e2396f30f9798235401705af366622..7d36e387d6e9b0e5ee556ea1e48= c1b4f0abd084b 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-defs.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-defs.c @@ -973,6 +973,7 @@ const char *v4l2_ctrl_get_name(u32 id) case V4L2_CID_MPEG_VIDEO_AVERAGE_QP: return "Average QP Value"; case V4L2_CID_FWHT_I_FRAME_QP: return "FWHT I-Frame QP Value"; case V4L2_CID_FWHT_P_FRAME_QP: return "FWHT P-Frame QP Value"; + case V4L2_CID_MPEG_VIDEO_ENC_ROI: return "Video Encoder ROI params "; =20 /* VPX controls */ case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS: return "VPX Number of Parti= tions"; @@ -1607,6 +1608,10 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum = v4l2_ctrl_type *type, case V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY: *type =3D V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY; break; + case V4L2_CID_MPEG_VIDEO_ENC_ROI: + *type =3D V4L2_CTRL_TYPE_ENC_ROI_PARAMS; + *flags |=3D V4L2_CTRL_FLAG_HAS_PAYLOAD; + break; default: *type =3D V4L2_CTRL_TYPE_INTEGER; break; --=20 2.34.1