mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
To: rob.clark@oss.qualcomm.com
Cc: Robert Mader <robert.mader@collabora.com>,
	Dmitry Baryshkov	 <dmitry.baryshkov@oss.qualcomm.com>,
	Dmitry Baryshkov <lumag@kernel.org>,
	 Abhinav Kumar <abhinav.kumar@linux.dev>,
	Jessica Zhang <jesszhan0024@gmail.com>,
	Sean Paul <sean@poorly.run>,
	 Marijn Suijten <marijn.suijten@somainline.org>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	 Mauro Carvalho Chehab	 <mchehab@kernel.org>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	 Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Bryan O'Donoghue <bod@kernel.org>,
	 Stanimir Varbanov <stanimir.varbanov@linaro.org>,
	linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
		freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	Jordan Crouse	 <jordan@cosmicpenguin.net>,
	linux-media@vger.kernel.org,
	Vikash Garodia	 <vikash.garodia@oss.qualcomm.com>,
	Dikshita Agarwal	 <dikshita.agarwal@oss.qualcomm.com>,
	Neil Armstrong <neil.armstrong@linaro.org>
Subject: Re: [PATCH 7/7] media: qcom: iris: describe QC10C as TP10
Date: Fri, 06 Nov 2026 14:05:51 -0500	[thread overview]
Message-ID: <2e69b386374ae46177a2fd975814a31e4016c3d9.camel@collabora.com> (raw)
In-Reply-To: <CACSVV013piWuVo87SuAGK+j9i+rj4cHGiOTX9kznE4ROJup0Hw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2445 bytes --]

Hi Rob,

Le jeudi 05 novembre 2026 à 13:07 -0800, Rob Clark a écrit :
> On the v4l2 side, I'm not sure.  But it is also not clear to me if the
> viddec hw (iris) supports all four combinations of P010/TP10 vs
> linear/UBWC.  I guess there is already some fourcc translation needed
> between v4l2 and drm, so maybe it is ok to stick with QC10C on the
> v4l2 side?

Commenting on this aspect specially, and Dmitry is really going in the right
direction, V4L2_PIX_FMT_QC08C and 4L2_PIX_FMT_QC10C was under specified, and so
the implementation didn't have anything to be verified against. Just describing
what the format is and what kind of alignment is needed is a great start. The
stride is not being used in practice by the importers (gpu and display), and I
think we can turn that to our advantage.

What I lately ask, is to just directly document for V4L2 users which
fourcc+modifier should this v4l2 format map to. How many planes are expected to
be exposed, etc. When I naively asked, I thought the answer would have been
unique and well known, but we uncovered issues. This comes from a simple task,
that we must do for every V4L2 format in GStreamer, which is to map the
format/modifier pair to its DRM format, as GStreamer negotiate DMABuf with DRM
formats these days. Whatever we tried, either failed to import in the GPU, or
failed in the display controller, due to interoperability issue, miss-
interpretation.

On your proposal, I'd like to highlight that NV12/TP10 usage is quite broken
(though its fine if we have to live with that for backward compat, we'll code
the exception).

We commonly deduce the number of planes (or I should say the number of strides
and offsets needed) from the base format. These two have 2 planes, but the new
doc states QC compressed has one plane. Same discussion happened with Arm and
Amlogic Frame Buffer Compression. They both are single plane, and for that
reason DRM_FORMAT_YUV420_8BIT and DRM_FORMAT_YUV420_10BIT got introduced. These
don't have a linear representation, they reflect the depth, the subsampling and
are specified as single plane (single stride). The stride in AFBC is still
allowed, to avoid forcing the width to be a padded width. The importers should
walk backward the stride to find the padded width. QC compressed importer
currently ignores the stride completely, so you have to have the padded width.

hope this helps,
Nicolas

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

  reply	other threads:[~2026-11-06 19:05 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-04 16:36 [PATCH 0/7] drm/msm, media: define the UBWC buffer layout Dmitry Baryshkov
2026-11-04 16:36 ` [PATCH 1/7] drm/msm/dpu: fix the comment on the RGB UBWC plane count Dmitry Baryshkov
2026-11-04 16:36 ` [PATCH 2/7] drm/msm: move the UBWC plane size calculation out of DPU Dmitry Baryshkov
2026-11-04 16:36 ` [PATCH 3/7] drm/msm: check UBWC framebuffers against their layout Dmitry Baryshkov
2026-11-04 16:36 ` [PATCH 4/7] drm/fourcc: describe the Qualcomm UBWC layout Dmitry Baryshkov
2026-11-04 16:36 ` [PATCH 5/7] media: docs: pixfmt-reserved: describe the QC08C and QC10C layout Dmitry Baryshkov
2026-11-04 16:36 ` [PATCH 6/7] media: venus: report the QC10C data stride Dmitry Baryshkov
2026-11-04 16:36 ` [PATCH 7/7] media: qcom: iris: describe QC10C as TP10 Dmitry Baryshkov
2026-11-04 18:59   ` Robert Mader
2026-11-04 22:11     ` Rob Clark
2026-11-05 12:35       ` Robert Mader
2026-11-05 13:01         ` Rob Clark
2026-11-05 20:34         ` Nicolas Dufresne
2026-11-05 20:52           ` Rob Clark
2026-11-06 19:09             ` Nicolas Dufresne
2026-11-06 19:28               ` Rob Clark
2026-11-06 13:39           ` Dmitry Baryshkov
2026-11-05 20:30       ` Nicolas Dufresne
2026-11-05 21:07         ` Rob Clark
2026-11-06 19:05           ` Nicolas Dufresne [this message]
2026-11-05 20:38   ` 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=2e69b386374ae46177a2fd975814a31e4016c3d9.camel@collabora.com \
    --to=nicolas.dufresne@collabora.com \
    --cc=abhinav.kumar@linux.dev \
    --cc=airlied@gmail.com \
    --cc=bod@kernel.org \
    --cc=dikshita.agarwal@oss.qualcomm.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=jesszhan0024@gmail.com \
    --cc=jordan@cosmicpenguin.net \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lumag@kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=marijn.suijten@somainline.org \
    --cc=mchehab@kernel.org \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=rob.clark@oss.qualcomm.com \
    --cc=robert.mader@collabora.com \
    --cc=sean@poorly.run \
    --cc=simona@ffwll.ch \
    --cc=stanimir.varbanov@linaro.org \
    --cc=tzimmermann@suse.de \
    --cc=vikash.garodia@oss.qualcomm.com \
    /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

all inboxes | Powered by JetHome®