From nobody Thu Apr 2 22:09:01 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 724A8275870 for ; Fri, 13 Feb 2026 06:05:03 +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=1770962704; cv=none; b=G1qk349EfxORV7ikx1JYruLfnxuwc/6gc8oRoDFetvD8MvpFVNnigUK3F5aGPFIa7Gylzi8qPg83AtZeggztRv/Xb5Yof4NOdcZCu515/ERL6imA+k3HFduw4rd9ZltqodUYCOGCashOtviWq9dmEXSlkOTL+PSjhc7J5g30y/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770962704; c=relaxed/simple; bh=/pPAVN19I+kSbAJQbNMJlUn1ZCjEj0PufiLWfMayerY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ify7o9pYfCheOxw/9SZlKhm7roiu1bg5oB01e20mn7kV5bJ7zIOH3Zp4uvGdDzQ/lCSZ3DEg+TowEPOIgSsY9DstZWrvAMqaZSeM7xO2nMkWRArZECwGpGztu9p1N1BURz6ONkRjmTt5Cyiz2CLs77Ap0N/snq4VBdQrQC2x5jM= 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=hRjZwBug; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZCqHyYUt; 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="hRjZwBug"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZCqHyYUt" 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 61D0Sgr0723667 for ; Fri, 13 Feb 2026 06:05:02 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= 9TgdFreKgmH8AIWaUnTjY7kGZXik7SmdTvwCYOSWci8=; b=hRjZwBugzX1DG/sh g24O40THFNT9qG6fvZ0Rj5gx3YAY+q/ghTnM+oGsgH1Zujl6fhFz3XO6We7Nnmm7 7abs29TIqop8VLnTlYISb/lyRZgyDDXJobIbPN+STjDsNYrksFYv86on+vUCjj5x SU65/2NCDgjuJaAUslW1Iexglx8Qr09HoaOQPAHUsqMT3iRgmK4VtEghqyKylv6R gQqqCHQfjz4SHj8/BTUh427k1/+C0OoNnkiz5cQPjBvqOvau8qe1OPZHh2S+GE4o XM+Iz3XC4dSzK4Lnad414HlPy9OJzXDPZXUEop+ETzQr0FtF8JcqG6VuRAp0jben xE/Z8A== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c9cyabt33-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 13 Feb 2026 06:05:01 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c6de18907a0so398868a12.1 for ; Thu, 12 Feb 2026 22:05:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770962701; x=1771567501; 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=9TgdFreKgmH8AIWaUnTjY7kGZXik7SmdTvwCYOSWci8=; b=ZCqHyYUtweo7j5aclSlNDCohcoEtbdsLc/iysQkJt2elaUCw9FkYndfGvDHVCF3hSt fzcn8lXhlI6ieuCE5TOL4s/lZWwOiSBozQEnn+Hhvl6nehIBGZsa5Ypz1vIfXTuaamcv 24w3sjQnuujhxdhKhaPYTaCN5ypONRqkY1hk94iPbdmErDweAh+27cKv1OwFfAqNa1DD v3kG3q62mmpOWEdLRGwyE7APXi2ovonm/6A4j0jDZnbNQ+iJCU8QU8LVrOkG51um5xpB SyqepaTD31Qcb0yICcydpwmr1RS8bCIBBYZWnsP7Q0mv2MxyBydd5AAB5/dCYHhgO51W 5MQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770962701; x=1771567501; 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=9TgdFreKgmH8AIWaUnTjY7kGZXik7SmdTvwCYOSWci8=; b=IrrrO7GncwLcFBPuXgkAL76AUNkSw6AhIosi2g7RvyM+3gNaAHA60XMEFYtMiEK9ib a6S4S8ZkhjMJksPKO2vMYcp5xijJEcRkjxj19A99nqECfG3IA90OheXTF/ifAROj5n9s j+HEX+AlC6pZNoohD6zagYHgwhzwhppTwHAwAlITAwCxcO1z9x7TFZhkXOLBr2H2Thk4 YruShwpobjzLKyrZYSntxMDpZ0kOgjS6vhUrXP6GPyfMSLvLIKPk6dpW0ixdolddxpY5 ILyoSuv3cwK45fffXdiPmu1ZMvuCxWFvg2+p/K/gUaQjYGoBWoCt0cz+JJdeW68CmB8p mmiQ== X-Forwarded-Encrypted: i=1; AJvYcCUxWiolcV9+Eoo6aOje3byKDo/jeEbd46UYPK8FfUJNOv4TrKH5Cns4k2cHeIeyWQ//fluhmKheI9+hbLU=@vger.kernel.org X-Gm-Message-State: AOJu0YxjssJeMVBQXIeg6kBLaetipORJ4TvNBYjtRw5ZGTgXxkUU2zBp 1dOD7dlv4STk6o9uWDbRC3eCGk9LAPveGbvdkGfN4W4yS5f1hQLr+xqaFehg4H1yd7Rv0xGQwS/ tKtL7awSrNcJCpoTOSq2IGB6bS2Bks6pTerVPiFqJkF0vfTsnlYa4i4CWpD3q/vEgGxI= X-Gm-Gg: AZuq6aJi69mTOtnoFwAdBInbpdY2H/U1+BG9wLSRE6aNgC5Fe/djY469i4+HuOVX2OD y6l2McYbOIfLm8A/wAATDQOH/E+KhMwFjg95bQjfX75B8o7eOph51Uph3jEuh3+RjIUC5kTQEWl 3fMKFEa8pbunGy0l8FBBjfT+KwucbKPWxmJQED0pvr4RNerjBZaEgeJxmr45Yc41Ud6bduZmBUa ZQwQfXHMRnyP0Jys8VR8iLVUrkkyVUPSqMcjhbOlBQ/JGMoaptjFIsRYPwHJPezSuX5892364Gp ANiSo9jUk84I5zWPkcXecbQBnG2cQtdvac0R3k6SKPW1fwOyAJJMIdSj6y2TI18DxeAlq7ixqNC qMjUw0t1p/jitPBlGuJMiajuQBjGdewrYNs17kCdNWHV96LojMOPM X-Received: by 2002:a05:6a00:a218:b0:7b8:8bfa:5e1e with SMTP id d2e1a72fcca58-824c9444786mr1001684b3a.4.1770962700840; Thu, 12 Feb 2026 22:05:00 -0800 (PST) X-Received: by 2002:a05:6a00:a218:b0:7b8:8bfa:5e1e with SMTP id d2e1a72fcca58-824c9444786mr1001656b3a.4.1770962700216; Thu, 12 Feb 2026 22:05:00 -0800 (PST) Received: from hu-sachinku-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-824c6a2afeesm1342853b3a.2.2026.02.12.22.04.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Feb 2026 22:04:59 -0800 (PST) From: Sachin Kumar Garg Date: Fri, 13 Feb 2026 11:34:45 +0530 Subject: [PATCH 1/2] media: v4l2-ctrls: add encoder maximum bitrate 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: <20260213-b4-add_sc7280_mbr-v1-1-e8d95b4e4809@oss.qualcomm.com> References: <20260213-b4-add_sc7280_mbr-v1-0-e8d95b4e4809@oss.qualcomm.com> In-Reply-To: <20260213-b4-add_sc7280_mbr-v1-0-e8d95b4e4809@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, Sachin Kumar Garg X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1770962693; l=2523; i=sachin.garg@oss.qualcomm.com; s=20260211; h=from:subject:message-id; bh=/pPAVN19I+kSbAJQbNMJlUn1ZCjEj0PufiLWfMayerY=; b=SoS7x5pKokJvfRXHL7J1rfNHwizbox+Xg166iBb/mFKRbjyndi3nkl2WVb4zfkEGu8bpq48UO hQgZa5e7wfUA55xP2+Bbw0QUweJa7BkBZDH/THb9CMDuAlO6Z50Lo7/ X-Developer-Key: i=sachin.garg@oss.qualcomm.com; a=ed25519; pk=KcRhp4CP9cR1V2tg6xSNRnB2STYaU0vVigdUF4Actu0= X-Proofpoint-GUID: 5D4Ropim6CSUCQAE1d4bKD1v0Ot8HHYf X-Authority-Analysis: v=2.4 cv=OrBCCi/t c=1 sm=1 tr=0 ts=698ebf0d cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=g104nGXWCiFktQmSU6cA:9 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-ORIG-GUID: 5D4Ropim6CSUCQAE1d4bKD1v0Ot8HHYf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjEzMDA0MyBTYWx0ZWRfX2V6vP+ntB42U I7foRfOUQw7qPNC9FwYQuuZh/nCK0U3j87PpWiqhTTEG0LsnAqwiGLB8XzaLtJSPI1LDC2/K1wE EKOk1eUy0Y9VRi23v71oUMPKiR0z2WWuddNFM7sxsi6EJ0dkC+p7iCzS4G4ZXYRnee1QAJXBOGB 070lAnn2UlITgS0vrrpyCmEv5x13R9GYtrlk1INxYjKPuUUCUxAzph4bdLJ79k7GaJPL9L8Nuen emb+AKfBBNLCGtVHZe/rrT4z3M4l09jnUXTOET8/wrnOYfztqVpppEKjLZlFLiesLArq8ViTmgf Z9YbTlIlyMqzHnDIMmvr7z4C57hRyQlk8jYjZEEVAx5lPBkM0AP0DGBe6ufKI4bmtYwRk48j7kk bnVPi07jk697ksf3g8/O/7FadH57tDszNuaCwO9LYTd+xAnesw4Kxj5TMLqKqNKr5JF6Gdzus30 3qd4zBRDh6muCkQebOw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-12_05,2026-02-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 bulkscore=0 suspectscore=0 spamscore=0 impostorscore=0 malwarescore=0 phishscore=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602130043 Introduce V4L2_MPEG_VIDEO_BITRATE_MODE_MBR rate control for Encoder. Encoder will choose appropriate quantization parameter and do the smart bit allocation to set the frame maximum bitrate level as per the Bitrate value configured. Signed-off-by: Sachin Kumar Garg --- Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst | 7 +++++++ drivers/media/v4l2-core/v4l2-ctrls-defs.c | 1 + include/uapi/linux/v4l2-controls.h | 1 + 3 files changed, 9 insertions(+) diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Do= cumentation/userspace-api/media/v4l/ext-ctrls-codec.rst index c8890cb5e00a..6b2dfabfc4fd 100644 --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst @@ -577,6 +577,13 @@ enum v4l2_mpeg_video_bitrate_mode - - Constant bitrate * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_CQ`` - Constant quality + * - ``V4L2_MPEG_VIDEO_BITRATE_MODE_MBR`` + MBR Rate Control is a VBR Rate Control mode optimized for + surveillance video contents which has high temporal correlation + due to static camera positions. This Rate Control smartly identifies + key-frames in the scene, and allocates more bits to them to improve + the coding efficiency by taking advantage of high temporal + correlation in surveillance videos. =20 =20 =20 diff --git a/drivers/media/v4l2-core/v4l2-ctrls-defs.c b/drivers/media/v4l2= -core/v4l2-ctrls-defs.c index 551426c4cd01..b336171539a7 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-defs.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-defs.c @@ -154,6 +154,7 @@ const char * const *v4l2_ctrl_get_menu(u32 id) "Variable Bitrate", "Constant Bitrate", "Constant Quality", + "Maximum Bitrate", NULL }; static const char * const mpeg_stream_type[] =3D { diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-c= ontrols.h index 68dd0c4e47b2..614fc2c4c81d 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -412,6 +412,7 @@ enum v4l2_mpeg_video_bitrate_mode { V4L2_MPEG_VIDEO_BITRATE_MODE_VBR =3D 0, V4L2_MPEG_VIDEO_BITRATE_MODE_CBR =3D 1, V4L2_MPEG_VIDEO_BITRATE_MODE_CQ =3D 2, + V4L2_MPEG_VIDEO_BITRATE_MODE_MBR =3D 3, }; #define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_CODEC_BASE+207) #define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_CODEC_BASE+208) --=20 2.34.1