From: Paul Kocialkowski <paulk@sys-base.io>
To: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>,
mripard@kernel.org, mchehab@kernel.org,
gregkh@linuxfoundation.org, wens@kernel.org,
jernej.skrabec@gmail.com, samuel@sholland.org,
linux-media@vger.kernel.org, linux-staging@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] media: cedrus: skip invalid H.264 reference list entries
Date: Thu, 9 Apr 2026 17:31:48 +0200 [thread overview]
Message-ID: <adfGZHR9wM2d6-yJ@shepard> (raw)
In-Reply-To: <a5f8c14becdc926f14ea852c8c5a2d4665a2ef8a.camel@collabora.com>
[-- Attachment #1: Type: text/plain, Size: 2268 bytes --]
Hi,
On Thu 09 Apr 26, 10:39, Nicolas Dufresne wrote:
> Hi,
>
> Le jeudi 09 avril 2026 à 16:31 +0200, Paul Kocialkowski a écrit :
> > I think it make sense yes, but it would be good to document it in the uAPI
> > document too.
>
> Basically, extend in the M2M decoder spec(s) on the existing documentation:
>
> V4L2_BUF_FLAG_ERROR:
> -
> When this flag is set, the buffer has been dequeued successfully, although
> the data might **have been corrupted**. This is recoverable, streaming may
> continue as normal and the buffer may be reused normally. Drivers set this
> flag when the VIDIOC_DQBUF ioctl is called.
Well this part is about v4l2 buffers in general, not just m2m/decoders.
But I guess this mechanism would make sense for more device classes than just
decoders, so we could indeed specify it there. Maybe with a sufficiently broad
wording.
But it would be good to also update the stateless decode document (and maybe
stateful too) where V4L2_BUF_FLAG_ERROR is already mentionned a few times.
We could indicate how this behavior related to reference frames there.
If we agree I could make a series with the following:
- Introduce a V4L2_H264_REF_MISSING 0xff define (same for HEVC)
- Update the v4l2_h264_reference doc to mention it
- Update the cedrus driver to error out (zero-size payload) when the L0/L1 index
is either V4L2_H264_REF_MISSING or an invalid index that doesn't exist in the
DPB (same for HEVC)
- Update the v4l2 buffer and stateless(+stateful) documents to mention that
buffers marked with V4L2_BUF_FLAG_ERROR may or may not contain usable (yet
corrupted) data depending on the payload size and how it relates to reference
frames.
Then we could later envision having a mechanism (hopefully common) to figure out
the best replacement to a given missing reference, which would allow cedrus
(and maybe other drivers too) to return a frame with incorrect data instead of
a zero-size payload error.
What do you think?
All the best,
Paul
--
Paul Kocialkowski,
Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/
Expert in multimedia, graphics and embedded hardware support with Linux.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-04-09 15:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-24 8:08 [PATCH] media: cedrus: skip invalid H.264 reference list entries Pengpeng Hou
2026-03-29 9:21 ` Jernej Škrabec
2026-03-29 12:44 ` Chen-Yu Tsai
2026-03-30 15:55 ` Nicolas Dufresne
2026-03-30 16:45 ` Chen-Yu Tsai
2026-03-30 17:25 ` Nicolas Dufresne
2026-03-30 15:54 ` Nicolas Dufresne
2026-04-09 13:30 ` [PATCH v2] media: cedrus: reject invalid active H.264 ref indices Pengpeng Hou
2026-04-09 13:33 ` [PATCH] media: cedrus: skip invalid H.264 reference list entries Paul Kocialkowski
2026-04-09 14:00 ` Nicolas Dufresne
2026-04-09 14:31 ` Paul Kocialkowski
2026-04-09 14:39 ` Nicolas Dufresne
2026-04-09 15:31 ` Paul Kocialkowski [this message]
2026-04-09 17:48 ` Nicolas Dufresne
2026-04-09 14:30 ` Pengpeng Hou
2026-04-09 14:00 ` 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=adfGZHR9wM2d6-yJ@shepard \
--to=paulk@sys-base.io \
--cc=gregkh@linuxfoundation.org \
--cc=jernej.skrabec@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=linux-sunxi@lists.linux.dev \
--cc=mchehab@kernel.org \
--cc=mripard@kernel.org \
--cc=nicolas.dufresne@collabora.com \
--cc=pengpeng@iscas.ac.cn \
--cc=samuel@sholland.org \
--cc=wens@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