lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <abb850223d81708588c594cfeee9e0fdbc1193e8.camel@ndufresne.ca>
Date: Wed, 14 Jan 2026 11:08:15 -0500
From: Nicolas Dufresne <nicolas@...fresne.ca>
To: Deepa Guthyappa Madivalara <deepa.madivalara@....qualcomm.com>, Mauro
 Carvalho Chehab <mchehab@...nel.org>, Vikash Garodia
 <vikash.garodia@....qualcomm.com>, Dikshita Agarwal	
 <dikshita.agarwal@....qualcomm.com>, Abhinav Kumar
 <abhinav.kumar@...ux.dev>,  Bryan O'Donoghue	 <bod@...nel.org>
Cc: linux-media@...r.kernel.org, linux-kernel@...r.kernel.org, 
	linux-arm-msm@...r.kernel.org
Subject: Re: [RFC PATCH 0/3] Implement Region of Interest(ROI) support.

Hi,

Le mardi 13 janvier 2026 à 12:33 -0800, Deepa Guthyappa Madivalara a écrit :
> Hi all,
> 
> This patch set implements region of interest(ROI) support
> for video encoder to be configured as a rectangular
> region, and corresponding delta QP parameter. A new compound
> control V4L2_CID_MPEG_VIDEO_ENC_ROI which maps to struct
> v4l2_ctrl_enc_roi_params is implemented to achieve this.  

My very first question will be why ROI rather then QP Map ? Its seems that
modern API such as D3D12 and Vulkan Video aims for QP Map instead of a limited
set of rectangles, while older hardware / firmware have ROI, but since you are
saying that this is not yet implemented in your firmware, I thought it was worth
asking.

The ROI are relatively easy to convert into QP Maps, but the opposite is going
to be a lot less accurate. That being said, the number of ROI can be extremely
limited, at least this is the case for Samsung MFC firmware and Hantro encoders
(no upstream driver yet).

let us know your thought, should we adopt just one, and have driver translate
once HW moved to the new approach ? Should we enventually support both ?

Nicolas

> 
> I'm sharing this series as an RFC because adding support
> in the firmware and framework for testing, gstreamer testing
> is still in progress. I would appreciate early feedback on
> the design, implementation, and fixes before moving to a
> formal submission.
> 
> v4l2-ctl -d /dev/video1 --list-ctrls
> ..
> hevc_b_frame_maximum_qp_value 0x00990b8c (int): min=1 max=51 step=1
> default=51 value=51 flags=has-min-max
> video_encoder_roi_params 0x00990b92 (unknown): type=284
> value=unsupported payload type flags=has-payload
> 
> Thanks,
> Deepa
> 
> Signed-off-by: Deepa Guthyappa Madivalara <deepa.madivalara@....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 video encoder
> 
>  .../userspace-api/media/v4l/ext-ctrls-codec.rst    |  7 +++
>  drivers/media/platform/qcom/iris/iris_ctrls.c      | 54
> +++++++++++++++++++++-
>  drivers/media/platform/qcom/iris/iris_ctrls.h      |  1 +
>  .../platform/qcom/iris/iris_platform_common.h      |  4 ++
>  .../media/platform/qcom/iris/iris_platform_gen2.c  |  8 ++++
>  drivers/media/v4l2-core/v4l2-ctrls-core.c          | 14 +++++-
>  drivers/media/v4l2-core/v4l2-ctrls-defs.c          |  5 ++
>  include/media/v4l2-ctrls.h                         |  1 +
>  include/uapi/linux/v4l2-controls.h                 |  1 +
>  include/uapi/linux/videodev2.h                     | 17 +++++++
>  10 files changed, 110 insertions(+), 2 deletions(-)
> ---
> base-commit: f417b7ffcbef7d76b0d8860518f50dae0e7e5eda
> change-id: 20260112-iris_enc_roi-8898f9a2455f
> 
> Best regards,

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ