From: Pavan Bobba <opensource206@gmail.com>
To: skhan@linuxfoundation.org, kieran.bingham@ideasonboard.com,
mchehab@kernel.org
Cc: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
Pavan Bobba <opensource206@gmail.com>
Subject: [PATCH 5/5] docs: media: vimc: document RGB/YUV input entity
Date: Thu, 20 Nov 2025 14:19:26 +0530 [thread overview]
Message-ID: <20251120084926.18620-6-opensource206@gmail.com> (raw)
In-Reply-To: <20251120084926.18620-1-opensource206@gmail.com>
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@gmail.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
next prev parent reply other threads:[~2025-11-20 8:50 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-20 8:49 [PATCH 0/5] media: vimc: add RGB/YUV input entity and improve pipeline support Pavan Bobba
2025-11-20 8:49 ` [PATCH 1/5] media: vimc: add RGB/YUV input entity implementation Pavan Bobba
2025-11-20 8:49 ` [PATCH 2/5] media: vimc: add support for V4L2_FIELD_ALTERNATE in vimc-sensor Pavan Bobba
2025-11-20 8:49 ` [PATCH 3/5] media: vimc: debayer: add support for multiple RGB formats Pavan Bobba
2025-11-20 8:49 ` [PATCH 4/5] media: vimc: capture: support custom bytesperline values Pavan Bobba
2025-11-20 8:49 ` Pavan Bobba [this message]
2025-11-20 16:38 ` [PATCH 0/5] media: vimc: add RGB/YUV input entity and improve pipeline support Shuah Khan
2025-11-28 3:11 ` opensource india
2025-12-09 5:04 ` opensource india
2025-12-15 19:10 ` Shuah Khan
2025-12-15 19:45 ` Shuah Khan
2025-12-16 2:57 ` opensource india
2025-12-29 16:04 ` opensource india
2025-12-31 20:43 ` Shuah Khan
2026-01-01 1:11 ` opensource india
2026-02-18 4:16 ` opensource india
2026-02-19 20:22 ` Shuah Khan
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=20251120084926.18620-6-opensource206@gmail.com \
--to=opensource206@gmail.com \
--cc=kieran.bingham@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=skhan@linuxfoundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.