[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251120084926.18620-6-opensource206@gmail.com>
Date: Thu, 20 Nov 2025 14:19:26 +0530
From: Pavan Bobba <opensource206@...il.com>
To: skhan@...uxfoundation.org,
kieran.bingham@...asonboard.com,
mchehab@...nel.org
Cc: linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org,
Pavan Bobba <opensource206@...il.com>
Subject: [PATCH 5/5] docs: media: vimc: document RGB/YUV input entity
Update the vimc admin guide to describe the RGB/YUV input entity and
show how to use it in a pipeline.
The existing media-ctl and v4l2-ctl examples are updated to:
Use the correct device name, platform:vimc.0.
Keep the original sensor → debayer → scaler pipeline example.
Add a new example that switches the scaler input to the RGB/YUV
entity and requests ARGB output with a padded capture stride via
bytesperline.
A new vimc-input subdevice section documents the RGB/YUV frame source
entity, its default RGB888 bus format, and how it can be used for
software-driven frame injection in pipelines that start after a real
debayer stage.
This makes it easier for users to understand and exercise the RGB/YUV
input entity in vimc-based experiments.
Signed-off-by: Pavan Bobba <opensource206@...il.com>
---
Documentation/admin-guide/media/vimc.rst | 39 ++++++++++++++++++------
1 file changed, 30 insertions(+), 9 deletions(-)
diff --git a/Documentation/admin-guide/media/vimc.rst b/Documentation/admin-guide/media/vimc.rst
index 29d843a8ddb1..a1b7de769e23 100644
--- a/Documentation/admin-guide/media/vimc.rst
+++ b/Documentation/admin-guide/media/vimc.rst
@@ -4,7 +4,7 @@ The Virtual Media Controller Driver (vimc)
==========================================
The vimc driver emulates complex video hardware using the V4L2 API and the Media
-API. It has a capture device and three subdevices: sensor, debayer and scaler.
+API. It has a capture device and three subdevices: sensor, debayer, scaler and RGB/YUV input entity.
Topology
--------
@@ -29,17 +29,28 @@ configuration on each linked subdevice to stream frames through the pipeline.
If the configuration doesn't match, the stream will fail. The ``v4l-utils``
package is a bundle of user-space applications, that comes with ``media-ctl`` and
``v4l2-ctl`` that can be used to configure the vimc configuration. This sequence
-of commands fits for the default topology:
+-of commands fits for the default topology:
.. code-block:: bash
- media-ctl -d platform:vimc -V '"Sensor A":0[fmt:SBGGR8_1X8/640x480]'
- media-ctl -d platform:vimc -V '"Debayer A":0[fmt:SBGGR8_1X8/640x480]'
- media-ctl -d platform:vimc -V '"Scaler":0[fmt:RGB888_1X24/640x480]'
- media-ctl -d platform:vimc -V '"Scaler":0[crop:(100,50)/400x150]'
- media-ctl -d platform:vimc -V '"Scaler":1[fmt:RGB888_1X24/300x700]'
- v4l2-ctl -z platform:vimc -d "RGB/YUV Capture" -v width=300,height=700
- v4l2-ctl -z platform:vimc -d "Raw Capture 0" -v pixelformat=BA81
+ media-ctl -d platform:vimc.0 -V '"Sensor A":0[fmt:SBGGR8_1X8/640x480]'
+ media-ctl -d platform:vimc.0 -V '"Debayer A":0[fmt:SBGGR8_1X8/640x480]'
+ media-ctl -d platform:vimc.0 -V '"Scaler":0[fmt:RGB888_1X24/640x480]'
+ media-ctl -d platform:vimc.0 -V '"Scaler":0[crop:(100,50)/400x150]'
+ media-ctl -d platform:vimc.0 -V '"Scaler":1[fmt:RGB888_1X24/300x700]'
+ v4l2-ctl -z platform:vimc.0 -d "RGB/YUV Capture" -v width=300,height=700
+ v4l2-ctl -z platform:vimc.0 -d "Raw Capture 0" -v pixelformat=BA81
+
+The following commands switch the scaler input to the RGB/YUV entity and request
+ARGB output with a padded capture stride.
+
+.. code-block:: bash
+
+ media-ctl -d platform:vimc.0 -V '"RGB/YUV Input":0[fmt:RGB888_1X24/640x480]'
+ media-ctl -d platform:vimc.0 -V '"Scaler":0[fmt:RGB888_1X24/640x480]'
+ media-ctl -d platform:vimc.0 -V '"Scaler":1[fmt:ARGB8888_1X32/640x480]'
+ v4l2-ctl -z platform:vimc.0 -d "RGB/YUV Capture" \
+ -v pixelformat=RGB3,width=640,height=480,bytesperline=4096
Subdevices
----------
@@ -53,6 +64,16 @@ vimc-sensor:
* 1 Pad source
+vimc-input:
+ Simulates an RGB/YUV frame source for pipelines that start after a real
+ debayer stage. It exposes a single source pad that initially advertises
+ ``MEDIA_BUS_FMT_RGB888_1X24`` and accepts the usual width/height updates via
+ ``media-ctl``, which is useful for software-driven frame injection
+ experiments.
+ Exposes:
+
+ * 1 Pad source
+
vimc-lens:
Ancillary lens for a sensor. Supports auto focus control. Linked to
a vimc-sensor using an ancillary link. The lens supports FOCUS_ABSOLUTE
--
2.43.0
Powered by blists - more mailing lists