gstreamer/subprojects/gst-plugins-bad/sys/v4l2codecs/linux
Robert Mader 4b07d54931 v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs
V4L2 and DRM choose different, incompatible ways to represent
tiled/compressed etc. formats. While the later uses combinations of
format fourccs and opaque, vendor/hardware specific modifiers, for the
later every such combination is a distinct new format.

Traditionally Gst implemented each of the V4L2 formats if needed.
Given the large number of tiling and compression modes, this is
quite work intensive - and often actually not needed.
In many situations Gst just needs to pass buffers from V4L2 to DRM in
the form of EGL, VK, Wayland or KMS.

Thus implement a direct translation for some V4L2 formats to DRM ones,
limited to the DMA_DRM API, allowing much quicker enablement of formats
while requiring peers to use external implementations (usually Mesa or
KMS) for tiling etc.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355>
2024-12-19 20:55:59 +00:00
..
usb uvcsink: add new bin element around v4l2sink 2023-06-01 19:19:05 +00:00
drm_fourcc.h v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs 2024-12-19 20:55:59 +00:00
media.h v4l2: Sync headers to current media_stage 2023-06-15 14:32:32 +00:00
types-compat.h v4l2: include <sys/ioccom.h> on Illumos 2022-02-18 21:34:49 +00:00
v4l2-common.h v4l2: Sync headers to current media_stage 2023-06-15 14:32:32 +00:00
v4l2-controls.h v4l2: Sync headers to current media_stage 2023-06-15 14:32:32 +00:00
videodev2.h v4l2codecs: Update videodev2.h with V4L2_FMTDESC_FLAG_ENUM_ALL flag 2024-10-19 22:14:13 +00:00