[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221101100448.66712-5-randy.li@synaptics.com>
Date: Tue, 1 Nov 2022 18:04:48 +0800
From: Hsia-Jun Li <randy.li@...aptics.com>
To: dri-devel@...ts.freedesktop.org
Cc: airlied@...ux.ie, daniel@...ll.ch, ezequiel@...guardiasur.com.ar,
helen.koike@...labora.com, hverkuil-cisco@...all.nl,
jszhang@...nel.org, laurent.pinchart@...asonboard.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org, maarten.lankhorst@...ux.intel.com,
mchehab@...nel.org, mripard@...nel.org, nicolas@...fresne.ca,
ribalda@...omium.org, sakari.ailus@...ux.intel.com,
sebastian.hesselbarth@...il.com, tfiga@...omium.org,
tzimmermann@...e.de, Randy Li <ayaka@...lik.info>,
Hsia-Jun Li <randy.li@...aptics.com>
Subject: [PATCH v3 4/4] media: docs: Add Synpatics tile modifiers
From: Randy Li <ayaka@...lik.info>
The pixel formats used in Synpatics video smart platform
are too many. It is impossible to store them in fourcc
namespace.
Signed-off-by: Randy Li <ayaka@...lik.info>
Signed-off-by: Hsia-Jun(Randy) Li <randy.li@...aptics.com>
---
.../media/v4l/pixfmt-synaptics.rst | 86 +++++++++++++++++++
.../userspace-api/media/v4l/pixfmt.rst | 1 +
2 files changed, 87 insertions(+)
create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-synaptics.rst
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-synaptics.rst b/Documentation/userspace-api/media/v4l/pixfmt-synaptics.rst
new file mode 100644
index 000000000000..edf6525a3ef4
--- /dev/null
+++ b/Documentation/userspace-api/media/v4l/pixfmt-synaptics.rst
@@ -0,0 +1,86 @@
+.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
+
+.. _pixfmt-synaptics:
+
+***************************
+Synaptics Pixel Format Modifiers
+***************************
+
+The tiled pixel formats in synpatics video smart platform have
+many variants. Here just list the most widely pixel format modifiers
+here. The value here should be the same as the one defined in the
+``drm_fourcc.h`` file.
+
+.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}|
+
+.. raw:: latex
+
+ \small
+
+.. _reserved-formats:
+
+.. flat-table:: Synpatics Image Format Modifiers
+ :header-rows: 1
+ :stub-columns: 0
+ :widths: 3 1 4
+
+ * - Identifier
+ - Code
+ - Details
+ * .. _V4L2-PIX-FMT-MOD-SYNA-V4H1:
+
+ - ``V4L2_PIX_FMT_MOD_SYNA_V4H1``
+ - '0x0b00000000000101'
+ - The plain uncompressed 8bits tile format. It sounds similar to
+ Intel's Y-tile. but it won't take any pixel from the next X direction
+ in a tile group. The line stride and image height must be aligned to
+ a multiple of 16. The height of chrominance plane would plus 8.
+ This modifier current would be in conjunction with ``V4L2_PIX_FMT_NV12``
+ or ``V4L2_PIX_FMT_NV12M``.
+ * .. _V4L2-PIX-FMT-MOD-SYNA-V4H3P8:
+
+ - ``V4L2_PIX_FMT_MOD_SYNA_V4H3P8``
+ - '0x0b00000000080301'
+ - The plain uncompressed 10bits tile format. It stores pixel in 2D
+ 3x4 tiles with a 8bits padding to each of tiles. Then tile is in a
+ 128 bytes cache line. This modifier would be in conjunction with
+ ``V4L2_PIX_FMT_NV15``.
+ * .. _V4L2-PIX-FMT-MOD-SYNA-V4H1-64L4C:
+
+ - ``V4L2_PIX_FMT_MOD_SYNA_V4H1_64L4C``
+ - '0x0b00000026100101'
+ - Compressed ``V4L2_PIX_FMT_MOD_SYNA_V4H1``. It stores 64x4 pixels
+ in 1x4 tiles. Each plane would request a meta plane (MTR plane) for
+ decompression. A MTR plane would have a 32 bytes parameters set.
+ * .. _V4L2-PIX-FMT-MOD-SYNA-V4H3P8-64L4C:
+
+ - ``V4L2_PIX_FMT_MOD_SYNA_V4H3P8_64L4C``
+ - '0x0b00000026180301'
+ - Compressed ``V4L2_PIX_FMT_MOD_SYNA_V4H3``. It stores 48x4 pixels
+ in 3x4 tiles, echo tile would have 8 bits padding. Then a group of tiles
+ would be 16 bytes(128 bits).
+
+ Each plane would request a meta plane (MTR plane) for decompression.
+ A MTR plane would have a 32 bytes parameters set.
+
+ * .. _V4L2-PIX-FMT-MOD-SYNA-V4H1-128L128C:
+
+ - ``V4L2_PIX_FMT_MOD_SYNA_V4H1_128L128C``
+ - '0x0b00000077100101'
+ - Compressed ``V4L2_PIX_FMT_MOD_SYNA_V4H1``. It stores 128x32 pixels
+ in 1x4 tiles. Each plane would request a meta plane (MTR plane) for
+ decompression. A MTR plane would have a 32 bytes parameters set.
+ * .. _V4L2-PIX-FMT-MOD-SYNA-V4H3P8-128L128C:
+
+ - ``V4L2_PIX_FMT_MOD_SYNA_V4H3P8_128L128C``
+ - '0x0b00000077180301'
+ - Compressed ``V4L2_PIX_FMT_MOD_SYNA_V4H3``. It stores 96x128 pixels
+ in 3x4 tiles, echo tile would have 8 bits padding. Then a group of tiles
+ would be 16 KiB.
+
+ Each plane would request a meta plane (MTR plane) for
+ decompression. A MTR plane would have a 32 bytes parameters set.
+
+.. raw:: latex
+
+ \normalsize
diff --git a/Documentation/userspace-api/media/v4l/pixfmt.rst b/Documentation/userspace-api/media/v4l/pixfmt.rst
index 11dab4a90630..738a160a4c41 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt.rst
@@ -36,3 +36,4 @@ see also :ref:`VIDIOC_G_FBUF <VIDIOC_G_FBUF>`.)
colorspaces
colorspaces-defs
colorspaces-details
+ pixfmt-synaptics
--
2.17.1
Powered by blists - more mailing lists