mbox series

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

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

Pull-request

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

Message

Sakari Ailus Jan. 12, 2023, 1:52 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.

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-signed

for you to fetch changes up to 544460242d995547fae963141fd4101579969191:

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

----------------------------------------------------------------
V4L2 streams for 6.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              | 1000 +++++++++++++++++++-
 include/media/v4l2-subdev.h                        |  377 ++++++++
 include/uapi/linux/v4l2-subdev.h                   |   74 +-
 16 files changed, 1784 insertions(+), 50 deletions(-)
 create mode 100644 Documentation/userspace-api/media/v4l/vidioc-subdev-g-routing.rst