mbox series

[GIT,PULL,FOR,6.3,v2] V4L2 streams support

Message ID Y8VOJs7v1/Oogum7@valkosipuli.retiisi.eu (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL,FOR,6.3,v2] V4L2 streams support | expand

Pull-request

git://linuxtv.org/sailus/media_tree.git tags/streams-6.3-2-signed

Message

Sakari Ailus Jan. 16, 2023, 1:16 p.m. UTC
Hi Mauro,

This set contains support for multiple streams over a single MC link, a set
that has been out of tree for more than five years, has worked on by more
than five people in their turns. I think it is now ready for upstream.

Source sub-devices with multiple streams aren't supported yet but the
intent is to add the support soon.

Using the new APII requires setting v4l2_subdev_enable_streams_api in
drivers/media/v4l2-core/v4l2-subdev.c to true, so no new API is exposed to
the user space quite yet. The intent is also to change this soon, possibly
for 6.3 but may well slip to 6.4.

since v1:

- Fix documentation build and compile warnings.

Please pull.


The following changes since commit 6599e683db1bf22fee74302c47e31b9a42a1c3d2:

  Merge tag 'v6.2-rc1' into media_tree (2022-12-28 16:07:44 +0000)

are available in the Git repository at:

  git://linuxtv.org/sailus/media_tree.git tags/streams-6.3-2-signed

for you to fetch changes up to 314a1ebb85475f982dc18069558ed6d3e64f2866:

  media: Documentation: Update documentation for streams (2023-01-16 12:27:08 +0200)

----------------------------------------------------------------
Streams for v6.3

----------------------------------------------------------------
Jacopo Mondi (2):
      media: Documentation: Add GS_ROUTING documentation
      media: subdev: Add for_each_active_route() macro

Laurent Pinchart (5):
      media: subdev: Add [GS]_ROUTING subdev ioctls and operations
      media: subdev: add v4l2_subdev_routing_validate() helper
      media: v4l2-subdev: Add v4l2_subdev_state_xlate_streams() helper
      media: v4l2-subdev: Add subdev .(enable|disable)_streams() operations
      media: v4l2-subdev: Add v4l2_subdev_s_stream_helper() function

Sakari Ailus (2):
      media: Add stream to frame descriptor
      media: Documentation: Update documentation for streams

Tomi Valkeinen (12):
      media: v4l2-subdev: Sort includes
      media: add V4L2_SUBDEV_FL_STREAMS
      media: add V4L2_SUBDEV_CAP_STREAMS
      media: subdev: Require code change to enable [GS]_ROUTING
      media: subdev: add v4l2_subdev_has_pad_interdep()
      media: subdev: add v4l2_subdev_set_routing helper()
      media: Documentation: add multiplexed streams documentation
      media: subdev: add stream based configuration
      media: subdev: use streams in v4l2_subdev_link_validate()
      media: subdev: add "opposite" stream helper funcs
      media: subdev: add streams to v4l2_subdev_get_fmt() helper function
      media: subdev: add v4l2_subdev_set_routing_with_fmt() helper

 .clang-format                                      |    1 +
 Documentation/driver-api/media/v4l2-subdev.rst     |    8 +
 .../userspace-api/media/v4l/dev-subdev.rst         |  166 ++++
 .../userspace-api/media/v4l/user-func.rst          |    1 +
 .../v4l/vidioc-subdev-enum-frame-interval.rst      |    5 +-
 .../media/v4l/vidioc-subdev-enum-frame-size.rst    |    5 +-
 .../media/v4l/vidioc-subdev-enum-mbus-code.rst     |    5 +-
 .../media/v4l/vidioc-subdev-g-crop.rst             |    5 +-
 .../media/v4l/vidioc-subdev-g-fmt.rst              |    5 +-
 .../media/v4l/vidioc-subdev-g-frame-interval.rst   |    5 +-
 .../media/v4l/vidioc-subdev-g-routing.rst          |  147 +++
 .../media/v4l/vidioc-subdev-g-selection.rst        |    5 +-
 drivers/media/v4l2-core/v4l2-ioctl.c               |   25 +-
 drivers/media/v4l2-core/v4l2-subdev.c              | 1002 +++++++++++++++++++-
 include/media/v4l2-subdev.h                        |  377 ++++++++
 include/uapi/linux/v4l2-subdev.h                   |   74 +-
 16 files changed, 1786 insertions(+), 50 deletions(-)
 create mode 100644 Documentation/userspace-api/media/v4l/vidioc-subdev-g-routing.rst