public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
To: Marco Felsch <m.felsch@pengutronix.de>,
	benjamin.gaignard@collabora.com, p.zabel@pengutronix.de,
	mchehab@kernel.org, shawnguo@kernel.org,
	Sascha Hauer	 <s.hauer@pengutronix.de>,
	kernel@pengutronix.de, festevam@gmail.com, robh@kernel.org,
	krzk+dt@kernel.org, conor+dt@kernel.org, paulk@sys-base.io,
		hverkuil@xs4all.nl, laurent.pinchart@ideasonboard.com,
	 sebastian.fricke@collabora.com, ming.qian@nxp.com
Cc: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	 linux-rockchip@lists.infradead.org, imx@lists.linux.dev,
	 linux-arm-kernel@lists.infradead.org,
	devicetree@vger.kernel.org,
	Michael Tretter <m.tretter@pengutronix.de>
Subject: Re: [RFC PATCH 03/11] media: uapi: add nal unit header fields to encode_params
Date: Fri, 02 May 2025 12:38:11 -0400	[thread overview]
Message-ID: <2d82e4e0aa4c244e8b2d3f1e46e92760cd6238d7.camel@collabora.com> (raw)
In-Reply-To: <20250502150513.4169098-4-m.felsch@pengutronix.de>

Hi,

Le vendredi 02 mai 2025 à 17:05 +0200, Marco Felsch a écrit :
> From: Michael Tretter <m.tretter@pengutronix.de>
> 
> The VEPU540 and VEPU580 may prepare the NAL unit headers in the coded
> params. These values have to be provided by user space and be written
> into the hardware registers.

To be reworked in future version. This commit message refers to RK356x and
RK3688 encoders block from Rockchip. Though, its possible this applies for
Hantro IP too.

Nicolas
 
> Furthermore, nal_ref_idc indicates if a picture will be used as
> reference and is a hint to the driver, if it needs to keep the
> reconstructed buffer or not.
> 
> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
> ---
>  include/uapi/linux/v4l2-controls.h | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
> index 670f822ee758..a8df393c9ead 100644
> --- a/include/uapi/linux/v4l2-controls.h
> +++ b/include/uapi/linux/v4l2-controls.h
> @@ -1694,6 +1694,9 @@ struct v4l2_ctrl_h264_decode_params {
>  	__u32 flags;
>  };
>  
> +#define V4L2_H264_NAL_CODED_SLICE_NON_IDR_PIC	1
> +#define V4L2_H264_NAL_CODED_SLICE_IDR_PIC	5
> +
>  #define V4L2_CID_STATELESS_H264_ENCODE_PARAMS	(V4L2_CID_CODEC_STATELESS_BASE + 8)
>  
>  /**
> @@ -1719,6 +1722,8 @@ struct v4l2_ctrl_h264_decode_params {
>   * @pic_init_qp_minus26: initial value minus 26 of luma qp for each slice.
>   * @chroma_qp_index_offset: offset that shall be added to qp luma for addressing the
>   * table of qp chroma values for the Cb chroma component.
> + * @nal_ref_idc: nal_ref_idc for the header of the generated NAL unit
> + * @nal_unit_type: one of the V4L2_H264_NAL_CODED_SLICE_{} values
>   * @flags: combination of V4L2_H264_ENCODE_FLAG_{} flags.
>   * @reference_ts: timestamp of the V4L2 buffer to use as reference
>   */
> @@ -1751,6 +1756,16 @@ struct v4l2_ctrl_h264_encode_params {
>  
>  	__u32 flags; /* V4L2_H264_ENCODE_FLAG_ */
>  
> +	/*
> +	 * If nal_ref_idc is 0, the NAL unit won't be used as reference by
> +	 * later NAL units. Any other value indicates that the NAL unit may be
> +	 * used as reference.
> +	 */
> +	__u8 nal_ref_idc;
> +
> +	/* TODO Can we infer the nal_unit_type from the slice_type? */
> +	__u8 nal_unit_type;
> +
>  	/* Reference */
>  
>  	__u64 reference_ts;


  reply	other threads:[~2025-05-02 17:23 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-02 15:05 [RFC PATCH 00/11] VC8000E H.264 V4L2 Stateless Encoder Marco Felsch
2025-05-02 15:05 ` [RFC PATCH 01/11] media: Introduce Hantro V4L2 H.264 stateless encoding API Marco Felsch
2025-05-02 15:05 ` [RFC PATCH 02/11] media: uapi: add documentation for the " Marco Felsch
2025-05-02 15:05 ` [RFC PATCH 03/11] media: uapi: add nal unit header fields to encode_params Marco Felsch
2025-05-02 16:38   ` Nicolas Dufresne [this message]
2025-05-02 15:05 ` [RFC PATCH 04/11] media: uapi: add more V4L2_H264_ENCODE_FLAGs Marco Felsch
2025-05-02 15:05 ` [RFC PATCH 05/11] arm64: dts: imx8mp: drop gpcv2 vpu power-domains and clocks Marco Felsch
2025-05-02 16:30   ` Adam Ford
2025-05-02 16:53     ` Marco Felsch
2025-05-28  2:40   ` Adam Ford
2025-05-02 15:05 ` [RFC PATCH 06/11] arm64: dts: imx8mp: add VC8000E encoder node Marco Felsch
2025-05-02 15:05 ` [RFC PATCH 07/11] arm64: dts: imx8mp: fix VPU_BUS clock setting Marco Felsch
2025-05-02 16:52   ` Adam Ford
2025-05-02 16:55     ` Marco Felsch
2025-05-28  3:05       ` Adam Ford
2025-05-28  8:42         ` Marco Felsch
2025-05-28 14:14         ` Nicolas Dufresne
2025-05-28 14:47           ` Adam Ford
2025-05-02 15:05 ` [RFC PATCH 08/11] media: hantro: use hantro_decoded_buffer only for dst_vq Marco Felsch
2025-05-02 15:05 ` [RFC PATCH 09/11] media: verisilicon: add H264 encoder support Marco Felsch
2025-05-02 15:05 ` [RFC PATCH 10/11] media: verisilicon: split read/write debug Marco Felsch
2025-06-10 18:19 ` [RFC PATCH 00/11] VC8000E H.264 V4L2 Stateless Encoder Nicolas Dufresne

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2d82e4e0aa4c244e8b2d3f1e46e92760cd6238d7.camel@collabora.com \
    --to=nicolas.dufresne@collabora.com \
    --cc=benjamin.gaignard@collabora.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=hverkuil@xs4all.nl \
    --cc=imx@lists.linux.dev \
    --cc=kernel@pengutronix.de \
    --cc=krzk+dt@kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=m.felsch@pengutronix.de \
    --cc=m.tretter@pengutronix.de \
    --cc=mchehab@kernel.org \
    --cc=ming.qian@nxp.com \
    --cc=p.zabel@pengutronix.de \
    --cc=paulk@sys-base.io \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=sebastian.fricke@collabora.com \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox