[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <35ec43df37131904dae9a0c10502348461269af0.camel@ndufresne.ca>
Date: Wed, 03 Sep 2025 09:17:55 -0400
From: Nicolas Dufresne <nicolas@...fresne.ca>
To: DEEPA GUTHYAPPA MADIVALARA <deepa.madivalara@....qualcomm.com>, Mauro
Carvalho Chehab <mchehab@...nel.org>, Vikash Garodia
<quic_vgarodia@...cinc.com>, Dikshita Agarwal <quic_dikshita@...cinc.com>,
Abhinav Kumar <abhinav.kumar@...ux.dev>, Bryan O'Donoghue
<bryan.odonoghue@...aro.org>
Cc: linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH RFC 1/5] media: uapi: videodev2: Add support for AV1
stateful decoder
Le mardi 02 septembre 2025 à 16:00 -0700, DEEPA GUTHYAPPA MADIVALARA a écrit :
> Introduce a new pixel format, V4L2_PIX_FMT_AV1, to the
> Video4Linux2(V4L2) API. This format is intended for AV1
> bitstreams in stateful decoding/encoding workflows.
> The fourcc code 'AV10' is used to distinguish
> this format from the existing V4L2_PIX_FMT_AV1_FRAME,
> which is used for stateless AV1 decoder implementation.
>
> Signed-off-by: DEEPA GUTHYAPPA MADIVALARA <deepa.madivalara@....qualcomm.com>
> ---
> include/uapi/linux/videodev2.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> index 3dd9fa45dde1066d52a68581625a39e7ec92c9b7..bff42a71c67b3f4b570dd6f3d250f1bb482ec8ae 100644
> --- a/include/uapi/linux/videodev2.h
> +++ b/include/uapi/linux/videodev2.h
> @@ -775,6 +775,7 @@ struct v4l2_pix_format {
> #define V4L2_PIX_FMT_H264_SLICE v4l2_fourcc('S', '2', '6', '4') /* H264 parsed slices */
> #define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC parsed slices */
> #define V4L2_PIX_FMT_AV1_FRAME v4l2_fourcc('A', 'V', '1', 'F') /* AV1 parsed frame */
> +#define V4L2_PIX_FMT_AV1 v4l2_fourcc('A', 'V', '1', '0') /* AV1 (stateful) */
You also need to update Documentation/userspace-api/media/v4l/pixfmt-
compressed.rst. Mistakes were made in the past leading to great confusion, AV1
can be wrapped in different forms and with different alignments. Here's few
question that should be answered in the RST documentation:
- Should we pass complete time units to the decoder ?
- If not
- How is the timestamp going to be interpreted and transferred ?
- Should userspace pass complete frame (with leading headers) ? or can it
pass OBUs ?
- Is that format meant to be OBU streams or Annex B (not to confused with H.264
annex B, it groups the TUs for faster skipping) ? (I bet the first :-D)
cheers,
Nicolas
> #define V4L2_PIX_FMT_SPK v4l2_fourcc('S', 'P', 'K', '0') /* Sorenson Spark */
> #define V4L2_PIX_FMT_RV30 v4l2_fourcc('R', 'V', '3', '0') /* RealVideo 8 */
> #define V4L2_PIX_FMT_RV40 v4l2_fourcc('R', 'V', '4', '0') /* RealVideo 9 & 10 */
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists