From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 9D8B443FD11 for ; Tue, 4 Aug 2026 20:05:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785873949; cv=none; b=C8qnleEuXzAhwAVj86VBtlfMbSt5JALH2OcS2T1XwrOj8YkvpU5pVW6tL2vGWffPPITfMge+qDU3jVKGal+FfLDb8mKKws6rdiyxqx5Q2d11HotlMnuVaZugh9m550+r03SI45DyMUixap/rs+BXxD3wUW9Mx1NO9WBUyLKE7zo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785873949; c=relaxed/simple; bh=F4eRom+mPRM8WPl4zLEIBCtxYZUV9K0AiT2pLQPIlZ0=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=IAYtOMgGynXppYbo9kWmZWJM2IT7SaZj506cMZ/rVIqPSw3SESaRWWVSoYw58XxsGX/C5wk/XrvkmDtI98M6Y8l+qBETYSuApBbJX8QSLtE9ei+lU4rlAZF55mm2KmoBmkXHxzjCllGQtveEYyAjT+tS9E1wK202gO2kyeFcLVU= 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=K46G3buN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DKOYKVbC; arc=none smtp.client-ip=205.220.168.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="K46G3buN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DKOYKVbC" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 674JlXK1378592 for ; Tue, 4 Aug 2026 20:05:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=XTGknLvikyR+GyVgHHN1w5 ngV6oc7nT0mEeTgJzXIno=; b=K46G3buNeoJubdqJn6yznSGyU6fclo0paXEucZ nVMWpuIRD7h3VCMa+v3cVnXiQ0qIGykd28o6Yer+ARBHJypYwY99dp8bpzeog9+B l0njbscT8WkpITtDC8FsEYv8VrL36zjg4jIFlPih/poy9umTrVciX0subzHp9UOX 03t/PNrjNOItc4+hTbB+E0iBvzHBOhdItoPe3yR1iTuDRUJmjW4r3NXOPa8yHNNg q5kRUELnHsz8ezrfv7Jf2uVY+eKT+zEmHyc24SLgn4uv1sxYnenULfQP2/jL4ROH 7GRgxaJET8un8ZGolGlqox9oMkOWJGHGNywDdyiWYJvQKklw== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fuk9u14du-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 04 Aug 2026 20:05:46 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2cae7a8b9easo374275ad.3 for ; Tue, 04 Aug 2026 13:05:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785873946; x=1786478746; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:content-type:mime-version :message-id:date:subject:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=XTGknLvikyR+GyVgHHN1w5ngV6oc7nT0mEeTgJzXIno=; b=DKOYKVbCSOvDaRkMSi/7FcaKBJLIBQ/j7nnzSLMhYneTd4WbWM+YKzSLuw1moiFIgn q2WEu9dq/CE6IVKIQ+kq6bVRPVdnduSJH8vG+G+mlc9lCGuBFBKwftKCRfsJHW+GXUsH HLn0zHmATTfVOZmDgwr0nR6OEM/PpBmsM/ZdrEZiFffPS4ZEDFTA0NzGmZT3UsLmJfXE luKFdV0Gfrj5Emaspn9N9QQJ+RYG3hbEJIH36Lft9lbGhvpvIIwm09Y9Xdrg68KIP4ZH PzLKeShp0az4W6kx7Viukq4KmYLrE5Zr1AfSzyXXCMYa5jTwx14yhbqDu0/byUpYxODY NYwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785873946; x=1786478746; h=cc:to:content-transfer-encoding:content-type:mime-version :message-id:date:subject:from:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=XTGknLvikyR+GyVgHHN1w5ngV6oc7nT0mEeTgJzXIno=; b=PKUHlDFTMfPTSEQVzwbr/mfoJ/YOy021daT0ak+dJ1KLVvLh4W17DL71Q7cNK3OG1c mqqX67h8HWT8uq19vZdcDbMTdRaEJr0Iiy/ZyPdqjocSXochV7rJRJ/wbADcOE7NVkJh Pby4oVzqT9Y2SFr5iFsZqJrRmk4Kgb+vHFN3D4R31pN8K9qP29/O9tzzAo8FpJowVTBd JotGH7b1fS+WVr9/dGady7ZjLThkwY2KgJfgh3tooHdpbtqD5v+Xu4xJNH9BB2dX3qQl DPQ4qn4n2YunUDU/dApgKiDiOm37FXmnpwA/geChVJHM8qD1trj0a+nmMdCYYDwAr+tL SaIw== X-Forwarded-Encrypted: i=1; AHgh+RplmTcWhsEOJhN3SSgwlxfjIOqHguPURGeFKG+fWqGH0qeHXa9+H1vqlCx+yGAne46/U/sFCPt/vSP6woI=@vger.kernel.org X-Gm-Message-State: AOJu0YzScMt8cfXOkxsq+mc5tmY+EmwZ3LXtzFqxCPw11JwN5nI/VuAh R1KcZgLZcrIdcawUpPmzqZn1AsK8WURewde/e3eOcY/89WGFwv+41DqzSsog167NWs3vaPFnXrT mZLawqoLcFGnCHGn+WxaM+2T3pAbr3Pz3Bt1c3WzxY/qx+RsnjEGZit2WS/t4S1KuR/o= X-Gm-Gg: AR+sD12yCFtSShU2Ucq02N1XomSUjfd8Jla43BxDzgADF/LPOmGXzoqdhytFTEMiKur JQ911taT2rtx7vZ6/KioWQEUtckebCHTRIdrFLmXwEbCcuHpk1btXGBPXH/3Hn9UGJ2Unl1ZF14 Au/CYcJwF23uzNp5ssJQ1NJ/fV9wxDIBt481fexbQMLzfhJTiAYj5itzEPVkp9KF9Ue3Pob8A5G RG4/8ucaguX0Veu5MrUoLxbTEeR0lJOHFcay1VXFHuzaN7HM6KUeb8OkXpzWxssh70ieoghsSz4 YSFu2RFQocz2XqQrmn3QPRMTSK59oBBCqCj/DfLBsRdqul8TPZ+/aFaVzGMF2jfhQg/UqOSJork dObUP1PBHQAh4qI/HA/7Bie/BDvO32MZSWMENX4bJpPIy4xFyhTPCJnZ62JJE X-Received: by 2002:a17:903:184b:b0:2ca:ecf6:9105 with SMTP id d9443c01a7336-2d0ca6010d1mr10364185ad.1.1785873945979; Tue, 04 Aug 2026 13:05:45 -0700 (PDT) X-Received: by 2002:a17:903:184b:b0:2ca:ecf6:9105 with SMTP id d9443c01a7336-2d0ca6010d1mr10363785ad.1.1785873945396; Tue, 04 Aug 2026 13:05:45 -0700 (PDT) Received: from gu-dmadival-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3158673be99sm14457146eec.15.2026.08.04.13.05.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Aug 2026 13:05:44 -0700 (PDT) From: Deepa Guthyappa Madivalara Subject: [PATCH v3 0/3] Implement Region of Interest(ROI) support Date: Tue, 04 Aug 2026 13:05:35 -0700 Message-Id: <20260804-enc_roi_enable-v3-0-e03b622a2d48@oss.qualcomm.com> 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: 7bit X-B4-Tracking: v=1; b=H4sIAA9GcmoC/3XMTQrCMBCG4atI1qY0P6bVlfcQKWk6sQNtookGp fTupt24UDcD78D3TCRCQIjksJlIgIQRvcshthtieu0uQLHLTXjJVamYouBMEzw24HQ7AJWdqHd GVrXQQPLoGsDicwVP59w9xrsPr9VPbPn+pRKjJbVgjZFQKSvE0cdY3B56MH4ci3zIIib+USomv xSeFSVULey+aw3YH8o8z281SFMt+QAAAA== X-Change-ID: 20260616-enc_roi_enable-4d385c4783ae 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 , kernel test robot X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785873944; l=4974; i=deepa.madivalara@oss.qualcomm.com; s=20250814; h=from:subject:message-id; bh=F4eRom+mPRM8WPl4zLEIBCtxYZUV9K0AiT2pLQPIlZ0=; b=hop2ocVt5yrIRsyiqPYiZJuklclVcxfpgELAUIR2qvbFlTAflLVkwC8LjQCaZ9t0K/DSe9gDS +IBe5ciz5geA+dt4tc6saVHjylBSPgGLWu96OZ80s18Tx+M1uGpmFL7 X-Developer-Key: i=deepa.madivalara@oss.qualcomm.com; a=ed25519; pk=MOEXgyokievn+bgpHdS6Ixh/KQYyS90z2mqIbQ822FQ= X-Authority-Analysis: v=2.4 cv=NInlPU6g c=1 sm=1 tr=0 ts=6a72461a cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=QyXUC8HyAAAA:8 a=Um9VFfwTIzMb-0Dl9GAA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: _MZckwjc3yeA-LxDzVYMfnDTVd4sHybJ X-Proofpoint-Spam-Info: AW1haW4tMjYwODA0MDE2MiBTYWx0ZWRfX/H3UdaXGybby Nth6fd68ENVZVtA23cXbXhxz18CZg3WlshbUdpLapJ4OfcX60HvQ1cmc7zS0vnY94MqNHL7OsaS k9SmlnFZ+Yzwc21shxAlPAtvW1Vi/qM= X-Proofpoint-ORIG-GUID: _MZckwjc3yeA-LxDzVYMfnDTVd4sHybJ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA0MDE2MiBTYWx0ZWRfX4khdvmoekRSh cJX10xtjxgbWMWFRUEnrxW7hR8AC4JgoMWhLrqTbgx2ImcWece5Gia7441rNUp/TIMepSC1xh2u aSmUWX+s3eOn14HD05Go29cR0WI379kzs06OjC/fVLeIt0ESXWM0MVNnZTVrgM1HXH8pV0vg48E qN4xc+R77URNItfWzP2U/aVA2Wa6Mf31rBOBjo0mA8EpbJtxHRXF7+pbuOBMLGjrClMXOABJqHB v1zvcYsVSMMj9NQ5H7K4etFrJ3xKjfo172O0dDZPEUlPzdwKHI82UaGQJBe3vhE5ZnHjj0r/245 fyYmQ1D1wHsEQNXzMWThz7ASUYLqbOc3cNxzz6BwAyzC62Wp1n/tx0ml9vwWqClFWAP81e3Ht6b YEA4hMx5siWfEf6K0H9JUWoAkkZfqBhNNDPn7heZik66uA16nSwjXMUV8olIZIHotjzNLvnTGVV 42o1N78J2rhWL70QwYA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-04_05,2026-08-04_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 suspectscore=0 clxscore=1015 adultscore=0 malwarescore=0 spamscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608040162 Hi all, This patch set implements region of interest(ROI) support for video encoder to be configured as a MB based delta_qp for the whole frame. Custom controls V4L2_CID_MPEG_VIDEO_ROI_MB_DELTA_QP and V4L2_CID_MPEG_VIDEO_ROI_MB_SIZE are implemented to achieve this. Corresponding support is added in iris encoder to implement this feature. This submission and design is based on the feedback received from community for the RFC[1] series posted earlier. Initial testing is done by adding support to v4l2-ctl[2] to test this control setting and its functionality. [1]https://lore.kernel.org/linux-media/20260113-iris_enc_roi-v1-0-6c86eba38587@oss.qualcomm.com [2]https://lore.kernel.org/linux-media/20260616-enc_roi_enable-v1-1-252792d27894@oss.qualcomm.com Results: v4l2-ctl -d /dev/video1 --list-ctrls ... enc_mb_roi_delta_qp 0x00990b92 (s8) : min=-31 max=30 step=1 default=0 dims=[139264] flags=has-payload roi_mb_size 0x00990b93 (u8) : min=16 max=32 step=1 default=16 value=16 flags=has-payload v4l2-compliance -d /dev/video1 ... Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test CREATE_BUFS maximum buffers: OK test VIDIOC_REMOVE_BUFS: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) test blocking wait: OK Total for iris_driver device /dev/video1: 48, Succeeded: 48, Failed: 0, Warnings: 0 ./v4l2-ctl --verbose -d /dev/video1 --set-fmt-video-out=width=176,height=144,pixelformat=NV12 --set-fmt-video=pixelformat=H264 --set-ctrl=enc_mb_roi_delta_qp=-20,-2,-22,9,-16,-2,14,-9,-19,3,-26,19,-23,30,1,0,-6,-7,7,2,-2,15,-15,-24,-24,-26,-26,5,-1,-1,9,-11,15,-25,-11,26,-11,7,-26,-27,-8,-18,7,-4,-12,-23,-11,22,-7,7,-14,24,6,-8,-7,2,7,-26,2,-25,-1,-3,-4,-6,-26,-11,7,16,-30,-22,-15,30,-14,-29,-11,-8,8,6,19,15,-17,21,-27,30,-17,-28,-10,-20,1,22,29,-19,-2,28,10,12,-10,7,-4 --stream-mmap --stream-out-mmap --stream-from=/media/foreman_qcif_nv12.yuv --stream-to=roi_try.h264 --stream-count=10 Validated on SM8550 MTP. Thanks, Deepa Signed-off-by: Deepa Guthyappa Madivalara Signed-off-by: Deepa Guthyappa Madivalara --- Changes in v3: - Updated Documentation (Hans) - Reuse ROUND_TO_RANGE_RANGE for p_s8 (Hans) - Rebase onto media-committers next. - Link to v2: https://lore.kernel.org/r/20260714-enc_roi_enable-v2-0-63683f9dbcef@oss.qualcomm.com Changes in v2: - Fix issues detected by Media CI robot and kernel test robot. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202606171554.03yt9utn-lkp@intel.com/ - Rebase onto media-committers next. - Update to handle p_s8 in std_validate_elem correctly. - Link to v1: https://lore.kernel.org/r/20260616-enc_roi_enable-v1-0-fefcc4e76f33@oss.qualcomm.com --- Deepa Guthyappa Madivalara (3): media: uapi: Introduce new control for video encoder ROI media: v4l2-core: Add support for video encoder ROI control media: iris: Add ROI support framework for iris video encoder .../userspace-api/media/v4l/ext-ctrls-codec.rst | 19 ++++ .../media/v4l/videodev2.h.rst.exceptions | 1 + .../userspace-api/media/v4l/vidioc-g-ext-ctrls.rst | 4 + .../userspace-api/media/v4l/vidioc-queryctrl.rst | 6 ++ drivers/media/platform/qcom/iris/iris_buffer.c | 101 ++++++++++++++++++++ drivers/media/platform/qcom/iris/iris_buffer.h | 22 +++++ drivers/media/platform/qcom/iris/iris_ctrls.c | 104 ++++++++++++++++++++- drivers/media/platform/qcom/iris/iris_ctrls.h | 3 + drivers/media/platform/qcom/iris/iris_hfi_common.h | 1 + drivers/media/platform/qcom/iris/iris_hfi_gen2.c | 14 +++ .../platform/qcom/iris/iris_hfi_gen2_command.c | 62 ++++++++++++ .../platform/qcom/iris/iris_hfi_gen2_defines.h | 3 + .../platform/qcom/iris/iris_hfi_gen2_packet.c | 6 +- .../platform/qcom/iris/iris_hfi_gen2_packet.h | 3 + .../platform/qcom/iris/iris_hfi_gen2_response.c | 29 ++++++ .../platform/qcom/iris/iris_platform_common.h | 5 + drivers/media/platform/qcom/iris/iris_venc.c | 4 + drivers/media/platform/qcom/iris/iris_venc.h | 2 + drivers/media/platform/qcom/iris/iris_vidc.c | 2 + drivers/media/v4l2-core/v4l2-ctrls-api.c | 1 + drivers/media/v4l2-core/v4l2-ctrls-core.c | 25 ++++- drivers/media/v4l2-core/v4l2-ctrls-defs.c | 10 ++ include/media/v4l2-ctrls.h | 2 + include/uapi/linux/v4l2-controls.h | 2 + include/uapi/linux/videodev2.h | 3 + 25 files changed, 428 insertions(+), 6 deletions(-) --- base-commit: 31152f5b0f8719f92063b8c6196cd5e34106c73d change-id: 20260616-enc_roi_enable-4d385c4783ae Best regards, -- Deepa Guthyappa Madivalara