Commit graph

13 commits

Author SHA1 Message Date
Nicolas Dufresne
360620fea4 kmssink: Add RGB16/BGR16 support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-20 14:08:56 +00:00
Nicolas Dufresne
f1b0b95dc4 kmssink: Sort format according to GST_VIDEO_FORMATS_ALL
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-20 14:08:56 +00:00
Nicolas Dufresne
107b8f3ba2 kmssink: Remove big endian format inversion
This has been a bad interpretation of the DRM docuemntation. The formats are
fixed regardless the CPU, but for some formats, they expressed in the opposite
order as GStreamer. Same change was done in waylandsink 2 years ago.

b393b650ab

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-20 14:08:56 +00:00
Nicolas Dufresne
e05c022c48 kmssink: Add NV61 support
This identically handled to NV16, so no reason not to inclue it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-20 14:08:56 +00:00
Nicolas Dufresne
98da85ade0 kmssink: Add NV24 support
This was tested on RK3566 platform, using vendor DRM driver.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-20 14:08:56 +00:00
Seungha Yang
09a8d2db05 kmssink: Add support for P010 and P016 formats
Support high bit-depth YUV formats

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1188>
2020-04-22 22:39:04 +00:00
Nicolas Dufresne
673e7a74d5 kmssink: Add 24bit RGB support
https://bugzilla.gnome.org/show_bug.cgi?id=794186
2018-04-26 10:35:09 -04:00
Michael Tretter
12e82aac28 kmssink: remove dependency on libkms
libkms should not be used, because it imposes limitations on the DRM
API, especially regarding bpp and stride. Instead the DRM IOCTL should
be used directly.

Switch from libkms to the IOCTL interface. Set bpp and height for
framebuffer allocation to properly handle planar video formats.

https://bugzilla.gnome.org/show_bug.cgi?id=773473

Signed-off-by: Víctor Jáquez <vjaquez@igalia.com>
2016-11-23 16:43:28 +01:00
Philipp Zabel
2f51985191 kmssink: enable UYVY, YUY2, and YVYU (interleaved YUV 4:2:2) formats
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Philipp Zabel
360e9343f9 kmssink: enable NV16 (chroma-interleaved YUV 4:2:2) format
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Philipp Zabel
bdb62b2658 kmssink: enable Y42B (planar YUV 4:2:2) format
https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Víctor Manuel Jáquez Leal
1aee6cdc25 kmssink: calculate display ratio
Get the aspect ratio given the information provided by libdrm, and with it
calculate the display ratio.

https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00
Víctor Manuel Jáquez Leal
620e1d2fcd kmssink: add plugin and sink element
This is simple video sink that use libdrm/libkms API to render frames.

The element uses planes to render through drmModeSetPlane().

It has been tested in an Exynos4412 board and in a Freescale I.MX6 board.

https://bugzilla.gnome.org/show_bug.cgi?id=761059
2016-04-11 19:57:48 +02:00